Realtek wifi dongo not working based on RTL8188 chipset

We are running Linux Kernel 4.4 on the Colibri Vf50 board.
We are using the Realtek wifi dongo with RTL8188CUS chipset in AP mode.
In the linux kernel configuration, I set the following:

CONFIG_WLAN=y
CONFIG_RTL8XXU=m
CONFIG_RTLWIFI=y
CONFIG_RTL8192CU=y

When the linux boot up, I got the following errror messages:

 rtl8xxxu: Loading firmware rtlwifi/rtl8192cufw_TMSC.bin
  usb 2-1: Direct firmware load for rtlwifi/rtl8192cufw_TMSC.bin failed with error -2
  usb 2-1: request_firmware(rtlwifi/rtl8192cufw_TMSC.bin) failed

I checked my path: /lib/firmware/rtlwifi/ , there is no files there.

when I tried to start the hostapd, by running the following cmd:
/bin/hostapd /firmware/net/hostapd.conf -B

I got the following error:

Could not set interface to mode(3)!
Could not set interface to master mode!
rtl871xdrv driver initialization failed.

my hostapd.conf is the following:

acaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=2

wpa_key_mgmt=WPA-PSK
rsn_pairwise=CCMP

driver=rtl871xdrv
hw_mode=g

wpa_group_rekey=3600
beacon_int=75
eap_server=1
ctrl_interface=/tmp/hostapd_ctrl

interface=wlan0
wpa_passphrase=abcdefg
ssid=ENC-0310EA85
channel=1

It seems I am missing the rtlwifi/rtl8192cufw_TMSC.bin file. Did I miss something. Thank you for your help in advance.

Hi @weixiong100

It seems I am missing the rtlwifi/rtl8192cufw_TMSC.bin file.

We are not including all the firmwares in our regular Bsp. Especially VF50 has a very limited flash space. You can copy the firmware from this Link.

Best regards,
Jaski

hi Jaski,

Thank you for your replay.

After adding rtl8192cufw_TMSC.bin, during linux boot up, I received the following message:

rtl8xxxu: Loading firmware rtlwifi/rtl8192cufw_TMSC.bin
Firmware revision 80.0 (signature 0x88c1)
registered new interface driver rtl8xxxu

After booting up, however,

iwconfig wlan0 Mode master

does not work, while

iwconfig wlan0 Mode monitor

works fine.

Also, hostapd cannot set the wlan0 into master mode with the following error message: Could not set interface to mode(3)!

Does this driver (rtl8xxxu or rtl8192cu) support master mode?
Also, does rtl8192cufw_TMSC.bin has to be provided? Our wifi dongo contains the firmware already. Does the wifi driver need the firmware file to operate?

Hi weixiong100,

It seems you are new to nightmare of Realtek Linux drivers. Realtek drivers from mainline kernel usually are either broken or semi working like no AP mode or something like that. It would be the best to take driver sources directly from Realtek, but this is not possible since only some drivers are available while most are not. Linux developers seem totally not care about compatibility with older drivers, and this I think make players like Realtek stop supporting Linux as soon as they break driver compatibility with newer kernel sources. This is just my own opinion and how I see it after similar problem with different Realtek card.
You need to look for rtl8811 driver sources in GitHub. Not each of many forks will work. You not only need to find good one but also test it thoroughly since no one guaranties they fixed driver properly.

HI @Edward

Thanks for your valuable Input.

Best regards,
Jaski

Hi @weixiong100: @Edward is right, Realtek’s driver support for Linux is very bad, so I would recommend you to use USB Dongle with Intel or Marvell chip. Additionally you should also have a look at our Module Colibri iMX6ULL which features Wifi with Client and AP support out of box.

Best regards,
Jaski

hi Edward and Jaski,

Thank you for your response. We are stuck with the vf50 and the Realtek, as they are in our current product. I have the driver source code from Realtek and was using it with our old Linux kernel (3.0). After upgrading to the newer Linux kernel (4.4), It seems it has Realtek RTL8192cu support out of the box, that was why I was trying to make it work.

Now it seems I need to use the driver from Realtek instead. I am new to Linux drivers. Do you have a short summary or any good source about integrating the Realtek driver into the Toradex Kernel 4.4? Thank you in advance.

Hi @weixiong100

No, unfortunately we cannot really help you with this.

Best regards,
Jaski

Hi @weixiong100,

Additional driver doesn’t have to be integrated in kernel. You just need to put compiled *.ko to /lib/modules/…/drivers/… and do depmod -a.

With 8188cu I think you have better situation than mine. According to readme here

first of all you should try disabling rtl8192cu driver and give a try for rtl8xxxu driver.

Since you gave “=y” for 8192CU, you can’t blacklist it, I think. Try CONFIG_RTL8192CU=n and either =m or =y for CONFIG_RTL8XXXU.
(Did you miss 3rd X in your first message? I mean CONFIG_RTL8XXU)?

It this won’t help start looking for driver sources on GitHub.

Edward