一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

來了,親測有效!RNDIS網(wǎng)卡實現(xiàn)USB上網(wǎng)的方法

青山老竹農(nóng) ? 來源:jf_82863998 ? 作者:jf_82863998 ? 2024-12-26 11:49 ? 次閱讀

本文將帶你使用RNDIS的方式,搭配Linux主控終端,快速實現(xiàn)USB上網(wǎng)。

RNDIS是指Remote NDIS,基于USB實現(xiàn)RNDIS實際上就是TCP/IP over USB,就是在USB設(shè)備上跑TCP/IP,讓USB設(shè)備看上去像一塊網(wǎng)卡,從而使Linux可以通過USB設(shè)備連接網(wǎng)絡(luò)。

一、Linux驅(qū)動配置

1. 虛擬串口

通過串口發(fā)送AT指令,Air780ER使用CDC-ACM驅(qū)動,大部分Linux系統(tǒng)默認(rèn)就支持,插入就可以使用。

wKgZPGdpFqWAZlwkAABbsAP2O1I404.png


測試AT指令可以用minicom等工具,運行命令:

sudo minicom -D /dev/ttyACM0

測試結(jié)果如下:

wKgZO2dpFrOAd134AADB53IopC0000.png


如果所用系統(tǒng)不支持CDC-ACM驅(qū)動,則可使用如下配置:

▼ 虛擬串口驅(qū)動配置 ▼

1)配置內(nèi)核:

wKgZO2dpFsSAb259AAWTsCAWAz8215.png


2)確定端口

交叉編譯后,板上運行,demesg打印如下。

wKgZO2dpFtOAWlNmAAEVTel9W8g020.png


說明ACM驅(qū)動Air780ER成功,其中節(jié)點:

1-1.3:1.2為AT口

對應(yīng)的操作文件/dev/ttyACM0,進(jìn)行通訊。如果沒有合適的命令行工具,用如下的源代碼編譯個簡單小程序在linux下發(fā)AT的小工具;

1-1.3:1.4為日志口

對應(yīng)的操作文件/dev/ttyACM1,進(jìn)行抓日志,具體抓日志方法見uart_capture.c;

1-1.3:1.6為modem口

對應(yīng)的操作文件/dev/ttyACM2,客戶可以進(jìn)行PPP撥號。

注意事項:

有些Linux設(shè)備存在模組重啟后,操作文件會發(fā)生移位,比如本來是/dev/ttyACM0是可以進(jìn)行AT通訊的,后來又不行。

最靠譜的方法是通過驅(qū)動節(jié)點,來找到操作文件usb_find.c;

可以用:

FindUsbDevice(AIRM2M_USB_DEVICE_AT_INTERFACE_ID),來尋找真正的需要的端口。

某些最簡系統(tǒng)需要根據(jù)設(shè)備描述來識別,可以參考如下Linux上展示的細(xì)節(jié)進(jìn)行適配,lsusb_618;

相關(guān)最新資料詳見:

https://docs.openluat.com/air780er/at/quick_start/usb/

2. RNDIS驅(qū)動

Air780ER是標(biāo)準(zhǔn)的RNDIS,目前Linux大部分發(fā)行版本都已經(jīng)默認(rèn)支持RNDIS驅(qū)動了,只要通過USB連接Air780ER模組就可以直接用,模組開機(jī)后就會在Linux設(shè)備端看到新的網(wǎng)卡。

如下圖所示:

wKgZPGdpFuKAXLGAAANt3juEjJY561.png


注意:

每個設(shè)備的ethx可能不一樣,上圖插入Air780ER模組后增加的網(wǎng)卡即為RNDIS網(wǎng)卡,地址為192.168.10.2。

如果沒有RNDIS驅(qū)動的,可按照下圖配置:

▼ RNDIS驅(qū)動配置 ▼

wKgZPGdpFvaARcsxAAcwC_LHGJU105.png


二、RNDIS功能測試

STEP 1:禁用本地網(wǎng)卡sudo ifconfig eth0 down

STEP 2:使能模組網(wǎng)卡sudo ifconfig eth10 up

使能之后,最好再通過ifconfig再次確認(rèn)一下。

STEP 3:聯(lián)網(wǎng)測試

PING百度網(wǎng)站聯(lián)網(wǎng)成功,如下圖所示。

wKgZPGdpFwiADQqEAAQANY8SY24110.png


