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

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/antoniofay/article/details/48468035

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,终于连接上了。

 

 

展开阅读全文

没有更多推荐了,返回首页