1. <nobr id="easjo"><address id="easjo"></address></nobr>

      <track id="easjo"><source id="easjo"></source></track>
      1. 
        

      2. <bdo id="easjo"><optgroup id="easjo"></optgroup></bdo>
      3. <track id="easjo"><source id="easjo"><em id="easjo"></em></source></track><option id="easjo"><span id="easjo"><em id="easjo"></em></span></option>
          貴州做網站公司
          貴州做網站公司~專業!靠譜!
          10年網站模板開發經驗,熟悉國內外開源網站程序,包括DEDECMS,WordPress,ZBlog,Discuz! 等網站程序,可為您提供網站建設,網站克隆,仿站,網頁設計,網站制作,網站推廣優化等服務。我們專注高端營銷型網站,企業官網,集團官網,自適應網站,手機網站,網絡營銷,網站優化,網站服務器環境搭建以及托管運維等。為客戶提供一站式網站解決方案?。?!

          generic rndis(怎么在Linux下使用USB網絡)

          來源:互聯網轉載 時間:2024-05-07 03:05:01

          在介紹USB的驅動開發時,我通常會用用Linux的的USB網絡來演示,它兼容RNDIS網絡,一臺Linux即可充當USB的device端,也可以由另一臺Linux來充當USB的Host端,Host端的也可以由安裝的微軟的標準的Rndis驅動來充當.

          這種網絡有相當強的實用價值,而且完整實現的Linux USB Slave驅動和Linux USB Gadget兩種驅動,因此有很強演示效果.

          應用場景:

          一、智能手機共享網絡

          現在智能手機采用3G網絡,通過Linux/Android手機上安裝相關驅動,可以用USB線在主機和手機建一個共享網絡,這樣智能手機充當一個無線路由器的功能.現在手機一般都有這個功能,WINDOWS安裝Rndis驅動即可.而且就是用的我們后面提到的g_ether.ko驅動。

          這種方式,遠遠優于把手機當成3G的modem,用USB來撥號這種方式,共享網絡相當于手機和電腦都上網不誤。

          這種方式跟用手機WIFI作無線熱點的功能一樣,但是APN的實現的要求較高,很多手機不一定能支持,而且USB還有同時供電.還是有其優點.

          二、增加第二個有線網絡.

          在教室上課時,很多時候服務器和學生用機只有一個網絡口接口,我把網線接到局域網時,我的開發板就無法用NFS接我的機器,學生機也是如此,現在服務器上把有線網絡接入局域網,而我的開發板與服務器則直接相連.

          (1)USB 網絡的結構

          在與以太網不同,在USB網絡里各終端不是對等的,即USB Host端和USB Device端的所需要軟件和硬件接口不一樣.

          USB網絡有很多種,其中用得最多是RNDIS網絡。它的全稱是

          Remote Network Device Interface Specification.

          它是由微軟制定的規范,因為手機使用用得較多,因此LINUX也在驅動中兼容這個規范

          (PS:Android手機這個功能幾乎是標配,而手機需要支持的功能FAT,RNDIS,MTP(媒體傳輸協議),都是MS的專利,這幾張牌成了MS向Android手機制造產家收取專利費的重要武器,三星已經交了錢了)

          一般象PC機充當USB Host角色,帶USB Host的接口的Linux開發板也可以充當這個角色.

          如果是LINUX主機,需要安裝安裝 rndis_host.ko 這個驅動。一般發行版均已經編譯好,直接運行即可。

          如果嵌入式開發板可以配置內核的rndis_host為動態模塊

          它位于

          │ Prompt: Host for RNDIS and ActiveSync devices (EXPERIMENTAL) │

          │ Defined at drivers/net/usb/Kconfig:234 │

          │ Depends on: NETDEVICES && USB && NET && USB_USBNET && EXPERIMENTAL │

          │ Location: │

          │ -> Device Drivers │

          │ -> Network device support (NETDEVICES [=y]) │

          │ -> USB Network Adapters │

          │ -> Multi-purpose USB Networking Framework (USB_USBNET [=m]) │

          如果是WINDOWS主機,則需要安裝MS的Generic RNDIS驅動。

          在USB的另一端,一般是嵌入式設備,以嵌入式LINUX為例,需要安裝USB Gadget驅動g_ether.ko 來進行通訊。g_ether.ko在配置菜單位置如下

          Symbol: USB_ETH_RNDIS [=n] │

          │ Prompt: RNDIS support │

          │ Defined at drivers/usb/gadget/Kconfig:609 │

          │ Depends on: <choice> && USB_ETH │

          │ Location: │

          │ -> Device Drivers │

          │ -> USB support (USB_SUPPORT [=y]) │

          │ -> USB Gadget Support (USB_GADGET [=y]) │

          │ -> USB Gadget Drivers (<choice> [=m]) │

          │ -> Ethernet Gadget (with CDC Ethernet support) (USB_ETH [=n │

          因此一個完整RNDIS網絡結構如下

          二、Linux USB 網絡搭建

          USB Host安裝,以RHEL5為例,直接運行如下命令即可安裝 rndis_host.ko

          modprobe rndis_host

          它將安裝 rndis_host.ko和usbnet.ko

          [root@hxy]#find/lib/modules/2.6.18-194.el5/-name"rndis*"/lib/modules/2.6.18-194.el5/kernel/drivers/usb/net/rndis_host.ko[root@hxy]#modproberndis_host[root@hxy]#lsmod|greprndis_hostrndis_host104330cdc_ether97931rndis_hostusbnet199132rndis_host,cdc_ether

          在開發板上編譯好內核模塊,g_ether.ko.執行如下命令

          #insmodg_ether.kog_ethergadget:ingrandomselfethernetaddressg_ethergadget:usingrandomhostethernetaddrusb0:MACde:5e:8b:3d:84:dbusb0:HOSTMAC32:90:92:52:a9g_ethethernetGadget,morialDay2008g_ethergadget:g_etherreadyRegisteredgadgetdriver'g_ether'

          分別在主機和開發板之間抽入USB線,其中開發板使用D型的Slave端接口(不要插在HOST接口上!) 讓USB網卡結點生效,這里一般是usb0

          ifconfigusb0192.168.3.101uphub1-0:1.0:unabletoenumerateUSBdevice2g_ethergadget:highspeedconfig#1:Chernet(ECM)

          在主機端做類似配置,配成另一個IP即可

          ifconfigusb0192.168.3.120up#ifconfigusb0192.168.3.120upusb1-1:newhighspeedUSBdeviceusingehci_hcdandaddress5usb1-1:configuration#1chosenfrom2choicesusb0:register'cdc_ether'atusb-0000:00:1d.7-1,CDCEthernetDevice,32:90:26:92:52:a9

          這時在兩端即可以互相 ping 通。

          三、與Windows 建立聯接。

          如果希望與Windows 建立RNDIS網絡聯接,需要下載RNDIS驅動,并且根據g_ether.ko的產商號和設備號調整安裝INF文件。

          1.確定VID和PID

          首先確認g_ether.ko的RNDIS的vendor號和product號.它的定義在 drivers/usb/gadget/ether.c中

          #defineRNDIS_VENDOR_NUM0x0525/*NetChip*/#defineRNDIS_PRODUCT_NUM0xa4a2/*Ethernet/RNDISGadget*/

          2.下載WINDOWS的RNDIS驅動.

          http://www.microsoft.com/china/whdc/device/network/NDIS/rndis.mspx

          http://gp2x.generation.free.fr/public/Autres/

          如果不成功,去找一下RNDIS-USB-Kit_05.exe 這個文件。它是一個壓縮文件,其中的rndismpy.sys,usb8023y.sys就是驅動文件.

          3.修改安裝inf文件

          以其中的RNDIS_Template.inf為藍本修改安裝文件。主要修改兩個地方:

          把 mm/dd/yyyy,x.y.v.z 修改成任意的時間和版本號,我修改是 09/28/2011,1.0.0.0

          (注意有兩處)

          把 USB\VID_vvvv&PID_pppp 修改成查到的數字,這里必須是Linux定義的 USB\VID_0525&PID_A4A2

          把inf和兩個sys放在一起,隨意取個名字,我取名 hxy_rndis.inf

          4.安裝驅動

          在開發板與WINDOWS之間插入USB線。這時WINDOWS會提示安裝驅動,選擇手功安裝,并且選擇上一步的 sys所在目錄即可安裝

          安裝后系統會出現一個RNDIS的網卡,配置IP即可與開發板通訊

          感謝各位的閱讀,以上就是“怎么在Linux下使用USB網絡”的內容了,經過本文的學習后,相信大家對怎么在Linux下使用USB網絡這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是本站,小編將為大家推送更多相關知識點的文章,歡迎關注!

          標簽:generic rndis-

          c語言中正確的字符常量是用一對單引號將一個字符括起表示合法的字符常量。例如‘a’。數值包括整型、浮點型。整型可用十進制,八進制,十六進制。八進制前面要加0,后面...

          2022年天津專場考試原定于3月19日舉行,受疫情影響確定延期,但目前延期后的考試時間推遲。 符合報名條件的考生,須在規定時間登錄招考資訊網(www.zha...

          :喜歡聽,樂意看。指很受歡迎?!巴卣官Y料”喜聞樂見:[ xǐ wén lè jiàn ]詳細解釋1. 【解釋】:喜歡聽,樂意看。指很受歡迎。2. 【示例】:這是...

          近日,萬孚生物新冠抗原產品自測應用獲批上市。局李阿偶誒,萬孚生物,是國內唯一獲得新冠抗原檢測和新冠抗體檢測雙注冊證的企業,萬孚生物新型冠狀病毒(2019-nCoV)抗原檢測試劑盒(膠體金法)是國內首批獲證的新冠病毒抗原檢測試劑之一,并獲得歐盟CE認證以及相關進口方當地資質。但是網傳截圖顯示,3月12日,萬孚生物董秘胡洪在公司新冠抗原檢測試劑盒獲批后,在朋友圈發表“此刻心情如下&rdqu...

          春節假期剛過,無數生活在“北上廣”的有志青年像候鳥一樣紛紛返鄉。他們就像一群忘恩負義的孩子。在路上,上飛機前后,他們開始抱怨大都市的各種不好——房價,交通,空煤氣和壓力,當然還有各種情緒。幾年前,“逃離北上廣”是媒體關注的焦點,這意味著大城市越來越不適合居住,尤其是北京。然而這兩年的新聞是:原來“逃離北上廣”的人,現在都“逃”回來了。我曾經在一篇文章里寫過,對于一個充滿野心和抱負的年輕人來說,北京...

          (相關資料圖)最近這段時間總有小伙伴問小編英雄聯盟LOL小號多開功能如何使用是什么,小編為此在網上搜尋了一些有關于英雄聯盟LOL小號多開功能如何使用的知識送給大家,希望能解答各位小伙伴的疑惑。第一、我們是通過wegame來實現小號多開的,首先得下載一個wegame ...

          TOP
          国产初高中生视频在线观看|亚洲一区中文|久久亚洲欧美国产精品|黄色网站入口免费进人
          1. <nobr id="easjo"><address id="easjo"></address></nobr>

              <track id="easjo"><source id="easjo"></source></track>
              1. 
                

              2. <bdo id="easjo"><optgroup id="easjo"></optgroup></bdo>
              3. <track id="easjo"><source id="easjo"><em id="easjo"></em></source></track><option id="easjo"><span id="easjo"><em id="easjo"></em></span></option>