Linux a Bluetooth? Žádný problém! (návod)

Přinášíme vám detailní návod na zprovoznění Bluetooth komunikace pod operačním systémem Linux. Pokud se v problematice alespoň trochu orientujete, dokážete na svém počítači zprovoznit libovolné Bluetooth zařízení.

Naprostá většina odborných periodik až dosud řešila technologii Bluetooth spíše z teoretické stránky. Zabývala se jejím provedením, přednostmi nebo dostupnými zařízeními. - Všechny tyto informace si můžete podrobně přečíst ve specializované příloze. - Ovšem pokaždé se uvažovala relativně bezproblémová komunikace mezi samotnými mobilními zařízeními popřípadě s počítači používajícími operační systém MS Windows. Mnohem složitější je však zprovoznění Bluetooth pod Linuxem.

Oficiálně se o podpoře Linuxu u většiny Bluetooth produktů nedozvíte. Všichni mají na svých zařízeních většinou jen označení, že fungují pod operačním systémem MS Windows a o dalších platformách takticky mlčí. Musíte tedy oželet oficiálně podporované postupy i pohodlné utility. Protože ale existuje jen několik dodavatelů základních čipů, podle následujícího postupu dokážete pod Linuxem zprovoznit prakticky jakýkoliv Bluetooth hardware. A navíc bez nejmenších problémů se stabilitou.

Co budeme potřebovat?

Poslední stabilní jádro 2.4.19, popřípadě 2.4.20-pre1, soubory z BlueZ projektu

Řekněme si rovnou, že v jádru 2.4.19 není poslední verze jádra projektu BlueZ, který je jedinným oficiálním linuxovým BlueTooth stackem pod linux. Existují ještě i jiné projekty, jako je Affix a OpenBT, které ovšem nemají oficiální charakter, a v dnešní době neposkytují nic, co by BlueZ neposkytovalo také. Poslední jádro BlueZ má číslo verze 2.2 a je plně obsaženo v kernelu 2.4.20-pre1. Je možno využít buď soubor bluez-kernel-2.2.tar.gz ze sekce download na stránkách projektu BlueZ, nebo využít tento můj a Marcel Holtmannův patch, který je backportem celého jádra 2.2 z kernelu 2.4.20-pre1. patch-2.4.19-bluez-2.2.bz2

Co budeme dále potřebovat? Jsou to tyto soubory, které musíme stáhnout:

bluez-bluefw-0.4.tar.gz
bluez-hcidump-1.3.tar.gz
bluez-libs-2.0.tar.gz
bluez-sdp-0.7.tar.gz
bluez-utils-2.0.tar.gz

a v případě, že chceme využívat i síť složenou s BlueTooth zařízení i soubor bluez-pan-1.0.tar.gz

Dále potom buď ze stránek projektu BlueZ rfcommd-1.1.tar.gz s tímto patchem pro funkčnost se zařízeními s PalmOs patch-rfcommd-1.1.bz2, nebo ze stránky http://www.holtmann.org/linux/bluetooth/rfcomm.html stáhnout verzi rfcomm-0.8.tar.gz

My se budeme zabývat rfcommd-1.1 i když to dnes není již plně podporovaná záležitost. Tou je dnes rfcomm-0.8 ze stránek holtmann.org. Na druhou stranu o rfcommd-1.1 bylo napsáno tolik, že podle množství HowTo musí nastavit BlueZ každý.

Začněme. Jádro budeme překládat pro USB dongle využívající CSR čip - to je většina zařízení typu USB. Druhé zařízení, se kterým budeme komunikovat je mobilní telefon Nokia 6310.

Nejdříve patchneme naše stabilní jádro 2.4.19:

cd /usr/src;bzip2 -cd patch-2.4.19-bluez-2.2.bz2|patch -p0;cd linux-2.4.19;make menuconfig

Zaškrtneme tyto položky:

Bluetooth subsystem support
L2CAP protocol support
SCO links support
HCI USB driver
[*] Firmware download support

a přeložíme jádro standartními příkazy: make dep && make bzImage && make modules
a nainstalujeme jej příkazy: make modules_install; make install;lilo; reboot

Nyní rozbalíme naše soubory: gzip -cd bluez-libs-2.0.tar.gz|tar -xvf -
S ostatními soubory postupujeme obdobně.

Přeložíme podporu pro BlueZ - nejprve je potřeba nainstalovat knihovny, potom ostatní soubory. V kompilaci není žádný problém, postupujeme standartní cestou ./configure;make all;make install

