Hi Holger, On Nov 16, 2010, at 4:04 PM, Holger Schurig wrote: > Android doesn't work well with upstream groups. They made their own ecosystem, > both in kernel-space and much more in user-space. They also usualy use > outdated software, e.g. ancient kernel version. Tell me about it! :-) The current version that I'm working on is 2.6.32. > You're therefore encouraged to use android-specific mailing-lists or forums to > solve your problems. I had a feeling I might get this response, since this was not kernel wireless driver specific issue. There are no android wireless equivalent mailing-list or forums, like there is for linux. The android-porting groups list, I didn't get any response for a whole month. Its pretty fragmented. > That said, the interface isn't up, contrary to your belief: This is not true. You probably read the last few sections of the log file. On first start and connect, wifi works and I'm able to use the wlan0 interface and browse the internet. After turning off wifi and turning it back on from the control panel, it doesnt connect, and you see the following message. > > V/WifiStateTracker( 969): Changing supplicant state: DISCONNECTED ==> > SCANNING > I//system/bin/wpa_supplicant( 1396): ioctl[SIOCGIWSTATS]: Operation not > supported on transport endpoint > I//system/bin/wpa_supplicant( 1396): ioctl[SIOCGIWRATE]: Network is down > > So something in restarting the wifi link forgot Android's equivalent > of "ifconfig $interface up". If the interface isn't up, it won't scan. Without > current scan results and an "up"-interface, it cannot associate. In my init.rc file, I have the following entry, which is intended to bring wlan0 up service ifcfg_ralink /system/bin/ifconfig wlan0 up group system wifi disabled oneshot which probably gets called in the following code fragment from libhardware_legacy/wifi/wifi.c for wifi_load_driver() diff --git a/wifi/wifi.c b/wifi/wifi.c index 3f8708d..7533a64 100644 --- a/wifi/wifi.c +++ b/wifi/wifi.c @@ -188,8 +188,10 @@ int wifi_load_driver() sched_yield(); while (count-- > 0) { if (property_get(DRIVER_PROP_NAME, driver_status, NULL)) { - if (strcmp(driver_status, "ok") == 0) + if (strcmp(driver_status, "ok") == 0) { + property_set("ctl.start", "ifcfg_ralink"); return 0; + } else if (strcmp(DRIVER_PROP_NAME, "failed") == 0) { wifi_unload_driver(); return -1; Best regards, Elvis Dowson Elvis Dowson -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html