Android Tablets Forum banner

WiFi problem after reflashing

12818 Views 10 Replies 7 Participants Last post by  christianben762
Hi, folks.

Need your help with Eken M002.
Starting to use the device I've found the built-in browser often shuts down, sometimes after visiting just 2 or 3 pages. Than I've tested some alternative browsers, but each of them behaved the same. That's why I've decided to reflash device with WMT2.0 firmware published on the Ekens site. Sadly being a complete nub I've neither made a backup of the original one, nor even remember its version. After reflashing another problem appeared - WiFi completely stopped working. Switching it on from menu results in "Unable to scan for networks" message after some delay and the menu option switches to off again. Have tried a number of firmware versions found on the web including published here but with no result. With WMT1.8 to 1.9.1 things are same as with 2.0, while 1.7.4 & older don't run at all, just a black screen. Then I asked the seller about firmware version, the only thing he could tell me was "the preinstalled OS is Android 1.7", so I've decided to replace the rt3070sta driver module in WMT2.0 pack by the older rt2870sta taken from WMT1.7.4. No help, even after I replaced RT2870STA.DAT and wpa_supplicant.conf too.

Than I tried to discover logs. The logcat output just proves the problem exists:
Code:
/ActivityManager(  122): Starting activity: Intent { act=android.intent.action.MAIN <br />
cat=[android.intent.category.LAUNCHER] flg=0x10100000 cmp=com.android.settings/.wifi.WifiSettings }<br />
D/SettingsWifiEnabler(  550): Received wifi state changed from Disabling to Disabled<br />
D/WifiHW  (  122): Unable to unload driver module "reserve_mm": No such file or directory<br />
D/SettingsWifiEnabler(  550): Received wifi state changed from Disabled to Enabling<br />
D/WifiService(  122): ACTION_BATTERY_CHANGED pluggedType: 0<br />
I/wpa_supplicant( 6327): CTRL-EVENT-STATE-CHANGE id=-1 state=0<br />
E/wpa_supplicant( 6327): Failed to disable WPA in the driver.<br />
E/SettingsWifiLayer(  550): Unable to scan for networks<br />
I/NotificationService(  122): enqueueToast pkg=com.android.settings [email protected] duration=1<br />
D/SettingsWifiEnabler(  550): Received wifi state changed from Enabling to Enabled<br />
W/Process (  122): Unable to open /proc/518/status<br />
D/SettingsWifiEnabler(  550): Received wifi state changed from Enabled to Disabling<br />
E/WifiHW  (  122): Supplicant not running, cannot connect<br />
D/SettingsWifiEnabler(  550): Received wifi state changed from Disabling to Disabled<br />
While loading wifi driver by insmod rt3070sta dmesg says:
Code:
<br />
rtusb init ---><br />
wifi power up:D8110064|0x4,D811008C|0x4,D81100B4|0x4<br />
usbcore: registered new interface driver rt2870<br />
usb 1-1: new high speed USB device using ehci_hcd and address 3<br />
usb 1-1: New USB device found, idVendor=0bda, idProduct=8176<br />
usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3<br />
usb 1-1: Product: 802.11n WLAN Adapter<br />
usb 1-1: Manufacturer: Realtek<br />
usb 1-1: SerialNumber: 00e04c000001<br />
usb 1-1: configuration #1 chosen from 1 choice<br />
And after attempting to switch WiFi on:

Code:
<br />
usbcore: deregistering interface driver rt2870<br />
wifi power down:D8110064|0x4,D811008C|0x4,D81100B4&~0x4<br />
- rtusb exit<br />
usb 1-1: USB disconnect, address 3<br />
So we can see the module is loading fine, powering up wifi chip, but unloads itself after wpa_supplicant attempts to use it. But why?
Any ideas what to check else?
See less See more
1 - 11 of 11 Posts
Well, I've just noticed one thing that looks suspicious. According to idVendor the chip is manufactured by Realtek, while rtxx70sta driver module is designed for Ralink chips only. Am I right?
Does it mean they used non-standard wifi module in my tablet?
Can anybody post their devices vendor & product ids, please?
Just passing by and thought I'd let you know that [tt]idVendor=0bda, idProduct=8176[/tt] is a RealTek [TT]rtl8188cus[/TT] chip, NOT a RaLink chip.

