合宙Luat|从菜鸟到高手,树莓派+Cat.1模块Air724UG使用指南

HashJeremy 合宙Luat 昨天


作者简介:

HashJeremy,合宙Luat社群新生派工程师,个性活跃乐于钻研,善于发现问题解决问题。

本文是HashJeremy针对树莓派使用合宙4G模块环境搭建所写的指南文章,希望对你有帮助。

上期抽奖活动中奖名单在文末公布,同时继续送出五折券及流量卡福利,敬请关注!







1

前        言




相信很多朋友都陆续收到了团购的Air724UG开发板,笔者之前经常用Ubuntu使用合宙的4G模块,正好最近同时在研究树莓派的各种用法,不如一起研究下如何在树莓派上使用合宙4G模块:


通过树莓派向模块发送AT命令,通过模块的RNDIS或ECM网卡让树莓派网上冲浪。



-  关于本文的特别说明  -

  • 笔者文中使用的树莓派型号为树莓派3B,其他树莓派型号操作大同小异。

  • 笔者编译的是树莓派官方系统Raspbian,内核版本为4.19.x,其它系统以及其他内核情况不在本文描述。

  • 建议输入命令部分全程使用root用户操作,配置root密码方式为sudo passwd。

  • 笔者也是在很多人的帮助下,参考了很多教程才总结出的这篇文章。感谢帮助笔者完成这篇文章的朋友们!





2

树莓派准备流程





本文需要用到的物品列表如下:


  1. 树莓派 1台;

  2. 树莓派可以使用的SD卡 1张;

  3. 读卡器 1个;

  4.   USB数据线 1根;

  5. 合宙Air724UG开发板 1个;

  6. 合宙Air724UG开发板配送的4G天线 1根。








首先将树莓派刷入官方最新Raspbian系统:


Raspbian下载地址:

https://www.raspberrypi.org/downloads/raspbian/



下载好之后会得到一个格式为zip的压缩包,其实就是官方系统的镜像,使用镜像写入工具写入树莓派使用的SD卡。写入SD卡前,如果SD卡没有重要数据需要备份的话,建议先使用SDFormat格式化一下。


SDFormat下载地址:

https://www.sdcard.org/downloads/formatter/






接下来到了写入镜像的环节,笔者这里使用的工具是balenaEtcher,界面好看还傻瓜式。


balenaEtcher下载地址:

https://www.balena.io/etcher/



选好刚刚下载好的镜像和要写入的SD卡即可Flash,这里要做的就是等待写入完成就好了。






镜像写入完成之后,不要急着弹出SD卡,打开SD卡在Windows资源管理器中挂载的boot分区,新建一个名字为ssh的空白文件。


划重点:文件的名字只有ssh,不要任何后缀,新建好之后就可以把SD卡插入树莓派了。


接下来,笔者建议大家使用网线连接树莓派路由器,因为树莓派的Wi-Fi不是那么稳定,所以保险起见,笔者选择了网线连接。


由于上一步新建了空白ssh文件的操作,现在我们使用任意SSH工具就可以连接到树莓派终端了,在路由器的后台查看一下树莓派的IP地址。



Raspbian默认的用户名为pi,密码为raspberry,至此你手里的树莓派已经具备了我们编译内核的环境了!






3

编译内核




不做任何修改的树莓派官方系统,在将树莓派与Air724UG开发板通过USB连接之后,只能使用RNDIS功能,并不能正确识别到开发板USB枚举出的所有端口。



为了能让树莓派通过usb_AT端口发送AT命令,通过usb_modem端口进行PPP的拨号上网,通过usb_diag端口进行trace的捕捉,我们有必要对内核中的USB驱动进行一些修改来正确识别USB枚举的端口。



首先要安装一些必备的工具:

apt install git bc bison flex libssl-dev make  


树莓派默认的apt源不是很快,这里建议大家更换为清华源。


清华源使用帮助:

https://mirrors.tuna.tsinghua.edu.cn/help/raspbian/






然后我们去获取一下树莓派内核的源代码,放在用户目录即可:

git clone --depth=1 https://github.com/raspberrypi/linux  


这里clone速度应该会很慢,建议大家通过代理的方式clone。Linux如何设置代理,大家可以百度搜索相关教程。


这里获取到的内核版本为默认分支上的4.19.x,笔者在写这篇文章时的获取到的内核版本为4.19.115-v7+。






获取到内核源代码之后就进入了最为关键的配置内核环节,根据你手中的树莓派型号执行相应的命令,比方说笔者这里的3B,执行的就是中间的那三条命令。







执行结束之后,当前内核源代码已经进行了最基本的配置,之后我们要修改两个内核文件以实现合宙4G模块的支持。



