Rad Bluetooth adaptera ćemo razmotriti na primeru povezivanja mobilnog telefona sa ruterom putem Bluetooth interfejsa. Koristiću telefon Nokia 6230i, ali smatram da model telefona nema nikakvog značaja i da je proces povezivanja isti za sve uređaje.
Na fazi konfiguracije potrebno je označiti sledeće module:
Utilities:
<M> bluez-utils
Kernel modules:
Other modules:
<M> kmod-bluetooth
Libraries:
<M> libusb
Filesystem:
<M> libfuse
Pokrećemo sistem i instaliramo pakete:
| root@OpenWrt:/# opkg install kmod-bluetooth bluez-utils
Installing kmod-bluetooth (2.6.36.4-1) to root...
Downloading ftp://ftp:ftp@192.168.0.9/kmod-bluetooth_2.6.36.4-1_brcm47xx.ipk.
Installing kmod-crc16 (2.6.36.4-1) to root...
Downloading ftp://ftp:ftp@192.168.0.9/kmod-crc16_2.6.36.4-1_brcm47xx.ipk.
Installing kmod-hid (2.6.36.4-1) to root...
Downloading ftp://ftp:ftp@192.168.0.9/kmod-hid_2.6.36.4-1_brcm47xx.ipk.
Installing kmod-input-core (2.6.36.4-1) to root...
Downloading ftp://ftp:ftp@192.168.0.9/kmod-input-core_2.6.36.4-1_brcm47xx.ipk.
Installing kmod-rfkill (2.6.36.4-1) to root...
Downloading ftp://ftp:ftp@192.168.0.9/kmod-rfkill_2.6.36.4-1_brcm47xx.ipk.
Installing bluez-utils (3.36-7) to root...
Downloading ftp://ftp:ftp@192.168.0.9/bluez-utils_3.36-7_brcm47xx.ipk.
Installing bluez-libs (3.36-3) to root...
Downloading ftp://ftp:ftp@192.168.0.9/bluez-libs_3.36-3_brcm47xx.ipk.
Installing libpthread (0.9.32-68) to root...
Downloading ftp://ftp:ftp@192.168.0.9/libpthread_0.9.32-68_brcm47xx.ipk.
Installing dbus (1.2.4.6permissive-2) to root...
Downloading ftp://ftp:ftp@192.168.0.9/dbus_1.2.4.6permissive-2_brcm47xx.ipk.
Installing libexpat (2.0.1-1) to root...
Downloading ftp://ftp:ftp@192.168.0.9/libexpat_2.0.1-1_brcm47xx.ipk.
Installing libdbus (1.2.4.6permissive-2) to root...
Downloading ftp://ftp:ftp@192.168.0.9/libdbus_1.2.4.6permissive-2_brcm47xx.ipk.
Configuring libpthread.
Configuring libdbus.
Configuring kmod-input-core.
Configuring bluez-libs.
Configuring libexpat.
Configuring dbus.
Configuring kmod-crc16.
Configuring kmod-hid.
Configuring kmod-rfkill.
Configuring kmod-bluetooth.
Configuring bluez-utils.
root@OpenWrt:/# opkg install libfuse root@OpenWrt:/# opkg install libusb |
Za pristup datotečnom sistemu mobilnog telefona obično se koriste aplikacije openobex, obexftp i obexfs. U vreme pisanja ovog članka, ove aplikacije nisu bile deo OpenWRT-a. Zato ćemo ih dodati sami.
Dodavanje novih paketa u OpenWRT je prilično jednostavno. Potrebno je kreirati direktorijum sa imenom paketa unutar direktorijuma openwrt/package. U novom direktorijumu potrebno je kreirati Makefile. Pravljenje Makefile-a je veoma pogodno ako se uzme za osnovu neki sličan fajl iz direktorijuma openwrt/package.
Ako vas zanima, možete sami da dodate aplikacije openobex, obexftp i obexfs u sastav OpenWRT-a. Ili preuzmite moje verzije iz odeljka „Preuzmi“.
Nakon što ste kreirali nove direktorijume u openwrt/package, pokrenite make menuconfig i označite ih za buduću izgradnju.
Doinstalirajmo nove pakete:
| root@OpenWrt:/# opkg install openobex
Installing openobex (1.3-1) to root...
Downloading ftp://ftp:ftp@192.168.0.9/openobex_1.3-1_brcm47xx.ipk.
Configuring openobex.
root@OpenWrt:/# opkg install obexftp root@OpenWrt:/# opkg install obexfs |
Povežite Bluetooth adapter i pogledajte izlaz dmesg:
| root@OpenWrt:/# dmesg Bluetooth: Core ver 2.15 NET: Registered protocol family 31 Bluetooth: HCI device and connection manager initialized Bluetooth: HCI socket layer initialized Bluetooth: L2CAP ver 2.15 Bluetooth: L2CAP socket layer initialized Bluetooth: SCO (Voice Link) ver 0.6 Bluetooth: SCO socket layer initialized Bluetooth: RFCOMM TTY layer initialized Bluetooth: RFCOMM socket layer initialized Bluetooth: RFCOMM ver 1.11 Bluetooth: BNEP (Ethernet Emulation) ver 1.3 Bluetooth: BNEP filters: protocol multicast Bluetooth: HIDP (Human Interface Emulation) ver 1.2 Bluetooth: HCI UART driver ver 2.2 Bluetooth: HCI H4 protocol initialized Bluetooth: HCI BCSP protocol initialized Bluetooth: Generic Bluetooth USB driver ver 0.6 usbcore: registered new interface driver btusb usb 1-1.4.3: new full speed USB device using ohci_hcd and address 5 |
Postoje specifični alati za rad sa Bluetooth adapterom. Pogledajmo neke od njih. Alat hciconfig je sličan alatu ifconfig.
Izvršimo ga:
| root@OpenWrt:/# hciconfig hci0: Type: USB BD Address: 00:00:00:00:00:00 ACL MTU: 0:0 SCO MTU: 0:0 DOWN RX bytes:0 acl:0 sco:0 events:0 errors:0 TX bytes:0 acl:0 sco:0 commands:0 errors:0 |
Detektovan je uređaj hci0 koji je u stanju down. Slično kao kod ifconfig, izvršite hciconfig hci0 up.
| root@OpenWrt:/# hciconfig hci0 up root@OpenWrt:/# hciconfig hci0: Type: USB BD Address: 00:0A:3A:5C:88:60 ACL MTU: 192:8 SCO MTU: 64:8 UP RUNNING RX bytes:340 acl:0 sco:0 events:11 errors:0 TX bytes:38 acl:0 sco:0 commands:11 errors:0 |
Još jedan koristan alat je hcitool. Uključite Bluetooth na telefonu i izvršite:
| root@OpenWrt:/# hcitool scan Scanning ... 00:13:FD:80:F9:F5 Nokia 6230i |
Sada kada znamo adresu telefona, pokušajmo da pristupimo njegovom fajl sistemu. Koristićemo alat obexfs. Prilikom poziva potrebno je navesti adresu telefona i direktorijum u koji će biti montiran fajl sistem mobilnog uređaja:
| root@OpenWrt:/# obexfs -b00:13:FD:80:F9:F5 /mnt/nokia/ |
Nakon izvršavanja ove komande na telefonu će se pojaviti predlog za povezivanje, a potrebno je uneti Pin kod. Nakon što unesete pin kod na telefonu, potrebno je uneti isti i na strani rutera... Kako to uraditi, ne znam )))
Ovo pitanje je veoma lako zaobići. Pogledajte sadržaj sledeće direktorijume:
| root@OpenWrt:/# ls -l /var/lib/bluetooth/00\:0A\:3A\:5C\:88\:60/ -rw-r--r-- 1 root root 27 Jan 1 00:04 classes -rw-r--r-- 1 root root 26 Jan 1 01:40 config -rw-r--r-- 1 root root 38 Jan 1 00:02 did -rw-r--r-- 1 root root 35 Jan 1 00:02 features -rw-r--r-- 1 root root 42 Jan 1 00:10 lastseen -rw-r--r-- 1 root root 42 Jan 1 01:41 lastused -rw------- 1 root root 55 Jan 1 00:11 linkkeys -rw-r--r-- 1 root root 27 Jan 1 00:02 manufacturers -rw-r--r-- 1 root root 37 Jan 1 00:02 names -rw-r--r-- 1 root root 499 Jan 1 00:02 profiles -rw-r--r-- 1 root root 2658 Jan 1 00:02 sdp |
U njoj se nalaze sistemski fajlovi koji su odgovorni za Bluetooth vezu. Dodajemo ovde fajl pincodes, u kojem ćemo navesti adresu i odgovarajući pin kod. Kod mene izgleda ovako: 00:13:FD:80:F9:F5 1
Nakon što kreirate ovaj fajl, pin kod sa strane rutera više neće biti potreban. Pokušajte ponovo:
