官网下载后,确认USB的VID和PID,源码包中rtusb_dev_id.c文件,找到rtusb_dev_id[] ,在对应的WiFi厂家#ifdef添加比如我的WiFi硬件要添加的是USB_DEVICE(0x148f,0x7601)
(1)修改驱动工作的平台 PLATFORM = SMDK,makefile里面可以看出驱动默认是运行在什么平台,比如pc,linux,uinx等
(2)选择好平台后,在对应的ifeq里面修改内核源码树所在目录 LINUX_SRC = /root/x210_bsp/kernel
CROSS_COMPILE = arm-linux-
(1)编译前记得make clean下,防止拿到的驱动不干净,被别人编译过,没有删除干净
(2)modinfo mt7601.ko查看驱动信息,模块能看到适合linux的版本信息,是否合适
(1)mt7601.ko,将板子rootfs里面的一个没有使用的目录比如 /opt挂载到ubuntu的一个目录,比如/root/rootfs,到时候将mt7601.ko放在/root/rootfs/就能在板子的根文件系统目录opt里面得到
(2)安装模块在板子的根目录下 insmod mt7601.ko
(1)LAN口:路由器对下开发网络的配置
IP地址:192.168.1.1,这是设置路由器自己的IP,如果连接路由器的电脑想上网,就要设置IP为192.168.1.xxx
(2)WAN口:路由器自己要上网的配置
IP地址:比如静态设置成192.168.0.23,因为这个路由器通过有线网连接的另一个高一级路由器网段为192.168.0.x
(1)首先在根文件系统/etc下创建/etc/Wireless/RT2870STA/把WiFi驱动源码里面的RT2870STA.dat挂载后重Ubuntu里面cp到RT2870STA里面/etc/Wireless/RT2870STA/RT2870STA.dat
mkdir -p /etc/Wireless/RT2870STA
(2)编辑/etc/wpa_supplicant.conf,这个文件根文件系统里面本来就有
network-{ //指的是路由器的信息
key_mgmt=WPA-PSK //路由器密码是用什么方式来管理的,及路由器的安全类型选项
ssid=" 360wifi" //我们要连接的无线网名,及路由器的ssid
psk="mima" //连接路由器的密码
}
(1)insmod 模块
(2)ifconfig ra0 up
(3)wpa_supplicant -B -c /etc/wpa_supplicant.conf -i ra0 //根文件系统命令行下执行后主动连接无线网络
(4)wpa_cli -i ra0 status // 根文件系统命令行下执行后查看连接状态
(5)ifconfig ra0 192.168.1.20 //手动配置ip
(6)route add default gw 192.168.1.1 dev ra0 //配置网关,及路由器IP,这样板子ping外网时,路由器帮我们去通
注意:1 ra0的配置和上网前,要先关掉系统默认的eth0(ifconfig eth0 down)
2 想ping通路由器,板子的IP必须和路由器对下开发的IP在统一网段
第一手动分配:ifconfig ra0 192.168.1.20
第二dhcp动态分配:
3 wpa_supplicant后,只能ping通路由器,但是不能上外网,添加网关后才可以通外网,但是不能用域名形式访问,添加DNS后才可以,在/etc/resolv.conf里面添加DNS,命令:nameserver 192.168.1.1,这个DNS地址是由网络供应商提供给路由器的,我们可以在windos里面连接这个路由器,查看网络中心,就可以看到DNS有两个,一个是路由器网关一个是一个很奇怪的数,一般我们就用网关
1、路由器有dhcp设置,可以看到是否支持dhcp(路由器内部就有一套dhcp代码),有我们的板子才可以动态分配
(1)原理:路由器中有一个软件维护的dhcp服务器,板子也有一个软件维护的dhcp客户端,在busybox里集成了
insmod 模块
ifconfig ra0 up
wpa_supplicant -B -c /etc/wpa_supplicant.conf -i ra0 //根文件系统命令行下执行后主动连接无线网络
wpa_cli -i ra0 status // 根文件系统命令行下执行后查看连接状态
这时本地没有IP,我们开始dhcp两种分配如下:
(1)命令:udhcpc -i ra0 这一步自动帮我们添加了DNS,我们可以打开/etc/resolv.conf去看到
(2)interface里面配置
auto ra0
iface ra0 inet dhcp
(1)开机就会执行init.d下面的rcS
(2)在init.d下新建一个S41wifi,里面添加上面的1234步,最后给S41wifi文件权限,chmod,才能执行