Wifi RTL8188 module freeze and lose connection after worked for a while

Hi,

We are using wifi module rtl8188 on Toradex Linux 2.7b6 and 2.8b4 vesions.

Connection is made by connmanctrl service and at the begging everything is ok. However after a short time of normal operation in general (random time) wifi module freezes no more services or scan for networks is possible for example:

root@colibri-imx6:~# connmanctl scan wifi
Error /net/connman/technology/wifi: Not supported

When do lsusb command it seems device is there:

Bus 001 Device 013: ID 0bda:8179 Realtek Semiconductor Corp. RTL8188EUS 802.11n Wireless Network Adapter

But when device driver and firmware is loaded something strange appear in dmesg :

[  623.631568] usb 1-1: 1e8: ff ff ff ff ff ff ff ff
[  623.636338] usb 1-1: 1f0: ff ff ff ff ff ff ff ff
[  623.641067] usb 1-1: 1f8: ff ff ff ff ff ff ff ff
[  623.645867] usb 1-1: RTL8188EU rev D (TSMC) 1T1R, TX queues 2, WiFi=0, BT=0, GPS=0, HI PA=0
[  623.654243] usb 1-1: RTL8188EU MAC: 34:c9:f0:83:49:fb
[  623.659362] usb 1-1: rtl8xxxu: Loading firmware rtlwifi/rtl8188eufw.bin
[  623.666472] usb 1-1: Firmware revision 11.1 (signature 0x88e1)
[  624.210449] usb 1-1: rtl8188eu_rx_iqk_path_a: Path A RX IQK failed!
[  624.245103] usb 1-1: rtl8188eu_rx_iqk_path_a: Path A RX IQK failed!
[  624.411746] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
[  684.294252] usb 1-1: USB disconnect, device number 3
[  684.512102] usb 1-1: disconnecting
[  687.731585] hub 1-0:1.0: USB hub found

What is this “rtl8188eu_rx_iqk_path_a: Path A RX IQK failed!” when driver is loaded?
The issue is the same on various board with i.mx6 and same rtl8188 usb wifi module on both Toradex Linux 2.7b6 and 2.8b4.

Any ideas?

Thanks.

BR

hi @kaloianpenev

Could you share the complete dmesg log in a file ( dmesg > dmesg.txt )?

The issue is the same on various board with i.mx6 and same rtl8188 usb wifi module on both Toradex Linux 2.7b6 and 2.8b4.

Did you try the usb wifi dongle on your host? Is the dongle working stable on the host?

Hi Jaski,

We can’t replace the usb wifi module because we use Colibri iMX6 module on our custom board and wifi module is soldered to it. We use this wifi module, same as USB dongle provided by Toradex with same chipset RTL8188 but as module:

Is it somehow related to issue that I mentioned about year ago and Domenik.tx answered is known issue about exactly the same wifi module?

I am attaching couple of complete dmesg log from boot-up and until we lost connection and IP of this interface.
1 - before soft reboot command log

2 - after soft reboot command log

By the way very often such wifi module freeze happens after short period of wifi signal loss, when back in range it does not connect anymore. However, not only in this case, but if we want the freeze to happen quickly and not to wait some time, this is most likely the way.

BR

link text

hi @kaloianpenev

We can’t replace the usb wifi module because we use Colibri iMX6 module on our custom board and wifi module is soldered to it. We use this wifi module, same as USB dongle provided by Toradex with same chipset RTL8188 but as module: https://www.lm-technologies.com/product/wifi-module-802-11-bgn-with-ic-antenna-lm822/

So you are using the same chipset, but not exactly the same chip with same fusing. So this combination is not tested by Toradex.

Is it somehow related to issue that I mentioned about year ago and Domenik.tx answered is known issue about exactly the same wifi module?

This is a speed limitation for the older Bsp. With newer Bsp, there is no speed limitation.

By the way very often such wifi module freeze happens after short period of wifi signal loss, when back in range it does not connect anymore. However, not only in this case, but if we want the freeze to happen quickly and not to wait some time, this is most likely the way.

Which driver are you using? You can try to use this driver.

Best regards, Jaski

Hi Jaski,

Since I can’t make install it into the Colibri module itself.
What is the best way to add this driver into the Yocto build chain while replacing the original one that comes with the kernel in order to have it into the new build toradex-linux image.

Thanks,

BR

hi Kaloianpenev

The easier way will be to create a custom kernel and integrate this driver as kernel module following the instructions described here.

To add this driver into the Yocto build chain you will need to create your own recipe and integrate the driver sources into OpenEmbedded Environment. The following developer page can be used as a starting point for creating the recipe.