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

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

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

最近由于工作原因入手了移远的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打开文件,按要求在函数内添加相应的信息。

38fc9a00620f9171ed92569bce2d7695.png

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,并修改。

55c4c5dcc8fde9e01012a424b04038a9.png

此处并不是所有修改内容,具体修改内容请参照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

ab5e9e2ad64d622557bb38faa7eb883a.png

执行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

配置:

00290638716a74c11a2d9d2520aa4c30.png

到这一步基本就安装完成了,然后就是重启就可以在/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工业模组)相关教程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值