第2课第1.1_15节_使用WIFI网卡1_准备工作及配置内核

使用手机的WIFI功能连接到路由器的时候示意图如下:手机连接到AP后,会给手机分配IP,就可以通讯了,术语上手机处于WIFI的STA模式(不允许其他设备接入),服务器(指路由器)处于WIFI的AP模式(允许其他设备接入)。那么能不能另手机工作于AP模式,让其他设备接入呢?答案是肯定的(说明同一个WIFI网卡可以工作于不同的模式)。

         对于我们的开发板来说,可以另WIFI网卡工作于STA模式,去连接其他的AP设备,也可以另WIFI网卡工作于AP模式,让别人(比如手机)来连接。

 

 

准备工作(虚拟机,开发板)及配置内核选择WIFI驱动

1.1选型(选型的标准是看你的内核是否支持这一型号的网卡):确定网卡的VID,PID(厂家ID,设备ID)是否在列表里:http://wireless.kernel.org/en/users/Devices/USB,这个列表里列出了大部分linux内核支持的网卡。大部分开发板在使用网卡时都会出现供电不足的问题,这时候就需要一条能够供电的USB线。

注意即使是同型号的网卡,他们的VID,PID也有可能不一样,那怎么查看网卡的VID和PID呢?将网卡插在电脑上,在设备管理器里面找到这个设备,查看属性即可看到。

1.2搭建开发环境:

先看一下电脑和开发板需要怎么连接?

有三种方式,第一种就是直连,即将电脑和开发板直接用一根网线连接起来。但是这种方法有一个弊端,就是当开发板上使用的是U-boot的时候,电脑上的网卡会显示断开,导致WIN和虚拟机之间不能传文件。第二种方法,用一个中介,Hub或者路由器。第三种方式,有些电脑没有有线网卡,只有无线网卡,这时候就要用无线路由器(在虚拟机上要设置是使用无线网卡还是有线网卡)。这三种方法都能使电脑和开发板之间有一个网络连接。

  

a. 设置VMWARE的网络为桥接, 并选择使用哪一个网卡

b. 把PC windows网卡, vmware linux的网卡、开发板的有线网卡IP设为192.168.7.xxx

                 因为以后开发板上USB WIFI网卡将使用192.168.1.xxx。原因:最终我们的开发板上是要接一个无线网卡的,对于同一个系统上的多个网卡,他们的IP不能使用同一网段,因为无线网卡要连接到一个AP上,AP给他分配的IP 一般是192.168.1.xxx。

1.3配置内核以支持USB WIFI网卡

以未经修改的内核为例进行配置:

a. 打补丁

tar xjf linux-3.4.2.tar.bz2

cd linux-3.4.2

patch -p1 < ../linux-3.4.2_camera_mini2440.patch

cp config_ok .config

 

b.配置内核: 根据网卡的VID/PID确定使用哪一个源码打开源码所在目录的Makefile进而确定配置项的名称make menuconfig, /名

 

cd drivers/net/wireless/

grep "0x3070" * -nR  (搜索的是PID)

搜索结果:rt2x00/rt2800usb.c:1077: { USB_DEVICE(0x148f, 0x3070) } (VID与PID正好与使用的无线网卡相匹配)

打开rt2x00/Makefile可知配置项为 CONFIG_RT2800USB

Make menuconfig  /CONFIG_RT2800USB得到下面信息

可以发现这个配置有依赖项RT2x00仍然为n,因此这个依赖项也需要配置。搜索RT2x00得到以下信息:可见这个配置项也有依赖项没有y,也需要配置。(按H命令可以查看依赖项)

接着搜索,得到以下信息:

照此方法,依次配置完成即可。

Cp .config config_ok_wifi  //这一步可选,留给以后方便使用,以后编译支持这款网卡的内核时,直接cp config_ok_wifi .config就可以了,就不用那些复杂的配置过程了

 

make uImage 就可以生成支持这款无线网卡的内核了。

 

 

uboot:

set bootargs console=ttySAC0,115200 root=/dev/nfs nfsroot=192.168.7.124:/work/nfs_root/fs_mini_mdev_new ip=192.168.7.17

set bootcmd 'nfs 32000000 192.168.7.124:/work/nfs_root/uImage_mini2440_wifi; bootm 32000000'

save

boot

 

 

 

 

 

c. 编译、使用

     用有三个端口的USB线接上开发板和无线网卡。

         接上后出现以下信息:

         并且执行ifconfig wlan0 up 提示错误:

         视频里也提示了这个错误,是因为缺少文件,但是视频上插入网卡的输出信息是这样的:

而实际实验中并没有提示这个缺少文件的信息,经验证,不是文件系统的问题,还不能确定是不是没有三接口的连接线的问题,至今没有解决。

猜你喜欢

转载自blog.csdn.net/hahaha_2017/article/details/81106721