Bluetooth гарнитура не работает с ядром 2.6.28-r1
Добрый день!
Помогите, пожалуйста. Уже пару недель с перерывами мучаюсь с гарнитурой (Iqua BHS-333).
Подключаю её через USB адаптер. Стоит net-wireless/bluez-utils-3.36 и net-wireless/bluez-libs-3.36. ALSA в ядре и там, и там.
Всё нормально работает с ядром 2.6.24-r5, но вот с ядром 2.6.28-r1 ничего не получается.
Вот логи работающей гартинуты в ядре 2.6.24-r5:
Вот что пишется в /var/log/messages когда гарнитура работает.....
Feb 25 22:13:00 HoMe hcid[10583]: Audio API: received BT_GETCAPABILITIES_REQ
Feb 25 22:13:00 HoMe hcid[10583]: Audio API: sending BT_GETCAPABILITIES_RSP
Feb 25 22:13:00 HoMe hcid[10583]: Audio API: received BT_SETCONFIGURATION_REQ
Feb 25 22:13:00 HoMe hcid[10583]: config sco - device = 00:15:BE:2A:71:81 access_mode = 2
Feb 25 22:13:03 HoMe hcid[10583]: link_key_request (sba=00:11:67:9C:00:98, dba=00:15:BE:2A:71:81)
Feb 25 22:13:06 HoMe hcid[10583]: Badly formated or unrecognized command: AT+BTRH?
Feb 25 22:13:06 HoMe hcid[10583]: SCO fd=24
Feb 25 22:13:06 HoMe hcid[10583]: Audio API: sending BT_SETCONFIGURATION_RSP
Feb 25 22:13:06 HoMe hci_scodata_packet: hci0 SCO packet for unknown connection handle 440
Feb 25 22:13:06 HoMe hci_scodata_packet: hci0 SCO packet for unknown connection handle 0
Feb 25 22:13:06 HoMe hci_scodata_packet: hci0 SCO packet for unknown connection handle 0
Feb 25 22:13:06 HoMe hci_scodata_packet: hci0 SCO packet for unknown connection handle 0
Feb 25 22:13:06 HoMe hci_scodata_packet: hci0 SCO packet for unknown connection handle 0
Feb 25 22:13:06 HoMe hcid[10583]: Audio API: received BT_STREAMSTART_REQ
Feb 25 22:13:06 HoMe hcid[10583]: Audio API: sending BT_STREAMSTART_RSP
Feb 25 22:13:06 HoMe hcid[10583]: Audio API: sending BT_STREAMFD_IND
HoMe ~ # modprobe -l | grep sco
/lib/modules/2.6.24-gentoo-r5/kernel/net/bluetooth/sco.ko
HoMe ~ # modinfo sco
filename: /lib/modules/2.6.24-gentoo-r5/kernel/net/bluetooth/sco.ko
alias: bt-proto-2
license: GPL
version: 0.5
description: Bluetooth SCO ver 0.5
author: Maxim Krasnyansky
srcversion: 878FA0A6CC01F8A353ED2A6
depends: bluetooth
vermagic: 2.6.24-gentoo-r5 SMP mod_unload 686 4KSTACKS
А это ядро 2.6.28-r1:
HoMe ~ # modprobe -l | grep sco
/lib/modules/2.6.28-gentoo-r1/kernel/drivers/net/wan/hdlc_cisco.ko
/lib/modules/2.6.28-gentoo-r1/kernel/drivers/video/syscopyarea.ko
/lib/modules/2.6.28-gentoo-r1/kernel/net/bluetooth/sco.ko
HoMe ~ # modinfo sco
filename: /lib/modules/2.6.28-gentoo-r1/kernel/net/bluetooth/sco.ko
alias: bt-proto-2
license: GPL
version: 0.6
description: Bluetooth SCO ver 0.6
author: Marcel Holtmann
srcversion: 331EE218DF5F358D688C8BC
depends: bluetooth
vermagic: 2.6.28-gentoo-r1 SMP mod_unload modversions 686 4KSTACKS
parm: disable_esco:Disable eSCO connection creation (bool)
/var/log/messages
Feb 26 00:46:42 HoMe hcid[21483]: Audio API: received BT_GETCAPABILITIES_REQ
Feb 26 00:46:42 HoMe hcid[21483]: Audio API: sending BT_GETCAPABILITIES_RSP
Feb 26 00:46:42 HoMe hcid[21483]: Audio API: received BT_SETCONFIGURATION_REQ
Feb 26 00:46:42 HoMe hcid[21483]: config sco - device = 00:15:BE:2A:71:81 access_mode = 2
Feb 26 00:46:43 HoMe hcid[21483]: link_key_request (sba=00:11:67:9C:00:98, dba=00:15:BE:2A:71:81)
Feb 26 00:46:46 HoMe hcid[21483]: Badly formated or unrecognized command: AT+BTRH?
Feb 26 00:47:25 HoMe hcid[21483]: connect(): Connection timed out (110)
Feb 26 00:47:25 HoMe hcid[21483]: Audio API: sending BT_SETCONFIGURATION_RSP
Feb 26 00:47:25 HoMe hcid[21483]: Audio API: received BT_STREAMSTART_REQ
Feb 26 00:47:25 HoMe hcid[21483]: Audio API: sending BT_STREAMSTART_RSP
Feb 26 00:47:25 HoMe hcid[21483]: Audio API: sending BT_STREAMFD_IND
Feb 26 00:47:25 HoMe hcid[21483]: unix_sendmsg_fd: Bad file descriptor(9)
Feb 26 00:47:25 HoMe hcid[21483]: resume failed
Feb 26 00:47:25 HoMe hcid[21483]: Audio API: sending BT_STREAMSTART_RSP
Я начал уже думать, что это из-за того, что модуль обновился до версии 0.6
Вот раздичия между этими sco.c:
HoMe linux # diff /usr/src/linux-2.6.24-gentoo-r7/net/bluetooth/sco.c /usr/src/linux-2.6.28-gentoo-r1/net/bluetooth/sco.c
56c56,58
< #define VERSION "0.5"
---
> #define VERSION "0.6"
>
> static int disable_esco = 0;
61c63
< .lock = RW_LOCK_UNLOCKED
---
> .lock = __RW_LOCK_UNLOCKED(sco_sk_list.lock)
100,106d101
< static void sco_sock_init_timer(struct sock *sk)
< {
< init_timer(&sk->sk_timer);
< sk->sk_timer.function = sco_sock_timeout;
< sk->sk_timer.data = (unsigned long)sk;
< }
<
203c198,201
< type = lmp_esco_capable(hdev) ? ESCO_LINK : SCO_LINK;
---
> if (lmp_esco_capable(hdev) && !disable_esco)
> type = ESCO_LINK;
> else
> type = SCO_LINK;
205c203
< hcon = hci_connect(hdev, type, dst);
---
> hcon = hci_connect(hdev, type, dst, HCI_AT_NO_BONDING);
439c437
< sco_sock_init_timer(sk);
---
> setup_timer(&sk->sk_timer, sco_sock_timeout, (unsigned long)sk);
813c811
< sk = sco_sock_alloc(parent->sk_net, NULL, BTPROTO_SCO, GFP_ATOMIC);
---
> sk = sco_sock_alloc(sock_net(parent), NULL, BTPROTO_SCO, GFP_ATOMIC);
931c929
< .ioctl = sock_no_ioctl,
---
> .ioctl = bt_sock_ioctl,
1004c1002,1005
< MODULE_AUTHOR("Maxim Krasnyansky
---
> module_param(disable_esco, bool, 0644);
> MODULE_PARM_DESC(disable_esco, "Disable eSCO connection creation");
>
> MODULE_AUTHOR("Marcel Holtmann
Уже не знаю что и пробовать.... Перерыл уйму всяких сайтов, но ничего не помогает.
Подскажите что-нить....
- Для комментирования войдите или зарегистрируйтесь
Поставил ядро venilla
Поставил ядро venilla 2.6.29-rc5
Там проблема как и у всех:
hci_cmd_task: hci0 command tx timeout
Но гарнитура находится.
Вот лог попытки передать звук:
Feb 26 14:53:36 HoMe hcid[3360]: Audio API: received BT_GETCAPABILITIES_REQ
Feb 26 14:53:36 HoMe hcid[3360]: Audio API: sending BT_GETCAPABILITIES_RSP
Feb 26 14:53:36 HoMe hci_cmd_task: hci0 command tx timeout
Feb 26 14:53:36 HoMe hcid[3360]: Audio API: received BT_SETCONFIGURATION_REQ
Feb 26 14:53:36 HoMe hcid[3360]: config sco - device = 00:15:BE:2A:71:81 access_mode = 2
Feb 26 14:54:16 HoMe hcid[3360]: Unable to get service record: Connection timed out (110)
Feb 26 14:54:16 HoMe hcid[3360]: Audio API: sending BT_SETCONFIGURATION_RSP
Feb 26 14:54:16 HoMe hcid[3360]: Audio API: received BT_STREAMSTART_REQ
Feb 26 14:54:16 HoMe hcid[3360]: Audio API: sending BT_STREAMSTART_RSP
Feb 26 14:54:16 HoMe hcid[3360]: Audio API: sending BT_STREAMFD_IND
Feb 26 14:54:16 HoMe hcid[3360]: unix_sendmsg_fd: Bad file descriptor(9)
Feb 26 14:54:16 HoMe hcid[3360]: resume failed
Feb 26 14:54:16 HoMe hcid[3360]: Audio API: sending BT_STREAMSTART_RSP
Feb 26 14:54:16 HoMe hci_cmd_task: hci0 command tx timeout
Вот что пишет mplayer:
[AO_ALSA] Невозможно установить hw-параметры: Invalid argument
Не могу инициализировать аудио драйвер 'alsa:device=headset'
не могу открыть/инициализировать аудиоустройство -> БЕЗ ЗВУКА
В общем проблема остаётся.
Может во всём виновата АЛСА? Может попробовать её поставить внешним пакетом?
BT
все правильно, начиная с какой то версии, вспомнить бы.. , btsco был передан в blueZ.. а там такова навертели..
дак вот что хотел сказать - на 2,6,28 и 2,6,29 есть патчик
http://forums.gentoo.org/viewtopic-t-238510-postdays-0-postorder-asc-start-225.html
и даже помоему удалось натянуть на 30-е
а сичас только через PulseAudio
боюсь все намного серьезнее,
боюсь все намного серьезнее, ввиду отсутствия модуля snd_bt_sco, происходят все эти ошибки.
сейчас попробую откатить ядро на 2.6.27 и проверить.
Может разработчики решили что он не нужен, так-как на всех ноутах сейчас имеются микрофоны. И к стати, все функции приема/передачи по БТ голоса и звука скинули на dbus.
у меня получилось (после
у меня получилось (после некоторой возни с микрофоном): см. http://linuxforum.ru/index.php?showtopic=102413
ядро 2.6.30-gentoo-r8, gnome-2.26.3, net-wireless/bluez-4.39-r2, net-wireless/blueman-1.10 (вместо net-wireless/gnome-bluetooth) - думается, что все можно сделать просто редактированием /etc/bluetooth/audio.conf. также кажется, что ядро особой роли не играет (т.к bluetooth там давно не менялся)