Android wpa supplicant

提供: KiyomiWiki
移動: 案内検索

Beagle Bone BlackにLogitecのUSB LAN アダプタLAN-W150N(rtl8192cuでもOK)を接続して使えるようにポーティングしました。変更手順は、下記のstep1, step2を参考にしてください。 ソースコードからのビルド手順は、「BeagleBoneBlackソースコードからのビルドメモ」を参考にしてください。

step 1 KernelにWi-Fiが使えるように次の手順でカーネルを変更します。

$ make ARCH=arm menuconfig
Device Drivers
– Network device support
– Wireless LAN
Ralink driver support
Ralink rt27xx/rt28xx/rt30xx (USB) support
[*]    rt2800usb – Inclde support for unknown (USB) devices
Realtek RTL8192CU/RTL8188CU USB Wireless Network Adapter

$ make ARCH=arm CROSS_COMPILE=arm-eabi- uImage
$ make ARCH=arm CROSS_COMPILE=arm-eabi- modules

$ mkdir ~/android-BBB/device/ti/beagleboneblack/firmware
$ cp /lib/firmaware/rtlwifi/rtl8192cufw.bin ~/android-BBB/device/ti/beagleboneblack/firmware/rtl8192cufw.bin
$ cp /lib/firmaware/rt2870.bin ~/android-BBB/device/ti/beagleboneblack/firmware/rt2870.bin

step 2 /device/ti/beagleboneblackフォルダの下記の項目を変更します。

1.BoardConfig.mk

+ #WLAN SUPPORT
+ BOARD_WPA_SUPPLICANT_DRIVER := WEXT
+ WPA_SUPPLICANT_VERSION := VER_0_8_X
+ BOARD_WLAN_DEVICE := wlan0

2.init.am335xevm.rc

on post-fs-data
+ 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
+
+ # wifi
+ mkdir /data/misc/wifi/sockets 0770 wifi wifi
+ insmod /system/lib/modules/cfg80211.ko
+ insmod /system/lib/modules/mac80211.ko
+ insmod /system/lib/modules/rtlwifi.ko
+ insmod /system/lib/modules/rtl8192c-common.ko
+ insmod /system/lib/modules/rtl8192cu.ko

+ insmod /system/lib/modules/rt2x00lib.ko
+ insmod /system/lib/modules/rt2x00usb.ko
+ insmod /system/lib/modules/rt2800lib.ko
+ insmod /system/lib/modules/rt2800usb.ko
+
+ #wpa_supplicant control socket for android wifi.c (android private socket)
+ mkdir /data/misc/wifi 0770 wifi wifi
+ mkdir /data/misc/wifi/sockets 0770 wifi wifi
+ chmod 0770 /data/misc/wifi
+ chown wifi wifi /data/misc/wifi
+ chmod 0660 /data/misc/wifi/wpa_supplicant.conf
+ chown wifi wifi /data/misc/wifi/wpa_supplicant.conf

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

+ mkdir /data/misc/dhcp 0770 dhcp dhcp
+ chown dhcp dhcp /data/misc/dhcp

+ service wpa_supplicant /system/bin/wpa_supplicant \
+ -iwlan0 -Dwext -c/data/misc/wifi/wpa_supplicant.conf \
+ -e/data/misc/wifi/entropy.bin
+ class main
+ socket wpa_wlan0 dgram 660 wifi wifi
+ disabled
+ oneshot
+
+ service dhcpcd_wlan0 /system/bin/dhcpcd -ABKL
+ class main
+ disabled
+ oneshot
+
+ service iprenew_wlan0 /system/bin/dhcpcd -n
+ class main
+ disabled
+ oneshot

3.device.mk

+ # WLAN Support
+ PRODUCT_COPY_FILES += \
+ frameworks/native/data/etc/android.hardware.wifi.xml:system/etc/permissions/android.hardware.wifi.xml
+
+ # wpasupplicant.conf
+ PRODUCT_COPY_FILES += \
+ device/ti/beagleboneblack/wpa_supplicant.conf:system/etc/wifi/wpa_supplicant.conf
+
+ # wlan driver
+ PRODUCT_COPY_FILES += \
+ kernel/net/wireless/cfg80211.ko:system/lib/modules/cfg80211.ko \
+ kernel/net/mac80211/mac80211.ko:system/lib/modules/mac80211.ko \
+ kernel/drivers/net/wireless/rtlwifi/rtlwifi.ko:system/lib/modules/rtlwifi.ko \
+ kernel/drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common.ko:system/lib/modules/rtl8192c-common.ko \
+ kernel/drivers/net/wireless/rtlwifi/rtl8192cu/rtl8192cu.ko:system/lib/modules/rtl8192cu.ko

+ # wlan driver rt2x00
+ PRODUCT_COPY_FILES += \
+ kernel/drivers/net/wireless/rt2x00/rt2x00lib.ko:system/lib/modules/rt2x00lib.ko \
+ kernel/drivers/net/wireless/rt2x00/rt2x00usb.ko:system/lib/modules/rt2x00usb.ko \
+ kernel/drivers/net/wireless/rt2x00/rt2800lib.ko:system/lib/modules/rt2800lib.ko \
+ kernel/drivers/net/wireless/rt2x00/rt2800usb.ko:system/lib/modules/rt2800usb.ko

+ # wlan firmware
+ PRODUCT_COPY_FILES += \
+ device/ti/beagleboneblack/firmware/rtl8192cufw.bin:system/etc/firmware/rtlwifi/rtl8192cufw.bin \
+ device/ti/beagleboneblack/firmware/rt2870.bin:system/etc/firmware/rt2870.bin

4.overlay/frameworks/base/core/res/res/values/config.xml

<string-array translatable=”false” name=”networkAttributes”>
<item>”ethernet,9,9,2,-1,true”</item>
+ <item>”wifi,1,1,1,-1,true”</item>
</string-array>

<string-array translatable=”false” name=”radioAttributes”>
+ <item>”1,1″</item>
<item>”9,1″</item>
</string-array>

5.wpa_supplicant.conf ファイルを追加します。

update_config=1
ctrl_interface=/data/system/wpa_supplicant
#ctrl_interface=wlan0
eapol_version=1
ap_scan=1
fast_reauth=1

■ 参考URL:

http://processors.wiki.ti.com/index.php/TI-Android-JB-4.2.2-DevKit-4.1.1_DeveloperGuide

http://nelenkov.blogspot.jp/2013/07/building-wireless-android-device.html