最近由于工作原因入手了移远的5G(RM500H工业模组)通信开发板,由于手头上没有树莓派等原装Linux内核系统,又需要使用ROS,因此使用了Vmware虚拟机安装了Ubuntu16.04进行调试。最终可以实现Ubuntu系统使用4G电话卡(手头没有5G的电话卡,只有一张闲置的4g电信卡)连接上网。

调试设备及文档:
1.PC机(已安装Vmware及Ubuntu)
2.移远5G工业模组开发板
3.《Quectel_LTE&5G_Linux_USB_Driver_User_Guide_V2.0》(移远官方文档,注意版本,一定要是最新版本)
连接调试步骤如下:

一、安装USB Driver
1.使用虚拟机,将5G开发板连接至PC机上,注意需要连接至虚拟机的Ubuntu上。
2.打开terminal,输入2.cat /proc/version查看Linux内核版本号(我的原始版本号是Linux version 4.15.0-96-generic )
3.更新升级功能:sudo apt-get update。
4.重新安装ubuntu源代码:sudo apt-get --reinstall install linux-source-4.15.0。由于Ubuntu在编译了Linux内核生成.ko和.o的执行文件后,将所有的源代码都删除了,所以如果需要编译内核,Ubuntu本身是不带Source文件的。
5.进入下载文件包并解压:
cd /usr/src/linux-source-4.15.0
sudo tar xvjf linux-source-4.15.0.tar.bz2
6. 使用查找命令查找两个文件所在:
find /usr/src/linux-source-4.15.0/linux-source-4.15.0 -iname Option.c -or -iname usb-wwan.h
会显示:
/usr/src/linux-source-4.15.0/linux-source-4.15.0/drivers/usb/serial/option.c
/usr/src/linux-source-4.15.0/linux-source-4.15.0/drivers/usb/serial/usb-wwan.h
这个时候就是为修改USB-driver作准备了,准备执行文档中——3.2. USB Serial Option Driver章节的内容。
7.进入/usr/src/linux-source-4.15.0/linux-source-4.15.0/drivers/usb/serial路径下 ,修改option.c文件。

7.1 添加模组的PID和VID
进入/usr/src/linux-source-4.15.0/linux-source-4.15.0/drivers/usb/serial/option.c.并用gedit打开文件,按要求在函数内添加相应的信息。
File: [KERNEL]/drivers/usb/serial/qcserial.c
{USB_DEVICE(0x05c6, 0x9215)}, /* Acer Gobi 2000 Modem device (VP413) */

File: [KERNEL]/drivers/net/usb/qmi_wwan.c
{QMI_GOBI_DEVICE(0x05c6, 0x9215)}, /* Acer Gobi 2000 Modem device (VP413) */

这两行一定要禁用,不然会报错。

7.2 Add the Zero Packet Mechanism
进入/usr/src/linux-source-4.15.0/linux-source-4.15.0/drivers/usb/serial/usb_wwan.c,并修改。

此处并不是所有修改内容,具体修改内容请参照User Guide。
7.3 Use MBIM, GobiNet or QMI_WWAN Driver
对应User Guide章节3.2.5

7.4 Modify Kernel Configuration(配置Kernel)
先进入/usr/src/linux-source-4.15.0/linux-source-4.15.0(Kernel所在包),
再输入sudo make menuconfig,启用 CONFIG_USB_SERIAL_OPTION。
[] Device Drivers →
[
] USB Support →
[] USB Serial Converter support →
[
] USB driver for GSM and CDMA modems

执行3.2.6的make menuconfig指令时会提示未安装ncurse,安装上。
命令:sudo apt-get install libncurses5-dev

