web-dev-qa-db-ja.com

HP Mini Stream Bluetoothが機能しない

HP Stream Miniデスクトップで(K)Ubuntu 14.04 LTSを使用します。 HTPCとして使用されており、アフターマーケットのBluetoothキーボードを動作させたいのですが。私は有線ネットワークに接続しているので、認識されて動作しているように見えますが、wifiについては気にしません。

$uname -a
Linux media 3.13.0-49-generic #83-Ubuntu SMP Fri Apr 10 20:11:33 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

カスタムBroadcom BCM43142A0 wifi/Bluetoothカードがあります:

$lsusb
Bus 001 Device 002: ID 8087:8000 Intel Corp. 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 005: ID 357d:7788  
Bus 003 Device 004: ID 174c:55aa ASMedia Technology Inc. ASMedia 2105 SATA bridge
Bus 003 Device 003: ID 0bc2:3312 Seagate RSS LLC 
Bus 003 Device 002: ID 8564:4000  
Bus 003 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 002 Device 004: ID 0a5c:216d Broadcom Corp. 
Bus 002 Device 007: ID 07ab:fcfe Freecom Technologies Hard Drive 80GB
Bus 002 Device 003: ID 8564:4000  
Bus 002 Device 006: ID 093a:2510 Pixart Imaging, Inc. Optical Mouse
Bus 002 Device 005: ID 04ca:004b Lite-On Technology Corp. 
Bus 002 Device 002: ID 05e3:0608 Genesys Logic, Inc. USB-2.0 4-Port HUB
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

$lspci -nnk | grep -iA2 net
02:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 0c)
    Subsystem: Hewlett-Packard Company Device [103c:2b38]

使用中のカーネルドライバー:r8169

04:00.0 Network controller [0280]: Broadcom Corporation BCM43142 802.11b/g/n [14e4:4365] (rev 01)
    Subsystem: Hewlett-Packard Company Device [103c:804a]
    Kernel driver in use: wl

$usb-devices

T:  Bus=02 Lev=01 Prnt=01 Port=06 Cnt=03 Dev#=  4 Spd=12  MxCh= 0
D:  Ver= 2.00 Cls=ff(vend.) Sub=01 Prot=01 MxPS=64 #Cfgs=  1
P:  Vendor=0a5c ProdID=216d Rev=01.12
S:  Manufacturer=Broadcom Corp
S:  Product=BCM43142A0
S:  SerialNumber=2C337AEDD7F8
C:  #Ifs= 4 Cfg#= 1 Atr=e0 MxPwr=0mA
I:  If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=01 Prot=01 Driver=btusb
I:  If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=01 Prot=01 Driver=btusb
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)

デバイスIDは他のBCM Windowsファームウェア/ドライバーバンドルではサポートされていないため、HPカスタムパーツのように見えるUSBデバイスIDを探しました。私が見つけた:

http://forum.linuxmint.com/viewtopic.php?f=49&t=183217&p=949868

...これは http://wielki.tk/vostro/debs/bt-bcm43142-onereic_0.0+20111116somerville2_AMD64.deb へのリンクを提供します(そのリンクのUSBデバイスIDに注意してください)同じです-216D)。私は試しました(そのMintリンクから):

dpkg-deb -x bt-bcm43142-onereic_0.0+20111116somerville2_AMD64.deb bt-bcm43142

Sudo cp bt-bcm43142/lib/firmware/BCM43142A0_001.001.011.0028.0036.hcd /lib/firmware/fw-105b_e065.hcd

Sudo rmmod btusb

Sudo modprobe btusb

ただし、dmesgは引き続き以下を示します。

[ 1170.856683] usbcore: deregistering interface driver btusb
[ 1170.856766] Bluetooth: hci0 urb ffff88020f9de540 failed to resubmit (2)
[ 1177.432179] usbcore: registered new interface driver btusb
[ 1177.432184] usb 2-7: Direct firmware load failed with error -2
[ 1177.432189] usb 2-7: Falling back to user helper
[ 1177.444258] Bluetooth: can't load firmware, may not work correctly
[ 1179.449809] Bluetooth: hci0 command 0x1003 tx timeout

それで、そのファイルを/lib/firmware/fw-0a5c_216d.fcdにコピー(つまり、USBメーカー/デバイスIDに応じて名前を変更)し、/ lib/firmware/brcm/BCM43142A0-0a5c-216d.hcd(同様に)/lib/firmware/brcmのfw-0a5c_216d.fcdおよびfw-105b_e065.hcdとして)。 dmesgでまったく同じ問題が発生しても、まだ喜びはありません。

これが正しいファームウェアであると仮定すると、それは確かだと思いますが、どうすればbtusbモジュールにそのファームウェアファイルを認識させることができますか?

Linuxミントリンクは、/ etc/modprobe.d/bcm43142.confの編集を提案していますが、システムにそのファイルがありませんか?

ls /etc/modprobe.d/
alsa-base.conf          blacklist-firewire.conf     blacklistrare-network.conf  iwlwifi.conf
blacklist-ath_pci.conf  blacklist-framebuffer.conf  blacklist-watchdog.conf      mlx4.conf
blacklist-bcm43.conf    blacklist-modem.conf        dkms.conf                    vmwgfx-fbdev.conf
blacklist.conf          blacklist-oss.conf          fbdev-blacklist.conf

助けてくれてありがとう。

2
d7029

この投稿のDropboxリンクは機能しなくなりましたが、歴史的な理由からこの回答は現状のままです。

正しいファームウェアではありません

wget https://www.dropbox.com/s/olqnqevf698lddo/fw-0a5c_216d.hcd
Sudo cp fw-0a5c_216d.hcd /lib/firmware/
Sudo cp fw-0a5c_216d.hcd /lib/firmware/brcm/BCM43142A0-0a5c_216d.hcd
Sudo modprobe -r btusb
Sudo modprobe btusb

そして、それは動作するはずです

2
Jeremy31