修改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