LINUX.ORG.RU

Bluetooth ISS. Не работает.


0

1

Здравствуйте.

Имеется устройство

#lsusb
Bus 006 Device 002: ID 1131:1004 Integrated System Solution Corp. Bluetooth Device

После подключения, появляется запись в системном журнале

#dmesg
usb 6-3: new full-speed USB device number 2 using ohci_hcd
Bluetooth: hci0 command tx timeout

Конфиг ядра

  ┌───────────────── Bluetooth subsystem support ─────────────────┐
  │ ┌───────────────────────────────────────────────────────────┐ │  
  │ │    --- Bluetooth subsystem support                        │ │  
  │ │    [*]   L2CAP protocol support                           │ │  
  │ │    [*]   SCO links support                                │ │  
  │ │    <*>   RFCOMM protocol support                          │ │  
  │ │    [*]     RFCOMM TTY support                             │ │  
  │ │    <*>   BNEP protocol support                            │ │  
  │ │    [ ]     Multicast filter support                       │ │  
  │ │    [ ]     Protocol filter support                        │ │  
  │ │    <*>   HIDP protocol support                            │ │  
  │ │          Bluetooth device drivers  --->                   │ │  
  │ └───────────────────────────────────────────────────────────┘ │  
  └───────────────────────────────────────────────────────────────┘  
  ┌────────────────── Bluetooth device drivers ───────────────────┐
  │ ┌───────────────────────────────────────────────────────────┐ │  
  │ │    <*> HCI USB driver                                     │ │  
  │ │    <M> HCI UART driver                                    │ │  
  │ │    [ ]   UART (H4) protocol support                       │ │  
  │ │    [ ]   BCSP protocol support                            │ │  
  │ │    [ ]   Atheros AR300x serial support                    │ │  
  │ │    [ ]   HCILL protocol support                           │ │  
  │ │    <M> HCI BCM203x USB driver                             │ │  
  │ │    <M> HCI BPA10x USB driver                              │ │  
  │ │    <M> HCI BlueFRITZ! USB driver                          │ │  
  │ │    < > HCI VHCI (Virtual HCI device) driver               │ │  
  │ │    <M> Marvell Bluetooth driver support                   │ │  
  │ │    < > Atheros firmware download driver                   │ │  
  │ └───────────────────────────────────────────────────────────┘ │  
  └───────────────────────────────────────────────────────────────┘  
вывод hciconfig
# hciconfig 
hci0:	Type: BR/EDR  Bus: USB
	BD Address: 00:11:67:C2:D6:57  ACL MTU: 1021:4  SCO MTU: 48:10
	DOWN 
	RX bytes:908 acl:0 sco:0 events:32 errors:0
	TX bytes:146 acl:0 sco:0 commands:34 errors:0

# hciconfig hci0 up
Can't init device hci0: Connection timed out (110)
Среда
# uname -a
Linux localhost 3.2.1-gentoo-r2 #1 SMP Sat Feb 4 20:52:10 FET 2012 x86_64 AMD Athlon(tm) II X4 645 Processor AuthenticAMD GNU/Linux

Также установлен bluez-4.98-r1

Конфиги никакие не трогал. Когда-то этим же девайсом пользовался на убунте - значит устройство в принципе поддерживается линукс.

Есть подозрение что не срабатывает переключение hid/hci, но не знаю как это проверить.

Помогите пожалуйста советом, как завести Bluetooth.

Deleted

Два варианта - либо собрал ядро без нужного драйвера, либо нужно в него залить фирменную прошивку.

И да, hcitool dev видит устройство?

eagleivg ★★★★★
()

Bluetooth: hci0 command tx timeout

Мой bluetooth-свисток тоже не работает с такой ошибкой (раньше работал). Нагуглил, что сломали в последних ядрах и собираются чинить.

AITap ★★★★★
()
Ответ на: комментарий от eagleivg

Не видит

eagleivg

Два варианта - либо собрал ядро без нужного драйвера, либо нужно в него залить фирменную прошивку.

И да, hcitool dev видит устройство?

Не видит. Подробнее пожалуйста про прошивку.

# hcitool dev
Devices:

Deleted
()
Ответ на: Не видит от Deleted

В некоторые девайсы нужно грузить бинарный блоб от производителя. Вон, в твоем конфиге есть такой для атероса: < > Atheros firmware download driver

Ковыряй конфиги, плюс, можно в убунте подсмотреть, какой ядерный модуль используется, может в этом дело.

eagleivg ★★★★★
()
Ответ на: комментарий от AITap

Ты прав

Спасибо.

Вот решение (оригинал):

Достаточно пропатчить ядро вот этим патчем:

diff --git a/net/bluetooth/hci_core.c b/net/bluetooth/hci_core.c
index 56943ad..c7f794e 100644
--- a/net/bluetooth/hci_core.c
+++ b/net/bluetooth/hci_core.c
@@ -540,7 +540,7 @@ int hci_dev_open(__u16 dev)
		ret = __hci_request(hdev, hci_init_req, 0,
					msecs_to_jiffies(HCI_INIT_TIMEOUT));

-		if (lmp_host_le_capable(hdev))
+		if (lmp_le_capable(hdev))
			ret = __hci_request(hdev, hci_le_init_req, 0,
			msecs_to_jiffies(HCI_INIT_TIMEOUT));
Актуально для ядер третих версий. Хотя и для вторых вполне должен подойти.

Согласно оригиналу, должны официально пофиксить в 3.3 ядре.

Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.