基于Xavier 移植移远EG25G 4G模块
基于Jetson Xavier NX 移植移遠EG25G 4G模塊
先敲一下黑板,使勁敲
- 大家一定先試一下直接插上4G模塊后,linux能否讀出來,就是右上角的wifi設置那里面出不出現移動網絡信息,如下圖
- 如果出來的話直接添加新的網絡(沒有出來也可能是因為SIM卡插反了,缺角朝外,金屬片向上試試)
- 一路next就可以,注意select your plan那里選internet
- 添加之后連接移動網絡,密碼隨便輸0000、1234啥的都可以,如果可以連上網,那后面也就不用看了,別問我怎么知道的…
如果你的設備型號和我不一致,也無法通過上面步驟連接上移動網絡,那么可以結合我下面貼出的RMBR老哥的文章以及我這邊的補充嘗試一下。
寫在前面
用了好久的CSDN, 這是我第一次寫文章,想要作為自己這一次操作的記錄,同時如果可以幫助到各位那就再好不過。同時第一次使用CSDN編輯器書寫,操作不是十分熟悉,格式可能不夠標準,請大家見諒。
筆者個人之前沒有任何驅動移植相關經驗,這次能夠實現上述功能非常感謝各位CSDN的大佬們毫不吝嗇地分享自己的操作步驟和經驗,特別要感謝一位名字叫RMBR的大哥,百忙之中給了我很多幫助,這里再次說一聲感謝,同時貼上我參考的他的文章地址給大家,大家可以作為參考。
移植EC20F 4G模塊驅動基于Jetson-xavier
感謝毫不吝嗇地分享知識的你們!
正文
實驗室最近的項目需要用到Xavier Nx的4G功能,需要外接4G模塊來實現,這里分享一下如何讓Xavier通過4G模塊實現撥號上網。
基本步驟大家建議大家先看一下我前面提到的文章,如果是相關從業人員應該照著他的步驟去做應該不會出現什么問題,我這里僅僅是希望從一個小白的視角詳細記錄一下操作的過程。
準備工作
硬件
附一張全家福:
工具
Xavier官方kernel
https://developer.nvidia.cn/embedded/downloads#?search=L4T
交叉編譯工具
http://releases.linaro.org/components/toolchain/binaries/7.3-2018.05/aarch64-linux-gnu/
EC20&EC25官方驅動
這個購買模塊時商家會給你,或者到移遠官網的設備界面下載
參考的RMBR大哥添加的額外依賴 : qmi_wwan_q.c
https://download.csdn.net/download/qq_39703165/15714727?spm=1001.2014.3001.5503
busybox源代碼
https://busybox.net/downloads/?C=M;O=D
這個選擇最新的壓縮包下載就可以
使勁敲黑板
所有前面的這些工具源碼啥的一定不要放到根目錄下,直接在home目錄下面操作就可以,不然可能因為權限出很多問題,別問我怎么知道的…
正式開始
修改內核源碼文件 kernel-4.9/drivers/usb/serial/option.c
- 在 option_ids[] 中添加VID 和 PID USB_DEVICE(0x2c7c, 0x0125)
這里給出的是EG25的ID值,如設備不同請自行修改為相應的值
需要添加的代碼部分我使用******標記
- 在 option_probe()中添加如下代碼段:
注意是原本就有內容的那個option_probe()
需要添加的代碼部分我使用******標記
- 在option_1port_device中添加如下代碼段:
需要添加的代碼部分我使用******標記
修改文件kernel-4.9/drivers/usb/serial/usb_wwan.c
- 在 usb_wwan_setup_urb中添加如下代碼段:
需要添加的代碼部分我使用******標記
復制GobiNet文件夾下的文件到 kernel-4.9/drivers//net/usb目錄下
GobiNet中除Readme外的所有文件均需放到/net/usb目錄下,并且注意要將前面提到的qmi_wwan_q.c也放進去
修改kernel-4.9/drivers//net/usb目錄下的Makefile文件
需要添加的代碼部分我使用******標記
obj-$(CONFIG_USB_VL600) += lg-vl600.o ****** obj-$(CONFIG_USB_NET_QMI_WWAN) += qmi_wwan_q.o ****** obj-$(CONFIG_USB_NET_QMI_WWAN) += qmi_wwan.o obj-$(CONFIG_USB_NET_CDC_MBIM) += cdc_mbim.o obj-$(CONFIG_USB_NET_CH9200) += ch9200.o ****** obj-m += GobiNet.o GobiNet-objs := GobiUSBNet.o QMIDevice.o QMI.o ******修改 arch/arm64/configs/tegra_defconfig 文件
這部分不清楚是不是可以直接把下面的內容完全復制到文件最后,我的做法是用查找功能一個一個查找,不同的話修改,沒有的話補上
CONFIG_USB_SERIAL=y CONFIG_USB_SERIAL_OPTION=m CONFIG_USB_SERIAL_QUALCOMM=m CONFIG_USB_SERIAL_WWAN=m CONFIG_PPP=y CONFIG_PPP_BSDCOMP=y CONFIG_PPP_DEFLATE=y CONFIG_PPP_FILTER=y CONFIG_PPP_MPPE=y CONFIG_PPPOLAC=y CONFIG_PPPOPNS=y CONFIG_PPP_ASYNC=y CONFIG_PPP_SYNC_TTY=yCONFIG_USB_USBNET=y CONFIG_USB_NET_QMI_WWAN=m ———————————————— 版權聲明:本文為CSDN博主「RMBR」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。 原文鏈接:https://blog.csdn.net/rendog/article/details/103825555編譯內核
- 在你的kernel-4.9目錄下編譯
- 設置輸出文件地址
- 設置交叉編譯工具地址(地址改成你自己的目錄地址)
- 編譯
這里原文的作者說不使用sudo也可以,但我這里嘗試后發現必須要使用sudo命令。
另外最后一行命令“-j6”是核心數,看你板子的情況,我這邊是6核所以使用-j6,大家根據自己情況修改
使勁敲黑板
執行最后一步后會開始編譯,編譯時間視板子性能而定,一般需要30-60分鐘,如果編譯成功會在輸出文件目錄下出現.ko文件,編譯好之后可以搜索一下,有的話編譯過程就應該是成功了
后面的內容
后面的內容大家去看原作者寫的就好,附上傳送門:
移植EC20F 4G模塊驅動基于Jetson-xavier
寫在最后
再次感謝CSDN上各位大佬的分享,希望我的內容對大家有幫助。
總結
以上是生活随笔為你收集整理的基于Xavier 移植移远EG25G 4G模块的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 三种依赖注入方式
- 下一篇: 杭州初级Java面试总结