在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

來了,親測有效!RNDIS網卡實現USB上網的方法

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

本文將帶你使用RNDIS的方式,搭配Linux主控終端,快速實現USB上網。

RNDIS是指Remote NDIS,基于USB實現RNDIS實際上就是TCP/IP over USB,就是在USB設備上跑TCP/IP,讓USB設備看上去像一塊網卡,從而使Linux可以通過USB設備連接網絡。

一、Linux驅動配置

1. 虛擬串口

通過串口發送AT指令,Air780ER使用CDC-ACM驅動,大部分Linux系統默認就支持,插入就可以使用。

wKgZPGdpFqWAZlwkAABbsAP2O1I404.png


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

sudo minicom -D /dev/ttyACM0

測試結果如下:

wKgZO2dpFrOAd134AADB53IopC0000.png


如果所用系統不支持CDC-ACM驅動,則可使用如下配置:

▼ 虛擬串口驅動配置 ▼

1)配置內核:

wKgZO2dpFsSAb259AAWTsCAWAz8215.png


2)確定端口

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

wKgZO2dpFtOAWlNmAAEVTel9W8g020.png


說明ACM驅動Air780ER成功,其中節點:

1-1.3:1.2為AT口

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

1-1.3:1.4為日志口

對應的操作文件/dev/ttyACM1,進行抓日志,具體抓日志方法見uart_capture.c;

1-1.3:1.6為modem口

對應的操作文件/dev/ttyACM2,客戶可以進行PPP撥號。

注意事項:

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

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

可以用:

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

某些最簡系統需要根據設備描述來識別,可以參考如下Linux上展示的細節進行適配,lsusb_618;

相關最新資料詳見:

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

2. RNDIS驅動

Air780ER是標準的RNDIS,目前Linux大部分發行版本都已經默認支持RNDIS驅動了,只要通過USB連接Air780ER模組就可以直接用,模組開機后就會在Linux設備端看到新的網卡。

如下圖所示:

wKgZPGdpFuKAXLGAAANt3juEjJY561.png


注意:

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

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

▼ RNDIS驅動配置 ▼

wKgZPGdpFvaARcsxAAcwC_LHGJU105.png


二、RNDIS功能測試

STEP 1:禁用本地網卡sudo ifconfig eth0 down

STEP 2:使能模組網卡sudo ifconfig eth10 up

使能之后,最好再通過ifconfig再次確認一下。

STEP 3:聯網測試

PING百度網站聯網成功,如下圖所示。

wKgZPGdpFwiADQqEAAQANY8SY24110.png


三、如何禁用RNDIS功能

1. 使用設備管理器禁用RNDIS功能

在設備管理器,網絡適配器下找到Remote NDIS選項后,點擊鼠標右鍵選擇禁用設備即可。

wKgZPGdpFxaAQsw0AAKADrq_btY930.png


2. 使用代碼禁用RNDIS功能

發送AT+RNDISCALL=0關閉RNDIS網卡,重啟生效。

四、常見問題及解決辦法

1. 如何排查Linux使用RNDIS無法上網的問題?

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

1)能否檢測到RNDIS設備?

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

此時查看ifconfig,如果沒有出現rndis_host 1-1:1.0 eth1中的eth1,則發送ifconfig -a;此時發現有eth1但是沒有IP地址,發送udhcpc -i eth1出現地址后,即可使用此網卡進行上網。

2)出現設備網卡,但是無法上網?

這可能是由于模組沒有注冊上網絡,可以通過模組串口發送AT指令查詢。

常用AT指令:

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

AT+CEREG? 查看是否注冊上網絡;

AT+CESQ 查看信號值;

ATI 查看版本號。

2. RNDIS上網,獲取實時流量、上行下行數據是哪個指令?

可以通過ifconfig獲取。

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

01)無法識別VID與PID

一般模組對接的Linux協議是USB協議,設備插入后,系統會檢測出設備的標識:PID VID;

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

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

wKgZO2dpFyyAWPzLAAFB5LMD-pA431.png


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

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

常見硬件問題:

USB是否走線過長;

USB是否VBUS沒有連接;

模組是否沒開機。

02)確認是否識別到網卡

如果按照驅動配置加入驅動,Linux發送dmesg出現以下的顯示說明正常識別到網卡:

wKgZPGdpFzuALue5AARoRg5AhEU265.png


第8行:

1-2.1設備代表掛在usb bus1上2.1節點為EigenComm的USB 設備;

第13行:

1-2.1:1.0代表usb interface 0,被當做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被設置成eth10網卡,如下所示:

wKgZPGdpF0mAElMbAAMgc38PSOI664.png


03)在Linux下發AT的小工具

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

最新工具下載詳見:

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

wKgZO2dpF1aANMcXAADGjflQrW4444.png


今天的內容就分享到這里了~

