I’m trying to make a custom Raspnberry Pi B+ nerves system with support for USB wifi adapter. I have a TP-Link TL-WN725N v2 which uses the Realtek RTL8188EUS chipset.
I expected the wifi adapter to be supported out of the box with the correct configuration but I have not had any luck making it work yet. I have tried adding more support in the kernel to have support for wireless USB adapter, but so far it has not worked.
I can see the interface in ifconfig, but wpa_supplicant does not work.
It errors logs out these messages before stopping:
15:29:15.965 [debug] wpa_supplicant: Successfully initialized wpa_supplicant
15:29:15.975 [debug] wpa_supplicant: nl80211: Driver does not support authentication/association or connect commands
15:29:15.979 [debug] wpa_supplicant: nl80211: deinit ifname=wlan0 disabled_11b_rates=0
15:29:15.980 [debug] wpa_supplicant: wlan0: Unsupported driver 'wext'
15:29:15.983 [debug] wpa_supplicant: wlan0: CTRL-EVENT-DSCP-POLICY clear_all
15:29:15.996 [error] wpa_supplicant: Process exited with status 255
I’m not sure if I need some add some drivers in addition to the kernel configuration or something else.
There are several repositories with driver source code for the chipset, but I don’t know how I would make that a part of the nerves system build. If that even is the fix for the problem I’m having.
Any help regarding this would be very much appreciated.
There are a few things it could be here since these chipsets could vary quite a bit. The checklist I usually go through is:
Is driver enabled? (via make Linux-menuconfig)
Is the WiFi firmware included? (via make menuconfig)
Run dmesg on device with the USB adapter connected
does the USB adapter show up?
if yes, note the vendor and product ID. Check for that combination in the Linux kernel, usually in the drivers/net/wireless/realtek/rtlwifi/<driver_name>/sw.c file. If the vendor/product combo isn’t here, you may have to patch the file for the usb device to be correctly detected
See if dmesg or kernel logs on startup have any other hints at what driver/firmware might be attempted. Chances are the USB dongle is not using the chip you think it is and finding the vendor/product combo in #3 will help direct which driver and firmware is actually needed
I’m pretty sure chipset is R8188EU and dmesg is saying R8188EU: Firmware Version 11, SubVersion 1, Signature 0x88e1.
It seems like I had not added all the required things in make menuconfig. Ex. BR2_PACKAGE_RTL8188EU
the “rtl8188eu” driver is for Linux Kernels before 5.15 and must use “r8188eu” driver on kernal 5.15 and above. Unfortunately, quite often the wrong driver is packaged with the devices the OEM of the usb wifi provides for linux systems.
I never got this to work so the fix was getting another adapter. The Edimax Wireless 802.11n USB nano adapter (EW-7811Un) uses RTL8188CUS and seems to work.