Linux下安装USB网卡驱动

做了简单Linux下安装USB网卡驱动翻译,并根据错误提示加以完善。

Linux 版本
#uname -a

Linux zy-laptop 2.6.28-11-generic #42-Ubuntu SMP Fri Apr 17 01:57:59 UTC 2009 i686 GNU/Linux

1. 插入USB网卡后,
# lsusb
....
Bus 005 Device 003: ID 0fe6:8101
....

2. 解压dm9601.tgz

# tar xzvf dm9601-2.6.tgz
# ls dm9601-2.6
dm9601.c  dm9601.h  Makefile  readme.txt


3. 尝试编译

# cd dm9601-2.6
# make
make -C /lib/modules/2.6.28-11-generic/build M=/root/dm9601-2.6 LDDINCDIR=/root/dm9601-2.6/../include modules
make[1]: Entering directory `/usr/src/linux-headers-2.6.28-11-generic'
scripts/Makefile.build:46: *** CFLAGS was changed in "/root/dm9601-2.6/Makefile". Fix it to use EXTRA_CFLAGS.  Stop.
make[1]: *** [_module_/root/dm9601-2.6] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-2.6.28-11-generic'
make: *** [default] Error 2

4. 修改 dm9601.h

# vim dm9601.h
在最后添加下面两行

DM9601_DEV( "SUNRISING USB Ethernet", 0x0fe6, 0x8101,
                DEFAULT_GPIO_RESET )

5. 编辑Makefile
# vim Makefile

将CFLAGS修改为EXTRA_CFLAGS

6. 编辑dm9601.c
# vim dm9601.c
将#include<linux/config.h> 修改为#include<linux/autoconf.h>

7. 开始编译
#make
此时,还有几个警告,不管它,最后会生成dm9601.ko

#ls
dm9601.c  dm9601.h  dm9601.ko  dm9601.mod.c  dm9601.mod.o  dm9601.o  Makefile  Module.markers  modules.order  Module.symvers  readme.txt


8.将新生成的dm9601.ko覆盖掉当前内核的dm9601.ko

#cp dm9601.ko /lib/modules/2.6.28-11-generic/kernel/drivers/net/usb/dm9601.ko

不知为什么,开机dm9601.ko未启动。
若重启机器后未启动(# lsmod|grep dm9601),手动加载dm9601.ko
#insmod /lib/modules/2.6.28-11-generic/kernel/drivers/net/usb/dm9601.ko

9. 配置USB网卡
#vim /etc/network/interfaces

auto eth1
iface eth1 inet static
address 192.168.1.2
netmask 255.255.255.0
gateway 192.168.1.1

10. 为USB网卡配置MAC地址
#ifconfig eth1 hw ether 01:23:45:67:89:ab

11.激活USB网卡
#ifconfig eth1 up

相关推荐