2.3.1_r1では、2.2_r1.3のwifi.cでは上手く接続できません。
直接的、かつ強引な手法ですが、下記のように修正することで接続可能になります。
property_set( "ctl.stop" , "dhcpcd" );
sched_yield();
//property_set( "ctl.stop " , "wpa_supplicant" );
//sched_yield();
int ret;
char command1[]="echo 1 > /sys/devices/platform/bwpm/wifi";
char command2[]="echo 1 > /sys/bus/platform/drivers/msm_sdcc/msm_sdcc.1/polling";
char command3[]="echo 0 > /sys/devices/platform/bwpm/wifi";
char command4[]="echo 0 > /sys/bus/platform/drivers/msm_sdcc/msm_sdcc.1/polling";
char command5[]="stop synergy_service";
char command6[]="start synergy_service";
char command7[]="start wpa_supplicant";
char command8[]="start dhcpcd";
char command9[]="stop wpa_supplicant";
ret=system(command5);
sched_yield();
usleep(500000);
ret=system(command3);
sched_yield();
usleep(100000);
ret=system(command4);
sched_yield();
usleep(100000);
ret=system(command1);
sched_yield();
usleep(100000);
ret=system(command2);
sched_yield();
usleep(100000);
ret=system(command6);
sched_yield();
usleep(1000000);
ret=system(command9);
sched_yield();
usleep(10000000);
ret=system(command7);
sched_yield();
usleep(10000000);
ret=system(command8);
sched_yield();
else LOGD( "wifi: %s(): wait for enable wlan0 ...." , __FUNCTION__ ); ret=system(command5); sched_yield(); usleep(500000); ret=system(command3); sched_yield(); usleep(100000); ret=system(command4); sched_yield(); usleep(100000); ret=system(command1); sched_yield(); usleep(100000); ret=system(command2); sched_yield(); usleep(100000); ret=system(command6); sched_yield(); usleep(100000); ret=system(command9); sched_yield(); usleep(1000000); ret=system(command7); sched_yield(); usleep(1000000); ret=system(command8); sched_yield();
chown system system /sys/bus/platform/drivers/msm_sdcc/msm_sdcc.1/polling
class start default insmod /system/lib/modules/unifi_sdio.ko setprop wifi.interface wlan0 setprop wlan.driver.status ok ifup lo ifup wlan0 hostname localhost domainname localdomain user system
service wpa_supplicant /system/bin/logwrapper /system/bin/wpa_supplicant -Dwext -iwlan0 -c/data/misc/wifi/wpa_supplicant.conf -dd disabled service dhcpcd /system/bin/logwrapper /system/bin/dhcpcd -d wlan0 disabled oneshot