BCM94352HMB Bluetooth BCM20702A0 driver in Ubuntu 14.04, bcm20702a0 driver download
Author: Qiu Yi
Source: http://www.cnblogs.com/qiuyi21/p/bcm20702a0_ubuntu.html
First, check the Bluetooth manufacturer ID (idVendor) and product ID (idProduct). in Linux, run the lsusb or usb-devices command to view the information. In Windows, view the information in device management, as shown in. My bluetooth idVendor is0x13d3, IdProduct isZero x 3404.
Most of Broadcom's bluetooth devices require a developer's firmware patch (RAM patch file), which is firmware in Linux and BCM20702A0 is no exception. In the Windows driver installation package provided by the computer vendor, you can find files such as "BCM20702A1_001.002.014.1443.1479.hex", which is the firmware memory patch. The file contains hexadecimal text, which can be opened.
How can I find the firmware memory patch file of my Bluetooth device?
Method 1: Find the driver information file (. inf) in the Windows Driver Installation Package, such as my "bcbtums-win8x64-brcm.inf ". Find "USB \ VID_13D3 & PID_3404" (the manufacturer ID and product ID are based on their own) and find information similar to the following:
% AzBtModule. DeviceDesc % = RAMUSB3404, USB \ VID_13D3 & PID_3404
Then, search for "[RAMUSB3404" and find information similar to the following:
[RAMUSB3404.CopyList]
Bcbtums. sys
Btwampfl. sys
BCM20702A1_001.002.014.1443.1479.hex
See the file name of ". hex.
Method 2: view it in the Device Manager of Windows, as shown in.
Save the ". hex" file and use it later. Restart the Ubuntu 14.04 operating system ......
The operations in Ubuntu are mainly commands.
Step 1: Modify the kernel. Use kernel 3.13 as an example.
Cd ~
Mkdir kernel
Cd kernel
Apt-get build-dep linux-image-'uname-R'
Apt-get source linux-image-'uname-R'
Cd linux-3.13.0/drivers/bluetooth/
Edit the code file btusb. c, find the device code of BCM20702A0
/* Broadcom BCM20702A0 */
{USB_DEVICE (0x0b05, 0x17b5 )},
{USB_DEVICE (0x0b05, 0x17cb )},
{USB_DEVICE (0x04ca, 0x2003 )},
{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 },
{USB_DEVICE (0x413c, 0x8143),. driver_info = BTUSB_BCM_PATCHRAM },
Change
/* Broadcom BCM20702A0 */
{USB_DEVICE (0x13d3, 0x3404),. driver_info = BTUSB_BCM_PATCHRAM },
{USB_DEVICE (0x0b05, 0x17b5 )},
{USB_DEVICE (0x0b05, 0x17cb )},
{USB_DEVICE (0x04ca, 0x2003 )},
{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 },
{USB_DEVICE (0x413c, 0x8143),. driver_info = BTUSB_BCM_PATCHRAM },
Save the changes, compile the btusb module, and execute:
Make-C/lib/modules/'uname-R'/build M = 'pwd' modules
The btusb. ko file will be compiled normally. Update to your operating system kernel:
Mv/lib/modules/'uname-R'/kernel/drivers/bluetooth/btusb. ko/
Cp btusb. ko/lib/modules/'uname-R'/kernel/drivers/bluetooth/
Depmod
Step 2: generate the firmware of the bluetooth device (firmware ).
Git clone https://github.com/jessesung/hex2hcd.git
Cd hex2hcd
Make
./Hex2hcd BCM20702A1_001.002.014.1443.1479.hexFw-13d3_3404.hcd
Note that the generated file name must be in the format of "fw-<4-digit manufacturer number in hexadecimal format> _ <4-digit product number in hexadecimal format>. hcd", in lower case.
Copy the firmware file to the specified directory:
Cp fw-13d3_3404.hcd/lib/firmware/
Chown root: root/lib/firmware/fw-13d3_3404.hcd
OK. You can run "rmmod btusb; modprobe btusb" or restart the operating system to see if the Bluetooth driver is normal. If it is normal, execute the command "rfkill list" to see hci0, and then execute "hciconfig hci0 up" to enable Bluetooth and "hcitool dev" to see the bluetooth device, "hcitool scan" can scan the surrounding Bluetooth signal. If not, run dmesg to view logs for troubleshooting.
Note: Because the kernel module is modified, upgrading the kernel of the operating system will invalidate the Bluetooth driver. You need to re-compile and install the btusb module under the new kernel.