Lesiuk
05-05-2009, 11:20
witam,
od jakiegoś czasu walczyłem z udostępnianiem internetu przez bluetooth dla mojego telefonu komórkowego który oczywiście nie posiada wifi.
Działa to praktycznie z każdym telefonem komórkowym który posiada bluetooth 2.0.
Trochę informacji co potrzebujemy:
- bluetooth usb (najtańszy który testowałem i działał to coś takiego: http://allegro.pl/item618888336_t4_nowy_adapter_micro_bluetooth_na_u sb_mini_f_vat.html )
- fw ( oleg lub wl500g.googlecode.com) (Działa wszystko na chipach od Cambridge Silicon Radio)
- moduły bluetooth kernela ( http://wl500g.googlecode.com/files/modules-1.9.2.7-d-r396.tgz )
1. Ładujemy po kolei moduły kernela.
insmod /sciezka/lib/modules/2.4.37.2/kernel/lib/crc32.o
insmod /sciezka/lib/modules/2.4.37.2/kernel/net/bluetooth/bluez.o
insmod /sciezka/lib/modules/2.4.37.2/kernel/net/bluetooth/l2cap.o
insmod /sciezka/lib/modules/2.4.37.2/kernel/net/bluetooth/sco.o
insmod /sciezka/lib/modules/2.4.37.2/kernel/net/bluetooth/bnep/bnep.o
insmod /sciezka/lib/modules/2.4.37.2/kernel/net/bluetooth/rfcomm/rfcomm.o
insmod /sciezka/lib/modules/2.4.37.2/kernel/drivers/bluetooth/hci_usb.o
2. Instalujemy potrzebne pakiety:
ipkg install http://ipkg.nslu2-linux.org/feeds/optware/wl500g/cross/stable/dbus_1.1.1-2_mipsel.ipk
ipkg install http://ipkg.nslu2-linux.org/feeds/optware/wl500g/cross/stable/bluez-libs_3.17-1_mipsel.ipk
ipkg install http://ipkg.nslu2-linux.org/feeds/optware/wl500g/cross/stable/bluez-utils_3.17-1_mipsel.ipk
ipkg install http://ipkg.nslu2-linux.org/feeds/optware/wl500g/cross/stable/bluez-hcidump_1.40-1_mipsel.ipk
* wcześniej radziłbym zakomentować repo w /opt/etc/ipkg.conf bo zainstaluje nam nowsze wersje tych pakietów z repo, które są uszkodzone i wywalają segmention fault.
3. Edytujemy pliki
W /opt/etc/dbus-1/system.conf edytujemy to miejsce: <user>nazwa_roota</user>.
W /opt/etc/dbus-1/system.d/bluetooth.conf edytujemy to miejsce: <policy user="nazwa_roota">
W /opt/etc/bluetooth/hcid.conf ustawiamy securuity na auto (nic innego nie działa), dajemy swój własny kod do parowania (passkey) <-- proponowałbym użycie max 4 cyfr, niektóre urządznia nie pozwalają na wpisanie niczego innego jak cyfry, i zmieniamy name (nazwa urzadzenia).
Tworzymy plik /opt/dev-up.
Nadajemy mu prawa do wykonywania (chmod +x /opt/dev-up).
I wsadzamy tam:
#!/bin/sh
ifconfig bnep0 up
brctl addif br0 bnep0
4. Uruchamiamy wszystko.
dbus-daemon --system
hcid
hciconfig hci0 up piscan
sdpd
sdptool add --channel 2 SP
pand --listen --master --role NAP --devup /opt/dev-up
5. Konfiguracja w telefonie na przykładzie telefonu Sony Ericsson.
menu -> ustawienia -> łączność -> bluetooth -> moje urządzenia -> nowe urządzenie -> dodajemy urządzenie -> wpisujemy pin (passkey) -> zaznaczamy telefon na liście i naciskamy połącz.
menu -> ustawienia -> łączność -> transmisja danych -> ustawienia internetowe -> nowy profil -> nazwa dowolna, łącz używając nazwa_naszego_routera_bluetooth -> zapisz
Teraz w profilach internetowych zaznacz ten profil i w ustawieniach javy też zaznacz ten profil (żeby aplikacje java też z niego korzystały).
6. Udostępnianie internetu dla komputera przez bluetooth
Pobieramy i instalujemy blusolelil.
Wyszukujemy nasz router i łączymy się z osobista sieć bluetooth.
Gotowe. ;)
Problemy:
- gdyby ktoś miał błąd wyglądający tak
Failed to start message bus: File size 2147450024 of "/opt/etc/dbus-1/system.conf" is too large. niech pobierze dbus-daemon z załącznika i podmieni z tym z /opt/bin
od jakiegoś czasu walczyłem z udostępnianiem internetu przez bluetooth dla mojego telefonu komórkowego który oczywiście nie posiada wifi.
Działa to praktycznie z każdym telefonem komórkowym który posiada bluetooth 2.0.
Trochę informacji co potrzebujemy:
- bluetooth usb (najtańszy który testowałem i działał to coś takiego: http://allegro.pl/item618888336_t4_nowy_adapter_micro_bluetooth_na_u sb_mini_f_vat.html )
- fw ( oleg lub wl500g.googlecode.com) (Działa wszystko na chipach od Cambridge Silicon Radio)
- moduły bluetooth kernela ( http://wl500g.googlecode.com/files/modules-1.9.2.7-d-r396.tgz )
1. Ładujemy po kolei moduły kernela.
insmod /sciezka/lib/modules/2.4.37.2/kernel/lib/crc32.o
insmod /sciezka/lib/modules/2.4.37.2/kernel/net/bluetooth/bluez.o
insmod /sciezka/lib/modules/2.4.37.2/kernel/net/bluetooth/l2cap.o
insmod /sciezka/lib/modules/2.4.37.2/kernel/net/bluetooth/sco.o
insmod /sciezka/lib/modules/2.4.37.2/kernel/net/bluetooth/bnep/bnep.o
insmod /sciezka/lib/modules/2.4.37.2/kernel/net/bluetooth/rfcomm/rfcomm.o
insmod /sciezka/lib/modules/2.4.37.2/kernel/drivers/bluetooth/hci_usb.o
2. Instalujemy potrzebne pakiety:
ipkg install http://ipkg.nslu2-linux.org/feeds/optware/wl500g/cross/stable/dbus_1.1.1-2_mipsel.ipk
ipkg install http://ipkg.nslu2-linux.org/feeds/optware/wl500g/cross/stable/bluez-libs_3.17-1_mipsel.ipk
ipkg install http://ipkg.nslu2-linux.org/feeds/optware/wl500g/cross/stable/bluez-utils_3.17-1_mipsel.ipk
ipkg install http://ipkg.nslu2-linux.org/feeds/optware/wl500g/cross/stable/bluez-hcidump_1.40-1_mipsel.ipk
* wcześniej radziłbym zakomentować repo w /opt/etc/ipkg.conf bo zainstaluje nam nowsze wersje tych pakietów z repo, które są uszkodzone i wywalają segmention fault.
3. Edytujemy pliki
W /opt/etc/dbus-1/system.conf edytujemy to miejsce: <user>nazwa_roota</user>.
W /opt/etc/dbus-1/system.d/bluetooth.conf edytujemy to miejsce: <policy user="nazwa_roota">
W /opt/etc/bluetooth/hcid.conf ustawiamy securuity na auto (nic innego nie działa), dajemy swój własny kod do parowania (passkey) <-- proponowałbym użycie max 4 cyfr, niektóre urządznia nie pozwalają na wpisanie niczego innego jak cyfry, i zmieniamy name (nazwa urzadzenia).
Tworzymy plik /opt/dev-up.
Nadajemy mu prawa do wykonywania (chmod +x /opt/dev-up).
I wsadzamy tam:
#!/bin/sh
ifconfig bnep0 up
brctl addif br0 bnep0
4. Uruchamiamy wszystko.
dbus-daemon --system
hcid
hciconfig hci0 up piscan
sdpd
sdptool add --channel 2 SP
pand --listen --master --role NAP --devup /opt/dev-up
5. Konfiguracja w telefonie na przykładzie telefonu Sony Ericsson.
menu -> ustawienia -> łączność -> bluetooth -> moje urządzenia -> nowe urządzenie -> dodajemy urządzenie -> wpisujemy pin (passkey) -> zaznaczamy telefon na liście i naciskamy połącz.
menu -> ustawienia -> łączność -> transmisja danych -> ustawienia internetowe -> nowy profil -> nazwa dowolna, łącz używając nazwa_naszego_routera_bluetooth -> zapisz
Teraz w profilach internetowych zaznacz ten profil i w ustawieniach javy też zaznacz ten profil (żeby aplikacje java też z niego korzystały).
6. Udostępnianie internetu dla komputera przez bluetooth
Pobieramy i instalujemy blusolelil.
Wyszukujemy nasz router i łączymy się z osobista sieć bluetooth.
Gotowe. ;)
Problemy:
- gdyby ktoś miał błąd wyglądający tak
Failed to start message bus: File size 2147450024 of "/opt/etc/dbus-1/system.conf" is too large. niech pobierze dbus-daemon z załącznika i podmieni z tym z /opt/bin