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

Je to už spíš foťák s mobilem a opravdu se povedl. Test Xiaomi 14 Ultra

21. dubna 2024

Prémiový smartphone Xiaomi 14 Ultra působí mezi současnou nabídkou mobilů jako unikát. Jaký jiný...

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

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

Operátoři zahušťují pokrytí Česka signálem 5G. Máte ho doma? Podívejte se

20. dubna 2024

Premium V červenci to budou již čtyři roky, co byla v Česku spuštěna první komerční 5G síť. Zatímco v...

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

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

Toto mohl být nevídaný smartphone. Myšlenku však nakonec poslali k vodě

25. dubna 2024

S takovým smartphonem bychom už nikdy nemuseli řešit, že se zpomaluje, nemá dostatek paměti či je...

Samsung má povedenou stylovku. Zkusí to s ní na trhu, kde se mu nedaří

24. dubna 2024

Samsung po velmi dlouhé době oprášil modelovou řadu Galaxy C a představil stylový smartphone se...

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

Samoživitelka skončila v nemocnici a čtvrt roku nemohla pracovat
Samoživitelka skončila v nemocnici a čtvrt roku nemohla pracovat

Téměř deset miliard korun – tolik jen za loňský rok poslaly pojišťovny lidem za úrazy, závažná onemocnění či úmrtí. Životní pojištění pomohlo za...

Manželé Babišovi se rozcházejí, přejí si zachovat rodinnou harmonii

Podnikatel, předseda ANO a bývalý premiér Andrej Babiš (69) s manželkou Monikou (49) v pátek oznámili, že se...

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

Herečka Hunter Schaferová potvrdila románek se španělskou zpěvačkou

Americká herečka Hunter Schaferová potvrdila domněnky mnoha jejích fanoušků. A to sice, že před pěti lety opravdu...

Největší mýty o zubní hygieně, kvůli kterým si můžete zničit chrup

Možná si myslíte, že se v péči o zuby orientujete dost dobře, přesto v této oblasti stále ještě existuje spousta...

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