唤醒后tcp连接断开,网卡配置丢失

我的开发板使用瑞芯微的rv1126b,移植ec200d的驱动后做了如下调试:
1、使用quectel-CM进行拨号,拨号成功后板子上的usb0分配了一个ip,此时板子上的tcp应用程序正常连接到外网的tcp服务器。
2、使用echo ‘mem’ > /sys/power/state使系统休眠,唤醒后发现tcp应用收不到数据了,ifconfig发现usb0的ip以及没有了,再运行一次quectel-CM打印如下:


此时ifconfig后usb0还是没有ip

3、重启4G模组后再运行quectel-CM恢复正常,能够成功获取ip,tcp能够成功连接

休眠唤醒,中间看看内核log有没有USB disconnect?

唤醒后quectel-CM进程还在吗?

怀疑是唤醒后usb disconnect了。可以试下先用AT断开拨号,再重拨看看能否解决问题。

AT+QNETDEVCTL=0

然后再重新跑quectel-CM.

唤醒后quectel-CM进程还在。
采用AT+QNETDEVCTL=0,然后再重新跑quectel-CM后能够重新拨号。

休眠唤醒期间的打印如下:


请问休眠时usb断开的问题怎么解决呢?

唤醒后quectel-CM进程还在。
采用AT+QNETDEVCTL=0,然后再重新跑quectel-CM后能够重新拨号。

休眠唤醒期间的打印如下:

image

image1730×1551 314 KB

请问休眠时usb断开的问题怎么解决呢?