您尚未登录。

楼主 # 2022-11-07 17:37:53

tocurd
会员
注册时间: 2021-08-14
已发帖子: 19
积分: 9

全志V3S移植移远EC200S

附文档
Quectel_EC200S_Linux_USB_Driver_User_Guide_V1.0.pdf

828c89038ca49ada9b7d6f7064a2195.jpg


1. 添加 VID 和 PID
在文件[KERNEL]/drivers/usb/serial/option.c 中添加模块的 VID 和 PID 信息,如下所示:

static const struct usb_device_id option_ids[] = {
#if 1 //Added by Quectel
{ USB_DEVICE(0x2C7C, 0x6002) }, /* Quectel EC200S */
#endif

_20221107203010.png

2.添加USB零包

[KERNEL]/drivers/usb/serial/usb_wwan.c.

static struct urb *usb_wwan_setup_urb(struct usb_serial *serial, int endpoint,
 int dir, void *ctx, char *buf, int len,void (*callback) (struct urb *))
{
……
usb_fill_bulk_urb(urb, serial->dev,
 usb_sndbulkpipe(serial->dev, endpoint) | dir,
 buf, len, callback, ctx);
#if 1 //Added by Quectel for zero packet
if (dir == USB_DIR_OUT) {
struct usb_device_descriptor *desc = &serial->dev->descriptor;
if (desc->idVendor == cpu_to_le16(0x2C7C))
urb->transfer_flags |= URB_ZERO_PACKET;
}
#endif
return urb;
}

_20221107204036.png


3.增加复位恢复机制
[KERNEL]/drivers/usb/serial/option.c。

static struct usb_serial_driver option_1port_device = {
……
#ifdef CONFIG_PM
.suspend = usb_wwan_suspend,
.resume = usb_wwan_resume,
#if 1 //Added by Quectel
.reset_resume = usb_wwan_resume,
#endif
#endif
};

3.png


接下来使能一些内核配置项


TODO......



烧录内核成功后
1.烧录完成后使用指令

ls /dev/ttyUSB* 

可以看到下面的3个模拟的usb设备
_20221108110226.png

2.之后执行获取到IP地址

ifconfig usb1 up
udhcpc -i usb1

_20221108110343.png

3.使用AT指令使模块拨号

cat /dev/ttyUSB2 &
# 设置为RNDIS模式
echo -e "AT+QCFG=\"usbnet\",3\r\n" > /dev/ttyUSB2 
# 查询指令是否生效
echo -e "AT+QCFG=\"usbnet\"\r\n" > /dev/ttyUSB2 
# 发送 AT 指令拨号上网指令
echo -e "AT+qnetdevctl=1,1\r\n" > /dev/ttyUSB2

_20221108111929.png

4.执行ping指令测试拨号是否成功
_20221108111956.png



附一些常用的AT指令

echo -e "AT+QCCID\r\n" >/dev/ttyUSB2    //查询SIM卡
echo -e "AT+CFUN=1,1\r\n" >/dev/ttyUSB2   //重启模块
echo -e "AT+QSIMDET=1\r\n" >/dev/ttyUSB2   //开启SIM卡热插拔状态报告
echo -e "AT+QSIMDET=1,1\r\n" >/dev/ttyUSB2  //开启SIM卡检测功能
echo -e "AT+CSQ\r\n" >/dev/ttyUSB2  //查询信号强度
echo -e "AT+QNWINFO\r\n" >/dev/ttyUSB2 //查询网络状态
echo -e "AT+QCFG=\"NWSCANMODE\",3,1\r\n" >/dev/ttyUSB2 //设置4G LTE only
echo -e "AT+QCFG=\"NWSCANMODE\",2,1\r\n" >/dev/ttyUSB2 //设置3G WCDMA only
echo -e "AT+QCFG=\"NWSCANMODE\",1,1\r\n" >/dev/ttyUSB2 //设置2G GSM only
echo -e "AT+QCFG=\"NWSCANMODE\",0,1\r\n" >/dev/ttyUSB2 //设置自动搜索网络

# AT+QSIMDET=1,1或AT+QSIMDET=1,0开启     可以设置高电平  或者低电平有效//SIM卡热拔插,同一个电路 肯定不可以设置两种sim卡检测状态   要么高电平有效  要么低电平有效
# AT+QSIMDET=0  关闭热拔插功能
# 通过AT命令开启SIM卡检查功能

# 举例:
# AT+QSIMSTAT=1          //开启SIM卡热拔插状态报告
# AT+QSIMDET=1,1或AT+QSIMDET=1,0//开启 SIM卡检测功能
# 当SIM卡拔出或者插上的时候,模块会有相应的提示:
# +CPIN:NOT READY
# AT+QSIMSTAT=1,1或AT+QSIMSTAT=1,0
# Call Ready

最近编辑记录 tocurd (2022-11-08 13:11:51)

离线

#1 2022-11-07 18:48:41

abnerl
会员
注册时间: 2020-06-09
已发帖子: 61
积分: 63.5

Re: 全志V3S移植移远EC200S

这没坑吧,USB线只要没问题,直接拨号就好了

离线

#2 2022-11-07 19:19:04

sven1234
会员
注册时间: 2020-02-26
已发帖子: 41
积分: 21

Re: 全志V3S移植移远EC200S

USB还是串口?

离线

#3 2022-11-07 19:43:38

kevinccc
会员
注册时间: 2022-03-09
已发帖子: 17
积分: 7

Re: 全志V3S移植移远EC200S

期待顺利填坑

离线

楼主 #4 2022-11-08 13:10:38

tocurd
会员
注册时间: 2021-08-14
已发帖子: 19
积分: 9

Re: 全志V3S移植移远EC200S

sven1234 说:

USB还是串口?

usb

离线

楼主 #5 2022-11-15 22:24:48

tocurd
会员
注册时间: 2021-08-14
已发帖子: 19
积分: 9

Re: 全志V3S移植移远EC200S

编辑不了了,补一下上面的内核配置
87010a4d134aa39f42f3f47dc107204.png8ee817b1f9e4750f8d382cfbad459d2.pngdda5ec0ff8ecc3b2f872eb3a9e82e39.png

离线

#6 2022-11-15 23:01:19

dg
会员
注册时间: 2018-11-22
已发帖子: 38
积分: 91

Re: 全志V3S移植移远EC200S

只要移植一下pppd即可。
好像可以强制指定usb serial驱动的vid/pid,不需要重编内核。

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn