修改ralink的wifi的驅動,更名ra0為wlan0
include\rtmp_def.h
#define INF_MAIN_DEV_NAME "wlan"
#define INF_MBSSID_DEV_NAME "wlan"
insmod rt2070sta.ko
在進程顯示是rt2070sta,而Android要求的是wlan,所以要修改WIFI驅動。
修改os/linux/Makefile.6
MOD_NAME = wlan
將文件中所有rt$(CHIPSET)sta-objs 替換成wlan,然後編譯,最後生成wlan.ko。
android就可以自由加載和卸載驅動了。而不需要修改android
常見錯誤
(1)
/ # ifconfig wlan0 up
<-- ERROR in Alloc TX TxContext[2] HTTX_BUFFER !!
<-- RTMPAllocTxRxRingMemory, Status=3
ERROR!!! RTMPAllocDMAMemory failed, Status[=0x00000003]
!!! rt28xx Initialized fail !!!
error: SIOCSIFFLAGS (Operation not permitted)
這是由於申請空間不夠,將BULKAGGER_SIZE改小一點
修改include/os/rt_linux.h
1007行
#else
#define BULKAGGER_SIZE 60
#endif
(2)
insmod rt2070sta.ko_60 rt2070sta: disagrees about version of symbol wake_up_
process
rt2070sta: Unknown symbol wake_up_process
rt2070sta: disagrees about version of symbol filp_close
rt2070sta: Unknown symbol filp_close
原因:內核沒有更新,rt2070sta所依賴的內核與當前不一致
解決:將內核從新編譯一下就行了。
本文結束
編譯android2.1為MID版本
./build/target/product/min_dev.mk
./build/target/product/core.mk
修改PRODUCT_POLICY := android.policy_phone為:
PRODUCT_POLICY := android.policy_mid
remove the
com.android.internal.policy.impl.PhoneLayoutInflater
com.android.internal.policy.impl.PhoneWindow
in the file /frameworks/preload-class