Bluetooth, не найденный на BCM43228

У меня есть карта Broadcom BCM43228 mPCIe, которая шла с моей материнской платой (ASUS ROG Maximus V Экстремальных значений, может казаться, не находит ссылку на то, что карта), который работает отлично для WiFi прямо сейчас, но я не могу обнаружить аппаратные средства Bluetooth на борту. В Windows у меня есть полная поддержка Bluetooth 4.0.

$ lspci 
00:00.0 Host bridge: Intel Corporation 2nd Generation Core Processor Family DRAM Controller (rev 09)
00:01.0 PCI bridge: Intel Corporation Xeon E3-1200/2nd Generation Core Processor Family PCI Express Root Port (rev 09)
00:14.0 USB controller: Intel Corporation Panther Point USB xHCI Host Controller (rev 04)
00:16.0 Communication controller: Intel Corporation Panther Point MEI Controller #1 (rev 04)
00:19.0 Ethernet controller: Intel Corporation 82579V Gigabit Network Connection (rev 04)
00:1a.0 USB controller: Intel Corporation Panther Point USB Enhanced Host Controller #2 (rev 04)
00:1b.0 Audio device: Intel Corporation Panther Point High Definition Audio Controller (rev 04)
00:1c.0 PCI bridge: Intel Corporation Panther Point PCI Express Root Port 1 (rev c4)
00:1c.4 PCI bridge: Intel Corporation Panther Point PCI Express Root Port 5 (rev c4)
00:1c.6 PCI bridge: Intel Corporation Panther Point PCI Express Root Port 7 (rev c4)
00:1c.7 PCI bridge: Intel Corporation Panther Point PCI Express Root Port 8 (rev c4)
00:1d.0 USB controller: Intel Corporation Panther Point USB Enhanced Host Controller #1 (rev 04)
00:1f.0 ISA bridge: Intel Corporation Panther Point LPC Controller (rev 04)
00:1f.2 SATA controller: Intel Corporation Panther Point 6 port SATA Controller [AHCI mode] (rev 04)
00:1f.3 SMBus: Intel Corporation Panther Point SMBus Controller (rev 04)
01:00.0 VGA compatible controller: NVIDIA Corporation Device 1189 (rev a1)
01:00.1 Audio device: NVIDIA Corporation Device 0e0a (rev a1)
0d:00.0 USB controller: ASMedia Technology Inc. ASM1042 SuperSpeed USB Host Controller
0e:00.0 PCI bridge: PLX Technology, Inc. PEX 8608 8-lane, 8-Port PCI Express Gen 2 (5.0 GT/s) Switch (rev ba)
0f:01.0 PCI bridge: PLX Technology, Inc. PEX 8608 8-lane, 8-Port PCI Express Gen 2 (5.0 GT/s) Switch (rev ba)
0f:04.0 PCI bridge: PLX Technology, Inc. PEX 8608 8-lane, 8-Port PCI Express Gen 2 (5.0 GT/s) Switch (rev ba)
0f:05.0 PCI bridge: PLX Technology, Inc. PEX 8608 8-lane, 8-Port PCI Express Gen 2 (5.0 GT/s) Switch (rev ba)
0f:06.0 PCI bridge: PLX Technology, Inc. PEX 8608 8-lane, 8-Port PCI Express Gen 2 (5.0 GT/s) Switch (rev ba)
0f:07.0 PCI bridge: PLX Technology, Inc. PEX 8608 8-lane, 8-Port PCI Express Gen 2 (5.0 GT/s) Switch (rev ba)
0f:08.0 PCI bridge: PLX Technology, Inc. PEX 8608 8-lane, 8-Port PCI Express Gen 2 (5.0 GT/s) Switch (rev ba)
0f:09.0 PCI bridge: PLX Technology, Inc. PEX 8608 8-lane, 8-Port PCI Express Gen 2 (5.0 GT/s) Switch (rev ba)
10:00.0 USB controller: ASMedia Technology Inc. ASM1042 SuperSpeed USB Host Controller
12:00.0 SATA controller: ASMedia Technology Inc. ASM1062 Serial ATA Controller (rev 01)
15:00.0 Network controller: Broadcom Corporation BCM43228 802.11a/b/g/n
17:00.0 SATA controller: ASMedia Technology Inc. ASM1062 Serial ATA Controller (rev 01)

Ключевая строка, кажется:

15:00.0 Network controller: Broadcom Corporation BCM43228 802.11a/b/g/n

Если я пытаюсь обнаружить карту Bluetooth, я ничего не вижу:

$ hcitool dev
Devices:

$ rfkill list all

Вывод

$ lspci 

Вывод

$ lsusb

Вывод

Я наконец нашел карту с usb-devices:

T:  Bus=01 Lev=02 Prnt=02 Port=00 Cnt=01 Dev#=  3 Spd=12  MxCh= 0
D:  Ver= 2.00 Cls=ff(vend.) Sub=01 Prot=01 MxPS=64 #Cfgs=  1
P:  Vendor=0b05 ProdID=17b5 Rev=01.12
S:  Manufacturer=Broadcom Corp
S:  Product=BCM20702A0
S:  SerialNumber=############
C:  #Ifs= 4 Cfg#= 1 Atr=e0 MxPwr=0mA
I:  If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=01 Prot=01 Driver=(none)
I:  If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=01 Prot=01 Driver=(none)
I:  If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
I:  If#= 3 Alt= 0 #EPs= 0 Cls=fe(app. ) Sub=01 Prot=01 Driver=(none)

