Problem with Edimax wifi dongle on Pi

I can download my Balena image to a Raspberry Pi ZeroW, and it connects fine.

When I use a Pi Zero (without the built-in wifi), if I use an Edimax (Realtek) wifi dongle it doesn’t connect, or even light up, and (going in through the console) it doesn’t seem to be finding the rtl8192cu driver for it.

It’s seeing the device, but not finding the driver:

[    2.705093] usb 1-1: New USB device found, idVendor=7392, idProduct=7811                                    
[    2.713584] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3      
[    2.722297] usb 1-1: Product: 802.11n WLAN Adapter                                                          
[    2.728656] usb 1-1: Manufacturer: Realtek                                                                  
[    2.734286] usb 1-1: SerialNumber: 00e04c000001              

I would expect to see: ’ usbcore: registered new interface driver rtl8192cu’ after this.

If I use the Official Raspberry Pi (Broadcom) wifi dongle, that works fine:

/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=dwc_otg/1p, 480M
    |__ Port 1: Dev 2, If 0, Class=Vendor Specific Class, Driver=brcmfmac, 480M

I see there’s an ‘rtl8xxxu.ko’ driver in /lib/modules/4.14.98/kernel/drivers/net/wireless/realtek/rtl8xxxu
is that not quite the right one, maybe?
That’s exhausted my knowledge on device drivers.

What can I do to get it to see my Edimax WiFi dongle, please?

Hi,

This is a list of supported wifi dongles: https://www.balena.io/docs/reference/hardware/wifi-dongles/.

The official RPi dongle is on the supported list.

If you want additional supported dongles you should clone the https://github.com/balena-os/balena-raspberrypi repo, activate the driver and build the image.

Regards!

Hi,
thanks for the response.
I see it mentions:
Generally speaking, WiFi devices listed over at the elinux rpi wifi page or devices which use one of the linux-firmware-ath9k, linux-firmware-ralink and linux-firmware-rtl8192cu firmwares should work correctly.
The rtl8192cu is what the Edimax device uses (as well as the Adafruit dongle mentioned in that list also), so I’m surprised it’s not finding it.

When you say “activate the driver” do you mean in /etc/modules.d/modules.conf ? (just checking!)

Hi,

The rtl8xxxu.ko seems to be the module you need, but it’s not contained in our OS.

When I said to activate the driver I meant to activate the kernel config specific for that driver.

I think it’s CONFIG_RTL8XXXU and you would need to add it like this:

Regards!

Thanks -
there does seem to be an ‘rtl8xxxu.ko’ driver in /lib/modules/4.14.98/kernel/drivers/net/wireless/realtek/rtl8xxxu

in your current Pi 0/1 base OS.

I’ll have a look at a custom build, but it would be great if it was supported out of the box, of course :slight_smile:

Hi,
There is also the kernel-module-build (https://github.com/balena-io-projects/kernel-module-build), which could be one of your services, that builds this module as a driver and loads it. Maybe this is more convenient to try first, but I’m not a kernel expert, so I might be missing some knowledge and difference to the suggestion to make a custom OS build.

Ah I just realized, that won’t help you, because the device would already need the application in order to get the network device up and running. So you might have to preload the application in that case as well.

Thanks - we’ll have a look at the kernel-module-build.
Yes, a bit of a catch-22 there, isn’t it :confused:.

Anyway, in general PiZeroW and Pi3 are the way to go, with their built-in WiFi, but it would be good to work out a way to support older boards with these dongles in them.

Yeah, let us know if any of the options works for you or if you run into other problems.