busybox文件系统与简单驱动学习(4)-RT3070无线网卡STA模式配置

需要的源码与版本:
DPO_RT3070_LinuxSTA_V2.3.0.2_20100412
libnl-1.1.4
openssl-1.0.1d
wpa_supplicant-0.7.3

  1. 进入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
##########

  1. busybox\examples\udhcp\simple.script
    拷贝到开发板
    /usr/share/udhcpc/default.script

  2. 要添加可执行权限

      chmod 755 /usr/share/udhcpc/default.script
    

移植RT3070AP过程
http://bbs.elecfans.com/jishu_571189_1_1.html

RT3070L无线网卡移植
https://blog.csdn.net/very__good/article/details/50529890
RT3070wifi模块STA模式移植
https://blog.csdn.net/konjikinoyami/article/details/50866118

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值