Systém máme přípravený pro spuštění Bluetooth.

Začneme inicializací adaptéru:

modprobe hci_usb; modprobe l2cap
hciconfig hci0 up

Zapneme podporu Bluetooth na Nokii (menu 10) a necháme naším zařízením nokii nalézt:

hcitool -i hci0 inq

Dostaneme tuto odpověď:

Inquiring ...
00:02:EE:00:AB:B3 clock offset: 0x54b6 class: 0x502204

Telefon byl tedy nalezen. Zkusíme ho pingnout, zda-li funguje:

l2ping 00:02:EE:00:AB:B3
Ping: 00:02:EE:00:AB:B3 from 00:A0:96:1F:B0:0C (data size 20) ...
0 bytes from 00:02:EE:00:AB:B3 id 200 time 29.46ms
0 bytes from 00:02:EE:00:AB:B3 id 201 time 26.83ms
2 sent, 2 received, 0% loss

I zde je tedy vše v pořádku a přistoupíme k nastavování komunikace. Jako první musíme nastavit hcid, což je démon, starající se o výměnu hesel mezi oběma zařízeními a jejich spárování.

cijoml@notas:~/bluetooth$ cat /etc/bluetooth/hcid.conf
#
# HCI daemon configuration file.
#
# $Id: hcid.conf,v 1.1.1.1 2002/03/08 21:12:35 maxk Exp $
#

# HCId options
options {
# Automaticaly initialize new devices
autoinit yes;

# Security Manager mode
# none - Security manager disabled
# auto - Use local PIN for incomming connections
# user - Always ask user for a PIN

security auto;

# PIN helper
pin_helper /bin/bluepin;
}

# Default settings for HCI devices
device {
# Local device name
# %d - device id
# %h - host name
#name "BlueZ (%d)";
name "Linux";

# Local device class
class 0x100;

# Default packet type
pkt_type DH1,DM1,HV1;

# Inquiry and Page scan
iscan enable; pscan enable;

# Default link mode
# none - no specific policy
# accept - always accept incomming connections
# master - become master on incomming connections,
# deny role switch on outgoint connections
#
#lm accept,master;
lm master;

# Default link policy
# none - no specific policy
# rswitch - allow role switch
# hold - allow hold mode
# sniff - allow sniff mode
# park - allow park mode

#lp hold,sniff;
lp hold,sniff,park;

# Authentication and Encryption
#auth enable;
#encrypt enable;
}

Nyní je nutné nastavit démona, který pro nás obstarává komunikaci přes bluetooth - rfcommd. Démona nastavíme jako slave, master bude telefon (pro snadnější nastavování).

cijoml@notas:~/bluetooth$ cat /etc/bluetooth/rfcommd.conf
options {
psm 3;
ppp /usr/sbin/pppd;
ifconfig /sbin/ifconfig;
route /sbin/route;
firewall /sbin/iptables;
}

na {
channel 1;
up {
ppp "%d call gprsbt";
}
}

Nastavíme komunikaci přes ppp protokol:

cijoml@notas:~$ > cat /etc/ppp/peers/gprsbt
115200
cdtrcts
nodetach
noipx
noauth
connect '/usr/sbin/chat -v -f /etc/chatscripts/gprsbt'
noipdefault
ipcp-accept-local
local
novj
novjccomp
nobsdcomp
lcp-echo-interval 10
disconnect '/usr/sbin/chat -v -f /etc/chatscripts/provider-hang'
defaultroute
#usepeerdns
lock

cijoml@notas:~$ > cat /etc/chatscripts/gprsbt
TIMEOUT 10
ABORT BUSY
ABORT "NO CARRIER"
ABORT VOICE
ABORT "NO DIALTONE"
""
'\rATZ' OK
ATX3 OK
AT+CGDCONT=1,"IP","internet" OK
"ATD*99***1#" CONNECT

cijoml@notas:~$ > cat /etc/chatscripts/provider-hang
ABORT ERROR
''
+++ath0
'NO CARRIER'
ATZ
OK

A to je vše. Zde uvedené nastavení je pro operátora Ceský mobil a.s. a síť Oskar.

Jednoduše se spojíme příkazem

rfcommd -n -f /usr/local/etc/rfcommd.conf na 00:02:EE:00:AB:B3

Nokia oznámí připojené zařízení Linux, zvolíme OK, a zadáme číslo. Toto si nemusíme pamatovat, zadává se pouze jednou.

