混乱してきたので覚え書き。
・ビルドの設定
/vendor/asus/eee_701/BoardConfig.mkに以下の設定を追加
WPA_BUILD_SUPPLICANT := true
BOARD_WPA_SUPPLICANT_DRIVER := WEXT
※多分/external/wpa_supplicant/Android.mkに追加しても大丈夫なはず。。。
・WiFi下回り制御に手を入れる
/hardware/libhardware_legacy/wifi/wifi.cに手を入れる。
55行目くらいからモジュール名とかの設定があるので必要に応じて手を入れる。
WLAN Driverをモジュール化しないで組み込んだ場合はダミーの値を上に戻すよう
にするとGUIでそれっぽい動作ができる。
手を入れるのは
static int check_driver_loaded()
static int wifi_load_driver()
static int wifi_unload_driver()
くらいにダミーの値を戻すように設定しておく。
・init.rcの設定
とりあえず、以下の設定を追加
mkdir /data/misc/wifi 0770 wifi wifi
mkdir /data/misc/wifi/sockets 0770 wifi wifi
mkdir /data/system/wifi/wpa_supplicant 0770 wifi wifi
mkdir /data/misc/dhcp 0770 dhcp dhcp
chown dhcp dhcp /data/misc/dhcp
setprop wifi.interface wlan0
on property:init.svc.wpa_supplicant=stopped
stop dhcpcd
service wpa_supplicant /system/bin/wpa_supplicant -Dwext -iwlan0 -c/data/misc/wifi/wpa_supplicant.conf -dd
user wifi
group wifi inet
socket wpa_wlan0 dgram 660 wifi wifi
disabled
oneshot
service dhcpcd /system/bin/logwrapper dhcpcd -d wlan0
disabled
oneshot
・wpa_supplicant.confを設定
とりあえず、1ctrl_interface=wlan0をセットする。
だめな場合、以下を試すようにとの記述もあった。
ctrl_interface=DIR=/data/system/wpa_supplicant/ GROUP=system
ここまでやったら、とりあえずGUIからWLANの操作はできるようになったかの
ように見える。が、、、
wpa_supplicantが正常に動作していない。
managed modeにうまく設定できないみたい。
とりあえずエラーログを貼付けると
//system/bin/wpa_supplicant( 2064): Initializing interface 'wlan0' conf '/data/misc/wifi/wpa_supplicant.conf' driver 'wext' ctrl_interface 'N/A' bridge 'N/A'
I//system/bin/wpa_supplicant( 2064): Configuration file '/data/misc/wifi/wpa_supplicant.conf' -> '/data/misc/wifi/wpa_supplicant.conf'
I//system/bin/wpa_supplicant( 2064): Reading configuration file '/data/misc/wifi/wpa_supplicant.conf'
I//system/bin/wpa_supplicant( 2064): update_config=1
I//system/bin/wpa_supplicant( 2064): ctrl_interface='DIR=/data/system/wpa_supplicant GROUP=system'
I//system/bin/wpa_supplicant( 2064): eapol_version=1
I//system/bin/wpa_supplicant( 2064): ap_scan=1
I//system/bin/wpa_supplicant( 2064): fast_reauth=1
I//system/bin/wpa_supplicant( 2064): Initializing interface (2) 'wlan0'
I//system/bin/wpa_supplicant( 2064): EAPOL: SUPP_PAE entering state DISCONNECTED
I//system/bin/wpa_supplicant( 2064): EAPOL: KEY_RX entering state NO_KEY_RECEIVE
I//system/bin/wpa_supplicant( 2064): EAPOL: SUPP_BE entering state INITIALIZE
I//system/bin/wpa_supplicant( 2064): EAP: EAP entering state DISABLED
I//system/bin/wpa_supplicant( 2064): EAPOL: External notification - portEnabled=0
I//system/bin/wpa_supplicant( 2064): EAPOL: External notification - portValid=0
I//system/bin/wpa_supplicant( 2064): ioctl[SIOCSIWPMKSA]: Operation not permitted
I//system/bin/wpa_supplicant( 2064): ioctl[SIOCSIWMODE]: Operation not permitted
I//system/bin/wpa_supplicant( 2064): Could not configure driver to use managed mode
I//system/bin/wpa_supplicant( 2064): SIOCSIFFLAGS: Permission denied
I//system/bin/wpa_supplicant( 2064): Could not set interface 'wlan0' UP
I//system/bin/wpa_supplicant( 2064): SIOCGIWRANGE: WE(compiled)=22 WE(source)=21 enc_capa=0xf
I//system/bin/wpa_supplicant( 2064): capabilities: key_mgmt 0xf enc 0xf
I//system/bin/wpa_supplicant( 2064): WEXT: Operstate: linkmode=1, operstate=5
I//system/bin/wpa_supplicant( 2064): socket(PF_PACKET): Operation not permitted
I//system/bin/wpa_supplicant( 2064): Failed to add interface wlan0
I//system/bin/wpa_supplicant( 2064): State: DISCONNECTED -> DISCONNECTED
(以下略)
てな感じで設定に失敗している。
どうもドライバが正常に動作していないみたいだけど、何だろう。。。
0 件のコメント:
コメントを投稿