As a result of the project work needs, in the day embedded E9 platform to achieve WiFi point-to-point, point-to-point transmission.
Wifi module Chip: Leiling 3070 Chip
Embedded platform: E9 (ARM)
Cross-compilation environment: Arm-none-linux-gnueabi
1 First download the drive 2011_0719_RT3070_RT3370_RT5370_RT5372_RT2070_LINUX_STA_V2.5.0.3_DPO of the WiFi module
2 cross-compilation of drives
A open the file after extracting the drive file, if you need WPA and other functions, you can open./os/linux/config.mk, if you do not need to go directly to step b
b Open the driver file root directory of the makefile to modify, first chipset changed to 3070
Then the cross-compilation environment is configured, the default platform = PC, we make changes to the PC block code, the following changes
Ifeq ($ (PLATFORM), PC)
# Linux 2.6
linux_src =/opt/e9_cd/linux/linux_e9_3.0.35_for_linux
# Linux 2.4 Change to your The local setting
#LINUX_SRC =/usr/src/linux-2.4
linux_src_module =/opt/e9_cd/linux/linux_e9_ 3.0.35_for_linux/drivers/net/wireless/
cross_compile =/opt/embedsky/ gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/tq-linaro-toolchain/bin/arm-none-linux-gnueabi-
endif
After saving for sudo make
Where linux_e9_3.0.35 is the Linux kernel source directory
3 after successful compilation, the Rt30870.sta.ko in the RT2870STA.dat and./os/linux/directory under the root directory are copied into the board
mkdir–p/etc/wireless/rt2870sta/
CP rt2870sta.dat/etc/wireless/rt2870sta/
CP RT3070STA.KO/USR
4 Load Driver
5 then you can see through ifconfig-a that the system has properly identified the NIC, named RA0
6 boot Nic Ifconfig ra0 up See data output, successful porting
--------------------------------------------------------------------------------------------------------------- ------------------------------------
Problems that you may encounter:
1 rtmp_chip.c:470:error:implicit declaration of function ' Rt33xx_init '
Workaround: Comment out the Rt33xx_init (pAd) in the No. 470 row of the RTMP_CHIP.C in the chips directory
2 Insmod, it's a problem.
Solve: The general problem here is that the Board kernel version and the cross compilation of the kernel version of inconsistent results, you can uname-a view the board kernel version, Modinfo Rt3070sta.ko view the generated driver version number, see if it is consistent. I met this problem solved a morning, found version number a armv5 a armv7, finally is the Linux source code compiled (set up the cross-compilation environment, run the build.sh), and then compile the WiFi module to solve. When compiling the kernel, be careful to set up the cross compilation environment.
Related Posts recommended:
1 http://blog.chinaunix.net/uid-28599023-id-3483821.html
2 http://www.linuxidc.com/Linux/2011-03/33483.htm
3 http://blog.csdn.net/zhuqing_739/article/details/6259686#