1. 程式人生 > >MTK 65XX系列通過USB OTG新增Ethernet RJ45有線網絡卡支援

MTK 65XX系列通過USB OTG新增Ethernet RJ45有線網絡卡支援

http://blog.csdn.net/zangcf/article/details/40870369

最近客戶要求使用MTk 6572晶片通過USB OTG新增支援有線網絡卡,我查遍了鉤鉤了所有網站,都沒有相關論述,查看了MTK給的資料,包括FAQ,只說支援USB OTG鍵盤滑鼠和U盤。怎麼辦?只有我自己來。

但是,按照我對於USB裝置機構的理解,只要我們掛在了USB Ethernet的驅動,那麼在USB Ethernet插入的時候,應該可以自動匹配到其裝置驅動,所以只要我們掛在了USB Ethernet的驅動,那麼就應該可以正常工作。
首先,就是回顧如果是非MTK平臺,我們如何新增Ethernet的支援,當然通過Make Menuconfig加入驅動了。MTK自己定義的方法,實在沒有時間去研究其如何配置的,就按照其自身的定義去配置。

./alps/mediatek/config/xxx_project/autoconfig/kconfig/project新增配置變數
當然,我們需要去下載最新的Ethernet驅動程式
網絡卡採用USB 2.0轉乙太網控制晶片AX88772B, android 2.3 和4.0下的通用網絡卡驅動不支援這款晶片, 需要從網上下載最新的linux 下AX88772B驅動
驅動下載地址:http://www.asix.com.tw/cs/download.php?sub=driverdetail&PItemID=105
我們進入/drivers/net/usb下面
./alps/mediatek/config/xxx_project/autoconfig/kconfig/project新增如下變數


CONFIG_USB_MTK_OTG=y
CONFIG_USB_MTK_HDRC_HCD=y
CONFIG_USB_PEGASUS=y
CONFIG_USB_USBNET=y
CONFIG_USB_NET_AX8817X=y
CONFIG_USB_NET_CDCETHER=y
CONFIG_USB_NET_CDC_NCM=y
CONFIG_USB_NET_CDC_SUBSET=y
CONFIG_USB_BELKIN=y
CONFIG_USB_ARMLINUX=y
CONFIG_USB_NET_ZAURUS=y

然後執行./mk -t n k,會報如下錯誤
**** Building ****
scripts/kconfig/conf --silentoldconfig Kconfig

../mediatek/platform/mt6572/kernel/Kconfig/Drivers:263:warning: config symbol defined without type
warning: (VIDEO_VIVI && FB_VGA16 && FB_S3 && FB_VT8623 && FB_ARK && USB_SISUSBVGA_CON && MTK_FB_SUPPORT_ASSERTION_LAYER) selects FONT_8x16 which has unmet direct dependencies (HAS_IOMEM && VT && (FRAMEBUFFER_CONSOLE || SGI_NEWPORT_CONSOLE || STI_CONSOLE || USB_SISUSBVGA_CON))
*
* Restart config...
*
*
* USB Network Adapters
*
USB CATC NetMate-based Ethernet device support (EXPERIMENTAL) (USB_CATC) [N/m/y/?] n
USB KLSI KL5USB101-based ethernet device support (USB_KAWETH) [N/m/y/?] n
USB Pegasus/Pegasus-II based ethernet device support (USB_PEGASUS) [Y/n/m/?] y
USB RTL8150 based ethernet device support (EXPERIMENTAL) (USB_RTL8150) [N/m/y/?] n
Multi-purpose USB Networking Framework (USB_USBNET) [Y/n/m/?] y
  ASIX AX88xxx Based USB 2.0 Ethernet Adapters (USB_NET_AX8817X) [Y/n/m/?] y
  CDC Ethernet support (smart devices such as cable modems) (USB_NET_CDCETHER) [Y/?] y
  CDC EEM support (USB_NET_CDC_EEM) [N/m/y/?] (NEW) aborted!

