experimental-section †ここでは、主にbc10向けの試験、調整中の項目を記載します。 USB-WiFi †以下にbc10/froyo で動作を確認している、USB-WiFiデバイスを記載します。 RT2870USB(RT2870/RT2770) †Buffalo WLI-UC-AG300N にて動作を確認 ドライバー入手先 †ダウンロードには名前とメールアドレスの入力が必要になります。 クロスコンパイル †2010_0709_RT2870_Linux_STA_v2.4.0.1 でARM 用にクロスコンパイルするには ダウンロードしたらまず展開します。 $ tar xvfj 2010_0709_RT2870_Linux_STA_v2.4.0.1.tar.bz2 $ cd 2010_0709_RT2870_Linux_STA_v2.4.0.1 1. Makefile - # PLATFORM = PC + PLATFORM = BC10 BC10の時のkernelソースの場所とツールチェインの場所の設定を追加します。 CROSS_COMPILE = /opt/montavista/pro/devkit/arm/v5t_le_mvl5/bin/arm_v5t_le- endif + ifeq ($(PLATFORM),BC10) + LINUX_SRC = /home/beat/android/beagle-droid/kernel + CROSS_COMPILE = /home/beat/android/beagle-droid/prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin/arm-eabi- + endif BC10 の場合のクロスコンパイル設定を追加します。 ifeq ($(PLATFORM),FREESCALE8377) $(MAKE) ARCH=powerpc CROSS_COMPILE=$(CROSS_COMPILE) -C $(LINUX_SRC) SUBDIRS=$(RT28xx_DIR)/os/linux modules else - $(MAKE) -C $(LINUX_SRC) SUBDIRS=$(RT28xx_DIR)/os/linux modules + $(MAKE) ARCH=arm CROSS_COMPILE=$(CROSS_COMPILE) -C $(LINUX_SRC) SUBDIRS=$(RT28xx_DIR)/os/linux modules endif 他のクロスコンパイル設定の判定に追加していますので 条件分岐の整合性に注意してください。 2. os/linux/config.mk # Support Wpa_Supplicant - HAS_WPA_SUPPLICANT=n + HAS_WPA_SUPPLICANT=y n から y に変更します。 BC10 の場合のコンパイルオプションを設定します。 endif +ifeq ($(PLATFORM),BC10) + ifneq (,$(findstring 2.4,$(LINUX_SRC))) + # Linux 2.4 + CFLAGS := -D__KERNEL__ -I$(LINUX_SRC)/include -I$(RT28xx_DIR)/include -O2 -fomit-frame-pointer \ -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=i686 \ -DMODULE -DMODVERSIONS -include $(LINUX_SRC)/include/linux/modversions.h $(WFLAGS) + export CFLAGS + else + # Linux 2.6 + EXTRA_CFLAGS := $(WFLAGS) -I$(RT28xx_DIR)/include + endif +endif + #If the kernel version of RMI is newer than 2.6.27, please change "CFLAGS" to "EXTRA_FLAGS" 3.common/rtusb_dev_id.c + {USB_DEVICE(0x0789,0x0164)}, /* Logitec LAN-W150N/U2 2870 */ + {USB_DEVICE(0x2019,0xED14)}, /* Planex GW-USMicroN */ + {USB_DEVICE(0x0411,0x012e)}, /* Buffalo WLI-UC-AG300N */ 4. ビルド $ sudo make これで make が通り、os/linux/ に rt2870sta.ko がビルドされます。 driver の配置とロード †ホストPC上でSDカード上の Android ユーザランドの /system/lib/modules/ に rt2870sta.koを、 Default CountryRegion=5 CountryRegionABand=7 CountryCode= ChannelGeography=1 SSID=SSIDXXXX NetworkType=Infra WirelessMode=5 Channel=0 BeaconPeriod=100 TxPower=100 BGProtection=0 TxPreamble=0 RTSThreshold=2347 FragThreshold=2346 TxBurst=1 PktAggregate=0 WmmCapable=1 AckPolicy=0;0;0;0 AuthMode=WPAPSK EncrypType=AES WPAPSK=XXXXXXXX DefaultKeyID=1 Key1Type=0 Key1Str= system/etc/init.omap3.sh に以下を追加するか、Android のシリアルコンソールなどから 以下のコマンドを実行してください。 insmod /system/lib/modules/rt2870sta.ko netcfg ra0 up netcfg ra0 dhcp RT3070USB †Buffalo WLI-UC-G301N、Buffalo WLI-UC-GNで動作確認 ドライバー入手先 †http://www.ralinktech.com/support.php?s=2 $ tar xvfj 2010_0831_RT3070_Linux_STA_v2.3.0.0_DPO.bz2 $ cd 2010_0831_RT3070_Linux_STA_v2.3.0.0_DPO bc10用の変更点 †上記RT2870USBと同じようにbc10向けの変更を加えます。 $ vi Makefile #PLATFORM: Target platform - PLATFORM = PC + #PLATFORM = PC (略) #PLATFORM = NXP_TV550 #PLATFORM = MVL5 + PLATFORM = BC10 Line:238〜 ifeq ($(PLATFORM),MVL5) LINUX_SRC = /home2/charlestu/AP-VT3426/linux-2.6.18 CROSS_COMPILE = /opt/montavista/pro/devkit/arm/v5t_le_mvl5/bin/arm_v5t_le- endif + ifeq ($(PLATFORM),BC10) + ANDROID_DIR = ${HOME}/TI_Android_FroYo_DevKit-V2/Android_Source_ \ + Manifest/rowboat-android + LINUX_SRC = /home/beat/bc10-rowboat-kernel + CROSS_COMPILE = ${ANDROID_DIR}/prebuilt/linux-x86/toolchain/arm-eabi- \ 4.4.0/bin/arm-eabi- + endif export OSABL RT28xx_DIR RT28xx_MODE LINUX_SRC CROSS_COMPILE \ CROSS_COMPILE_INCLUDE PLATFORM RELEASE CHIPSET RTMP_SRC_DIR \ LINUX_SRC_MODULE TARGET Line:323〜 ifeq ($(PLATFORM),FREESCALE8377) $(MAKE) ARCH=powerpc CROSS_COMPILE=$(CROSS_COMPILE) -C $(LINUX_SRC) \ SUBDIRS=$(RT28xx_DIR)/os/linux modules else + ifeq ($(PLATFORM),BC10) + $(MAKE) ARCH=arm CROSS_COMPILE=$(CROSS_COMPILE) -C $(LINUX_SRC) \ SUBDIRS=$(RT28xx_DIR)/os/linux modules + else $(MAKE) -C $(LINUX_SRC) SUBDIRS=$(RT28xx_DIR)/os/linux modules endif endif endif ifeq ($(OSABL),YES) 2. 2010_0831_RT3070_Linux_STA_v2.3.0.0_DPO/os/linux/config.mk # Support Wpa_Supplicant - HAS_WPA_SUPPLICANT=n + #HAS_WPA_SUPPLICANT=n + HAS_WPA_SUPPLICANT=y # Support Native WpaSupplicant for Network Maganger HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=n 最終行に以下を追加します。 + ifeq ($(PLATFORM),BC10) + EXTRA_CFLAGS := $(WFLAGS) -I$(RT28xx_DIR)/include -DMODILE + endif 3. 2010_0831_RT3070_Linux_STA_v2.3.0.0_DPO/common/rtusb_dev_id.c USB_DEVICE_ID rtusb_dev_id[] = { #ifdef RT3070 (略) {USB_DEVICE(0x13D3,0x3321)}, /* Azurewave */ {USB_DEVICE(0x07FA,0x7712)}, /* Edimax */ {USB_DEVICE(0x0789,0x0166)}, /* Edimax */ {USB_DEVICE(0x0DB0,0x822B)}, /* MSI 3070*/^M {USB_DEVICE(0x0DB0,0x871B)}, /* MSI 3070*/ + {USB_DEVICE(0x0411,0x015d)}, /* Melco,Inc. */ + {USB_DEVICE(0x0411,0x016f)}, /* Melco,Inc. */ 4. ビルド $ sudo make driver の配置とロード †Android のユーザランドの /system/lib/modules/ に rt3070sta.ko を、 insmod /system/lib/modules/rt3070sta.ko netcfg ra0 up netcfg ra0 dhcp 更新履歴 †2010/11/22: experimental-section 作成、RT2870USB、RT3070USBの記載追加 |