審核編輯 黃宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • usb
    usb
    +關注

    關注

    60

    文章

    8141

    瀏覽量

    270822
  • 網卡
    +關注

    關注

    4

    文章

    323

    瀏覽量

    27848
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    淺析四口千兆PoE網卡:應用、技術與未來趨勢

    四口千兆PoE網卡,作為網絡基礎設施中一個重要的組件,正在日益受到關注。它不僅提供高速穩定的網絡連接,更集成了以太網供電(PoE)技術,極大地簡化了設備部署和管理,為各種應用場景帶來了便利。本文將
    的頭像 發表于 05-14 14:39 ?157次閱讀
    淺析四口千兆PoE<b class='flag-5'>網卡</b>:應用、技術與未來趨勢

    USB PPP撥號上網,看這篇!

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

    快速入門!RNDIS網卡實現USB上網~

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

    為什么你的網卡工作會不正常?(上)

    導讀網卡的正常運作對于系統網絡功能的實現至關重要。本文深入剖析因復位時間不足致網卡故障情形,解讀不同網卡芯片復位要求及電路設計、驅動配合要點,為工程師提供
    的頭像 發表于 12-23 11:35 ?1009次閱讀
    為什么你的<b class='flag-5'>網卡</b>工作會不正常?(上)

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

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

    VGA轉成USB-C的方法

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

    網卡的演進和應用

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

    中國移動發布廣域高吞吐100Gbps網卡

    100Gbps的物理帶寬下,實現5000公里距離上70Gbps的有效數據吞吐,相比傳統協議,其有效吞吐能力提升了5倍。
    的頭像 發表于 10-12 15:11 ?782次閱讀

    服務器網卡和普通網卡區別

    服務器網卡和普通網卡的區別主要體現在以下幾個方面: 1. 性能差異 1.1 帶寬 服務器網卡通常具有更高的帶寬,以滿足大量數據傳輸的需求。普通網卡的帶寬通常較低,適用于家庭或小型辦公室
    的頭像 發表于 10-10 16:37 ?1209次閱讀

    RNDIS網卡應用看這篇!合宙Air780EP低功耗4G模組AT開發示例

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

    采用隔離式 USB 2.0 轉接驅動器的 USB 音頻隔離方法

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

    千兆網卡的概述與應用

    在當今信息技術飛速發展的時代,網絡基礎設施的建設日益成為各行各業數字化轉型的核心。互聯網的迅猛發展和大數據時代的到來,促使對數據傳輸速率的需求不斷提高。千兆網卡,作為實現高速網絡連接的關鍵硬件設備
    的頭像 發表于 08-27 10:57 ?1082次閱讀
    千兆<b class='flag-5'>網卡</b>的概述與應用

    Air724/Air780E/Air780EP模塊Linux系統使用RNDIS-常見問題

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

    rt-thread如何解決添加虛擬網卡

    rt-thread在初始化一個(物理網卡只有一個)網卡之后,還想要再次添加一張虛擬網卡,調用netif_add沒有效果,應該如何解決添加虛擬網卡
    發表于 07-10 08:18

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

    你好,我正在用ESP32-S2做一個項目,當有Wi-Fi時,通過Wi-Fi連接服務器;當沒Wi-Fi時,通過USBRndis協議連接服務器。目前Wi-Fi部分和Rndis驅動部分都已完成,接下來
    發表于 06-28 08:18
    主站蜘蛛池模板: 久久天天躁夜夜躁狠狠85台湾 | 1024手机看片欧美日韩 | 三级在线观看免播放网站 | 极品啪啪| 成人影院在线观看视频 | 免费毛片网站 | 亚洲精品二区中文字幕 | 中文字幕第五页 | 伊人亚洲 | 日本不卡一区二区三区在线观看 | 午夜毛片视频高清不卡免费 | 久久国产成人午夜aⅴ影院 久久国产福利 | 日韩欧美亚洲综合久久影院d3 | 国产一级一片免费播放视频 | 色欲麻豆国产福利精品 | 高h细节肉爽文bl1v1 | 爆操欧美| 男人天堂网在线 | 日本不卡在线播放 | 免费国产99久久久香蕉 | 久久精品视频热 | 亚洲一区小说区中文字幕 | 一级a级国产不卡毛片 | 视频福利网| 亚洲伊人tv综合网色 | 国内精品一级毛片免费看 | a亚洲天堂| 日本亚洲免费 | 男人天堂欧美 | 国产精品久久免费观看 | 广东毛片| 亚洲欧美日韩特级毛片 | 国产成人在线影院 | 简单视频在线播放jdav | h网站国产 | 一区二区三区四区在线 | 一区二区三区电影 | 性欧美欧美之巨大69 | 国产乱码精品一区二区三区四川人 | 黄色在线观看视频 | 久久亚洲综合色 |