Оригиналният адрес на HOWTO-то: http://georgi.unixsol.org/linux_bluetooth_nokia/
Версии
Инструкциите са тествани и работят под Slackware-current
(post 10.0),
ядра 2.4.27 и 2.6.6, включен hotplug, KDE 3.2.3, UpSpeed
Bluetooth USB Adapter и
телефон Nokia
6230.
Би трябвало да работят с всеки стандартен Bluetooth адаптер
и телефон,
който поддържа OBEX.
Настройки на ядрото
Трябва да имате поддръжка за Bluetooth в ядрото. В
стандартното
Slackware 10.0 ядро, поддръжката е включена на модули. За
тези, които
компилират собствени ядра, ето така изглежда конфигурацията
на ядрото,
отговаряща за bluetooth:
# Kernel 2.4.26 config
CONFIG_BLUEZ=m
CONFIG_BLUEZ_L2CAP=m
CONFIG_BLUEZ_SCO=m
CONFIG_BLUEZ_RFCOMM=m
CONFIG_BLUEZ_RFCOMM_TTY=y
CONFIG_BLUEZ_BNEP=m
CONFIG_BLUEZ_BNEP_MC_FILTER=y
CONFIG_BLUEZ_BNEP_PROTO_FILTER=y
CONFIG_BLUEZ_CMTP=m
CONFIG_BLUEZ_HCIUSB=m
CONFIG_BLUEZ_HCIUSB_SCO=y
CONFIG_BLUEZ_HCIUART=m
CONFIG_BLUEZ_HCIUART_H4=y
CONFIG_BLUEZ_HCIUART_BCSP=y
CONFIG_BLUEZ_HCIUART_BCSP_TXCRC=y
CONFIG_BLUEZ_HCIBFUSB=m
CONFIG_BLUEZ_HCIDTL1=m
CONFIG_BLUEZ_HCIBT3C=m
CONFIG_BLUEZ_HCIBLUECARD=m
CONFIG_BLUEZ_HCIBTUART=m
CONFIG_BLUEZ_HCIVHCI=m
Забележка: В Линукс 2.6 (тествано с
2.6.6 идващо със Slackware-10.0),
конфигурацията е същата с една единствена промяна.
Навсякъде _BLUEZ_ се заменя
с _BT_.
След като ядрото ви има поддръжка на Bluetooth е
необходимо да
инсталирате библиотеките и помощните програми. Официалната
страница на Bluez, Bluetooth стека за Linux е http://www.bluez.org/.
От нея трябва да си свалите bluez-libs и
bluez-utils
(ако ги нямате на пакети във вашата дистрибуция). Освен
това ще ви е
необходима OpenOBEX библиотеката.
OBEX е протокола, чрез който ще прехвърляте файлове от и
към Bluetooth
устройството. Това е двоичен протокол, който прилича на
HTTP. Официалната
страница на OpenOBEX е http://openobex.sourceforge.net/.
Инсталация на библиотеки и помощни програми
Сваляне, конфигуриране и инсталиране на bluez-libs (като
потребител)
wget http://bluez.sf.net/download/bluez-libs-2.10.tar.gz
tar xzvf bluez-libs-2.10.tar.gz
cd bluez-libs-2.10
./configure
make
su -c "make install"
Сваляне, конфигуриране и инсталиране на bluez-utils
(като потребител)
wget http://bluez.sf.net/download/bluez-utils-2.10.tar.gz
tar xzvf bluez-utils-2.10.tar.gz
cd bluez-utils-2.10
./configure
make
su -c "make install"
Сваляне, конфигуриране и инсталиране на OpenOBEX (като
потребител)
wget
http://prdownloads.sourceforge.net/openobex/openobex-1.0.1.tar.gz
tar xzvf openobex-1.0.1.tar.gz
cd openobex-1.0.1
./configure
make
su -c "make install"
Активиране на Bluetooth адаптера
Сложете Bluetooth адаптера в някой свободен USB слот.
Ако имате
активиран hotplug, необходимите модули сами ще се заредят.
Ако не
ползвате hotplug изпълнете следните команди (като
root):
modprobe bluez
modprobe l2cap
modprobe rfcomm
modprobe usb-uhci
modprobe hci_usb
След което проверете дали системата е открила bluetooth
адаптера. Това
става с командата hciconfig изпълнена като
root.
root@gfhome:~# hciconfig
hci0: Type: USB
BD Address: 00:XX:XX:XX:XX:XX ACL MTU: 192:8 SCO
MTU: 64:8
DOWN
RX bytes:388 acl:0 sco:0 events:18 errors:0
TX bytes:320 acl:0 sco:0 commands:15 errors:0
В момента устройството е открито, но не е активно.
Трябва да бъде активирано
с командата hciconfig hci0 up изпълнена
като root.
root@gfhome:~# hciconfig hci0 up
root@gfhome:~# hciconfig
hci0: Type: USB
BD Address: 00:XX:XX:XX:XX:XX ACL MTU: 192:8 SCO
MTU: 64:8
UP RUNNING PSCAN ISCAN
RX bytes:493 acl:0 sco:0 events:32 errors:0
TX bytes:620 acl:0 sco:0 commands:28 errors:0
Включете Bluetooth-а на телефона си, след което
изпълнете командата
hcitool scan (като root) за да открите
отдалечените устройства.
Сканирането отнема около десет секунди.
root@gfhome:~# hcitool scan
Scanning ...
00:XX:XX:XX:XX:XX gf
В случая е открито едно устройство, което се казва gf
(това е моят телефон).
Инсталация и настройка на приложен софтуер
Ако сте следвали инструкциите до тук и не е имало
проблеми, значи вече
имате работеща bluetooth връзка с телефона си. Остава да
инсталираме
приложен софтуер, който говори SDP и OBEX протоколите. SDP
е протокола
за откриване на услугите предоставяни от bluetooth
устройство, а OBEX -
протокола за обмен на файлове.
Проекта KDE предоставя
необходимият ни
софтуер в секцията kdeextragear. Тъй като за kdeextragear
обикновено няма пакети,
изходният код трябва да се свали от
ftp://ftp.kde.org/pub/kde/unstable/snapshots/
и да се компилира. За компилацията е нужно да имате
инсталирани openobex, libogg
и libvorbis библиотеките (последните две ги има на
Slackware 10 CD в slackware/l/
директорията).
Сваляне, конфигуриране и инсталиране на KDE Extra Gear
(като потребител)
wget
ftp://ftp.kde.org/pub/kde/unstable/snapshots/kdeextragear-3.tar.bz2
bunzip2 -cd kdeextragear-3.tar.bz2 | tar xv
cd kdeextragear-3-`date +%y%m%d`
./configure --prefix=`kde-config --prefix`
cd kdebluetooth
make
su -c "make install"
След инсталацията трябва да настроим hcid демона да
ползва kbluepin, когато
е необходимо да пита за PIN код. Тази настройка се прави
във файла /etc/bluetooth/hcid.conf,
като реда:
pin_helper /usr/bin/bluepin;
се заменя с:
pin_helper /opt/kde/lib/kdebluetooth/kbluepin;
Още една необходима настройка е замяната на реда:
class 0x100;
с
class 0x100100;
След като сте направили промените в конфигурационният
файл, стартирайте hcid и sdpd
демоните. Те се ползват при комуникацията с bluetooth
устройствата.
/usr/sbin/hcid
/usr/sbin/sdpd
Достъп до Bluetooth в KDE
След като сте инсталирали kdeextragear и сте стартирали
hcid и sdpd, за да
работи KDE Bluetooth модула, трябва или да рестартирате KDE
или да убиете, kded
и да го стартирате отново (kdekillall kded ; kded).
След това можете да ползвате в konqueror адреса
bluetooth:/ за достъп до bluetooth
(вижте картинките по-долу):

Преглед на Bluetooth устройствата.

Преглед на услугите предлагани от отдалечено
Bluetooth устройство (в случая моят телефон).

Питането за PIN код, при опит за достъп до OBEX File
Transfer.

Директориите в телефона.
Освен ioslave-а bluetooth:/ в контекстното меню на KDE
се появява нов action - "Send to Bluetooth",
той може да се използва за изпращането на файл към телефона
чрез OBEX Push.
Автоматично стартиране
За да можете след всеки рестарт да ползвате Bluetooth
адаптера в /etc/rc.d/rc.local добавете
следните редове:
# Bluetooth
/sbin/modprobe bluez
/sbin/modprobe l2cap
/sbin/modprobe rfcomm
/sbin/modprobe usb-uhci
/sbin/modprobe hci_usb
/usr/sbin/hciconfig hci0 up
/usr/sbin/hcid
/usr/sbin/sdpd
/usr/sbin/hciconfig
Връзки
Още инструкции за ползване на Bluetooth под Linux:
За автора
Този документ е написан от Георги
Чорбаджийски.
Документът се разпространява под GNU FDL лиценз. За
корекции и допълнения пишете на
следният емайл georgi@unixsol.org.