Я выполняю ядро 3.2.0-34-generic.

Я услышал, что этой карте нужно было ввести встроенное микропрограммное обеспечение в него для функционирования. Если это так, как я делаю это?

4
задан 6 December 2012 в 21:58

3 ответа

Я имею ту же проблему с BCM20702A0 на моем Acer Aspire R7 и просто нашел другое постоянное решение (не перекомпилировав драйвер на обновлениях):

sudo echo btusb >> /etc/modules - это вызовет загрузку btusb драйвер;

добавьте строку echo 0b05 17b5 > /sys/bus/usb/drivers/btusb/new_id к /etc/rc.local незадолго до exit 0 - это вынудит драйвер использоваться с указанным устройством на начальной загрузке (который является 04ca 2004 в моей системе, и также работает).

1
ответ дан 6 December 2012 в 21:58

См. WifiDocs / Driver / bcm43xx в вики Ubuntu для получения информации о том, как установить правильные драйверы для вашего чипсета.

0
ответ дан 6 December 2012 в 21:58

исправление вашего ядра

Согласно этой записи ваш конкретный модуль bluetooth не распознается текущим точным ядром.

Ваша команда usb-devices показывает конкретное устройство Bluetooth - значения поставщика и ProdID - 0b05:17b5

Патч был отправлен в основной репозиторий Git. Вполне вероятно (но не обязательно), что этот патч будет включен в следующее ядро ​​- v3.8. Тем не менее, это может быть более поздний модуль, если он пойдет через стадию .

Таким образом, на данный момент, чтобы получить распознавание вашего устройства Bluetooth, вы должны подать отчет об ошибке на панели запуска, спрашивая, можно ли сделать бэкпорт этого патча - предоставить как можно больше подробностей патчу и, если возможно, отправить его. патч.

Если вы хотите исправить это самостоятельно, вот несколько заметок, которым вы можете следовать.

исправление вашего ядра

  • скачать среду сборки, исходный код ядра & amp; заголовки
sudo apt-get install build-essential 
apt-get source linux-source-3.2.0
sudo apt-get install linux-headers-$(uname -r)

, т.е. НЕ ИСПОЛЬЗУЙТЕ sudo apt-get source linux-source-3.2.0, так как это загрузит исходный код как root - это вызовет проблемы компиляции позже, если вы загрузите как root.

  • скопировать текущую конфигурацию ядра и исходные файлы модуля. Версии модуля
cd linux-3.2.0
cp /boot/config-$(uname -r) .config
cp /usr/src/linux-headers-$(uname -r)/Module.symvers . 
  • патч для модуля Bluetooth

Линукс выше указывал патч должен быть применен к btusb.c

Используя ваш любимый редактор, откройте этот модуль ядра

gedit drivers/bluetooth/btusb.c

Search & amp; найдите строку, содержащую текст BCM20702A0

Это будет выглядеть следующим образом:

/* Broadcom BCM20702A0 */
{ USB_DEVICE(0x0489, 0xe042) },
{ USB_DEVICE(0x13d3, 0x3388), .driver_info = BTUSB_BCM_PATCHRAM },
{ USB_DEVICE(0x13d3, 0x3389), .driver_info = BTUSB_BCM_PATCHRAM },
{ USB_DEVICE(0x413c, 0x8197), .driver_info = BTUSB_BCM_PATCHRAM },

Добавьте следующее ваше новое устройство Bluetooth - это ваш поставщик и ProdID { USB_DEVICE(0x0b05, 0x17b5) },, т.е.

/* Broadcom BCM20702A0 */
{ USB_DEVICE(0x0b05, 0x17b5) },
{ USB_DEVICE(0x0489, 0xe042) },
{ USB_DEVICE(0x13d3, 0x3388), .driver_info = BTUSB_BCM_PATCHRAM },
{ USB_DEVICE(0x13d3, 0x3389), .driver_info = BTUSB_BCM_PATCHRAM },
{ USB_DEVICE(0x413c, 0x8197), .driver_info = BTUSB_BCM_PATCHRAM },
  • Теперь скомпилируйте
make M=drivers/bluetooth modules
  • Это должно успешно скомпилировать модули ядра, включая ваш недавно пропатченный файл.

  • Наконец добавьте модуль ядра в вашу текущую папку драйверов:

cd drivers/bluetooth
sudo cp btusb.ko /lib/modules/$(uname -r)/kernel/drivers/bluetooth
sudo service bluetooth stop
sudo modprobe -r btusb
sudo modprobe btusb
sudo service bluetooth start

Надеюсь, теперь ваше устройство Bluetooth распознается - оно должно быть видно при запуске rfkill list all ] а также lsusb

и наконец ...

Каждый раз, когда ваше ядро ​​обновляется с помощью Canonical, вам нужно будет повторять процедуру, описанную выше, потому что ваш новый модуль Bluetooth будет перезаписан - если вам повезет, вы сможете использовать команды sudo modprobe с небольшим ядром. обновления.

0
ответ дан 6 December 2012 в 21:58

Другие вопросы по тегам:

Похожие вопросы: