插入无线网卡,输入ifconfig,发现没有检测到网卡。

输入lsusb,查看无线网卡型号。

我用的无线网卡是EDUP的网卡,包装盒里有一张驱动光盘,把光盘里linux下的驱动目录复制下来。如果没有驱动光盘,可以去网上下载RTL8188的Linux版驱动包。

提前准备好ARM板系统的交叉编译器和系统源码,如这里的RK3288的Ubuntu系统的源码位于~/proj/firefly-rk3288,交叉编译器目录为/usr/bin/arm-linux-gnueabihf-gcc。

打开驱动目录下的linux/rtl8188.../Makefile文件。(可能需要解压linux目录下的压缩包)

修改大约30行的CONFIG_POWER_SAVING = n,修改下面的CONFIG_PLATFORM_I386_PC = n,在下面选择合适的平台,如这里用的是RK3288,选择CONFIG_PLATFORM_ARM_RK2818 = y。

CONFIG_MP_INCLUDED = n
CONFIG_POWER_SAVING = n
CONFIG_USB_AUTOSUSPEND = n
CONFIG_HW_PWRP_DETECTION = n
CONFIG_WIFI_TEST = n
CONFIG_BT_COEXISTENCE = n
CONFIG_RTL8192CU_REDEFINE_1X1 = n
CONFIG_INTEL_WIDI = n
CONFIG_WAKE_ON_WLAN = n CONFIG_PLATFORM_I386_PC = n
CONFIG_PLATFORM_TI_AM3517 = n
CONFIG_PLATFORM_ANDROID_X86 = n
CONFIG_PLATFORM_JB_X86 = n
CONFIG_PLATFORM_ARM_S3C2K4 = n
CONFIG_PLATFORM_ARM_PXA2XX = n
CONFIG_PLATFORM_ARM_S3C6K4 = n
CONFIG_PLATFORM_MIPS_RMI = n
CONFIG_PLATFORM_RTD2880B = n
CONFIG_PLATFORM_MIPS_AR9132 = n
CONFIG_PLATFORM_RTK_DMP = n
CONFIG_PLATFORM_MIPS_PLM = n
CONFIG_PLATFORM_MSTAR389 = n
CONFIG_PLATFORM_MT53XX = n
CONFIG_PLATFORM_ARM_MX51_241H = n
CONFIG_PLATFORM_FS_MX61 = n
CONFIG_PLATFORM_ACTIONS_ATJ227X = n
CONFIG_PLATFORM_TEGRA3_CARDHU = n
CONFIG_PLATFORM_TEGRA4_DALMORE = n
CONFIG_PLATFORM_ARM_TCC8900 = n
CONFIG_PLATFORM_ARM_TCC8920 = n
CONFIG_PLATFORM_ARM_TCC8920_JB42 = n
CONFIG_PLATFORM_ARM_RK2818 = y
CONFIG_PLATFORM_ARM_TI_PANDA = n
CONFIG_PLATFORM_MIPS_JZ4760 = n
CONFIG_PLATFORM_DMP_PHILIPS = n
CONFIG_PLATFORM_TI_DM365 = n
CONFIG_PLATFORM_MN10300 = n
CONFIG_PLATFORM_MSTAR_TITANIA12 = n
CONFIG_PLATFORM_MSTAR_A3 = n
CONFIG_PLATFORM_ARM_SUNxI = n
CONFIG_PLATFORM_ARM_SUN6I = n

找到下面的ifeq ($(CONFIG_PLATFORM_ARM_RK2818), y)部分,修改为:

ifeq ($(CONFIG_PLATFORM_ARM_RK2818), y)
EXTRA_CFLAGS += -DCONFIG_LITTLE_ENDIAN -DCONFIG_PLATFORM_ANDROID -DCONFIG_PLATFORM_ROCKCHIPS -DCONFIG_MINIMAL_MEMORY_USAGE
ARCH := arm
CROSS_COMPILE := /usr/bin/arm-linux-gnueabihf-
KSRC := /home/XXX/proj/firefly-rk3288/kernel
MODULE_NAME :=
wlanrtl8188
endif

然后在该目录下执行make,出错:

os_dep/linux/os_intfs.c:320:3: error: implicit declaration of function ‘create_proc_entry’

原因:Linux 3.10版本中已经去除了create_proc_entry函数。

解决方法:下载另一个文件:wget https://raw.github.com/raspberrypi/linux/rpi-3.10.y/drivers/net/wireless/rtl8192cu/os_dep/linux/os_intfs.c,将下载到的文件覆盖原来的os_dep/linux/os_intfs.c。

如果出现错误:os_dep/linux/rtw_android.c: error: implicit declaration of function ‘strnicmp’ [­Werror=implicit­function­declaration]

打开os_dep/linux/rtw_android.c文件,在const char *android_wifi_cmd_str[ANDROID_WIFI_CMD_MAX]函数前添加以下内容:

#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 0, 0))
#define strnicmp strncasecmp
#endif

再次make,编译完成后可以得到wlanrtl8188.ko文件。

将wlanrtl8188.ko文件复制到开发板/home/firefly目录下,执行sudo depmod -n /home/firefly/wlanrtl8188.ko,然后执行insmod /home/firefly/wlanrtl8188.ko,即可使用无线网卡。