8.执行3.2.7之前,Ubuntu的Linux内核版本为Linux version 4.15.0-96-generic,因此需要编译并修改内核版本,修改方法参考《[Linux Kernel]在ubuntu下编译内核过程》(链接为http://blog.sina.com.cn/s/blog_54f82cc201012czx.html)

make
Q1:执行make时会出现问题 scripts/sign-file.c:25:30: fatal error: openssl/opensslv.h: No such file or directory
S1:执行sudo apt-get install libssl-dev 安装

make modules_install
make install
/lib/modules下有生成新的内核名字,使用mkinitramfs -o initrd.img-4.15.18 4.15.18生成initrd 镜像文件

执行3.2.7步骤,reboot后连接开发板,就能在dev下发现

9.以下Tips在使用时可能会遇到,视个人遇到的情况而定
Tips:编译过程中的错误:

(1)显示:

drivers/usb/serial/option.c: In function ‘option_probe’:
drivers/usb/serial/option.c:2127:2: error: unknown type name ‘USB’
USB network device
^
drivers/usb/serial/option.c:2127:14: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘device’
USB network device
^
drivers/usb/serial/option.c:2127:2: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
USB network device
^
scripts/Makefile.build:330: recipe for target ‘drivers/usb/serial/option.o’ failed
make[3]: *** [drivers/usb/serial/option.o] Error 1

解决办法:option.c的2172行的USB被写进了程序中,本应该是注释

(2)用的Vmware虚拟机运行的Ubuntu程序,安装到最后硬盘大小出现问题
显示:No space left on device
查看:(1)df -h (2)df /home (3)ll -ah (4)删除大文件rm -rf /var/log/messages

解决办法:将硬盘容量从20G扩展到100G,虚拟机扩展方法参照博客:
https://blog.csdn.net/weixin_39510813/article/details/78387334

(3)按照文档《[Linux Kernel]在ubuntu下编译内核过程》中,如果执行第4步make后,
会有一些问题出现,可参照http://blog.chinaunix.net/uid-22676613-id-1771484.html解决。

(4)第9步中要求用编辑器打开/boot/grub/menu.lst文件,但Ubuntu版本自从10以后,已经没有menu.lst文件了,可以下载Grub Customizer工具进行配置,
在移远开发板内核配置的的时候是不需要按照这个步骤的,直接执行3.2.7就好。这个是为了切换内核用的。

安装:
sudo add-apt-repository ppa:danielrichter2007/grub-customizer
sudo apt-get update
sudo apt-get install grub-customizer

配置:

到这一步基本就安装完成了,然后就是重启就可以在/dev下发现ttyUSB0/1/2/3等几个驱动。

10、测试AT指令功能
连接好硬件,再将SIM卡插入开发板。
在Ubuntu下打开Terminal,输入busybox microcom /dev/ttyUSB2指令,再根据AT指令集输入所需指令即可完成测试。(AT指令集可查看给的官方手册或百度)
推荐几个测试命令:
检测Module与串口是否连通,能否接收AT命令: AT

查看SIM卡是否到位: AT+CPIN?

测试信号: AT+CSQ

查看运营商: AT+COPS?

获取模块标识: AT+CGMM

获取模块厂商标识: AT+CGMI

查看SIM卡是否到位: AT+CPIN?

网络注册。获得手机的注册状态: AT+CREG?

二、 配置GobiNet Driver
1.参考配置文档3.4章节进行配置,首先将GobiNet Driver放入usr/src/linux-source-4.15.0/linux-source-4.15.0/drivers/net/usb/中。其中,GobiNet Driver是文件夹《Quectel_WCDMA&LTE_Linux&Android_GobiNet_Driver_V1.3.0》中下载的(官方网站上驱动无法直接下载,供应商有提供版本是直接可用的)

2.进行到5.3的Step2时需要使用busybox udhpc,需要到官网上下载相应源代码,先在命令行输入busybox,查看其版本号;再在官网上下载对应版本。
参考:
http://wiki.friendlyarm.com/wiki/index.php/How_to_use_4G_Module_on_NanoPC-T4

并按照Quectel_LTE&5G_Linux_USB_Driver_User_Guide_V2.0文件中的3.6步骤进行操作。
在将下载好的源文件make后会生成quectel-CM的可执行文件,将可执行文件cp到/usr/bin下才可以调用。

3.调试
在root下输入/home/puer/Desktop/Quectel_QConnectManager_Linux_V1.6.0.6# quectel-CM &
出现结尾为
[04-23_00:56:33:997] Adding DNS server 222.66.251.8
[04-23_00:56:33:997] Adding DNS server 116.236.159.8
就是正常连接了。

然后就可以正常上网了

如何在Ubuntu16.04下配置移远RM500工业模组(5G工业模组)相关推荐

  1. linux arm移远重启4g,如何在Ubuntu16.04下配置移远RM500工业模组(5G工业模组)

    如何在Ubuntu16.04下配置移远RM500工业模组(5G工业模组) 如何在Ubuntu16.04下配置移远RM500工业模组(5G工业模组) 最近由于工作原因入手了移远的5G(RM500H工业模 ...

  2. vscode linux新建c语言,Ubuntu16.04下配置VScode的C/C++开发环境

    1. Vscode安装 Visual studio code是微软发布的一个运行于 Mac OS X.Windows和 Linux 之上的,针对于编写现代 Web 和云应用的跨平台源代码编辑器.第一种 ...

  3. Ubuntu16.04下配置ORB-SLAM2与运行单目实例

    Ubuntu16.04下配置ORB-SLAM2与运行单目实例 一.安装相关工具 二.安装Pangolin 三.安装opencv 四.安装Eigen 五.安装ORB_SLAM2 六.安装usb_cam ...

  4. ubuntu16.04下配置caffe无GPU

    1. 安装依赖项  1 sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5- ...

  5. Ubuntu16.04下配置caffe(亲测成功)

    前言: 历经一个国庆的折腾,终于成功在Ubuntu下搭建好了caffe,过程中遇到的坑真的是数不胜数,最大的一次坑是本来已经配置好了结果手残命令行一阵不知名命令之后电脑崩溃又得重装系统,结果装好系统再 ...

  6. Ubuntu16.04下配置nginx + RTMP流媒体服务器

    目录 前言 1.安装nginx需要的环境 1.1 查看gcc版本 gcc -v 1.2 pcre.pcre-devel安装 1.3 zlib安装 1.4 安装openssl 2.开始安装 2.1 创建 ...

  7. Ubuntu16.04下配置最新Vs Code的C/C++开发环境

    1. Vscode安装 Visual studio code是微软发布的一个运行于 Mac OS X.Windows和 Linux 之上的,针对于编写现代 Web 和云应用的跨平台源代码编辑器. 安装 ...

  8. Ubuntu16.04下配置pip国内镜像源加速安装

    问题描述 基于国内网速的问题,我们直接pip安装包通常速度非常慢,而且经常会出现装到一半失败了的问题,既然这样,我们就要充分利用国内镜像的力量,节省时间,明显提高pip安装的效率.以下是我的操作分享, ...

  9. Ubuntu16.04下配置laravel

    参考 http://tecadmin.net/install-laravel-framework-on-ubuntu/# 本人亲试,完全正确 注意: Step 4 – Set Encryption K ...

最新文章

  1. 用户至上-阿里马马篇
  2. Expo 快速开启之旅
  3. Ext.Ajax.request和formPanel.getForm().submit()两种提交方法的异同:
  4. python虚拟环境-conda
  5. struts2教程(2)--配置
  6. python使用异常的目的和好处_python 错误与异常,python assert的作用
  7. 安卓USB开发教程 一 USB Host 与 Accessory
  8. Spark的分布式存储系统BlockManager全解析
  9. Java 中的volitle 关键字
  10. Matter 协议,IoT 智能家居混乱时代的终结者
  11. QT学习回顾(二)界面布局及其控件设计
  12. Couldn't find leader offsets for Set news_topic
  13. 计算机开机选择用户界面,Windows10每次开机都会出现选择操作系统界面的解决方法...
  14. 不负春光 清风徐徐入手心 一寸光阴一寸金
  15. ggsurvplot的p值到底是如何计算的
  16. 萝卜新版APP一键云端打包/无需电脑/无需AS工具
  17. 南农计算机考研真题,南京农业大学考研真题汇总
  18. mysql实现增量备份
  19. 初探JavaBean
  20. 宝塔Linux面板的安装配置以及基本使用教程(超详细)

热门文章

  1. 哈密尔顿道路与哈密尔顿回路
  2. 快车蜘蛛池站群程序 v2.0
  3. app应用市场下载统计攻略
  4. Vue.js 根据数据,进行Table单元格合并(原生方式以及element组件方式)
  5. 免费的命令行发email
  6. 寿星天文历Java封装整理版
  7. 医疗电气设备安规术语理解
  8. 基于python爬虫的电影推荐网站的设计与实现
  9. 城市:天际线/Cities: Skylines 全DLC解锁
  10. 【外贸】给大家推荐几个做外贸好的平台!