hey, am having a small problem with porting wifi to a my device.

This is my config:

wifi.c (in libhardware_legacy)
    static const char IFACE_DIR[]           = "/data/misc/wifi/
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";


wpa_supplicant.conf
    update_config=1
    ctrl_interface=DIR=/data/misc/wifi/wpa_supplicant


init.rc
    mkdir /data/misc/wifi 0770 wifi wifi
    chmod 0770 /data/misc/wifi
    chmod 0660 /data/misc/wifi/wpa_supplicant.conf
    chown wifi wifi /data/misc/wifi/wpa_supplicant.conf

    mkdir /system/etc/wifi 0770 wifi wifi
    chmod 0770 /system/etc/wifi
    chmod 0660 /system/etc/wifi/wpa_supplicant.conf
    chown wifi wifi /system/etc/wifi/wpa_supplicant.conf

    # wpa_supplicant socket (unix socket mode)
    mkdir /data/misc/wifi/wpa_supplicant 0771 wifi wifi
    chmod 0771 /data/misc/wifi/wpa_supplicant
    chown wifi wifi /data/misc/wifi/wpa_supplicant

    service wpa_supplicant /system/bin/wpa_supplicant -dd -Dwext -
ieth0 -c /system/etc/wifi/wpa_supplicant.conf
    group system wifi inet
    disabled
    oneshot

Notes:

- Wifi driver/module loads properly (wifi.c, dmesg, iwconfig say so)
- Logcat reports:
    WifiHW: Unable to open connection to supplicant on "eth0": No such
file or directory (~ 4 times then unloads wifi)
- Manually loading the driver/module and
    > running wpa_supplicant (as the service above) gives not errors &
proper logcat
        although it does make this dmesg entry:
            <4>[735, wpa_supplicant] [ 1479.081526] Enter
wl_control_wl_start
            <4>[735, wpa_supplicant] [ 1479.081567] Exited
wl_control_wl_start

    > running 'wpa_cli -p /data/misc/wifi/wpa_supplicant' gives
        Selected interface 'eth0'
        Could not connect to wpa_supplicant - re-trying
    and forever remains this way

    > running 'iwlist scan' works and shows wi-fi networks

My guess would be that my permissions are wrong, but i have been
double checking with 'ls -l' and they seem ok.
The wpa_supplimentary socket 'eth0' does get created so it exists.
My guess would be that the android wifi backend runs as a specific
user other than wifi!?

-- 
unsubscribe: [email protected]
website: http://groups.google.com/group/android-porting

Reply via email to