zoukankan      html  css  js  c++  java
  • wifi 移植

    硬件 yl9200  usb无线网卡 wl 167g 
    软件  arm-linux-gcc 3.3.2  开发板 linux 2.6.13  主机 2.6.24 
    网卡驱动  rt73-cvs-daily.tar.gz 
    busybox busybox-1.9.2.tar.bz2 
    wirelss tool wireless_tools.29.tar.gz 
    ps:除gcc,所有工具都在/srv目录下,内核为yl9200配套 
      
      
    1,下载解压驱动 
    # wget http://rt2x00.serialmonkey.com/rt73-cvs-daily.tar.gz 
    解压:# tar zxvf rt73-cvs-daily.tar.gz(以下各公具的解压省略) 
      
    2,在内核中创建新文件夹drivers/usb/net/rt73, 
    # mkdir drivers/usb/net/rt73 
    将解压出来的文件夹Module下的文件拷贝到刚才新建的rt73文件夹中: 
    cp Module/* /srv/linux-2.6.13-hzh/drivers/usb/net/rt73 
      
    3,修改内核源代码,加入RT73驱动配置信息 
    修改drivers/usb/net/Kconfig文件,加入RT73的驱动模块的配置项: 
    # gedit drivers/usb/net/Kconfig & 
    加入以下内容: 
    config RT73 
         tristate "support for rt73 wireless usb device" 
         depends on USB && NET && USB_USBNET 
      
    修改drivers/usb/net/Makefile, 加入rt73的编译项: 
    # gedit drivers/usb/net/Makefile & 
    添加一下内容: 
    obj-$(CONFIG_RT73)+= rt73/ 
      
    4,根据arm4.patch更改驱动文件(具体参照arm4.patch) 
    修改RT73的Makefile,设置内核位置和编译选项: 
      
    删除以前的module选项,并将arm编译项改成modules,这样编译的时候才是for ARM版本的驱动模块,并更改为如下内容; 
    modules: 
         @$(MAKE) $(KBUILD_PARAMS) $(EXTRA_CFLAGS) \ 
                         modules; \ 
         $(MODULE_CHECK) 
    添加 
    EXTRA_CFLAGS += -DRTMP_EMBEDDED(否则找不到搜索结果) 
      
    修改KERNDIR为开发板内核位置: 
      
    KERNDIR :=/srv/linux-2.6.13-hzh 
      
    5, 
    更改内核makefile 
    ARCH        ?= arm 
    CROSS_COMPILE    ?=/usr/local/arm/3.3.2/bin/arm-linux- 
      
    配置内核: 
    make menuconfig 
    在USB devices à network à support for rt73 wireless usb device,按空格键选为M,将其编译成模块。( 进入usb network adapter后选中 Multi-purpose USB Networking Framework后,rt73才出现) 
    selecting [Device Drivers] -> [Networking support] -> [Wireless LAN(non-hamradio)] -> Wireless LAN drivers (non-hamradio) & Wireless Extensions. 
    去掉devfs的支持 
    另外内核需要下面选项的支持 
    - support for hot-pluggable devices CONFIG_HOTPLUG 
    - userspace firmware loading support CONFIG_FW_LOADER 
    - wireless LAN drivers (non-hamradio) & wireless extensions CONFIG_NET_RADIO 
    - OHCI HCD support CONFIG_OHCI_HCD 
      
    this includes are necessary for compiling the driver without errors 
      
    6,编译内核模块: 
    # make modules 
    成功编译后,会在drivers/usb/net/rt73目录下生成rt73.ko驱动文件 
      
    7,制作根文件系统,添加对mdev的支持 
    按yl手册里的步骤制作根文件系统 
    利用busybox对系统做一个基本的配置,选上mdev,udhcpc 
    更改busybox的Makefile 

    ARCH        ?= arm


    CROSS_COMPILE    ?=/usr/local/arm/3.3.2/bin/arm-linux- 
    配置静态库时把applets/applets.c的20到25行注释掉 
    更改etc/init.d下rcS 
    去除devfs部分 
    添加 
    mkdir /dev/pts 
    mount -t devpts devpts /dev/pts 
    mount -t sysfs sysfs /sys 
    mount -t tmpfs mdev /dev 
    echo "# starting mdev...." 
    /bin/echo /sbin/mdev > /proc/sys/kernel/hotplug 
    /sbin/mdev -s 
      
    在dev目录下创建设备节点 
    mknod console c 5 1 
    mknod null c 1 3 
    在etc目录下建立mdev.conf 
    touch mdev.conf 
    将rt73.bin移动到lib/firmware目录下 
      
    8,移植wireless tool 
    makefile 中更改BUILD_NOLIBM = y 
    把生成的文件移动到guo目录下 
      
    9,将rt73.ko复制到NFS目录 
    mount -t nfs 192.168.0.7:/home/nfsboot /mnt/nfs -o nolock 
    cp rt73.ko /home/nfsboot 
      
    10,加载模块 
    insmod rt73.ko 
      
    11,ifconfig wlan0 up 
      
    12,udhcpc -i wlan0 
    get ip! 
     

  • 相关阅读:
    stm32 SPI DMA读取ADS8345数据
    Minigui3.0.12完美安装,折腾了一天。终于看到了
    qvfb2的安装,在ubuntu10.4上安装成功
    户口从杭州人才市场迁移到武汉万科魅力之城的过程
    禁止minigui 3.0的屏幕保护
    想穿越回到儿时记录那些幸福
    TIM2定时闪灯程序。。。
    关于minigui的皮肤控件无法显示问题
    插件框架内核的设计
    用“序列图”描述技术方案
  • 原文地址:https://www.cnblogs.com/yuzaipiaofei/p/4124259.html
Copyright © 2011-2022 走看看