Ubuntu14.04 ec20 rt3070 4G-wifi方案
前言
这个方案是一个复杂项目里的一个关键环节,因此有些地方绕了远路。
这个方案的硬件架构是:
ec20--(串口)--stm32--(串口)--ch340--(USB)--linux--(USB)--rt3070
其中ec20和stm32选用常见的带ec20的开发板
ch340 选用常见的串口转USB (TTL转USB)模块
linux选用Ubuntu14.04操作系统(虚拟机)
rt3070选用常见无线网卡模块
主要大坑
一,驱动不匹配
两个usb驱动,必须确保能够工作
一个是usb340或者341
另一个是rt3070。
采坑缘由:这两个驱动不一定能配合你所安装的linux内核,我因为一开始选用了linux5.0的系统导致2处驱动不匹配从而花费大量时间进行make和修改驱动源码,最终我选择了linux4.0,重头构建在一天内完成了需要的功能。
二,串口配置
在拨号前必须确保串口可以进行通讯,由于是中间有一个stm32做一个串口转发,因此必须配置串口波特率和stm32方面设置的相同。
采坑缘由:ec20官方手册里提供的linux系统下直接拨号的方案是usb直接连接的,而我是通过串口转usb模块连接的,二者一个是网卡驱动一个是转串口驱动,是不一样的。
开工
linux虚拟机需要准备好,操作系统选用Ubuntu14.04(自己下载安装)
第一阶段 ppp 拨号
前期准备
stm32和ec20详细操作略过,stm32里需要设置连接ec20和ch341模组的串口波特率为115200,停止位1,无校验,8位数据位,设置串口直接转发收到数据到另一端。
通过串口调试软件打开连接PC的341的com口,设置好对应波特率勾选发送新行 然后发送 AT ,如果能够收到 OK 代表 4g和stm32的通路工作正常。
再准备好虚拟机,最好能够实现虚拟机和主机之间的复制粘贴,方便接下来的工作和bug修复。虚拟机开启后登录root用户,登录不了用普通用户也可以。登录成功后打开控制台,普遍用户需要先设置root用户账户然后登录(设置略过)登录结果如图:
然后连接usb转串口设备。我连接了rt3070和ch341,未连接时是灰色的,连接后是亮色,可以通过右键图标来连接。
通过以下指令查看连接情况
lsusb
通过以下指令查看串口转usb的端口
dmesg | grep ttyS*