zoukankan      html  css  js  c++  java
  • 使用WIFI准备工作及配置内核——韦东山

    主要做的工作:让内核如何支持现有的无线网卡。知道这个流程就可以了,没必要深究。

    使用WIFI功能时,涉及两个东西:

     同样手机也可以用于WIFI AP模式,让别的设备来连接它。就是我们平时所说的用手机开一个热点。

    从这里可以看出,同一个WIFI网卡,它可以工作于不同的模式。

    对于ARM板而言,外接一个wifi网卡,它就可以工作于STA模式,可以去连接热点。

    同样它可以工作与AP模式,让其他设备来连接它。

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

    1.1 选型:确定网卡的VID,PID是否在列表里:http://wireless.kernel.org/en/users/Devices/USB
    选购WIFI:
    Atheros : VID 0x13D3 PID 0x3327 (成品型号 AR9271)
    realtek : VID 0x0bda PID 0x8176 (成品型号TP-LINK公司TL-WN721N)

    1.2 搭建开发环境
    首先要看一下,电脑和开发板是如何连接的?
    开发板和电脑有3种连接方式。
    1). 直连
    这种方法非常简单,但是使用起来非常不方便。
    当开发板上使用的是uboot的时候,电脑上的网卡就会显示为断开,就导致linux和windows之间不能传文件。
    2).用hub/路由器
    3).有些电脑没有有线网卡,它只有无线网卡,此时就需要用到一个无线路由器。

    开发板上面会接一个wifi网卡,开发板本身有有线网卡。AP会给wifi网卡分配IP地址,假设是
    192.168.1.xxx。那么开发板上的有线网卡应该使用另一个网段,如192.168.7.xxx。

    总结搭建开发环境:

    a.设置VMWARE的网络为桥接,并选择使用哪一个网卡
    b. 把PC windows网卡,vmware linux的网卡、开发板的有线网卡IP设为192.168.7.xxx(举个例子而已),开发板上USB WIFI网卡将使用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 "0x3327" * -nR

    ath/ath9k/hif_usb.c:32: { USB_DEVICE(0x13D3, 0x3327) },

    将ath/ath9k下面的Makefile打开,可以看到

    ath9k_htc-y += htc_hst.o
    hif_usb.o

    obj-$(CONFIG_ATH9K_HTC) += ath9k_htc.o

    可以知道配置项是CONFIG_ATH9K_HTC

    到目录linux-3.4.2中,make menuconfig, /CONFIG_ATH9K_HTC 得到下面信息

    make uImage

    配置内核、编译内核以及使用了解即可,这个地方不重要。

    另一款网卡:
    cd drivers/net/wireless/
    grep "0x8176" * -nR
    rtlwifi/rtl8192cu/sw.c:273: {RTL_USB_DEVICE(USB_VENDER_ID_REALTEK, 0x8176, rtl92cu_hal_cfg)},
    打开rtlwifi/rtl8192cu/Makefile确定配置项为 CONFIG_RTL8192CU
    make menuconfig, /CONFIG_RTL8192CU

     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. 编译、使用
    c.1 把固件htc_9271.fw放到单板/lib/firmware
    接上USB网卡, ifconfig wlan0 up

    c.2 对于"realtek : VID 0x0bda PID 0x8176 (成品型号TP-LINK公司TL-WN721N)"
    修改bug:
    http://lkml.indiana.edu/hypermail/linux/kernel/1301.2/00465.html
    make uImage

     

  • 相关阅读:
    众包中使用变分推断和信念传播的几篇文章
    众包中的概率图模型和 EM 算法的使用和总结
    矩阵求导
    CCDM2018会议见闻
    关于 PCA 算法的一点小结
    Nginx--安装
    Nginx--简介
    linux--系统启动过程
    linux--目录结构
    Linux 远程连接工具Xshell6
  • 原文地址:https://www.cnblogs.com/-glb/p/11581061.html
Copyright © 2011-2022 走看看