无线网卡型号:水星 MERCURY MW150US 2.0 141002

那么问题来了,这个型号的网卡的芯片型号是什么?
答:MW150US 1.0是RTL8188CU;MW150US 2.0是RTL8188EU

那么悲剧了,因为Cubieboard官方系统自带rtl8192cubcm4330的驱动,所以只要是这两个芯片的无线网卡都可以用直接用,可是我的这个WIFI需要RTL8188EU的驱动,难道是要自己编译的节奏么~~

如何确定你的网卡型号是8188EU,如果你用lsusb看到0bda:8179,那么就是了。

lsusb

Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 0bda:8179 Realtek Semiconductor Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

使用uname -a命令,查询到自己的 kernel版本号为:3.0.42+,显然内核是不支持RTL8188EU型号的驱动,所以需要你自己动手编译一下了。

两种思路:

  1. 只编译RTL8188EU模块,编译之后得到8188eu.ko 使用sudo insmod 8188eu.ko命令,加载该模块到系统中即可。
  2. 将RTL8188EU模块编译进内核,将编译后的内核文件uImage到/boot/目录下替换掉原来的文件,重启系统即可。

编译RTL8188EU模块

下载RTL8188EU模块源码,该模块存在于drivers/net/wireless/rtl8188eu目录中,通过下面命令编译安装:

# 编译模块
make
sudo make install

# 加载模块
sudo insmod 8188eu.ko

# 重启系统
sudo reboot

编译RTL8188EU模块到内核中

这是我使用的方法,因为主要是我通过上面方式编译模块的时候,老是报错,可能是没有安装对应内核的编译环境,所以我干脆重新编译了内核。

# 安装编译环境
sudo apt-get install build-essential u-boot-tools uboot-mkimage gcc-arm-linux-gnueabihf -y

# 下载源码包
sudo wget https://github.com/linux-sunxi/linux-sunxi/archive/sunxi-3.0.zip

# 解压源码包
sudo unzip sunxi-3.0
cd sunxi-3.0

# 生成默认配置
sudo make sun4i_defconfig ARCH=arm

# 调出配置菜单,选中RTL8188EU驱动,保存配置
sudo make menuconfig ARCH=arm

# 编译内核uImage文件
sudo make uImage CROSS_COMPILE=arm-linux-gnueabihf- -j2 ARCH=arm

最后将新编译好的uImage 覆盖/boot/目录下的同名文件,重启系统,大功告成~