Niebieski ząb dla OpenWrt
Ostatnia zmiana: 2014-06-22 08:42

Instalacja

Wielkiej filozofii tu nie ma - trzeba mieć dongle bluetooth na USB, podłączyć go do rutera i zainstalować niezbędne oprogramowanie - moduły do obsługi usb, bluetooth oraz pakiet bluez.


    # opkg update
    # opkg install kmod-usb-core kmod-usb2

Być może konieczne będzie zainstalowanie kmod-usb-uhci lub kmod-usb-ohci w zależności od posiadanego rutera.


    # opkg install kmod-rfkill kmod-bluetooth bluez-utils

Doinstaluje się również dużo zależności, więc należy posiadać dużo wolnego miejsca lub zrobionego extroota. Na wszelki wypadek należy ponownie zrestartować router.

Uruchomienie



    # /etc/init.d/dbus enable
    # /etc/init.d/bluez-utils enable
    # /etc/init.d/dbus restart
    # /etc/init.d/bluez-utils start

Test



    # hciconfig hci0 up
    # hcitool scan
    Scanning ...
        00:1C:26:xx:xx:xx laptop
        00:1D:6E:xx:xx:xx E51
    # sdptool browse 00:1D:6E:xx:xx:xx
    Browsing 00:1D:6E:xx:xx:xx ...
    Service Name: AVRCP Target
    Service Description: Audio Video Remote Control
    Service Provider: Symbian Software Ltd.
    Service RecHandle: 0x10000
    Service Class ID List:
        "AV Remote Target" (0x110c)
    Protocol Descriptor List:
        "L2CAP" (0x0100)
                PSM: 23
        "AVCTP" (0x0017)
                uint16: 0x100
    Profile Descriptor List:
        "AV Remote" (0x110e)
                Version: 0x0100
    ...

Zakończenie

Teraz należy włączyć i skonfigurować odpowiednią usługę w zależności od wymagań - do zrobienia w /etc/config/bluetooth.

Przykład

Wysyłanie plików

obexftp

Internet przez BT

Wykorzystanie telefonu komórkowego jako modemu dla rutera. Zakładamy, że moduły do BT są już zainstalowane i wszystko działa. Należy jeszcze doinstalować pakiet do połączeń 3g:


    # opkg update
    # opkg install chat comgt

Adresy urządzeń

Najpierw trzeba odczytać kilka niezbędnych danych o systemie

Adres MAC telefonu


    # hcitool scan
    Scanning ...
        00:1D:6E:xx:xx:xx E51


Kanał komunikacyjny telefonu


    # sdptool search DUN --bdaddr 00:1D:6E:xx:xx:xx | grep Channel
    Channel: 4

W tym przypadku: 4. Może być 1 lub 7.

Konfiguracja systemu

00:1D:6E:xx:xx:xx to mac adres uzyskany wcześniej poleceniem hcitool scan a kanał - to numer odczytany przez sdptool....

Włączenie rfcomm


    # uci set bluetooth.@rfcomm[0].config=/etc/bluetooth/rfcomm.conf
    # uci set bluetooth.@rfcomm[0].enabled=1
    # uci commit bluetooth


Ustawienie pinu do połączenia z telefonem


    # cd /tmp/lib/bluetooth/*
    # echo "00:1D:6E:xx:xx:xx 1234" > pincodes

gdzie 1234 to pin o który zapyta telefon przy próbie połączenia.

Następnie należy utworzyć plik /etc/bluetooth/rfcomm.conf o następującej zawartości


    rfcomm0 {
        bind yes;
        device 00:1D:6E:xx:xx:xx;
        channel 4;
    }

Restartujemy wszystko:


    # /etc/init.d/bluez-utils restart


Plik konfiguracyjny połączenia sieciowego


    # uci del network.wan
    # uci set network.wan=interface
    # uci set network.wan.device=/dev/rfcomm0
    # uci set network.wan.apn=internet
    # uci set network.wan.service=umts
    # uci set network.wan.proto=3g
    # uci commit network


Uruchomienie


    # ifup wan

po chwili na ekranie telefonu powinien pojawić się monit o pin, należy wprowadzić ten podany wcześniej (1234), a później potwierdzić połączenie. Za chwilę pojawi się interfejs ppp0 w OpenWrt i już można korzystać z połączenia z internetem.