Console input/output is redirected. Run 'make oldconfig' to update configuration.

make[5]: *** [silentoldconfig] Error 1
make[4]: *** [silentoldconfig] Error 2
make[3]: *** No rule to make target `include/config/auto.conf', needed by `include/config/kernel.release'.  Stop.
make[2]: *** [sub-make] Error 2
Checking memory usage DONE!
                    ==> [OK]    2014/11/06 22:28:09
-------------------------------------------------------------------------------------------------------------------------------------------
這個錯誤表面,配置的一致性和完整性要求,我們必須./alps/mediatek/config/xxx_project/autoconfig/kconfig/project新增CONFIG_USB_NET_CDC_EEM=y的定義。
新增之後重新編譯./mk -t n k,又報如下錯誤
scripts/kconfig/conf --silentoldconfig Kconfig
../mediatek/platform/mt6572/kernel/Kconfig/Drivers:263:warning: config symbol defined without type
warning: (VIDEO_VIVI && FB_VGA16 && FB_S3 && FB_VT8623 && FB_ARK && USB_SISUSBVGA_CON && MTK_FB_SUPPORT_ASSERTION_LAYER) selects FONT_8x16 which has unmet direct dependencies (HAS_IOMEM && VT && (FRAMEBUFFER_CONSOLE || SGI_NEWPORT_CONSOLE || STI_CONSOLE || USB_SISUSBVGA_CON))
*
* Restart config...
*
*
* USB Network Adapters
*
USB CATC NetMate-based Ethernet device support (EXPERIMENTAL) (USB_CATC) [N/m/y/?] n
USB KLSI KL5USB101-based ethernet device support (USB_KAWETH) [N/m/y/?] n
USB Pegasus/Pegasus-II based ethernet device support (USB_PEGASUS) [Y/n/m/?] y
USB RTL8150 based ethernet device support (EXPERIMENTAL) (USB_RTL8150) [N/m/y/?] n
Multi-purpose USB Networking Framework (USB_USBNET) [Y/n/m/?] y
  ASIX AX88xxx Based USB 2.0 Ethernet Adapters (USB_NET_AX8817X) [Y/n/m/?] y
  CDC Ethernet support (smart devices such as cable modems) (USB_NET_CDCETHER) [Y/?] y
  CDC EEM support (USB_NET_CDC_EEM) [Y/n/m/?] y
  CDC NCM support (USB_NET_CDC_NCM) [Y/n/m/?] y
  Davicom DM9601 based USB 1.1 10/100 ethernet devices (USB_NET_DM9601) [N/m/y/?] (NEW) aborted!

Console input/output is redirected. Run 'make oldconfig' to update configuration.

