Hi,
I can't look it up directly now, because I trashed my system in the course
of debugging, but what I remember is this:
Ok this is going to be a bit nebulous but maybe better than nothing...
either the wifi service or the wpa_supplicant creates a special device
/data/misc/wifi/wlan0/wlan0. I think it's the supplicant and the other part
uses this to set up 2 pipes in /data/misc/wifi/sockets/ to actually control
and monitor the supplicant. What I want to say is, I think it boils down to
some ugly permission stuff, I am debugging myself currently. I went so far
to comment out the privilege drop somewhere (android drops from root (or
system?) to wifi/wifi or wifi/system or something.
Unsure if it helps, it's nothing very concrete.
best,
Bastian Hecht
Am Mittwoch, 6. Juni 2012 14:35:43 UTC+2 schrieb swaraj:
>
>
> Hi,
>
> I am building android 4.0.4 for imx53 board. I'm stuck with wifi porting
> issue.
> I'm able to scan and connect using command prompt, but i'm unable to use
> GUI for wlan0 and not able to start supplicant properly with GUI when
> turning on wifi.
>
> The following is the error message:
>
>
> D/NetworkManagementService( 1144): Registering observer
> I/WifiService( 1144): WifiService starting up with Wi-Fi enabled
> I/WifiHW ( 1144): ************* wifi.c insmod is called**********
> I/ethernet( 1144): User ask for device name on 0, list:B7F740, total:2
> I/ethernet( 1144): User ask for device name on 1, list:B7F740, total:2
> I/WifiHW ( 1144): ************* wifi.c insmod is called**********
> D/NetworkManagementService( 1144): rsp <213 00:23:a7:00:01:58 0.0.0.0 0
> [down broadcast multicast]>
> D/CommandListener( 1066): Setting iface cfg
> D/CommandListener( 1066): Trying to bring down wlan0
> D/CommandListener( 1066): broadcast flag ignored
> D/CommandListener( 1066): multicast flag ignored
> D/NetworkManagementService( 1144): flags <[down broadcast multicast]>
> E/WifiHW ( 1144): ctrl_interface is = /data/misc/wifi
> E/WifiHW ( 1144): Unable to open connection to supplicant on "wlan0":
> E/WifiHW ( 1144): Unable to open connection to supplicant on "wlan0": No
> such file or directory
> E/WifiHW ( 1144): Unable to open connection to supplicant on "wlan0":
> E/WifiHW ( 1144): Unable to open connection to supplicant on "wlan0": No
> such file or directory
> W/EthernetStateMachine( 1144): Could not stop DHCP
> I/EthernetSta[ 66.122325] init: no such service 'dhcpcd_sit0:-h
> android-45fe3c772cef2905 sit0'
> teMachine( 1144): trigger dhcp for device sit0
> I/SystemServer( 1144): Throttle Service
> E/WifiHW ( 1144): Unable to open connection to supplicant on "wlan0":
> E/WifiHW ( 1144): Unable to open connection to supplicant on "wlan0": No
> such file or directory
> I/SystemServer( 1144): Backup Service
> D/dalvikvm( 1144): GC_CONCURRENT freed 182K, 4% free 8037K/8327K, paused
> 3ms+47ms
> I/SystemServer( 1144): SamplingProfiler Service
> E/WifiHW ( 1144): Unable to open connection to supplicant on "wlan0":
> E/WifiHW ( 1144): Unable to open connection to supplicant on "wlan0": No
> such file or directory
> I/SystemServer( 1144): NetworkTimeUpdateService
> I/WindowManager( 1144): SAFE MODE not enabled
> W/RecognitionManagerService( 1144): no available voice recognition
> services found
> E/WifiHW ( 1144): Unable to open connection to supplicant on "wlan0":
> E/WifiHW ( 1144): Unable to open connection to supplicant on "wlan0": No
> such file or directory
> D/dalvikvm( 1144): GC_CONCURRENT freed 252K, 4% free 8311K/8647K, paused
> 5ms+5ms
> I/ActivityManager( 1144): Start proc org.linaro.wallpaper for service
> org.linaro.wallpaper/.LogoWallpaper: pid=1236 uid=10019 gids={}
> W/InputManagerService( 1144): Ignoring setImeWindowStatus of uid 1000
> token: null
> E/WifiHW ( 1144): Unable to open connection to supplicant on "wlan0":
> E/WifiHW ( 1144): Unable to open connection to supplicant on "wlan0": No
> such file or directory
> E/WifiStateMachine( 1144): Failed to setup control channel, restart
> supplicant
> I/ActivityManager( 1144): Start proc com.android.inputmethod.latin for
> service com.android.inputmethod.latin/.LatinIME: pid=1248 uid=10028 gids={}
> D/SystemUIService( 1221): loading: class
> com.android.systemui.statusbar.tablet.TabletStatusBar
> D/SystemUIService( 1221): running:
> com.android.systemui.statusbar.tablet.TabletStatusBar@4112ff98
> sms: com.android.providers.telephony.MmsSmsProvider
> I/Process ( 1144): Sending signal. PID: 1298 SIG: 3
> I/dalvikvm( 1298): threadid=3: reacting to signal 3
> I/wpa_supplicant( 1315): CTRL-EVENT-STATE-CHANGE id=-1 state=2
> BSSID=00:00:00:00:00:00
> [ 76.900519] SIOCSIWPRIV request wlan0, info->cmd:8b0c, info->flags:0
> [ 76.900532] dwrq->length:20E/WifiHW ( 1144): Unable to open
> connection to supplicant on "wlan0":
> E/WifiHW ( 1144): Unable to open connection to supplicant on "wlan0": No
> such file or directory
>
>
>
> In wifi.c file i included few changes:
>
> //static const char IFACE_DIR[] = "/data/system/wpa_supplicant";
> //#ifdef WIFI_DRIVER_MODULE_PATH
> //static const char DRIVER_MODULE_NAME[] = WIFI_DRIVER_MODULE_NAME;
> static const char DRIVER_MODULE_TAG[] = WIFI_DRIVER_MODULE_NAME " ";
> //static const char DRIVER_MODULE_PATH[] = WIFI_DRIVER_MODULE_PATH;
> static const char DRIVER_MODULE_ARG[] = WIFI_DRIVER_MODULE_ARG;
> //#endif
> static const char FIRMWARE_LOADER[] = WIFI_FIRMWARE_LOADER;
> static const char DRIVER_PROP_NAME[] = "wlan.driver.status";
> static const char SUPPLICANT_NAME[] = "wpa_supplicant";
> static const char SUPP_PROP_NAME[] = "init.svc.wpa_supplicant";
> static const char SUPP_CONFIG_TEMPLATE[]=
> "/system/etc/wifi/wpa_supplicant.conf";
> static const char SUPP_CONFIG_FILE[] =
> "/data/misc/wifi/wpa_supplicant.conf";
> static const char P2P_CONFIG_FILE[] =
> "/data/misc/wifi/p2p_supplicant.conf";
> static const char CONTROL_IFACE_PATH[] = "/data/misc/wifi";
> static const char MODULE_FILE[] = "/proc/modules";
>
> static const char SUPP_ENTROPY_FILE[] = WIFI_ENTROPY_FILE;
> static unsigned char dummy_key[21] = { 0x02, 0x11, 0xbe, 0x33, 0x43, 0x35,
> 0x68, 0x47, 0x84, 0x99, 0xa9, 0x2b,
> 0x1c, 0xd3, 0xee, 0xff, 0xf1, 0xe2,
> 0xf3, 0xf4, 0xf5 };
>
>
>
>
> In init.rc i made following modifications:
>
> mkdir /data/misc/systemkeys 0700 system system
> mkdir /data/misc/vpn/profiles 0770 system system
> # give system access to wpa_supplicant.conf for backup and restore
> mkdir /data/misc/wifi 0770 wifi wifi
> chmod 0770 /data/misc/wifi
> chmod 0777 /data/misc/wifi/wpa_supplicant
> chmod 0777 /system/release
> mkdir /data/misc/wifi/sockets 0777 wifi wifi
> chmod 0667 /data/misc/wifi/wpa_supplicant.conf
> chmod 0777 /system/release/wifi_settings.cfg
> mkdir /data/local 0751 root root
> mkdir /data/local/tmp 0771 shell shell
> mkdir /data/data 0771 system system
> mkdir /data/app-private 0771 system system
> mkdir /data/app 0771 system system
> mkdir /data/property 0700 root root
> chmod 0777 /system/release
>
> setprop wifi.interface wlan0
> #setprop wlan.driver.status "ok"
>
> #Define service for wifi
> #service wpa_supplicant /system/bin/wpa_supplicant -Drsi -iwlan0
> -c/system/release/wifi_settings.cfg
> #service wpa_supplicant /system/bin/wpa_supplicant -Drsi -iwlan0
> -c/data/misc/wifi/wpa_supplicant.conf
> service wpa_supplicant /system/bin/wpa_supplicant -Dwext -iwlan0
> -c/data/misc/wifi/wpa_supplicant.conf
> group system wifi inet
> disabled
> oneshot
>
> service ifcfg_eth /system/bin/ifconfig wlan0 up
> disabled
> oneshot
>
> #service dhcpcd_wlan0 /system/bin/dhcpcd -BKL wlan0 -f
> /system/etc/android.conf
> service dhcpcd_wlan0 /system/bin/dhcpcd -BKL wlan0
> group system dhcp
> disabled
> oneshot
>
>
> Thanks
> Swaraj
>
Am Mittwoch, 6. Juni 2012 14:35:43 UTC+2 schrieb swaraj:
>
>
> Hi,
>
> I am building android 4.0.4 for imx53 board. I'm stuck with wifi porting
> issue.
> I'm able to scan and connect using command prompt, but i'm unable to use
> GUI for wlan0 and not able to start supplicant properly with GUI when
> turning on wifi.
>
> The following is the error message:
>
>
> D/NetworkManagementService( 1144): Registering observer
> I/WifiService( 1144): WifiService starting up with Wi-Fi enabled
> I/WifiHW ( 1144): ************* wifi.c insmod is called**********
> I/ethernet( 1144): User ask for device name on 0, list:B7F740, total:2
> I/ethernet( 1144): User ask for device name on 1, list:B7F740, total:2
> I/WifiHW ( 1144): ************* wifi.c insmod is called**********
> D/NetworkManagementService( 1144): rsp <213 00:23:a7:00:01:58 0.0.0.0 0
> [down broadcast multicast]>
> D/CommandListener( 1066): Setting iface cfg
> D/CommandListener( 1066): Trying to bring down wlan0
> D/CommandListener( 1066): broadcast flag ignored
> D/CommandListener( 1066): multicast flag ignored
> D/NetworkManagementService( 1144): flags <[down broadcast multicast]>
> E/WifiHW ( 1144): ctrl_interface is = /data/misc/wifi
> E/WifiHW ( 1144): Unable to open connection to supplicant on "wlan0":
> E/WifiHW ( 1144): Unable to open connection to supplicant on "wlan0": No
> such file or directory
> E/WifiHW ( 1144): Unable to open connection to supplicant on "wlan0":
> E/WifiHW ( 1144): Unable to open connection to supplicant on "wlan0": No
> such file or directory
> W/EthernetStateMachine( 1144): Could not stop DHCP
> I/EthernetSta[ 66.122325] init: no such service 'dhcpcd_sit0:-h
> android-45fe3c772cef2905 sit0'
> teMachine( 1144): trigger dhcp for device sit0
> I/SystemServer( 1144): Throttle Service
> E/WifiHW ( 1144): Unable to open connection to supplicant on "wlan0":
> E/WifiHW ( 1144): Unable to open connection to supplicant on "wlan0": No
> such file or directory
> I/SystemServer( 1144): Backup Service
> D/dalvikvm( 1144): GC_CONCURRENT freed 182K, 4% free 8037K/8327K, paused
> 3ms+47ms
> I/SystemServer( 1144): SamplingProfiler Service
> E/WifiHW ( 1144): Unable to open connection to supplicant on "wlan0":
> E/WifiHW ( 1144): Unable to open connection to supplicant on "wlan0": No
> such file or directory
> I/SystemServer( 1144): NetworkTimeUpdateService
> I/WindowManager( 1144): SAFE MODE not enabled
> W/RecognitionManagerService( 1144): no available voice recognition
> services found
> E/WifiHW ( 1144): Unable to open connection to supplicant on "wlan0":
> E/WifiHW ( 1144): Unable to open connection to supplicant on "wlan0": No
> such file or directory
> D/dalvikvm( 1144): GC_CONCURRENT freed 252K, 4% free 8311K/8647K, paused
> 5ms+5ms
> I/ActivityManager( 1144): Start proc org.linaro.wallpaper for service
> org.linaro.wallpaper/.LogoWallpaper: pid=1236 uid=10019 gids={}
> W/InputManagerService( 1144): Ignoring setImeWindowStatus of uid 1000
> token: null
> E/WifiHW ( 1144): Unable to open connection to supplicant on "wlan0":
> E/WifiHW ( 1144): Unable to open connection to supplicant on "wlan0": No
> such file or directory
> E/WifiStateMachine( 1144): Failed to setup control channel, restart
> supplicant
> I/ActivityManager( 1144): Start proc com.android.inputmethod.latin for
> service com.android.inputmethod.latin/.LatinIME: pid=1248 uid=10028 gids={}
> D/SystemUIService( 1221): loading: class
> com.android.systemui.statusbar.tablet.TabletStatusBar
> D/SystemUIService( 1221): running:
> com.android.systemui.statusbar.tablet.TabletStatusBar@4112ff98
> sms: com.android.providers.telephony.MmsSmsProvider
> I/Process ( 1144): Sending signal. PID: 1298 SIG: 3
> I/dalvikvm( 1298): threadid=3: reacting to signal 3
> I/wpa_supplicant( 1315): CTRL-EVENT-STATE-CHANGE id=-1 state=2
> BSSID=00:00:00:00:00:00
> [ 76.900519] SIOCSIWPRIV request wlan0, info->cmd:8b0c, info->flags:0
> [ 76.900532] dwrq->length:20E/WifiHW ( 1144): Unable to open
> connection to supplicant on "wlan0":
> E/WifiHW ( 1144): Unable to open connection to supplicant on "wlan0": No
> such file or directory
>
>
>
> In wifi.c file i included few changes:
>
> //static const char IFACE_DIR[] = "/data/system/wpa_supplicant";
> //#ifdef WIFI_DRIVER_MODULE_PATH
> //static const char DRIVER_MODULE_NAME[] = WIFI_DRIVER_MODULE_NAME;
> static const char DRIVER_MODULE_TAG[] = WIFI_DRIVER_MODULE_NAME " ";
> //static const char DRIVER_MODULE_PATH[] = WIFI_DRIVER_MODULE_PATH;
> static const char DRIVER_MODULE_ARG[] = WIFI_DRIVER_MODULE_ARG;
> //#endif
> static const char FIRMWARE_LOADER[] = WIFI_FIRMWARE_LOADER;
> static const char DRIVER_PROP_NAME[] = "wlan.driver.status";
> static const char SUPPLICANT_NAME[] = "wpa_supplicant";
> static const char SUPP_PROP_NAME[] = "init.svc.wpa_supplicant";
> static const char SUPP_CONFIG_TEMPLATE[]=
> "/system/etc/wifi/wpa_supplicant.conf";
> static const char SUPP_CONFIG_FILE[] =
> "/data/misc/wifi/wpa_supplicant.conf";
> static const char P2P_CONFIG_FILE[] =
> "/data/misc/wifi/p2p_supplicant.conf";
> static const char CONTROL_IFACE_PATH[] = "/data/misc/wifi";
> static const char MODULE_FILE[] = "/proc/modules";
>
> static const char SUPP_ENTROPY_FILE[] = WIFI_ENTROPY_FILE;
> static unsigned char dummy_key[21] = { 0x02, 0x11, 0xbe, 0x33, 0x43, 0x35,
> 0x68, 0x47, 0x84, 0x99, 0xa9, 0x2b,
> 0x1c, 0xd3, 0xee, 0xff, 0xf1, 0xe2,
> 0xf3, 0xf4, 0xf5 };
>
>
>
>
> In init.rc i made following modifications:
>
> mkdir /data/misc/systemkeys 0700 system system
> mkdir /data/misc/vpn/profiles 0770 system system
> # give system access to wpa_supplicant.conf for backup and restore
> mkdir /data/misc/wifi 0770 wifi wifi
> chmod 0770 /data/misc/wifi
> chmod 0777 /data/misc/wifi/wpa_supplicant
> chmod 0777 /system/release
> mkdir /data/misc/wifi/sockets 0777 wifi wifi
> chmod 0667 /data/misc/wifi/wpa_supplicant.conf
> chmod 0777 /system/release/wifi_settings.cfg
> mkdir /data/local 0751 root root
> mkdir /data/local/tmp 0771 shell shell
> mkdir /data/data 0771 system system
> mkdir /data/app-private 0771 system system
> mkdir /data/app 0771 system system
> mkdir /data/property 0700 root root
> chmod 0777 /system/release
>
> setprop wifi.interface wlan0
> #setprop wlan.driver.status "ok"
>
> #Define service for wifi
> #service wpa_supplicant /system/bin/wpa_supplicant -Drsi -iwlan0
> -c/system/release/wifi_settings.cfg
> #service wpa_supplicant /system/bin/wpa_supplicant -Drsi -iwlan0
> -c/data/misc/wifi/wpa_supplicant.conf
> service wpa_supplicant /system/bin/wpa_supplicant -Dwext -iwlan0
> -c/data/misc/wifi/wpa_supplicant.conf
> group system wifi inet
> disabled
> oneshot
>
> service ifcfg_eth /system/bin/ifconfig wlan0 up
> disabled
> oneshot
>
> #service dhcpcd_wlan0 /system/bin/dhcpcd -BKL wlan0 -f
> /system/etc/android.conf
> service dhcpcd_wlan0 /system/bin/dhcpcd -BKL wlan0
> group system dhcp
> disabled
> oneshot
>
>
> Thanks
> Swaraj
>
--
unsubscribe: [email protected]
website: http://groups.google.com/group/android-porting