Weber, This is exactly what I faced when I recently tried to get the WiFi up and running on my Eclair based device..I had everything up and running on Donut and I copied the configuration and all and kept getting these 'permission denied' and 'operation not permitted' with the chown/mkdir related to ctrl_interface and so on..
After monkeying with the wpa_supplicant.conf file and the init.rc file with the various user/group permissions..just on a whim I decided to do a diff between the older wpa_supplicant code and the new one and there were a few differences..I just brought back all of the older wpa_supplicant code and BOOM WiFi was up and running in Eclair.. I think wpa_supplicant is somehow broken in Eclair and needs to be patched to work..I'll have to go through my diff step by step and figure out what exactly breaks things..and I might do that over the next few weeks.. Regards -- Ashwin On Tue, Jul 20, 2010 at 10:05 PM, Weber <[email protected]> wrote: > Hi > Just now I started the wpa_supplicant mannually, but is seem that it > can not be started,like this: > # wpa_supplicant -dd -Dwext -ieth1 -c /system/etc/wifi/ > wpa_supplicant.conf& > # ioctl[SIOCSIWPMKSA]: Invalid argument > mkdir[ctrl_interface]: Permission denied > > [1] + Done(255) wpa_supplicant -dd -Dwext -ieth1 -c / > system/etc/wifi/wpa_supplicant.conf > Then I grep and found that "mkdir[ctrl_interface]" is in > ctrl_iface_unix.c ,and what confused me is that it is not inside the" > ifdef ANDROID endif" but now I am using the android private socket. > > by the way,Someone had mentioned in the groups that > wpa_supplicant/Android.mk > > (3.1) > > LOCAL_PATH := $(call my-dir) > > WPA_BUILD_SUPPLICANT := true > > ifneq ($(TARGET_SIMULATOR),true) > > ifneq ($(BOARD_WPA_SUPPLICANT_DRIVER),) > > WPA_BUILD_SUPPLICANT := true > > CONFIG_DRIVER_$(BOARD_WPA_SUPPLICANT_DRIVER) = y > > endif > > (3.2) remove mark symbol, and look like this > > ######################## > > local_target_dir := $(TARGET_OUT)/etc/wifi > > include $(CLEAR_VARS) > > LOCAL_MODULE := wpa_supplicant.conf > > LOCAL_MODULE_TAGS := user > > LOCAL_MODULE_CLASS := ETC > > LOCAL_MODULE_PATH := $(local_target_dir) > > LOCAL_SRC_FILES := $(LOCAL_MODULE) > > include $(BUILD_PREBUILT) > > But in My wpa_supplicant/Android.mk WPA_BUILD_SUPPLICANT := > false ,Does this matter? > > Thank you! > --Weber > On Jul 21, 9:22 am, Weber <[email protected]> wrote: >> Hi,I read yourwifiportingguide ,and followed it >> but the error still appears--By the way the version I use is eclair >> 2.1-update1 >> >> E/WifiHW ( 708): Unable to open connection to supplicant on "/data/ >> system/wpa_supplicant/sta": No such file or directory >> >> Here is myportingflow: >> 1. >> build/target/board/generic/BoardConfig.mk >> BOARD_WPA_SUPPLICANT_DRIVER := WEXT >> I also try to add ------HAVE_CUSTOM_WIFI_DRIVER_2 := true,but it still >> cannot work >> 2. >> 2.1 modify external/wpa_supplicant/common.c and set wpa_debug_level = >> MSG_DEBUG >> 2.2 modify common.h and change #define wpa_printf from if ((level) >= >> MSG_INFO) to if ((level) >= MSG_DEBUG) >> 3. >> system/etc/wifi/wpa_supplicant.conf and data/misc/wifi/ >> wpa_supplicant.conf >> ctrl_interface=DIR=/data/system/wpa_supplicant GROUP=wifi >> update_config=1 >> ap_scan=1 >> 4. >> init.rc >> mkdir /system/etc/wifi0777wifiwifi >> chmod 0777 /system/etc/wifi >> chmod 0777 /system/etc/wifi/wpa_supplicant.conf >> chownwifiwifi/system/etc/wifi/wpa_supplicant.conf >> >> ##wpa_supplicant control socket forandroidwifi.c (androidprivate >> socket) >> mkdir /data/misc/wifi0777wifiwifi >> mkdir /data/misc/wifi/sockets 0777wifiwifi >> chmod 0777 /data/misc/wifi >> chmod 0777 /data/misc/wifi/wpa_supplicant.conf >> chownwifiwifi/data/misc/wifi >> chownwifiwifi/data/misc/wifi/wpa_supplicant.conf >> >> ## wpa_supplicant socket (unix socket mode) >> mkdir /data/system/wpa_supplicant 0777wifiwifi >> chmod 0777 /data/system/wpa_supplicant >> chownwifiwifi/data/system/wpa_supplicant >> chownwifiwifi/data/system >> chownwifiwifi/data >> >> ## wpa_supplicant socket (unix socket mode--another goup version) >> ----when it failed ,I try this one ,still failed >> # mkdir /data/system/wpa_supplicant 0777 system system >> # chmod 0777 /data/system/wpa_supplicant >> # chown system system /data/system/wpa_supplicant >> # chown system system /data/system >> # chown system system /data >> 5.init.rc >> service wpa_supplicant /system/bin/wpa_supplicant -dd -Dwext -ieth1 - >> c /system/etc/wifi/wpa_supplicant.conf >> group systemwifiinet >> disabled >> oneshot >> >> service dhcpcd /system/bin/dhcpcd -f /system/etc/dhcpcd/dhcpcd.conf -d >> eth1 >> group system dhcpwifi >> disabled >> oneshot >> >> /system/etc/dhcpcd/dhcpcd.conf >> interface eth1 >> option subnet_mask, routers, domain_name_servers >> 6. >> modifiedwifi.c to loader my libertas.ko and libertas_sdio.ko >> and add the bellow in init.rc >> setpropwifi.interface "eth1" >> setprop wlan.driver.status "ok" >> setprop wlan.interface "eth1" >> >> but the erro is the same >> E/WifiHW ( 708):Unable to open connection to supplicant on "/data/ >> system/wpa_supplicant/eth1": No such file or directory >> >> I add some log in external/wpa_supplicant/wpa_ctrl.c >> and found that the error is generated in wpa_ctrl.c by the following >> line: >> connect(ctrl->s, (struct sockaddr *) &ctrl->dest,sizeof(ctrl->dest)) >> < 0) >> >> here are the logs >> I/PackageManager( 708): >> Features:android.hardware.wifiandroid.hardware.location.networkandroid.hardware.bluetoothandroid.hardware.locationandroid.hardware.location.gpsandroid.hardware.touchscreenandroid.hardware.sensor.accelerometerandroid.hardware.sensor.compass >> V/ConnectivityService( 708): StartingWifiService. >> I/WifiService( 708): WifiService starting up with Wi-Fi enabled >> W/WifiQiu ( 708): we...@ctrl is NULL after connect(...)for >> CTRL_IFACE_UNIX-ifNdefANDROID! >> E/WifiHW ( 708): Unable to open connection to supplicant on "/data/ >> system/wpa_supplicant/eth1": No such file or directory >> D/wpa_supplicant( 773): Initializing interface 'eth1' conf '/system/ >> etc/wifi/wpa_supplicant.conf' driver 'wext' ctrl_interface 'N/A' >> bridge 'N/A' >> D/wpa_supplicant( 773): Configuration file '/system/etc/wifi/ >> wpa_supplicant.conf' -> '/system/etc/wifi/wpa_supplicant.conf' >> D/wpa_supplicant( 773): Reading configuration file '/system/etc/wifi/ >> wpa_supplicant.conf' >> D/wpa_supplicant( 773): ctrl_interface='DIR=/data/system/ >> wpa_supplicant GROUP=wifi' >> D/wpa_supplicant( 773): update_config=1 >> D/wpa_supplicant( 773): ap_scan=1 >> D/wpa_supplicant( 773): Initializing interface (2) 'eth1' >> D/wpa_supplicant( 773): EAPOL: SUPP_PAE entering state DISCONNECTED >> D/wpa_supplicant( 773): EAPOL: KEY_RX entering state NO_KEY_RECEIVE >> D/wpa_supplicant( 773): EAPOL: SUPP_BE entering state INITIALIZE >> D/wpa_supplicant( 773): EAP: EAP entering state DISABLED >> D/wpa_supplicant( 773): EAPOL: External notification - portEnabled=0 >> D/wpa_supplicant( 773): EAPOL: External notification - portValid=0 >> D/wpa_supplicant( 773): SIOCGIWRANGE: WE(compiled)=22 WE(source)=15 >> enc_capa=0xf >> D/wpa_supplicant( 773): capabilities: key_mgmt 0xf enc 0xf >> D/wpa_supplicant( 773): WEXT: Operstate: linkmode=1, operstate=5 >> D/wpa_supplicant( 773): Own MAC address: 00:1a:6b:a2:38:65 >> D/wpa_supplicant( 773): wpa_driver_wext_set_wpa >> D/wpa_supplicant( 773): wpa_driver_wext_set_key: alg=0 key_idx=0 >> set_tx=0 seq_len=0 key_len=0 >> D/wpa_supplicant( 773): wpa_driver_wext_set_key: alg=0 key_idx=1 >> set_tx=0 seq_len=0 key_len=0 >> D/wpa_supplicant( 773): wpa_driver_wext_set_key: alg=0 key_idx=2 >> set_tx=0 seq_len=0 key_len=0 >> D/wpa_supplicant( 773): wpa_driver_wext_set_key: alg=0 key_idx=3 >> set_tx=0 seq_len=0 key_len=0 >> D/wpa_supplicant( 773): wpa_driver_wext_set_countermeasures >> D/wpa_supplicant( 773): wpa_driver_wext_set_drop_unencrypted >> D/wpa_supplicant( 773): Setting scan request: 0 sec 100000 usec >> D/wpa_supplicant( 773): Using existing control interface directory. >> D/wpa_supplicant( 773): ctrl_interface_group=1010 (from group name >> 'wifi') >> D/wpa_supplicant( 773): Added interface eth1 >> D/wpa_supplicant( 773): RTM_NEWLINK: operstate=0 ifi_flags=0x1043 >> ([UP][RUNNING]) >> D/wpa_supplicant( 773): RTM_NEWLINK, IFLA_IFNAME: Interface 'eth1' >> added >> D/wpa_supplicant( 773): RTM_NEWLINK: operstate=0 ifi_flags=0x1003 >> ([UP]) >> D/wpa_supplicant( 773): RTM_NEWLINK, IFLA_IFNAME: Interface 'eth1' >> added >> D/wpa_supplicant( 773): RTM_NEWLINK: operstate=0 ifi_flags=0x1003 >> ([UP]) >> D/wpa_supplicant( 773): Wireless event: cmd=0x8b06 len=8 >> D/wpa_supplicant( 773): State: DISCONNECTED -> SCANNING >> I/wpa_supplicant( 773): CTRL-EVENT-STATE-CHANGE id=-1 state=2 >> D/wpa_supplicant( 773): Starting AP scan (broadcast SSID) >> D/wpa_supplicant( 773): Trying to get current scan results first >> without requesting a new scan to speed up initial association >> D/wpa_supplicant( 773): Received 0 bytes of scan results (0 BSSes) >> D/wpa_supplicant( 773): Scan results: 0 >> I/wpa_supplicant( 773): CTRL-EVENT-SCAN-RESULTS Ready >> D/wpa_supplicant( 773): No suitable AP found. >> D/wpa_supplicant( 773): Setting scan request: 0 sec 0 usec >> D/wpa_supplicant( 773): Starting AP scan (broadcast SSID) >> D/wpa_supplicant( 773): Scan requested (ret=0) - scan timeout 5 >> seconds >> D/wpa_supplicant( 773): RTM_NEWLINK: operstate=0 ifi_flags=0x1003 >> ([UP]) >> D/wpa_supplicant( 773): Wireless event: cmd=0x8b19 len=8 >> D/wpa_supplicant( 773): Received 0 bytes of scan results (0 BSSes) >> D/wpa_supplicant( 773): Scan results: 0 >> I/wpa_supplicant( 773): CTRL-EVENT-SCAN-RESULTS Ready >> D/wpa_supplicant( 773): No suitable AP found. >> D/wpa_supplicant( 773): Setting scan request: 5 sec 0 usec >> D/WifiService( 708): ACTION_BATTERY_CHANGED pluggedType: 1 >> D/wpa_supplicant( 773): No enabled networks - do not scan >> D/wpa_supplicant( 773): State: SCANNING -> INACTIVE >> I/wpa_supplicant( 773): CTRL-EVENT-STATE-CHANGE id=-1 state=1 >> D/WifiService( 708): ACTION_SCREEN_ON >> V/WifiStateTracker( 708): Supplicant died unexpectedly >> D/wpa_supplicant( 773): RTM_NEWLINK: operstate=0 ifi_flags=0x1002 () >> D/wpa_supplicant( 773): RTM_NEWLINK, IFLA_IFNAME: Interface 'eth1' >> added >> I/wpa_supplicant( 773): CTRL-EVENT-TERMINATING - signal 15 received >> I/wpa_supplicant( 773): CTRL-EVENT-TERMINATING - signal 0 received >> D/wpa_supplicant( 773): Removing interface eth1 >> D/wpa_supplicant( 773): State: INACTIVE -> DISCONNECTED >> I/wpa_supplicant( 773): CTRL-EVENT-STATE-CHANGE id=-1 state=0 >> D/wpa_supplicant( 773): wpa_driver_wext_set_operstate: operstate 0->0 >> (DORMANT) >> D/wpa_supplicant( 773): WEXT: Operstate: linkmode=-1, operstate=5 >> D/wpa_supplicant( 773): No keys have been configured - skip key >> clearing >> D/wpa_supplicant( 773): EAPOL: External notification - portEnabled=0 >> D/wpa_supplicant( 773): EAPOL: External notification - portValid=0 >> D/wpa_supplicant( 773): wpa_driver_wext_set_wpa >> D/wpa_supplicant( 773): wpa_driver_wext_set_drop_unencrypted >> D/wpa_supplicant( 773): wpa_driver_wext_set_countermeasures >> D/wpa_supplicant( 773): No keys have been configured - skip key >> clearing >> D/wpa_supplicant( 773): CTRL_IFACE wait for attached monitors to >> receive messages >> D/wpa_supplicant( 773): Cancelling scan request >> D/wpa_supplicant( 773): Cancelling authentication timeout >> D/wpa_supplicant( 773): WEXT: Operstate: linkmode=0, operstate=6 >> >> Then ,I try the private socket >> first ,I remove the /data/system/wpa_supplicant as you said in the >> groups >> then: >> 3. >> ctrl_interface=eth1 >> update_config=1 >> ap_scan=1 >> 4. >> init.rc >> comment these: >> ## wpa_supplicant socket (unix socket mode) >> # mkdir /data/system/wpa_supplicant 0777wifiwifi >> # chmod 0777 /data/system/wpa_supplicant >> # chownwifiwifi/data/system/wpa_supplicant >> # chownwifiwifi/data/system >> # chownwifiwifi/data >> 5. >> service wpa_supplicant /system/bin/wpa_supplicant -dd -Dwext -ieth1 - >> c /system/etc/wifi/wpa_supplicant.conf >> socket wpa_eth1 dgram 777wifiwifi >> group systemwifiinet >> disabled >> oneshot >> >> the others are the same as the uinx socket. >> but it still can not connnect. >> >> the logs : >> I/PackageManager( 708): >> Features:android.hardware.wifiandroid.hardware.location.networkandroid.hardware.bluetoothandroid.hardware.locationandroid.hardware.location.gpsandroid.hardware.touchscreenandroid.hardware.sensor.accelerometerandroid.hardware.sensor.compass >> V/ConnectivityService( 708): Starting >> ... >> >> read more » > > -- > unsubscribe: [email protected] > website: http://groups.google.com/group/android-porting > -- unsubscribe: [email protected] website: http://groups.google.com/group/android-porting