考虑到这两个文件修改起来比较麻烦又容易写错,所以这里笔者直接提供了这两个修改后的文件:


https://pan.baidu.com/share/init?surl=h2_kBvFp-U1DQo2BwhilXg


提取码:yr13




首先要修改的是drivers/usb/serial/option.c这个文件,具体修改位置见以下图示:



其次要修改的文件为:
drivers/usb/serial/usb_wwan.c,具体修改位置见下图。



至此,内核文件的修改已完成。




接下来需要在make menuconfig的界面进行图形化修改配置。



回到内核源代码的根目录,执行make menuconfig进入内核配置的图形界面。


首先我们先开启RNDIS相关的支持,在menuconfig界面按下键盘上的/输入RNDIS进行搜索,请确保搜索结果中与RNDIS相关的选项状态为y或m。



如果这里状态不是y或m说明此项功能并没有打开,请根据相应的没有打开的Symbol的Location找到相关选项,相关选项的名称为Prompt后面的名称,通过按下键盘上的空格(Space)启用,或在展开相关选项之后,在相关选项中找到要打开的选项再次按下空格打开。





有使用ECM网卡需求的朋友,可以参考RNDIS的内容打开ECM相关的支持,这里给一张参考图:



打开PPP相关也是同理:


使用CMUX功能的同学一定要注意打开N_GSM这一项:



经过上面的操作,内核就已经全部修改完成。接下来要进行编译操作了,回到内核源代码根目录,通过以下命令进行内核的编译和安装:



make -j4 zImage modules dtbs  

make modules_install  

cp arch/arm/boot/dts/*.dtb /boot/  

cp arch/arm/boot/dts/overlays/*.dtb* /boot/overlays/  

cp arch/arm/boot/dts/overlays/README /boot/overlays/  

cp arch/arm/boot/zImage /boot/$KERNEL.img  




经过大概一个多小时的编译,执行成功之后重启你的树莓派,重新登陆,键入uname -a查看内核版本,是不是已经更新到了我们修改后编译的版本!






4

成果验证




连接合宙4G Cat.1模块Air724UG开发板USB接口,给模块开发板上电开机,等待模块开机完成之后,在树莓派终端键入ls /dev/ttyUSB*看看是不是已经能够成功识别到模块枚举的三个USB端口了!按照枚举顺序依次为AT、modem、diag。


键入ifconfig查看是否有rndis网卡:



关于CMUX以及PPP的使用方法就不在本篇赘述了,之后会再出一篇使用说明。


迫不及待地尝试一下AT口功能是否正常,这里使用minicom,没有安装的朋友可以通过apt install minicom安装,使用minicom -D /dev/ttyUSB0打开AT口发送AT命令测试





5

总结以及参考资料





至此,树莓派已经可以使用合宙4G模块的所有功能了,不一样的体验,快来试试吧!


比较值得注意的地方是内核文件的修改,以及menuconfig的配置,一定要细心又有耐心哦,如果读者有任何问题可以在文后留言与我交流。


ask.openluat.com相关文章

https://ask.openluat.com/article/37

https://ask.openluat.com/article/79

https://ask.openluat.com/article/1043


树莓派官方教程:

https://www.raspberrypi.org/documentation/linux/kernel/building.md


特别鸣谢@小神龙,@nerv.


欢迎文末留言或加入合宙4G Cat.1新品模组QQ技术交流群:1092305811,与HashJeremy及众多业内人士共同探讨。









4月21日合宙Cat.1技术群中奖名单




在上一期推文《合宙Cat.1|等不及了,快来参加抽奖推出后,共有447位朋友参与了合宙技术群的抽奖活动,在欢乐有趣的氛围中,本次共有60位朋友幸运获奖。


请上下滑动查看所有中奖名单


一等奖:合宙Cat.1新品Air720UH开发板  10名

二等奖:合宙Cat.1新品Air723UG模组  20名

三等奖:原19.9元团购订单免单  30名



奖品发放:







1. 一二等奖共计30名,奖品已于4月22日全部发出,中奖的朋友敬请留意快递信息;


2. 三等奖共计30名,目前仍有15位朋友尚未通过合宙Luat公众号后台留言获奖及原团购订单信息,请朋友们相互转告,尽快登记哦~




- 粉丝专有福利 -




请由公众号菜单“合宙商城”进入或长按下图识别二维码直达,领取粉丝专有福利↓↓↓





感谢阅览本期内容

欢迎文末留言互动


本期文末最先留言的五位同学

— 将获得合宙商城五折券一张 —


五折券有效期至5月15日

点击公众号菜单“合宙商城”即可使用






点亮在看,和更多人一起了解物联网

↓↓↓