交叉编译和安装ARM板(RK3288)和Linux 3.10上的RTL8188无线网卡驱动

交叉编译和安装ARM板(RK3288)和Linux 3.10上的RTL8188无线网卡驱动

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

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

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

打开驱动目录下的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

找到下面的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,出错:

扫描二维码关注公众号,回复: 1974743 查看本文章

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。

再次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即可。

猜你喜欢

转载自www.linuxidc.com/Linux/2016-09/135374.htm