三、如何禁用RNDIS功能

1. 使用設(shè)備管理器禁用RNDIS功能

在設(shè)備管理器,網(wǎng)絡(luò)適配器下找到Remote NDIS選項后,點擊鼠標(biāo)右鍵選擇禁用設(shè)備即可。

wKgZPGdpFxaAQsw0AAKADrq_btY930.png


2. 使用代碼禁用RNDIS功能

發(fā)送AT+RNDISCALL=0關(guān)閉RNDIS網(wǎng)卡,重啟生效。

四、常見問題及解決辦法

1. 如何排查Linux使用RNDIS無法上網(wǎng)的問題?

一般情況下,不是特別精簡的Linux已經(jīng)支持RNDIS 功能,如果插上合宙的4G 模組,但是不能上網(wǎng)的話,需要注意以下幾點:

1)能否檢測到RNDIS設(shè)備?

在命令行中輸入dmesg,如此出現(xiàn)rndis_host 1-1:1.0 eth1這樣的打印,則證明已經(jīng)識別到了。如果沒有,可能是硬件問題,也可能是所用Linux真的不支持rndis,需參考上文驅(qū)動配置,配置一下驅(qū)動。

此時查看ifconfig,如果沒有出現(xiàn)rndis_host 1-1:1.0 eth1中的eth1,則發(fā)送ifconfig -a;此時發(fā)現(xiàn)有eth1但是沒有IP地址,發(fā)送udhcpc -i eth1出現(xiàn)地址后,即可使用此網(wǎng)卡進(jìn)行上網(wǎng)。

2)出現(xiàn)設(shè)備網(wǎng)卡,但是無法上網(wǎng)?

這可能是由于模組沒有注冊上網(wǎng)絡(luò),可以通過模組串口發(fā)送AT指令查詢。

常用AT指令:

AT+CPIN? 查看卡是否在位;

AT+CEREG? 查看是否注冊上網(wǎng)絡(luò);

AT+CESQ 查看信號值;

ATI 查看版本號。

2. RNDIS上網(wǎng),獲取實時流量、上行下行數(shù)據(jù)是哪個指令?

可以通過ifconfig獲取。

3. Linux其它常見問題的解決方法:

01)無法識別VID與PID

一般模組對接的Linux協(xié)議是USB協(xié)議,設(shè)備插入后,系統(tǒng)會檢測出設(shè)備的標(biāo)識:PID VID;

其中VID是廠商識別碼,PID是產(chǎn)品識別碼。此處不需要裝驅(qū)動也可以識別,所以,我們排除插入無法識別的時候,先通過命令行命令lsusb。

Air780ER模組的VID與PID,分別是19d1和0001。

wKgZO2dpFyyAWPzLAAFB5LMD-pA431.png


如上圖所示 ,就是代表已經(jīng)識別到Air780ER模組了。

查看模組是否已經(jīng)識別,如果這里沒有識別到模組,應(yīng)該先排除硬件問題。

常見硬件問題:

USB是否走線過長;

USB是否VBUS沒有連接;

模組是否沒開機(jī)。

02)確認(rèn)是否識別到網(wǎng)卡

如果按照驅(qū)動配置加入驅(qū)動,Linux發(fā)送dmesg出現(xiàn)以下的顯示說明正常識別到網(wǎng)卡:

wKgZPGdpFzuALue5AARoRg5AhEU265.png


第8行:

1-2.1設(shè)備代表掛在usb bus1上2.1節(jié)點為EigenComm的USB 設(shè)備;

第13行:

1-2.1:1.0代表usb interface 0,被當(dāng)做RNDIS使用(其實interface 1也是被RNDIS使用);

第16、17、19行:

1-2.1:1.2 、1-2.1:1.4 、1-2.1:1.6代表usb interface 2,4,6,分別枚舉ttyACM0,ttyACM1,ttyACM2(這個不固定)。

第18行:

代表RNDIS被設(shè)置成eth10網(wǎng)卡,如下所示:

wKgZPGdpF0mAElMbAAMgc38PSOI664.png


03)在Linux下發(fā)AT的小工具

一些Linux開發(fā)板本身不帶串口工具,出問題的時候沒法通過AT指令來找出原因,這里提供一個小工具sendat.c,編譯后運行即可。

最新工具下載詳見:

https://docs.openluat.com/air780er/at/quick_start/usb/