Abychom nemuseli řešit problém, že na náši plochu připojuje aplikace běžící pod rootem (hcid), zadáme xhost +. Vyjede na nás okénko, kde zadáme to samé číslo a potvrdíme. Zařízení jsou spárována, což nám Nokia oznámí a začne vytáčet a následně se spojí. Je dobré na Nokii vypnout u spárovaného zařízení požadavek autorizace spojení, abychom nemuseli toto potvrzovat při každém připojení přes notebook.

Jestli jste se dostali až sem, máte váš Linux vybaven podporou Bluetooth. Je dobré si ještě na telefonu vypnout u spárovaného zařízení požadavek autorizace spojení, abyste nemuseli toto potvrzovat při každém připojení přes notebook.

Aktualizace (13.8.2002): Opraveno chybné formátování textu

Autor:
  • Nejčtenější

V květnu se zřejmě vrátí ikonická Nokia 3210, kdysi to byl přelomový model

24. března 2024  8:01

Současný vlastník značky Nokia na poli mobilních telefonů, firma HMD (Human Mobile Devices –...

Banka spustila mobilní datové balíčky. Funguje to i zákazníkům z Česka

26. března 2024  12:06

Virtuální banka Revolut spouští virtuálního celosvětového operátora. Zákazníci si mohou kupovat...

{NADPIS reklamního článku dlouhý přes dva řádky}

{POPISEK reklamního článku, také dlouhý přes dva a možná dokonce až tři řádky, končící na tři tečky...}

Z bídného začátku roku se radují. Vypadá to na velký návrat

21. března 2024  7:02

Zřejmě to vypadá na velký návrat. Huawei začíná drtit své domácí konkurenty, přitom jeho produkty...

Trvalo to. Nový nejlepší fotomobil světa konečně koupíte i v Česku

26. března 2024  7:02

Konečně nastává situace, že nejlepší fotomobil v žebříčku DxO Mark je dostupný i na našem trhu....

{NADPIS reklamního článku dlouhý přes dva řádky}

{POPISEK reklamního článku, také dlouhý přes dva a možná dokonce až tři řádky, končící na tři tečky...}

Pochlubili se, že se pochlubí. Značky ze sebe dělají slibotechny

25. března 2024  7:02

Jedním z trochu nečekaných trendů veletrhu MWC v Barceloně se stala oznámení o tom, že firmy nějaké...

Nová cenově dostupná stylovka vás může dostat na fotbalové Euro

29. března 2024

Vivo má nový smartphone střední třídy, který má velké ambice. Za rozumnou cenu nabídne nejen dobrou...

Toho telefonu je pouze pro Čínu škoda. Udělal by parádu i u nás

28. března 2024  12:06

Xiaomi má nový trhák. Model Civi 4 Pro trhá předprodejní rekordy, ale jen na domácím čínském trhu....

U foťáků se blýská na lepší časy, naznačuje výsledek testu nového xiaomi

28. března 2024  7:02

Čínská značka Xiaomi trochu na poli fotomobilů v uplynulých letech tápala. Ukazuje to mimo jiné...

Kartónek Steva Jobse se vydražil za neuvěřitelnou sumu

28. března 2024

Vizitku slavného ředitele společnosti Apple si někdo pořídil za pořádný balík peněz. Přidanou...

Smoljak nechtěl Sobotu v Jáchymovi. Zničil jsi nám film, řekl mu

Příběh naivního vesnického mladíka Františka, který získá v Praze díky kondiciogramu nejen pracovní místo, ale i...

Rejžo, jdu do naha! Balzerová vzpomínala na nahou scénu v Zlatých úhořích

Eliška Balzerová (74) v 7 pádech Honzy Dědka přiznala, že dodnes neví, ve který den se narodila. Kromě toho, že...

Pliveme vám do piva. Centrum Málagy zaplavily nenávistné vzkazy turistům

Mezi turisticky oblíbené destinace se dlouhá léta řadí i španělská Málaga. Přístavní město na jihu země láká na...

Kam pro filmy bez Ulož.to? Přinášíme další várku streamovacích služeb do TV

S vhodnou aplikací na vás mohou v televizoru na stisk tlačítka čekat tisíce filmů, seriálů nebo divadelních...

Stále víc hráčů dobrovolně opouští Survivor. Je znamením doby zhýčkanost?

Letošní ročník reality show Survivor je zatím nejkritizovanějším v celé historii soutěže. Může za to fakt, že už...