Bluetooth
Pro zprovoznění Bluetooth (BT) na stroji s Ubuntu je nezbytný Bluetooth adaptér. Nejsnazší je zvolit si USB bluetooth adaptér. Pro svou funkčnost v Linuxu je mezi nimi doporučovaný například známý a testovaný adaptér značky MSI. Vybrala jsem si tedy USB bluetooth adaptér BToes 2.0 EDR Micro Dongle od výrobce MSI.
Kromě BT adaptéru je nutné v Linuxu zprovoznit modul hci_usb. Jeho funkčnost v Ubuntu otestujeme příkazem v terminálu:
sudo modprobe hci_usb
Příklad výstupu, pokud vše běží správně:
frontier@frontier-laptop:~$ sudo modprobe hci_usb [sudo] password for frontier: frontier@frontier-laptop:~$
POZOR! Modul hci_usb není v kernelu 2.6.27 a novějších! Byl přejmenovaný na btusb. (Quaker)
Proto i příkaz v terminálu bude znít následovně:
sudo modprobe btusb
Připojte Bluetooth USB adaptér do portu počítače nebo notebooku či laptopu.
Příkaz pro terminál, který ukáže zapojený USB bluetooth adaptér:
lsusb
Příklad výstupu, pokud není žádný problém (USB ve výpisu zde vidíte jako Bluetooth Dongle):
frontier@frontier-laptop:~$ lsusb Bus 003 Device 001: ID 0000:0000 Bus 002 Device 005: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode) Bus 002 Device 001: ID 0000:0000 Bus 001 Device 001: ID 0000:0000
Potřebné balíky pro Linux, distribuci Ubuntu (Ubuntu 8.04, ale stejné by měly být i pro verzi Ubuntu 8.10):
- bluetooth
- gnome-bluetooth
- libgnomebt0
- nautilus-sendto
- bluez-audio
- bluez-utils
- bluez-cups
- bluez-gnome
- libbluetooth2
- libbtctl4
- gvfsbackends
- obexftp (a možná i balík gnome-vfs-obexftp) anebo obex-data-server
- obexpushd
- obextool
- openobex-apps
- uspp-push
- libopenobex1
POZOR! Kvůli konfliktu balíku libobexftp1 si je potřeba vybrat buď balík obex-data-server anebo balík obex-ftp! Závislost obou je na balíku libopenobex1.
Pokud v balících máme balík obexftp, je možné, že budeme pro správnou funkci Bluetooth potřebovat i balík gnome-vfs-obexftp (oboje namísto balíku obex-data-server).
Kromě toho si je možné (podle fóra Ubuntu) vybrat balík gnome-bluetooth anebo balík python-bluez.
Nyní již můžeme zapnout Bluetooth příkazem:
/etc/init.d/bluetooth start
Příklad výstupu příkazu pro terminál, startující Bluetooth, pokud je vše OK:
frontier@frontier-laptop:~$ sudo /etc/init.d/bluetooth start [sudo] password for frontier: * Starting bluetooth [ OK ]
Potom napíšeme do terminálu příkaz pro výpis seznamu všech dostupných zařízení společně s jejich MAC adresami:
hciconfig
Příklad výstupu terminálového příkazu, pokud není s bluetooth žádný problém (BD je ve výpisu MAC adresa Bluetooth Dongle):
frontier@frontier-laptop:~$ hciconfig hci0: Type: USB BD Address: 00:15:83:12:F2:09 ACL MTU: 310:10 SCO MTU: 64:8 UP RUNNING PSCAN ISCAN RX bytes:981 acl:0 sco:0 events:26 errors:0 TX bytes:348 acl:0 sco:0 commands:24 errors:0
Zapneme bluetooth na mobilním telefonu a v terminálu naťukáme příkaz, který ukáže všechna zařízení s aktivním a viditelným bluetooth (mobilní telefony) včetně jejich MAC adres:
hcitool scan
Příklad výstupu příkazu pro terminál, když je vše v pořádku (ve výpisu vidíme mobil Nokia 6600):
frontier@frontier-laptop:~$ hcitool scan Scanning ... 00:0E:6D:A0:9A:FF Nokia 6600
Jestliže se Vám nezobrazí žádný konkrétní výstup příkazu hcitool scan (kde je uveden typ mobilního telefonu a jeho MAC adresa), podívejte se, prosím, zda ve svém mobilu máte zapnutou viditelnost Vašeho mobilního telefonu. V případě, že máte (například z bezpečnostních důvodů) viditelnost Vašeho mobilu nastavenou jako skrytý (mobilní telefon), pak Vám ani příkaz hcitool scan neukáže vůbec žádné zařízení (mobil), navzdory tomu, že všechno funguje tak, jak má.
Pokud chceme nastavit PIN nejprve v počítači (ne nejdříve v mobilu), zeditujeme jako root soubor pin v adresáři /etc/bluetooth/pin. Stačí tam dopsat čtyřmístné číslo a uložit jako root. Terminálový příkaz je následující:
sudo gedit /etc/bluetooth/pin
Uvedený PIN slouží k potvrzení připojení mobilu a počítače, a bude ho pak mobilní telefon vyžadovat. Také PC bude potom chtít tento PIN jako „klíč“ pro ověření při spárování mobilu a počítače. Zdali je mobil bezproblémově k dispozici můžeme otestovat následujícím příkazem v syntaxi l2ping MAC adresa mobilu, kterým pingneme na MAC adresu mobilu a hned uvidíme výsledek.
Příklad výstupu příkazu v terminálu pro dosažitelnost mobilu, pokud jede vše tak, jak má:
frontier@frontier-laptop:~$ sudo l2ping 00:0E:6D:A0:9A:FF Ping: 00:0E:6D:A0:9A:FF from 00:15:83:12:F2:09 (data size 44) ... 0 bytes from 00:0E:6D:A0:9A:FF id 0 time 42.85ms 0 bytes from 00:0E:6D:A0:9A:FF id 1 time 16.91ms 0 bytes from 00:0E:6D:A0:9A:FF id 2 time 16.99ms 0 bytes from 00:0E:6D:A0:9A:FF id 3 time 16.97ms 0 bytes from 00:0E:6D:A0:9A:FF id 4 time 15.98ms 0 bytes from 00:0E:6D:A0:9A:FF id 5 time 16.97ms 0 bytes from 00:0E:6D:A0:9A:FF id 6 time 14.97ms 0 bytes from 00:0E:6D:A0:9A:FF id 7 time 14.98ms 0 bytes from 00:0E:6D:A0:9A:FF id 8 time 14.96ms 0 bytes from 00:0E:6D:A0:9A:FF id 9 time 15.95ms 0 bytes from 00:0E:6D:A0:9A:FF id 10 time 14.97ms 0 bytes from 00:0E:6D:A0:9A:FF id 11 time 16.99ms 0 bytes from 00:0E:6D:A0:9A:FF id 12 time 15.99ms 0 bytes from 00:0E:6D:A0:9A:FF id 13 time 16.96ms 0 bytes from 00:0E:6D:A0:9A:FF id 14 time 15.99ms 15 sent, 15 received, 0% loss
Nejdříve musíme BT nastartovat, což uděláme buď v terminálu (viz výše) anebo ťukneme na ikonku Bluetooth (do panelu si ji přidáme příkazem bluetooth-applet) a po připojení bluetooth k počítači se v oznamovací části panelu objeví ikona signalizující stav (aktivní bluetooth). V případě, že se ikonka nezobrazí, podívat se do Systém → Volby → Sezení, zda tam je aktivovaný Správce Bluetooth (bluetooth-applet). Kromě toho si také zapnout bluetooth v systémových službách, tedy dát Systém → Správa → Služby a jako root zaškrtnout Správa zařízení Bluetooth. Samozřejmě je třeba nezapomenout zapnout Bluetooth připojení i na mobilu.
Nastavení
Nastavení Bluetooth je možné v Systém → Volby → Bluetooth, případně po kliknutí pravým tlačítkem myši na ikonu BT v panelu (ne v oznamovací oblasti panelu!) a vybráním Nastavení. Obrázek ukazuje již spárované zařízení, návod pro spárování je uveden níže.
Vytvoření spojení
První, co musíte udělat, pokud chcete Bluetooth používat, je vytvořit spojení mezi zařízeními, jinými slovy je spárovat.
POZOR!!! Předtím je ale nezbytné spustit též Sdílení souborů přes Bluetooth, jinak žádný soubor nepošlete. Zapnout na počítači toto sdílení souborů pomocí BT můžete buď prostřednictvím kláves Alt+F2 a příkazu gnome-obex-server anebo v Aplikace → Příslušenství → Sdílení souborů přes Bluetooth. Pak by se v tray (area) panelu měla objevit ikonka bluetooth vysílače.
gnome-obex-server přijímaný soubor ukládá do adresáře /home/user/Desktop. Tento je ovšem u lokalizovaných Ubuntu nahrazen adresářem Plocha, proto se soubor neuloží, ale Ubuntu nezobrazi ani chybovou hlášku. Řešením je např. vytvoření adresáře Desktop a povolením zápisu do něj.
Nejjednodušší je párování začít z jiného přístroje, např. mobilního telefonu. Poté se na počítači zobrazí upozornění a dialog pro zadání hesla (nazývaného také klíč anebo PIN), které jste zvolili na svém telefonu.
Pokud máte problémy se spárováním mobilu a počítače s Ubuntu, ujistěte se, prosím, že jste postupně krok za krokem provedli všechny kroky uvedené výše. Častým problémem je, že bluetooth nefunguje, i když PC mobilní telefon „vidí“ správně (MAC adresa mobilu), což je způsobeno jenom tím, že chybí nějaký výše uvedený krok. (například není zapnuto sdílení souborů přes Bluetooth)
Použití
OBEX object push (přenos souborů)
Odesílání souborů
Po spárování zařízení je již možné jednoduše posílat soubory. Nejjednodušší způsob odesílání souborů je v Nautilu kliknutí pravým tlačítkem na příslušný soubor a vybráním volby Odeslat. V otevřeném okně zvolte, že chcete posílat přes Bluetooth (OBEX Push) a vyberte zařízení, na které chcete soubor odeslat.
Další možnost je kliknout pravým tlačítkem myši na ikonu Bluetooth umístěnou v oznamovací oblasti, tedy tray (area) panelu a zvolit Odeslat soubor…
Testováno v Ubuntu 8.04 s mobilem Nokia 3110 Classic a adaptérem BToes 2.0 EDR Micro Dongle od MSI, není problém. Testovala jsem i mobil Nokia 6600 (Symbian series60), ale tam nefungovalo posílání souborů z mobilního telefonu. Posílání souborů počítač → mobil bylo v pořádku.
Procházení souborů
Přes Bluetooth je také možné prohlížet soubory na vzdáleném zařízení, např. mobilním telefonu. Klikněte pravým tlačítkem myši na ikonu v panelu a zvolte Procházet zařízení… Poté vyberte příslušné zařízení a následně se otevře prohlížeč souborů.
Audio
Předpokládá se funkční PulseAudio, pro větší pohodlí i GUI pro jeho ovládání (balíček pavucontrol) a znalost MAC adresy vašeho zařízení. MAC adresu nejsnáze zjistíte tak, že zařízení podle návodu připravíte ke spárování a použijete příkaz
hcitool scan
A2DP (stereo sluchátka)
A2DP (Advanced Audio Distribution Profile) protokol umožňuje jednosměrný přenos stereo zvuku.
Do souboru ~/.asoundrc (osobní nastavení ALSA) přidejte následující:
pcm."BT sluchátka" { type bluetooth device XX:XX:XX:XX:XX:XX profile hifi }
kde XX:XX:XX:XX:XX:XX je MAC adresa vašich sluchátek.
Pak upravte soubor ~/.pulse/default.pa (osobní default script pro PulseAudio) tak, aby vypadal následovně:
.include /etc/pulse/default.pa .nofail load-module module-alsa-sink device="BT sluchátka"
POZOR: sice to není vidět, ale podle mé zkušenosti musí být na konci scriptu volný řádek, jinak PulseAudio selhává!
POZNÁMKA: testováno na sluchátkách Jabra BT620s v Ubuntu 8.04 a až na pár detailů to funguje bezvadně.
Odhlaste se a před opětovným přihlášením zapněte (pokud jste tak již neučinili) jak Bluetooth adaptér počítače, tak headset a spusťte PulseAudio Volume Control. Na záložce s nastavením hlasitosti výstupních zařízení by teď měl být vidět další ovladač hlasitosti pro vaše sluchátka.
HSP (headset)
HSP je protokol používaný mono headsety (hodí se pro VoIP a podobně).
Do souboru ~/.asoundrc (osobní nastavení ALSA) přidejte následující:
pcm."BT headset" { type bluetooth device XX:XX:XX:XX:XX:XX profile voice }
kde XX:XX:XX:XX:XX:XX je MAC adresa vašeho headsetu.
Pak upravte soubor ~/.pulse/default.pa (osobní default script pro PulseAudio) tak, aby vypadal následovně:
.include /etc/pulse/default.pa .nofail load-module module-alsa-sink device="BT headset" load-module module-alsa-source device="BT headset"
POZOR: sice to není vidět, ale podle mé zkušenosti musí být na konci scriptu volný řádek, jinak PulseAudio selhává!
POZNÁMKA: To co skript provádí automaticky při spouštění PulseAudia se dá dělat i manuálně (případně shell scriptem) pomocí nástroje pactl. Příkaz pak vypadá například takto:
pactl load-module module-alsa-source device="BT headset"
Odhlaste se a před opětovným přihlášením zapněte (pokud jste tak již neučinili) jak Bluetooth adaptér počítače, tak headset a spusťte PulseAudio Volume Control. Na záložce s nastavením hlasitosti vstupních a výstupních zařízení by teď měl být vidět další ovladač hlasitosti pro váš headset.