i2C-B6ULL开发板提供了两个USB Host端口,可以连接其他USB设备到开发板,增强开发板的多功能性。本次使用USB网卡为例,型号为EDUP EP-N8508GS。USB网卡的规格参数如下:
名称描述
接口USB Type-A
天线方式内置
无线速率150Mbps
频率范围2.4GHz
安全特性支持WEP、WPA、WPA2及IEEE 802.1x无线网路安全机制
芯片型号RTL8188CUS
产品尺寸18*16*5.5mm
产品重量25g
i2SOM附带的Linux操作系统已经集成了USB驱动,插入EDUP网卡后,串口调试终端上提示信息看出。系统可以识别到USB设备,但无法注册为网络设备。
usb 1-1.1: new high-speed USB device number 4 using ci_hdrc
编译驱动
下载rtl8188cus的驱动,解压后编译即可得到驱动模块文件。编译驱动前需要先完成以下操作:当前shell终端已配置交叉编译工具链的环境变量
已编译内核zImage和驱动模块modules
以上操作都完成后,就可以执行以下命令来编译rtl8188cus驱动代码。KSRC是指定内核源代码的路径位置,这里的内核源码和rtl8188cus的代码存放在同线目录下,所以直接用相对路径表示。
$ ls
linux-i2SOM-imx rtl8188cus
$ cd rtl8188cus
$ make CROSS_COMPILE=arm-poky-linux-gnueabi- KSRC=../linux-i2SOM-imx modules
编译结束后,当前目录中的rtl8192cu.ko文件就是网卡的驱动程序。
$ ls
8192cu.ko 8192cu.mod.o clean hal include Makefile Module.symvers README.md wlan0dhcp
8192cu.mod.c 8192cu.o core ifcfg-wlan0 Kconfig modules.order os_dep runwpa
安装驱动
将8192cu.ko文件使用USB存储设备或NFS方式拷贝到开发板系统内,使用insmod命令安装。安装后,可以使用ip命令查看到wlan0设备。
# ls
8192cu.ko
# insmod 8192cu.ko
usbcore: registered new interface driver rtl8192cu
# ip link
1: lo: mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: mtu 1500 qdisc pfifo_fast state DOWN mode DEFAULT group default qlen 1000
link/ether ea:e5:67:28:2d:ee brd ff:ff:ff:ff:ff:ff
3: eth1: mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
link/ether 86:57:8f:13:e9:d0 brd ff:ff:ff:ff:ff:ff
4: sit0@NONE: mtu 1480 qdisc noop state DOWN mode DEFAULT group default
link/sit 0.0.0.0 brd 0.0.0.0
6: wlan0: mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
link/ether e8:4e:06:07:cb:91 brd ff:ff:ff:ff:ff:ff