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.
no subject
Date: 2017-02-27 12:38 am (UTC)no subject
Date: 2017-02-27 08:09 am (UTC)Problem
Date: 2017-06-13 04:09 pm (UTC)I really want to install it but i have a problem.
When i do the sudo make install -s it says the following:
Copy RTL8723BU fw/config to /lib/firmware
module btusb is not currently loaded
module rtk_btusb is not currently loaded
install rtk_btusb success!
the kernel is 4.9.24 and when i say lsusb it says device 004 id 7392:a611 edimax technology co. ltd.
can you please help me?
edit:
Okay now it seems to work!
Yesterday it didnt but i started again today after removing
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. :)
again problems while installing
Date: 2017-09-01 12:48 pm (UTC)I received my new raspberry 3 and I want to install the drivers but it doesn't work. Can you help me?
The error I receive is:
Copy RTL8723BU fw/config to /lib/firmware
rmmod: ERROR: Module btusb is not currently loaded
mv: cannot stat '/lib/modules/4.9.41-v7+/kernel/drivers/bluetooth/btusb.ko': No such file or directory
rmmod: ERROR: Module rtk_btusb is not currently loaded
depmod: ERROR: Bad version passed /lib/modules/4.9.41-v7+
Makefile:8: recipe for target 'install' failed
make: *** [install] Error 1
It looks like the same as last time but i cannot get it to work
Re: again problems while installing
Date: 2017-09-01 05:16 pm (UTC)Copy RTL8723BU fw/config to /lib/firmware
rmmod: ERROR: Module rtk_btusb is not currently loaded
depmod: ERROR: Bad version passed /lib/modules/4.9.41-v7+
Makefile:8: recipe for target 'install' failed
make: *** [install] Error 1
Copy RTL8723BU fw/config to /lib/firmware
rmmod: ERROR: Module btusb is not currently loaded
mv: cannot stat '/lib/modules/4.9.41-v7+/kernel/drivers/bluetooth/btusb.ko': No such file or directory
rmmod: ERROR: Module rtk_btusb is not currently loaded
depmod: ERROR: Bad version passed /lib/modules/4.9.41-v7+
Makefile:8: recipe for target 'install' failed
make: *** [install] Error 1
I hope you can help me
Re: again problems while installing
Date: 2017-09-02 10:16 am (UTC)Does the directory "/lib/modules/4.9.41-v7+" actually exist? If not, what directories actually exist in "/lib/modules"?
I suspect that it is trying to copy files into a directory that doesn't exist (due to a version number issue), and so the copy/move fails.
Re: again problems while installing
Date: 2017-09-02 12:07 pm (UTC)I am using the raspberry pi 3 lite compute module on the official raspberry IO board. It has only one usb port so I use a usb hub to connect all my devices.
The following kernel when entered uname -r:
4.9.41-v7+
The following directories exist in /lib/modules/:
4.9.41+ 4.9.41-v7+
I checked also in the folder /lib/modules/4.9.41+/kernel/drivers/bluetooth
and there btusb.ko exists.
In /lib/modules/4.9.41-v7+/kernel/drivers/bluetooth
btusb.ko does not exist as the error message of the driver also tells me
If you need more information please tell me
Re: again problems while installing
Date: 2017-09-03 08:57 am (UTC)Since the directory is there & the kernel version does match, the errors about files not being there (because they were renamed in the first install attempt) don't matter.
Is there a file named "rtk_btusb.ko" in the /lib/modules/4.9.41-v7+/kernel/drivers/bluetooth directory? If so, it means that the driver was correctly compiled, copied to the driver directory, and the next error to double-check is the depmod one: "depmod: ERROR: Bad version passed /lib/modules/4.9.41-v7+".
Google is saying that depmod builds a list of dependencies between kernel modules so that when you load a module it knows what else needs to be loaded (if I understood what I read correctly).
In the directory that you are typing "sudo make -s install" from, there is a file named "Makefile". At line 15 there is a command:
inside the install section. According to https://www.computerhope.com/unix/depmod.htm there are a few options to try.
and then run "sudo make install" (no -s). I expect this to still fail, but it should tell us more about why it is failing.
(with no ${MDL_DIR} at the end). This might allow the install to complete properly, but if not make sure that you use the "sudo make install" without the -s so that we get the error details being reported in full.
If number 2 doesn't work (install still failed), post back the error messages so that we've got more details to work from with troubleshooting the issue.
Re: again problems while installing
Date: 2017-09-03 12:28 pm (UTC)Thanks a lot for your time and help!
Re: again problems while installing
Date: 2017-09-03 01:35 pm (UTC)