硬件:T5833JCB_T31N_sc223a机型的板子(带wifi模组);串口线;电源线
软件:MobaXterm串口工具;Ubuntu;ssv6355驱动开发包;内核源码kernel_goscam(公司现成的)
对于我来说wifi驱动移植总共有下面几个步骤:
一.内核编译:
在kernel_goscam目录下按顺序执行:
1.make clean ——如果之前曾经编译过,make clean 可以将之前产生的可执行档及其他档案删除, 有时发现重新编译出来的档案没有更新, 可以先执行 make clean;
2.覆盖内核配置文件:cp config_C5936JDA_1.1.2 (现成的) .config —— 这个时候我们的内核配置文件就是config_C5936JDA_1.1.2
3. 将 ssv6x5x 驱动包放置在 kernel_goscam/drivers/net/wireless/之下,并且修改kernel_goscam/drivers/net/wireless/Kconfig 以及 kernel/drivers/net/wireless/Makefile
(1)Makefile的修改:
Makefile中添加ssv6x5x(2)Kconfig的修改:
Kconfig的修改4.make menuconfig 在内核的图形界面选中 Device Drivers --->
[*]Network device surport --->
[*] wireless LAN --->
[M]SSV6X5X Wireless driver
5. make uImage ——编译内核
二.wifi驱动编译
1.修改wifi驱动的Makefile:进入/share/kernel_goscam/drivers/net/wireless/ssv6x5x
修改驱动Makefile注意:修改的内容主要为:
(1)KERNEL_OBJ_PATH:内核源码路径;
(2)SSV_DRV_PATH := drivers/net/wireless/ssv6x5x——指 定SSV 系列芯片的驱动程序路径
(3)注释X86架构;
(4)ARYH:=mips——添加mips架构;
(5)CROSS_COMPILE := mips-linux-gnu- ——添加交叉编译工具;
(6)INSTALL_PATH := kernel_goscam/drivers/net/wireless/ssv6200 —— 修改安装路径
2.make——对WIFI驱动进行编译
会在/home/herbert/share/kernel_goscam/drivers/net/wireless/ssv6x5x路径下生成ssv6x5x.ko
生成ssv6x5x.ko3.加载驱动,联网测试
将生成的ssv6x5x.ko驱动放到sd卡插入到板子中,然后执行如下命令:
(1)insmod ssv6x5x.ko;
(2)ip link set wlan0 name ra0;
(3)ifconfig ra0 up;
(4)修改wpa_supplicant.conf中要连接的wifi热点的ssid和password;
(5)在/opt/ipnc路径下执行:./wpa_supplicant -iwlan0 -Dwext -c ./wpa_supplicant.conf -B
(6)udhcpc -i ra0:动态分配IP;
(7)ping www.baidu.com
Ping通,联网测试成功注意事项:
(1)第一次启动网卡时总是失败,要连续两次启动网卡;
(2)wpa_supplicant不支持nl80211,只支持wext,所以执行联网测试命令时要注意;
(3)wpa_supplicant.conf的ssid和passwd一定要细致设置
4.WIFI SSV6355跑图测试
(1)同事集成WIFI到T5931JCB代码中后,得到相应的库,然后我编译添加了相应的机型,编译了程序;
(2)将程序GS_DEVICE_SDK放到SD卡
(3)先烧录设备ID:/opt/ipnc/GS_Factory_Tools id A99BD210IAN4N76
(4)跑程序
(5)手机打开COSCOM app添加摄像头(wifi)连接设备
跑图成功注意事项:
(1)要先烧录设备ID,然后再跑程序;
(2)注意sensor是否正确或是否存在,在启动脚本中start.sh中检查;
(3)app.json和camera.json设置分辨率为1920X1080,人形检测设置0;
五.总结
因为有上次aic8800驱动移植的经验,所以这次ssv6355wifi驱动的移植花的时间比上次短很多,其中有许多注意的地方,比如:
1.在设置wpa_supplicant.conf的ssid和password时由于不细致,导致联网不成功;
2.不了解我们wpa_supplicant不支持nl80211,只支持wext,导致联网不成功;
3.5931的机型没有添加到服务器,导致跑图不成功,后面是改了5931的config配置文件中的内容为5833才跑图成功的
网友评论