如果需要以后开机后也能使用无线网卡,编辑/etc/rc.local文件,加入/sbin/insmod /home/firefly/wlanrtl8188.ko即可。

交叉编译和安装ARM板(RK3288)和Linux 3.10上的RTL8188无线网卡驱动的更多相关文章

  1. Python的交叉编译移植至arm板

    虽然网上有那么多python的交叉编译移植教程,但是方法差异蛮大,需要根据实际开发板的型号做调整,以下是适用于海思的板子移植过程. step 1. python版本从网上下就可以: step 2. 解 ...

  2. 如何在 Windows 10 上安装 WSL 2

    翻译自 Joey Sneddon 2020年10月30日的文章<How to Install WSL 2 on Windows 10> [1] 如果您想在最新的 Windows 版本中尝试 ...

  3. centos6.5安装无线网卡驱动并配置wifi

    1.驱动下载地址: RTL8188无线网卡驱动下载 链接:https://pan.baidu.com/s/1ms-EbQCDxa76jPhYUPmr9Q 密码:r2vu 2.安装步骤: [root@c ...

  4. CentOS 6.5 BCM43142 80211无线网卡驱动安装

    https://blog.csdn.net/lisonglisonglisong/article/details/74859545 https://blog.csdn.net/shile/articl ...

  5. 基于QEMU的ARM Cortex-A9开发板Vexpress-ca9的Linux内核的编译和运行

    宿主机:Ubuntu16.04 x64(Linux内核4.4.0) 交叉编译工具链:gcc-arm-linux-gnueabiarm-linux-gcc:4.4.3QEMU:2.5.0Linux ke ...

  6. .net core在Linux ARM板上运行

    最近接了个临时任务,给别的项目组的机器人平台上开发个小程序,那机器人上跑的是ARM平台,ubuntu的系统. 本来打算用C++写的,由于最近用.net core较多,鉴于其在linux平台良好的兼容性 ...

  7. Ubuntu/Debian交叉编译安装ARM平台版本的ffmpeg

    1 准备工作 (1)libmp3lame库 下载:    wget http://downloads.sourceforge.net/lame/lame-3.99.tar.gz 解压 编译:./con ...

  8. 【Linux开发】为qt-embedded添加jpeg库的交叉编译方法for arm

    看了一个文章: =====================================谢论坛内各位的帮助,我的qt/e2.3.10和qtopia2.1.1终于全部编译通过. 下面是jpeg和uui ...

  9. Ubuntu12.4 64位 安装 arm linux gcc 4.3.2

    一.下载arm linux gcc 4.3.2 http://pan.baidu.com/share/link?shareid=1575352696&uk=2754759285&fid ...

随机推荐

  1. Phalcon的Mvc结构及启动流程(部分源码分析)

    Phalcon本身有支持创建多种形式的Web应用项目以应对不同场景,包括迷你应用.单模块标准应用.以及较复杂的多模块应用 创建项目 Phalcon环境配置安装后,可以通过命令行生成一个标准的Phalc ...

  2. VUE2.0 饿了吗视频学习笔记(七-终):compute,循环,flex,display:table

    一.star组件使用到了computed属性 computed相当于属性的一个实时计算,当对象的某个值改变的时候,会进行实时计算. computed: { starType() { return 's ...

  3. SQL 语言类型

    结构化查询语言(Structured Query Language),简称SQL,是数据库编程的核心语言. SQL的发展是从1974年开始的,其发展过程如下: 1974年 - 由Boyce和Chamb ...

  4. 揭秘VxWorks——直击物联网安全罩门

      转载:http://chuansong.me/n/1864339 VxWorks是美国风河(WindRiver)公司于1983年设计开发的一种嵌入式实时操作系统(RTOS),是嵌入式开发环境的关键 ...

  5. 跨越VLAN

    跨越VLAN VLAN(Virtual Local Area Network),是基于以太网交互技术构建的虚拟网络,既可以将同一物理网络划分为多个VLAN,也可以跨越物理网络障碍,将不同于子网中的用户 ...

  6. 设计模式之UML类图六大关系辨析【2】

    六大关系:继承(extends).实现(Realization).依赖(use-a).关联(association).聚合(has-a).组合(强聚合)(Composition). 类与类之间的强弱关 ...

  7. POJ1113 Wall【凸包】

    题意: 求把城堡围起来需要的最小墙壁周长. 思路: 围墙周长为=n条平行于凸包的线段+n条圆弧的长度=凸包周长+围墙离城堡距离L为半径的圆周长. 代码: ...还是看大佬写的,自己做个记录方便日后复习 ...

  8. 微信小程序开发工具的基本应用

    全局配置: 1.1配置所有页面路径:在app.json的{pages:[配置所有页面]},将首页放置在第一位,在app.json必须写上所有页面的路径,要不然会报错,每个页面的wxss样式文件只在当前 ...

  9. Responsive响应式设计

    在IE6-8中完全是不支持CSS3 Media Queries的.那么为了让IE6-8支持,我们就很有必要的在IE9以下的浏览器中加上media-queries.js或者respond.js脚本: & ...

  10. Ngnix + Tomcat负载均衡架构

    一.nginx Nginx (发音同 engine x)是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行.  其特点是占有内 ...