USB: 0BDA:8176 Realtek RTL8188CU Wireless LAN 802.11n USB 2.0 Network Adapter

It uses the 8192 drivers.

It should be supported by rtl8192s_usb, but you may need to compile your own depending on kernel level.
Thanks, xaminmo.

U're quite right, that is Realtec rtl8188cus chip and it does work with 8192cu driver.
I've found the USB WiFi with the same chip at my job and it works fine under Debian sqeeze.

Well, after I've googled and downloaded linux-2.6.29-android-wmt kernel source by VIA and 8192cu driver source by Realtek, just a few hacks in the last one Make file let me to cross-compile it for arm-linux-gnueabi target with a proper version&release info. But the problem is that the driver module can't manage chip power by itself. So, it needs insmod rt3070sta first, which powers the chip on. While it appears to be connected to USB bus, udev loads 8192cu.ko and voila, we've got a full-functional wlan0 device.

This trick works fine on Debian. But it doesn't in Android. Made one more hack in driver source - changed 'wlan' to 'ra', as it's named in rt3070, recompiled, placed the module file to /system/.driver, insmod /system/.driver/rt3070sta, insmod /system/.driver/8192cu, ifconfig ra0 up, and started WiFi via GUI setting. Got: E/WifiService( 122): Failed to load WiFi driver.

Maybe I need to patch 8192cu module to make it be able of power management, like they did it with ralink 3070 one, and replace the original rt3070sta.ko file with it? Where can I find some info about power management details?

Can anybody suggest something else to try?
See less See more
Well, the thing appeared to be much easier than I thought before.

The working code is:

#include <mach/hardware.h>
#include <mach/gpio_if.h>

//power on
REG32_VAL(0xD8110064) |= BIT2; //GPIO2 signal GPIO Enable
REG32_VAL(0xD811008C) |= BIT2; //GPIO2 Output Enable
REG32_VAL(0xD81100B4) |= BIT2; //GPIO2 Output High

//power of:

REG32_VAL(0xD8110064) |= BIT2; //GPIO2 signal GPIO Enable
REG32_VAL(0xD811008C) |= BIT2; //GPIO2 Output Enable
REG32_VAL(0xD81100B4) &= ~BIT2; //GPIO2 Output Low

Power on commands must be added to the very begining of the rtw_drv_entry function, and power off to the end of rtw_drv_halt one.
One more thing to hack is the module name. Looks like just renaming a file is not enougth. Renamed module is loaded by file name but shows itself in lsmod as not renamed one, that's why `rmmod rt3070sta' fails. Changed modulename in Makefile helped.

Finaly it works.Hallelujah !!!
See less See more
Wow, Congratulations! I think you're the first one who solved the problem!
Please, can you provide files and short instructions?
[quote author=igo link=topic=13449.msg125714#msg125714 date=1295805264]
Wow, Congratulations! I think you're the first one who solved the problem!
Please, can you provide files and short instructions?
[/quote]

Yes, please. I want to replace a 3070 board with a 3370 board but have no idea how to compile drivers. What you did seems to be what I'd like to do.
I searched and downloaded Wondermedia WM8505 android source (linux-2.6.29-android-wmt.tar.bz2) and Realtek RTL8192CU linux source (RTL8192CU_v2.0.1170.zip). I guess I need to compile rtl driver for according kernel with hh85's additinal working settings.
In the rtl source files there is document HowTo support new platform(including Android).doc it mentions that in general we only need to modify Makefile.

Under what OS to compile? Windows? perhaps no. Linux? what distribution? is there live linux distro which can compile?
Hi im having the same problem but i use windows so can not recompile , can you share your resources , or the driver files somewhere ?
I would thank it.
Thanks anyway.
Hi, please could you share the kernel module file (8192cu.ko)

Many Thanks
Hi, folks.

Need your help with Eken M002.
Starting to use the device I've found the built-in browser often shuts down, sometimes after visiting just 2 or 3 pages. Than I've tested some alternative browsers, but each of them behaved the same. That's why I've decided to reflash device with WMT2.0 firmware published on the Ekens site. Sadly being a complete nub I've neither made a backup of the original one, nor even remember its version. After reflashing another problem appeared - WiFi completely stopped working. Switching it on from menu results in "Unable to scan for networks" message after some delay and the menu option switches to off again. Have tried a number of firmware versions found on the web including published here but with no result. With WMT1.8 to 1.9.1 things are same as with 2.0, while 1.7.4 & older don't run at all, just a black screen. Then I asked the seller about firmware version, the only thing he could tell me was "the preinstalled OS is Android 1.7", so I've decided to replace the rt3070sta driver module in WMT2.0 pack by the older rt2870sta taken from WMT1.7.4. No help, even after I replaced RT2870STA.DAT and wpa_supplicant.conf too.

Than I tried to discover logs. The logcat output just proves the problem exists:
Code:
/ActivityManager(  122): Starting activity: Intent { act=android.intent.action.MAIN <br />
cat=[android.intent.category.LAUNCHER] flg=0x10100000 cmp=com.android.settings/.wifi.WifiSettings }<br />
D/SettingsWifiEnabler(  550): Received wifi state changed from Disabling to Disabled<br />
D/WifiHW  (  122): Unable to unload driver module "reserve_mm": No such file or directory<br />
D/SettingsWifiEnabler(  550): Received wifi state changed from Disabled to Enabling<br />
D/WifiService(  122): ACTION_BATTERY_CHANGED pluggedType: 0<br />
I/wpa_supplicant( 6327): CTRL-EVENT-STATE-CHANGE id=-1 state=0<br />
E/wpa_supplicant( 6327): Failed to disable WPA in the driver.<br />
E/SettingsWifiLayer(  550): Unable to scan for networks<br />
I/NotificationService(  122): enqueueToast pkg=com.android.settings [email protected] duration=1<br />
D/SettingsWifiEnabler(  550): Received wifi state changed from Enabling to Enabled<br />
W/Process (  122): Unable to open /proc/518/status<br />
D/SettingsWifiEnabler(  550): Received wifi state changed from Enabled to Disabling<br />
E/WifiHW  (  122): Supplicant not running, cannot connect<br />
D/SettingsWifiEnabler(  550): Received wifi state changed from Disabling to Disabled<br />
While loading wifi driver by insmod rt3070sta dmesg says:
Code:
<br />
rtusb init ---><br />
wifi power up:D8110064|0x4,D811008C|0x4,D81100B4|0x4<br />
usbcore: registered new interface driver rt2870<br />
usb 1-1: new high speed USB device using ehci_hcd and address 3<br />
usb 1-1: New USB device found, idVendor=0bda, idProduct=8176<br />
usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3<br />
usb 1-1: Product: 802.11n WLAN Adapter<br />
usb 1-1: Manufacturer: Realtek<br />
usb 1-1: SerialNumber: 00e04c000001<br />
usb 1-1: configuration #1 chosen from 1 choice<br />
Memorial Restoration Pittsburgh

And after attempting to switch WiFi on:

Code:
<br />
usbcore: deregistering interface driver rt2870<br />
wifi power down:D8110064|0x4,D811008C|0x4,D81100B4&~0x4<br />
- rtusb exit<br />
usb 1-1: USB disconnect, address 3<br />
So we can see the module is loading fine, powering up wifi chip, but unloads itself after wpa_supplicant attempts to use it. But why?
Any ideas what to check else?
If you can't access the Internet on your Android device, either through an app or a website, try these troubleshooting steps.
Signs of a bad connection
  • Downloads don't start, time out, or remain at 0%.
  • Google Play is stuck on "Loading..."
  • You can't load web pages in a browser.
General troubleshooting tips for Android devices

  1. Restart your device. It might sound simple, but sometimes that's all it takes to fix a bad connection.
  2. If restarting doesn't work, switch between Wi-Fi and mobile data:
    • Open your Settings app and tap Network & internet or Connections. Depending on your device, these options may be different.
    • Turn Wi-Fi off and mobile data on, and check if there's a difference.
    • If not, turn mobile data off and Wi-Fi on and check again.
  3. Try the troubleshooting steps below.
See less See more
1 - 11 of 11 Posts
Top