make[5]: *** [silentoldconfig] Error 1
make[4]: *** [silentoldconfig] Error 2
make[3]: *** No rule to make target `include/config/auto.conf', needed by `include/config/kernel.release'.  Stop.
make[2]: *** [sub-make] Error 2
Checking memory usage DONE!
這表明,我們又需要新增CONFIG_USB_NET_DM9601=y
一次一次的嘗試,最後,我們新增如下所有配置變數,編譯通過了。
CONFIG_USB_MTK_OTG=y
CONFIG_USB_MTK_HDRC_HCD=y
CONFIG_USB_PEGASUS=y
CONFIG_USB_USBNET=y
CONFIG_USB_NET_AX8817X=y
CONFIG_USB_NET_CDC_EEM=y
CONFIG_USB_NET_CDC_NCM=y
CONFIG_USB_NET_SMSC75XX=y
CONFIG_USB_NET_SMSC95XX=y
CONFIG_USB_NET_GL620A=y
CONFIG_USB_NET_NET1080=y
CONFIG_USB_NET_PLUSB=y
CONFIG_USB_NET_MCS7830=y
CONFIG_USB_NET_CDCETHER=y
CONFIG_USB_NET_CDC_NCM=y
CONFIG_USB_NET_DM9601=y
CONFIG_USB_NET_CDC_SUBSET=y
CONFIG_USB_BELKIN=y
CONFIG_USB_ARMLINUX=y
CONFIG_USB_NET_ZAURUS=y
CONFIG_USB_NET_RNDIS_HOST=y
CONFIG_USB_ALI_M5632=y
CONFIG_USB_AN2720=y
CONFIG_USB_EPSON2888=y
CONFIG_USB_KC2190=y
CONFIG_USB_NET_CX82310_ETH=y
CONFIG_USB_NET_KALMIA=y
CONFIG_USB_NET_QMI_WWAN=y
CONFIG_USB_NET_INT51X1=y
CONFIG_USB_SIERRA_NET=y
CONFIG_USB_VL600=y
--------------------------------------------------------------------------------
然後,把ROM燒到目標機器上。
然後使用USB除錯線把網絡卡接上去,問題來了,由於我沒有串列埠裝置,同時USB OTG又被佔用了,無法使用adb除錯,怎麼辦?
我下載一個超級終端apk,可以在裝置的介面中執行shell命令。
然後執行dmseg,看看插入OTG網絡卡的資訊,可以看到網絡卡被正常找到和匹配驅動。
然後,在終端上執行
netcfg eth0 dhcp
setprop net.dns1 8.8.8.8
執行之後,執行一下ifconfig檢視,就可以看到eth0被正常配置,並且分配了IP地址了,到此,除錯結束了,後面的工作就簡單了,就是修改Init.rc啟動相關服務就可以了。

相關推薦

MTK 65XX系列通過USB OTG新增Ethernet RJ45有線支援

http://blog.csdn.net/zangcf/article/details/40870369 最近客戶要求使用MTk 6572晶片通過USB OTG新增支援有線網絡卡,我查遍了鉤鉤了所有網站,都沒有相關論述,查看了MTK給的資料,包括FAQ,只說支援USB O

讓Android 裝置通過USBRJ45有線上網

一、下載驅動 網絡卡採用USB 2.0轉乙太網控制晶片AX88772B, android 2.3 和4.0下的通用網絡卡驅動不支援這款晶片, 需要從網上下載最新的linux 下AX88772B驅動 二、將下載的驅動原始碼編譯進kernel image. 下載的驅

Android裝置支援USBRJ45有線( 沐陽JP1081B/9700)

Android裝置支援USB轉RJ45有線網絡卡( 沐陽網絡卡JP1081B9700) 網絡卡裝置: 沐陽網絡卡JP1081B/9700 系統平臺: HISI3798MV100  Android : 4.2 1、分析網絡卡驅動在ubuntu系統上通過lsusb命令檢視網絡卡的驅動資訊

關於USB有線對校園網不相容解決方案

前幾天由於電腦網絡卡壞掉了,就淘寶買了一個USB外接有線網絡卡,結果對校園網相容性很不好,點開校園網認證客戶端以後,連上幾秒鐘,然後就會斷開,一直顯示認證伺服器,校園網是銳捷網路,經過設定靜態IP,靜態和動態IP交替設定等一系列方法後,還是失敗,以前這些方法是可以解決認證失

把arm開發板做成USB(RNDIS /Ethernet Gadget)

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

新增驅動和USB支援 以及一些問題的集中處理

之前核心移植時沒有新增網絡卡驅動和USB支援,新增如下: 1.乙太網卡驅動安裝: 1.1第一步、修改核心程式碼 [[email protected] ~]$ cd fl2440 [[email protected] fl2440]$ cd kernel

將ARM4412開發板配置成USB,並且使用USB通過Ubuntu上網

注:以下配置在三星s4手機也成功測試通過,可以ping通外網ip和域名,但是瀏覽器不能上網。 1. 開發板4412 linux核心配置 4412需要安裝USB Gadget驅動g_ether.ko(drivers/usb/gadget/ether.c) 來進行通訊。g_e

Marvell Yukon88E8057 PCI-E Gigabit Ethernet Controller 無法通過wireshark抓取vlan的問題

