4G網卡中興MF831移植到linux

說明

之前有拿到一個mf831的4G網卡移植過,但最近發現另外一個mf831使用不了,找到了原因特此在來寫一篇。具體原因是上一篇的mf831轉化之後id爲19d2.0017,現在拿到的轉化之後是19d2.1405.貌似是國行版和國際版的區別

查看手中的網卡

插入網卡後系統將自己轉化網卡,待轉完後使用lsusb查看網卡(這次是1405的卡):

[root@FriendlyARM /]# lsusb
Bus 2 Device 1: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 1 Device 5: ID 19d2:1405 ONDA Communication S.p.A.  
Bus 1 Device 2: ID 0424:2514 Standard Microsystems Corp. 
Bus 1 Device 1: ID 1d6b:0002 Linux Foundation 2.0 root hub

修改kernel

1- 修改option.c文件(drivers/usb/serial/option.c)

 static const struct usb_device_id option_ids[] = {
{ USB_DEVICE(0x19d2,0x1405) }, /*add by wenyi 20170423*/
{ USB_DEVICE(0x19d2,0x0017) }, /*add by wenyi 20170323*/
{ USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_COLT) },

2- make menuconfig ARCH=arm添加cdc驅動
i-
-Device Drivers —>
—[*] USB support —>
—–<*> USB Modem (CDC ACM) support
ii-
-Device Drivers —>
–[*] Network device support —>
—USB Network Adapters —>
—-<*> CDC Ethernet support (smart devices such as cable modems)
—-<*> CDC EEM support
—-<*> CDC NCM support

編譯內核
# make ARCH=arm CROSS_COMPILE=arm-linux- zImage -j8

重新燒錄內核;插上sim卡,插到開發板上
這裏寫圖片描述
可以看到已經分配mac地址

# ifconfig -a 
eth0      Link encap:Ethernet  HWaddr 08:90:00:A0:02:10  
          inet addr:192.168.1.230  Bcast:192.168.1.255  Mask:255.255.255.0
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
          Interrupt:39 Base address:0x8000 

ifb0      Link encap:Ethernet  HWaddr DA:C9:AC:2F:F1:BE  
          BROADCAST NOARP  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:32 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

ifb1      Link encap:Ethernet  HWaddr AA:0F:41:C3:11:94  
          BROADCAST NOARP  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:32 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

ip6tnl0   Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
          NOARP  MTU:1452  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

sit0      Link encap:UNSPEC  HWaddr 00-00-00-00-1B-40-00-E0-00-00-00-00-00-00-00-00  
          NOARP  MTU:1480  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

usb0      Link encap:Ethernet  HWaddr 36:4B:50:B7:EF:DA  
          inet addr:192.168.0.153  Bcast:192.168.0.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:25 errors:0 dropped:0 overruns:0 frame:0
          TX packets:14 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:1986 (1.9 KiB)  TX bytes:1559 (1.5 KiB)
//發現usb0了;使用udhcpc獲取網絡
#udhcpc -n -i usb0
#ping www.baidu.com
PING www.baidu.com (111.13.100.92): 56 data bytes
64 bytes from 111.13.100.92: seq=0 ttl=53 time=56.122 ms
64 bytes from 111.13.100.92: seq=1 ttl=53 time=95.991 ms

至此mf831網卡移植成功。


參考博客

1- Linux下USB CDC ACM 驅動簡析

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章