插入無線網卡,輸入ifconfig,發現沒有檢測到網卡。 輸入lsusb,查看無線網卡型號。 我用的無線網卡是EDUP的網卡,包裝盒裡有一張驅動光碟,把光碟里linux下的驅動目錄複製下來。如果沒有驅動光碟,可以去網上下載RTL8188的Linux版驅動包。 提前準備好ARM板系統的交叉編譯器和系統 ...
插入無線網卡,輸入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。
再次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即可。