Edimax EW-7611ULB on Raspberry Pi with Kernel 4.9
Sunday, February 26th, 2017 03:12 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
This is a quick post to record the changes I needed to make to the Bluetooth driver for an Edimax EW-7611ULB wifi & bluetooth usb dongle to get the bluetooth working on the (currently) new Raspberry Pi 4.9.11 kernel. Hopefully it can help anyone else using this adapter when they upgrade their Raspberry Pi.
The original instructions and source for installing the drivers for this adapter are published by Edimax themselves at: https://edimax.freshdesk.com/support/solutions/articles/14000047172-how-to-install-ew-7611ulb-adapter-on-raspberry-pi - but they currently cover installing the drivers for a Raspberry Pi running kernel 4.4. The wifi driver installation documented by Edimax works fine. There is one minor modification to the bluetooth driver source code required so that it will compile properly due to kernel api changes in kernel version 4.9 for the HCI driver interface.
In Section "(II.) Bluetooth Driver Installation", before running "sudo make install -s
", you need to edit the file bluetooth_usb_driver/rtk_coex.c. At line 448, change
#if HCI_VERSION_CODE >= KERNEL_VERSION(3, 10, 0)
#if HCI_VERSION_CODE < KERNEL_VERSION(4, 4, 0)
bt_cb(skb)->req.start = true;
#else
bt_cb(skb)->hci.req_start = true;
#endif
#endif
to:
#if HCI_VERSION_CODE >= KERNEL_VERSION(3, 10, 0)
#if HCI_VERSION_CODE < KERNEL_VERSION(4, 4, 0)
bt_cb(skb)->req.start = true;
#elif HCI_VERSION_CODE >= KERNEL_VERSION(4,9,0)
bt_cb(skb)->hci.req_flags |= HCI_REQ_START;
#else
bt_cb(skb)->hci.req_start = true;
#endif
#endif
Save the change, and then continue with the instructions by running the "sudo make install -s
" command.
Otherwise, follow the instructions on the Edimax link to get both wifi and bluetooth working properly with this adapter on the Raspberry Pi.
Re: Problem
Date: 2017-06-14 07:44 am (UTC)"install rtk_btusb success!"
The particular messages that you've listed simply mean that the system is not currently running/have installed the bluetooth drivers that you are about to replace/install. They are not "failure" messages in that if they are shown it does not mean that the new Edimax bluetooth driver is unable to be installed. It simply means that the new driver is not replacing an existing/already in use driver.
If you are not getting to the final message above, can you please post the full set of messages you see when you type "sudo make install -s"? It's highly likely that any "real" issue with the install is actually somewhat higher up in the output messages (i.e. during the "make" part rather than during the "install" part).
Edit: I think your update came in while I was replying. What I think happened is that it probably did work yesterday, you just didn't have the device drivers already in use. Having installed it the first time, the next time you tried it would have been able to replace the drivers you had actually installed the first time. Very glad to hear it is working for you. :)