吴忠躺衫网络科技有限公司

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

    文章

    7980

    瀏覽量

    266095
  • 網卡
    +關注

    關注

    4

    文章

    314

    瀏覽量

    27458
收藏 人收藏

    評論

    相關推薦

    USB PPP撥號上網,看這篇!

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

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

    本文將帶你使用RNDIS的方式,搭配Linux主控終端,快速實現USB上網。 ? RNDIS是指Remote NDIS,基于
    的頭像 發表于 12-24 17:02 ?671次閱讀
    快速入門!<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>~

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

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

    網卡的演進和應用

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

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

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

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

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

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

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

    千兆網卡的概述與應用

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

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

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

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

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

    在RK3568核心板上實現USBNET模式網絡共享

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

    家用無線路由器實現多設備同時上網的技巧

    互聯網的普及和家庭網絡設備的增多,如何實現多設備同時上網成為了一個熱門話題。無線路由器作為家庭網絡的核心設備,其性能和設置方式直接影響著多設備同時上網的效果。本文將為大家詳細介紹家用無線路由器如何
    的頭像 發表于 04-22 17:24 ?2553次閱讀

    門禁物聯網卡的使用與管理

    門禁物聯網卡,作為現代門禁系統的重要組件,它使得門禁系統能夠與網絡相連,從而實現遠程監控、數據記錄、智能控制等多種功能。那么,門禁物聯網卡究竟如何使用呢?本文將詳細解析門禁物聯網卡的使
    的頭像 發表于 04-11 16:51 ?696次閱讀
    門禁物聯<b class='flag-5'>網卡</b>的使用與管理

    stm32l4如何下載到usb host的固件庫?

    各位大神,請教下stm32l4如何下載到usb host的固件庫,還想請教下stm32有沒有開源的rndis和ecm代碼
    發表于 04-11 07:19

    網卡揭秘:如何選擇適合您需求的網卡

    網卡(Network Interface Card,NIC),也稱網絡適配器,是連接計算機與網絡的硬件設備。在光通信系統中,網卡特指光纖網卡,它通過光纖接口與外部網絡通信,傳輸數據。早期的網卡
    的頭像 發表于 04-10 10:04 ?852次閱讀
    光<b class='flag-5'>網卡</b>揭秘:如何選擇適合您需求的<b class='flag-5'>網卡</b>
    百家乐机器昀程序| 彭山县| 试玩百家乐官网帐| 棋牌室标语| 风水24山分房图| 六合彩结果| 百家乐高手投注法| 大发888| 百家乐官网有试玩的吗| 利来国际娱乐网| 太阳城百家乐主页| 百家乐官网大小是什么| 云鼎百家乐的玩法技巧和规则 | 棋牌新教室| 百家乐分析下载| 齐齐哈尔市| 如何玩百家乐赢钱技巧| 百家乐官网优博u2bet| 大发888娱乐场下载 官方| 伟博百家乐官网娱乐城| 3d俄罗斯轮盘| 百家乐纯技巧打| 菲彩娱乐| 介绍百家乐赌博技巧| 百家乐官网投注程式| 网页棋牌游戏| 百家乐单机版游戏下载| 百家乐官网斗地主在哪玩| 大发888娱乐城dknmwd| 租房做生意如何注意风水问题| 石楼县| 真人百家乐作| 24山双山五行的用法| 百家乐官网二代皇冠博彩| 珠江太阳城广场| 金宝博百家乐现金| 百家乐官网平台出租家乐平台出租| 海安县| 大发888在线娱乐百家乐| 好用百家乐软件| 百家乐官网足球|