• 为MarS Board安装无线网卡Linux驱动


    玩了几天MarS Board,发现要了解Linux是如何工作的,从嵌入式开发板玩起最有效率。因为会遇到无数的问题和未知领域,然后在解决问题的过程中有深入了解Linux的机会。
     
    为这块开发板专门买了块TL823N的无线网卡,小巧可爱,不占地方。不过Linux下的驱动安装是没有Windows方便的。就像显卡一样,厂商对Linux不大重视。这个网卡果然不能即插即用。
    查了下它的芯片是rt8192cu,虽然较新的内核里有驱动,但是不能稳定工作。于是在RealTek官方页面下载驱动包,再编译进内核。
     
    为交叉编译设置环境变量:
    ARCH=arm
    CROSS_COMPILE=<path-to>/arm-eabi-
     
    修改driver下的Makefile,把默认配置i386_pc关掉,并添加新的配置:
    CONFIG_PLATFORM_I386_PC = n
    CONFIG_PLATFORM_MARS = y
     
    ifeq ($(CONFIG_PLATFORM_MARS), y)
      EXTRA_CFLAGS += -DCONFIG_LITTLE_ENDIAN
      KSRC := <path-to>/kernel_imx
      KVER := $(shell uname -r)
      ARCH := arm
    endif
     
    这里kernel_imx是内核代码目录。确保.config文件里有CONFIG_WIRELESS_EXT设置为y。回到驱动目录,执行make。会生成一个8192cu.ko的文件,这个就是驱动了。把这个驱动放到板上,再进行安装。
     
    安装驱动:
    insmod 8192cu.ko
     
    确认驱动已装载:
    lsmod
     
    启动无线网络:
    ip link set wlan0 up
     
    安装包:wireless_tools以及wpa_supplicant(我的AP用的是WPA协议)。
     
    查看可用接入点:
    iwlist wlan0 scanning
     
    关联接入点:
    wpa_passphrase <ssid> <password> > wifi_home.conf
    wpa_supplicant -B -i wlan0 -c wifi_home.conf
     
    dhcpcd -A wlan0
    得到ip就大功告成。
     
    以上是最原始的安装驱动的方式。要让生活更美好一点,可以把驱动代码集成到内核代码中,对无线网络的配置也可以用netctl在boot的时候自动配置。
  • 相关阅读:
    [Err] 1055
    java -jar 时指定内存大小
    mysql判断是否存在数据库和表,进行删除和创建
    更新element-ui版本
    js 数组操作
    vue router 常用操作
    [algorithm] 汉诺塔问题
    【algorithm】 二分查找算法
    [algorithm] Dijkstra双栈算法表达式求值算法
    【hive】 hive 加载数据
  • 原文地址:https://www.cnblogs.com/silmerusse/p/3247085.html
Copyright © 2020-2023  润新知