需要的源码与版本:
DPO_RT3070_LinuxSTA_V2.3.0.2_20100412
libnl-1.1.4
openssl-1.0.1d
wpa_supplicant-0.7.3
- 进入DPO_RT3070_LinuxSTA_V2.3.0.2_20100412目录,修改Makefile
line18 #PLATFORM = PC
line36 PLATFORM = SMDK
line187 LINUX_SRC = /home/topeet/Downloads/iTop4412_Kernel_3.0
line188 CROSS_COMPILE = /usr/local/arm/arm-2009q3/bin/arm-none-linux-gnueabi-
line307 # cp -f ( R T 28 x x D I R ) / o s / l i n u x / r t (RT28xx_DIR)/os/linux/rt (RT28xxDIR)/os/linux/rt(CHIPSET)sta.ko /tftpboot
2.修改include/os/rt_linux.h
line562 #define DBGPRINT(Level, Fmt)
line1014 #define RTUSB_URB_ALLOC_BUFFER(pUsb_Dev, BufSize, pDma_addr) usb_alloc_coherent(pUsb_Dev, BufSize, GFP_ATOMIC, pDma_addr)
line1015 #define RTUSB_URB_FREE_BUFFER(pUsb_Dev, BufSize, pTransferBuf, Dma_addr) usb_free_coherent(pUsb_Dev, BufSize, pTransferBuf, Dma_addr)
3.修改include/rtmp_def.h
line1500 #define INF_MAIN_DEV_NAME “wlan”
line1501 #define INF_MBSSID_DEV_NAME “wlan”
4.修改os/linux/rt_usb_util.c
line135 return usb_alloc_coherent(dev, size, mem_flags, dma);
line145 usb_free_coherent(dev, size, addr, dma);
5.修改os/linux/usb_main_dev.c
line35 MODULE_LICENSE(“GPL”);
6.修改common/rtmp_init.c
line4916 MODULE_LICENSE(“GPL”);
7.编译RT3070_STA驱动
make ARCH=arm KBUILD_NOPEDANTIC=1
8.复制RT3070_STA驱动
复制os/linux/rt3070sta.ko到/lib/modules/3.0.15目录下
复制RT2870STA.dat到/etc/Wireless/RT2870STA目录下
9.编译openssl-1.0.1d和libnl-1.1.4
编译openssl-1.0.1d
cd openssl-1.0.1d
./Configure linux-elf-arm
修改Makefile
line29 INSTALLTOP=/usr/local/arm/ssl
line62 CC= arm-none-linux-gnueabi-gcc
line66 EX_LIBS= -ldl
line69 AR= arm-none-linux-gnueabi-ar $(ARFLAGS) r
line70 RANLIB= arm-none-linux-gnueabi-ranlib
su
make
make install
编译libnl-1.1.4(路径中不能出现空格)
cd libnl-1.1.4
./configure -prefix=/usr/local/arm/libnl1.1
su
make CC=arm-none-linux-gnueabi-gcc
make install
将/usr/local/arm/libnl1.1/lib下所有文件拷贝至开发板文件系统/lib目录下
进入wpa_supplicant-0.7.3目录,添加openssl-1.0.1d和libnl-1.1.4的安装路径,编辑defconfig。
line12 CFLAGS += -I/usr/local/arm/ssl/include/
line13 CFLAGS += -I/usr/local/arm/libnl1.1/include/
line14 LIBS += -L/usr/local/arm/ssl/lib/
line15 LIBS += -L/usr/local/arm/libnl1.1/lib/
line16 CC = arm-none-linux-gnueabi-gcc -L /usr/local/arm/ssl/lib/
cp defconfig .config
2.编译wpa_supplicant
make
3.复制wpa_xxx可执行文件到/usr/sbin目录下
4.在/etc目录下新建wpa_supplicant.conf文件
update_config=1
ctrl_interface=/var/run/wpa_supplicant
network={
ssid=“ktd”
proto=RSN
key_mgmt=WPA-PSK
auth_alg=OPEN
pairwise=CCMP
psk=“lkjhgfdsa”
}
5.执行wpa_supplicant,连接WiFi
insmod /lib/modules/3.0.15/rt3070sta.ko
ifconfig wlan0 up
ifconfig eth0 down
wpa_supplicant -i wlan0 -c /etc/wpa_supplicant.conf -B
udhcpc -i wlan0
6.加入新的无线网络配置
wpa_passphrase ktd lkjhgfdsa >> /etc/wpa_supplicant.conf
修改RT2870STA.dat(目前还不知道有什么用)
line7 SSID=ktd
line21 AuthMode=WPA2PSK
line22 EncrypType=AES
line23 WPAPSK=lkjhgfdsa
wpa_supplicant -Dwext -iwlan0 -c/etc/wpa_supplicant.conf &
!!!注意,以上为参考同事的教程,但最后执行后可以成功连接无线网,但却无法获得IP地址,无法连接网络,最终查找资料解决方法如下:
https://blog.csdn.net/u012183924/article/details/53390154
##########
-
busybox\examples\udhcp\simple.script
拷贝到开发板
/usr/share/udhcpc/default.script -
要添加可执行权限
chmod 755 /usr/share/udhcpc/default.script
移植RT3070AP过程
http://bbs.elecfans.com/jishu_571189_1_1.html
- Openssl库
- linbl库
- Hostapd
- iptables
介绍
https://blog.csdn.net/qicheng777/article/details/72882960
RT3070L无线网卡移植
https://blog.csdn.net/very__good/article/details/50529890
RT3070wifi模块STA模式移植
https://blog.csdn.net/konjikinoyami/article/details/50866118