sony cw28 使用的網絡卡如下 Marvell Yukon88E8057 PCI-E Gigabit Ethernet Controller  網絡卡無法通過wireshark抓取vlan的問題 參考下文,主要是找到對應網絡卡的資料夾,下圖中,可以看到網絡卡的名稱,按

MSF魔鬼訓練營-3.1.1信息收集-通過DNS和IP地址挖掘目標信息

詳細 root https earch 滲透測試 出發 .com 域名查詢 測試 情報搜集環境站滲透測試全過程的80%~90% 一、外圍信息搜集(公開渠道信息搜集OSINT open source intelligence) 3.1.1信息收集-通過DNS和IP地址挖

ESXi 6.7交換機做端口聚合Ethernet Channel後不通的解決方法

.com src ping不通 流量 sha 其他 交換 esxi 6 shadow 為了實現網絡冗余,在ESXi6.7的主機端,將兩個跑業務流量的網口做Teamning: 在交換機端,對應的兩個交換機端口做端口聚合channel-group: 做完後發現ESXi主機上的虛

Windows 下通過命令列啟用、禁用

建議將系統的網絡卡名改成英文名,這樣在輸入命令的時候會很方便。 例如: 第一塊無線網絡卡可取名為 wlan0 第一塊有線網絡卡可取名為 eth0,依此類推。 我電腦中的網絡卡命名如下圖所示: 首先以管理員身份身份執行 cmd 程式 禁用無線網絡卡:netsh inter

usb註冊流程

通訊管理機所用usb網絡卡、AX88772B、 smsc95xx D:\z_linux_picohood_project\board-support\linux-4.4.x-mainline\drivers\net\usb\asix_devices.c static const struc

Linux中USB無線實現AP模式(hostapd交叉編譯環境下)

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

新增橋,新增一對虛擬

新增網橋 新增網橋,名稱為br0 brctl addbr br0 將網橋關聯到網絡卡ens33 brctl addif br0 ens33 這裡如果你是ssh連線,執行完了你可能就會斷開連線了,所以最好吧這一步和下面幾步連在一起執行這樣就不會斷開了 brctl addif

# Ubuntu 安裝USB無線( tp-link TL-WN725N rtl8188eu )

問題描述:自帶wifi經常連不上一些wifi,所以用tp-link usb的無線網絡卡試試,在網上了查了一些相關資料。 系統版本: Ubuntu 16.04.3 LTS 系統核心: 4.10.0-30-generic tp-link型號:RTL8

通過/proc/net/dev檔案來流量進行監控,統計

/proc 檔案系統是一個虛擬檔案系統,通過它可以使用一種新的方法在 Linux核心空間和使用者間之間進行通訊。在 /proc 檔案系統中,我們可以將對虛擬檔案的讀寫作為與核心中實體進行通訊的一種手段,但是與普通檔案不同的是,這些虛擬檔案的內容都是動態建立的。Linux 核心提供了一種通過 /p

Win10系統修改通過登錄檔修改mac地址

 win+R快捷鍵->輸入regedit開啟登錄檔 定位到  HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ Control\Class \{4D36E972-E325-11CE-BFC1-08002BE10318}\

Centos7.4.1708 安裝usb無限驅動

今天總結一下前幾天折騰的usb無線網絡卡驅動。 一、確定網絡卡驅動 實驗機器核心版本資訊如下: [[email protected] ~]# uname -a Linux localhost.localdomain 3.10.0-693.21.1.el7.x86_64 #1

如何新增刪除子eth0:1(linux案例)

這種方法實現了單網絡卡多IP,我的系統是centos7的,如何新增刪除子網絡卡IP詳細請看下面操作例子 新增子網絡卡IP:ifconfig  ens3:1  192.168.0.100/24           //ens3是網

通過socket獲取狀態

#include <stdio.h> #include <string.h> #include <errno.h> #include <fcntl.h> #include <getopt.h> #inc