原文地址: http://21500.net/?p=616
做了簡單翻譯,並根據錯誤提示加以完善。
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