參考:
http://cache.shanghangpeixun.com/cache_q_c_q_hs/aHR0cDovL3dlYmNhY2hlLmdvb2dsZXVzZXJjb250ZW50LmNvbS9zZWFyY2g/cT1jYWNoZTpxdEsxNnEwclNBSUo6Y3luaWNob2xhcy53b3JkcHJlc3MuY29tLzIwMTEvMDQvMTQvbWluaTI0NDAtYXJtLWxpbnV4JTI1RTUlMjVCOSUyNUIzJTI1RTUlMjU4RiUyNUIwJTI1RTQlMjVCOCUyNThCdXNiJTI1RTglMjVCRCUyNUFDcmo0NSUyNUU4JTI1QUUlMjVCRSUyNUU1JTI1QTQlMjU4NyUyNUVGJTI1QkMlMjU4OHVzYiUyNUU2JTI1OUMlMjU4OSUyNUU3JTI1QkElMjVCRiUyNUU3JTI1QkQlMjU5MSUyNUU1JTI1OEQlMjVBMSUyNUVGJTI1QkMlMjU4OSUyNUU5JTI1QTklMjVCMSUyNUU1JTI1OEElMjVBOCUyNUU3JTI1OUElMjU4NCUyNUU3JTI1QTclMjVCQiUyNUU2JTI1QTQlMjU4RCUyNUVGJTI1QkMlMjU4OCUyNUU0JTI1QkElMjVCMi8rbGludXgrdXNiJUU4JUJEJUFDcmo0NSVFOSVBOSVCMSVFNSU4QSVBOCZjZD0xJmhsPXpoLUNOJmN0PWNsbms=.html
謝謝作者的分享
開發板:mini2440 ,linux3.11
usb轉網口:AX8872B
移植步驟:
1.源碼下載
AX8872B的驅動源碼下載網址:http://www.asix.com.tw/cs/download.php
在“產品名稱”裏面選擇AX8872B,當然如果是其他產品的話也可以
OS類型選擇:Linux kernel 3.x/2.6.x Driver
下載後解壓
2.修改Makefile
由於文件中給的Makefile是PC上的,所以要修改,修改後如下
ARCH=arm
CROSS_COMPILE=arm-linux-
CC=$(CROSS_COMPILE)gcc
LD=$(CROSS_COMPILE)ld
TARGET = asix
OBJS = asix.o
MDIR = drivers/net/usb
KDIR = 你的linux源碼路徑,比如../linux/
EXTRA_CFLAGS = -DEXPORT_SYMTAB
PWD = $(shell pwd)
DEST = ..
obj-m := $(TARGET).o
default:
make -C $(KDIR) SUBDIRS=$(PWD) modules
$(TARGET).o: $(OBJS)
$(LD) $(LD_RFLAG) -r -o $@ $(OBJS)
install:
su -c “cp -v $(TARGET).ko $(DEST) && /sbin/depmod -a”
clean:
$(MAKE) -C $(KDIR) SUBDIRS=$(PWD) clean
.PHONY: modules clean
-include $(KDIR)/Rules.make
然後make
make後會生成asix.ko
使用命令arm-linux-strip -S asix.ko 將其中的調試信息去掉,以減小驅動文件大小,減小後只有60多k
3.測試
將驅動文件下載到板子上,insmod asix.ko
將usb轉串口設備插入,使用命令ifconfig eth1(eth%d,一般是eth1,插入後會有打印信息提示) up 打開網卡,然後設定ip和別的機器ping一下