wKgZO2dpF1aANMcXAADGjflQrW4444.png


今天的內(nèi)容就分享到這里了~

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • usb
    usb
    +關(guān)注

    關(guān)注

    60

    文章

    8070

    瀏覽量

    269859
  • 網(wǎng)卡
    +關(guān)注

    關(guān)注

    4

    文章

    322

    瀏覽量

    27775
收藏 人收藏

    評論

    相關(guān)推薦
    熱點推薦

    USB PPP撥號上網(wǎng),看這篇!

    今天一起來看看,如何使用PPP撥號的方式快速實現(xiàn)USB上網(wǎng)。 一、Windows下PPP撥號 1.1 配置標(biāo)準(zhǔn)調(diào)制解調(diào)器 1)選擇COM口 具體操作如下: 打開控制面板—>電話和調(diào)制解調(diào)器
    的頭像 發(fā)表于 01-08 18:24 ?348次閱讀
    <b class='flag-5'>USB</b> PPP撥號<b class='flag-5'>上網(wǎng)</b>,看這篇!

    快速入門!RNDIS網(wǎng)卡實現(xiàn)USB上網(wǎng)~

    本文將帶你使用RNDIS的方式,搭配Linux主控終端,快速實現(xiàn)USB上網(wǎng)。 ? RNDIS是指Remote NDIS,基于
    的頭像 發(fā)表于 12-24 17:02 ?1079次閱讀
    快速入門!<b class='flag-5'>RNDIS</b><b class='flag-5'>網(wǎng)卡</b><b class='flag-5'>實現(xiàn)</b><b class='flag-5'>USB</b><b class='flag-5'>上網(wǎng)</b>~

    如何提高信噪比的有效方法

    信噪比(SNR)是指信號與噪聲的比例,是評價一個系統(tǒng)或設(shè)備性能的重要指標(biāo)。提高信噪比可以通過多種方法實現(xiàn),以下是一些有效方法: 一、增加信號強(qiáng)度 提高發(fā)射功率 :在信號發(fā)射端,通過增
    的頭像 發(fā)表于 12-10 14:30 ?3973次閱讀

    VGA轉(zhuǎn)成USB-C的方法

    將VGA信號轉(zhuǎn)換成USB-C信號,通常需要使用一個專門的轉(zhuǎn)換器或適配器。以下是實現(xiàn)這一轉(zhuǎn)換的具體方法和步驟: 一、使用USB-C VGA轉(zhuǎn)換器 選擇轉(zhuǎn)換器 : 選購一個質(zhì)量可靠的
    的頭像 發(fā)表于 11-08 10:15 ?1588次閱讀

    網(wǎng)卡的演進(jìn)和應(yīng)用

    隨著云計算和虛擬化技術(shù)的發(fā)展,網(wǎng)卡在功能和硬件結(jié)構(gòu)方面也經(jīng)歷了四個階段,即網(wǎng)卡、智能網(wǎng)卡、基于FPGA的DPU和DPU SoC網(wǎng)卡。本文將重點介紹這些不同類型的網(wǎng)絡(luò)適配器和處理器,在硬
    的頭像 發(fā)表于 10-24 16:45 ?1006次閱讀
    <b class='flag-5'>網(wǎng)卡</b>的演進(jìn)和應(yīng)用

    中國移動發(fā)布廣域高吞吐100Gbps網(wǎng)卡

    100Gbps的物理帶寬下,實現(xiàn)5000公里距離上70Gbps的有效數(shù)據(jù)吞吐,相比傳統(tǒng)協(xié)議,其有效吞吐能力提升了5倍。
    的頭像 發(fā)表于 10-12 15:11 ?721次閱讀

    服務(wù)器網(wǎng)卡和普通網(wǎng)卡區(qū)別

    服務(wù)器網(wǎng)卡和普通網(wǎng)卡的區(qū)別主要體現(xiàn)在以下幾個方面: 1. 性能差異 1.1 帶寬 服務(wù)器網(wǎng)卡通常具有更高的帶寬,以滿足大量數(shù)據(jù)傳輸?shù)男枨蟆F胀?b class='flag-5'>網(wǎng)卡的帶寬通常較低,適用于家庭或小型辦公室
    的頭像 發(fā)表于 10-10 16:37 ?1098次閱讀

    RNDIS網(wǎng)卡應(yīng)用看這篇!合宙Air780EP低功耗4G模組AT開發(fā)示例

    ?Air780EP是合宙的低功耗4G模組之一,支持全系列的AT指令以及LuatOS腳本二次開發(fā)。 本文應(yīng)各位大佬邀請,特別講解Air780EP模組AT開發(fā)RNDIS網(wǎng)卡應(yīng)用示例。 本文同樣適用于以下
    的頭像 發(fā)表于 09-30 06:59 ?963次閱讀
    <b class='flag-5'>RNDIS</b><b class='flag-5'>網(wǎng)卡</b>應(yīng)用看這篇!合宙Air780EP低功耗4G模組AT開發(fā)示例

    采用隔離式 USB 2.0 轉(zhuǎn)接驅(qū)動器的 USB 音頻隔離方法

    電子發(fā)燒友網(wǎng)站提供《采用隔離式 USB 2.0 轉(zhuǎn)接驅(qū)動器的 USB 音頻隔離方法.pdf》資料免費下載
    發(fā)表于 09-09 10:01 ?0次下載
    采用隔離式 <b class='flag-5'>USB</b> 2.0 轉(zhuǎn)接驅(qū)動器的 <b class='flag-5'>USB</b> 音頻隔離<b class='flag-5'>方法</b>

    千兆網(wǎng)卡的概述與應(yīng)用

    在當(dāng)今信息技術(shù)飛速發(fā)展的時代,網(wǎng)絡(luò)基礎(chǔ)設(shè)施的建設(shè)日益成為各行各業(yè)數(shù)字化轉(zhuǎn)型的核心?;ヂ?lián)網(wǎng)的迅猛發(fā)展和大數(shù)據(jù)時代的到來,促使對數(shù)據(jù)傳輸速率的需求不斷提高。千兆網(wǎng)卡,作為實現(xiàn)高速網(wǎng)絡(luò)連接的關(guān)鍵硬件設(shè)備
    的頭像 發(fā)表于 08-27 10:57 ?976次閱讀
    千兆<b class='flag-5'>網(wǎng)卡</b>的概述與應(yīng)用

    Air724/Air780E/Air780EP模塊Linux系統(tǒng)使用RNDIS-常見問題

    1.不能上網(wǎng)一般情況下,不是特別精簡的linux已經(jīng)支持rndis功能,如果插上合宙的4G模塊,但是不能上網(wǎng)的話,需要注意以下幾點。1、能否檢測到rndis設(shè)備:A:在命令行中輸入dm
    的頭像 發(fā)表于 07-24 13:56 ?1820次閱讀
    Air724/Air780E/Air780EP模塊Linux系統(tǒng)使用<b class='flag-5'>RNDIS</b>-常見問題

    rt-thread如何解決添加虛擬網(wǎng)卡?

    rt-thread在初始化一個(物理網(wǎng)卡只有一個)網(wǎng)卡之后,還想要再次添加一張?zhí)摂M網(wǎng)卡,調(diào)用netif_add沒有效果,應(yīng)該如何解決添加虛擬網(wǎng)卡
    發(fā)表于 07-10 08:18

    ESP32-S2如何找到send函數(shù)的底層接口函數(shù)?

    你好,我正在用ESP32-S2做一個項目,當(dāng)有Wi-Fi時,通過Wi-Fi連接服務(wù)器;當(dāng)沒Wi-Fi時,通過USBRndis協(xié)議連接服務(wù)器。目前Wi-Fi部分和Rndis驅(qū)動部分都已完成,接下來
    發(fā)表于 06-28 08:18

    有線網(wǎng)卡和無線網(wǎng)卡分別指的是什么

    有線網(wǎng)卡和無線網(wǎng)卡是計算機(jī)或網(wǎng)絡(luò)設(shè)備中用于連接網(wǎng)絡(luò)的兩種不同類型的網(wǎng)絡(luò)接口卡。它們的主要區(qū)別在于傳輸媒介和連接方式。
    的頭像 發(fā)表于 05-28 15:28 ?5374次閱讀

    在RK3568核心板上實現(xiàn)USBNET模式網(wǎng)絡(luò)共享

    本文將借助飛凌嵌入式OK3568-C開發(fā)板為大家介紹實現(xiàn)USBNET模式的方法,在這之前需要先知道什么是USB Gadget——USB Gadget是指所開發(fā)的電子設(shè)備以
    發(fā)表于 05-22 16:32