新唐N32926调试--wifi模块调试

本文详细记录了在新唐N32926开发板上进行Wi-Fi模块的调试过程,包括加载驱动、使用wireless_tools静态编译、解决缺少动态库的问题,以及移植wpa_supplicant和openssl以实现连接。通过修改配置文件和执行wpa_supplicant命令,最终成功连接上Wi-Fi。

insmod移植好的wifi驱动,能正确加载,但却连不上wifi。一开始我以为是配置文件写的不对,改了下还是不行,最后把AP改成开放式连上了,分析应该是加解密有问题,因此打算移植wireless_tools手动配置看下。

下载wireless_tools解压,修改makefile,

CC = arm-linux-gcc
AR = arm-linux-ar
RANLIB = arm-linux-ranlib

然后make,把生成的可执行文件拷贝到开发板,执行时显示No such file or directory,发现官方BSP里的rootfs没有动态库。可以选择静态编译wireless-tools,也可以自己做动态库,这里先说静态编译。makefile中BUILD_STATIC = y, BUILD_NOLIBM = y。

%: %.o
$(CC) $(LDFLAGS) $(STRIPFLAGS) $(XCFLAGS) -o $@ $^ $(LIBS)  -static

重新make拷贝,可以执行了。手动调试发现还是连不上wifi,网上看了下说要移植wpa_supplicant。

下载wpa_supplicant-0.7.3和依赖库openssl-0.9.8e,我用的版本比较老,新版本还需要libnl。

分别解压,mkdir openssl,openssl生成的库文件都放在这,不要用默认安装路径污染宿主机。

拷贝wpa_supplicant/patches下对应openssl版本的patch到openssl-0.9.8e下

cd openssl-0.9.8e

  ./config --prefix=/xx/xx/openssl

修改Makefile, 将CC AR RANLIB改成arm-linux-gccarm-linux-ararm-linux-ranlib

make,make install

静态编译wpa_supplicant,修改.config文件,增加以下几行内容:

CC= arm-linux-gcc -L/home/developer/wpa_supplicant/openssl/lib -static
CFLAGS += -I/home/developer/wpa_supplicant/include/
LIBS += -L/home/developer/wpa_supplicant/lib/

make,得到wpa_supplicant。

rootfs下增加/etc/wpa_supplicant/wpa_supplicant.conf,内容为:

ctrl_interface=/var/run/wpa_supplicant
network={
   ssid="xxxx"
   scan_ssid=1
   key_mgmt=WPA-EAP WPA-PSK IEEE8021X NONE    
  pairwise=TKIP CCMP    
  group=CCMP TKIP WEP104 WEP40    
  psk="xxxx"
}

执行wpa_supplicant -B -ira0 -c /etc/wpa_supplicant/wpa_supplicant.conf -Dwext,终于连接上了。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值