Premium

Získejte všechny články
jen za 89 Kč/měsíc

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ší

Spotem s Trojanem na horách operátor popudil Poláky. Nerozuměli nadsázce

21. dubna 2024  8:01

Po dvojici Vojtěch Kotek a Lukáš Pavlásek, k níž později přibyl Jakub Kohák, vsadil T-Mobile ve...

Toto zařízení mělo nahradit mobily. V recenzích se mu vysmáli

23. dubna 2024

Novinka s názvem Humane AI Pin se zdála být převratným zařízením. V mnoha ohledech měla nahradit...

{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...}

Vodafone měl výpadek, někteří zákazníci se nemohli dovolat

25. dubna 2024  10:03,  aktualizováno  10:15

Síť mobilního operátora Vodafone postihl ráno výpadek. Týkal se části zákazníků, kteří se nemohli...

Xiaomi už se nebude držet zpátky. Pro řadu T chystá další prémiové funkce

26. dubna 2024

Smartphony řady T od Xiaomi mají vždy parádní výbavu, ale zároveň i pár kompromisů, aby trochu...

{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...}

Váš iPhone může být hacknut, varuje Apple uživatele v desítkách zemích

27. dubna 2024

Jednotlivci z řad uživatelů iPhonů z více než devadesáti zemí světa obdrželi ve středu 10. dubna od...

Další chytrý prsten na obzoru. Má být levný a ještě vám posvítí na cestu

29. dubna 2024

Společnost Black Shark představila pro domácí, čínský trh vlastní chytrý prsten. Model Black Shark...

Do konce měsíce výhodná střední třída. Test smartphonu Vivo V40 SE

28. dubna 2024

Vivo uvedlo do střední třídy smartphonů zajímavý stylový model V40 SE. Ten je důkazem toho, jak...

Dětem neprodáváme. Britské děti si dost možná už smartphone nekoupí

27. dubna 2024

Premium Britští ministři zvažují přijetí zákona, který by omezoval prodej smartphonů. Jsou totiž...

Váš iPhone může být hacknut, varuje Apple uživatele v desítkách zemích

27. dubna 2024

Jednotlivci z řad uživatelů iPhonů z více než devadesáti zemí světa obdrželi ve středu 10. dubna od...

Jak na rychlou a jednoduchou večeři s rýží?
Jak na rychlou a jednoduchou večeři s rýží?

Díky své všestrannosti se rýže LAGRIS už dlouho stávají nedílnou součástí mnoha pokrmů z celého světa. Bez ohledu na to, zda se používají k...

Bývalý fitness trenér Kavalír zrušil asistovanou sebevraždu, manželka je těhotná

Bývalý fitness trenér Jan Kavalír (33) trpí osmým rokem amyotrofickou laterální sklerózou. 19. dubna tohoto roku měl ve...

Tenistka Markéta Vondroušová se po necelých dvou letech manželství rozvádí

Sedmá hráčka světa a aktuální vítězka nejprestižnějšího turnaje světa Wimbledonu, tenistka Markéta Vondroušová (24), se...

Horňáci versus dolňáci. Víme, čemu muži dávají přednost, a je to překvapení

Ženské tělo je pro muže celkově velmi atraktivní a nabízí jejich očím mnoho zajímavých partií. Největší pozornosti se...

Hello Kitty slaví padesátiny. Celý svět si myslí, že je to kočička, jenže není

Kulatý obličej se dvěma trojúhelníkovýma ušima, drobný čumáček, vousky a červená mašle na uchu. Taková je Hello Kitty,...

KOMENTÁŘ: Z Davida Černého se stal parazit. O umění už dávno nejde

Premium Když se David Černý v televizi pohádal s kurátorkou Marií Foltýnovou, spory o jeho plastiku na obchodním domě Máj...