Portál AbcLinuxu, 14. května 2025 01:12

Dotaz: Bluetooth audio

31.1.2010 11:22 Matlák
Bluetooth audio
Přečteno: 334×
Odpovědět | Admin
Příloha:
Dobrý den. Snažím se připojit svoje BT sluchátka k laptopu tak, aby se tvářila jako další ALSA zařízení. Na laptopu mám bluez-4.60. Bez problémů používám přenos souborů přes obexftp.

V konfiguráku .asoundrc mám mj.tohle:
pcm.bluetooth {
   type bluetooth
   device 00:13:17:72:7E:08
   profile auto
}

ctl.bluetooth {
   type bluetooth
}
Spustím bluetoothd bez nějakých výrazných chybových hlášek (kompletní výpis přikládám) a přepnu sluchátka (Jabra BT620s) do pairing modu. Ve zdrojákách bluez jsem nastavil PIN natvrdo na "0000" což je i defaultní pin většiny headsetů (včetně mých sluchátek). Potom spustím pod rootovským terminálem obligátní formuli
hcitool cc 00:13:17:72:7E:08 && hcitool auth 00:13:17:72:7E:08

Daemon vypíše následující data:
bluetoothd[8741]: adapter_get_device(00:13:17:72:7E:08)
bluetoothd[8741]: adapter_create_device(00:13:17:72:7E:08)
bluetoothd[8741]: Creating device /org/bluez/8741/hci0/dev_00_13_17_72_7E_08
bluetoothd[8741]: btd_device_ref(0x800674b8): ref=1
bluetoothd[8741]: link_key_request (sba=00:1D:60:11:6F:89, dba=00:13:17:72:7E:08)
bluetoothd[8741]: kernel auth requirements = 0x00
bluetoothd[8741]: pin_code_request (sba=00:1D:60:11:6F:89, dba=00:13:17:72:7E:08)
bluetoothd[8741]: link_key_notify (sba=00:1D:60:11:6F:89, dba=00:13:17:72:7E:08, type=0)
bluetoothd[8741]: adapter_get_device(00:13:17:72:7E:08)
bluetoothd[8741]: HCIGETAUTHINFO failed: Invalid argument (22)
bluetoothd[8741]: local auth 0xff and remote auth 0xff
bluetoothd[8741]: storing link key of type 0x00
bluetoothd[8741]: hcid_dbus_bonding_process_complete: status=00
bluetoothd[8741]: adapter_get_device(00:13:17:72:7E:08)
bluetoothd[8741]: hcid_dbus_bonding_process_complete: no pending auth request
bluetoothd[8741]: hcid_dbus_bonding_process_complete: status=00
bluetoothd[8741]: adapter_get_device(00:13:17:72:7E:08)
bluetoothd[8741]: hcid_dbus_bonding_process_complete: no pending auth request
bluetoothd[8741]: Removing temporary device /org/bluez/8741/hci0/dev_00_13_17_72_7E_08
bluetoothd[8741]: Removing device /org/bluez/8741/hci0/dev_00_13_17_72_7E_08
bluetoothd[8741]: btd_device_unref(0x800674b8): ref=0
bluetoothd[8741]: device_free(0x800674b8)
V té samé chvíli ve sluchátkách zazní tón - stejný tón udělají sluchátka i při spárování s telefonem. Sluchátka se taky přepnou do normálního modu (začnou akusticky reagovat na stisky tlačítek). Ovšem výpis je podivný - zaráží mě hlavně "Removing device" ihned po spárování. Není třeba někde něco nastavit, aby zařízení zůstalo přítomné? Nedělám něco špatně?

Ve finále - bez ohledu zda mám sluchátka zapnutá nebo ne - při spuštění mplayeru dostanu následující hlášku:
[AO_ALSA] alsa-lib: pcm_bluetooth.c:1464:(audioservice_recv) Error receiving data from audio service: Success(0)
[AO_ALSA] alsa-lib: pcm_bluetooth.c:1480:(audioservice_expect) Bogus message BT_GETCAPABILITIES_REQ received while BT_GETCAPABILITIES_RSP was expected
[AO_ALSA] Playback open error: Invalid argument
Could not open/initialize audio device -> no sound.
Démon bluetoothd odpoví v tu chvíli tohle:
bluetoothd[8741]: Accepted new client connection on unix socket (fd=23)
bluetoothd[8741]: Audio API: BT_REQUEST <- (null)
bluetoothd[8741]: Invalid message: length mismatch
bluetoothd[8741]: client_free(0x80063ec0)
Nevíte v čem by mohl být zakopaný pes? Stačilo by mi alespoň kdyby sluchátka zůstala připojená... zatím tu hlášku "Removing device" dostanu jen pár sekund po spárování.. Předem děkuji za odpovědi.
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

31.1.2010 17:16 Matlák
Rozbalit Rozbalit vše Re: Bluetooth audio
Odpovědět | | Sbalit | Link | Blokovat | Admin
Tak problém jsem vyřešil. BT sluchátka hrají. Ovšem musel jsem downgradovat bluez na verzi 3 místo naprosto nezdokumentované čtyřky.

OT dotaz - zajímalo by mě, jestli jde nějak sejmout strukturu objektů D-BUS. Není na to nějaká utilita? Vypadá to že ta struktura a rozhraní se změnily právě při přechodu ze 3 na 4. Pár zmínek o nové struktuře jsem zahlédl pouze na webu openmoko, jinak ticho po pěšině.. A přitom třeba ubuntu používá v gnome jako backend pro bluetooth bluez4, takže ta dokumentace rozhraní musí existovat..

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.