EP06 occasional disconnects

I have an EP06 modem installed on an openwrt device running linux 4.14.171 using the qmi_wwan driver. This modem experiences occasional disconnections that persist until the machine is rebooted. During this time the modem does not show in modemmanager, but the /dev/qmi-wwan0 device is still present. On failure, the dmesg log shows

59461.330706] ------------[ cut here ]------------
[59461.330770] WARNING: CPU: 0 PID: 0 at net/sched/sch_generic.c:320 dev_watchdog+0x16c/0x248
[59461.334457] NETDEV WATCHDOG: wwan0 (qmi_wwan): transmit queue 0 timed out
[59461.342555] Modules linked in: qcserial ppp_async option cdc_mbim batman_adv ath10k_pci ath10k_core ath usb_wwan sierra_net sierra qmi_wwan ppp_generic pl2303 nf_conntrack_ipv6 mac80211 iptable_nat ipt_REJECT ipt_MASQUERADE ftdi_sio ebtable_nat ebtable_filter ebtable_broute ch341 cfg80211 cdc_ncm xt_time xt_tcpudp xt_state xt_nat xt_multiport xt_mark xt_mac xt_limit xt_conntrack xt_comment xt_TCPMSS xt_REDIRECT xt_LOG xt_FLOWOFFLOAD usbserial usbnet slhc nf_reject_ipv4 nf_nat_redirect nf_nat_masquerade_ipv4 nf_conntrack_ipv4 nf_nat_ipv4 nf_nat nf_log_ipv4 nf_flow_table_hw nf_flow_table nf_defrag_ipv6 nf_defrag_ipv4 nf_conntrack_rtcache nf_conntrack macvlan libcrc32c iptable_mangle iptable_filter ip_tables ebtables ebt_vlan ebt_stp ebt_redirect ebt_pkttype ebt_mark_m ebt_mark ebt_limit ebt_ip6 ebt_among
[59461.398220]  ebt_802_3 crc_ccitt compat cdc_wdm cdc_acm act_skbedit act_mirred em_u32 cls_u32 cls_tcindex cls_flow cls_route cls_fw sch_tbf sch_htb sch_hfsc sch_ingress sg xt_set ip_set_list_set ip_set_hash_netiface ip_set_hash_netport ip_set_hash_netnet ip_set_hash_net ip_set_hash_netportnet ip_set_hash_mac ip_set_hash_ipportnet ip_set_hash_ipportip ip_set_hash_ipport ip_set_hash_ipmark ip_set_hash_ip ip_set_bitmap_port ip_set_bitmap_ipmac ip_set_bitmap_ip ip_set nfnetlink ip6t_REJECT nf_reject_ipv6 nf_log_ipv6 nf_log_common ip6table_mangle ip6table_filter ip6_tables x_tables dummy ip6_tunnel tunnel6 tun autofs4 usb_storage leds_gpio xhci_plat_hcd xhci_pci xhci_hcd dwc3 dwc3_of_simple ahci libahci libata ehci_platform sd_mod scsi_mod ehci_hcd ext4 jbd2 mbcache mii crc32c_generic
[59461.467157] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 4.14.171 #0
[59461.489282] Hardware name: Generic DT based system
[59461.495464] [<c030eeac>] (unwind_backtrace) from [<c030afe8>] (show_stack+0x10/0x14)
[59461.500131] [<c030afe8>] (show_stack) from [<c07659b4>] (dump_stack+0x94/0xa8)
[59461.508056] [<c07659b4>] (dump_stack) from [<c0321dfc>] (__warn+0xe8/0x104)
[59461.515087] [<c0321dfc>] (__warn) from [<c0321e50>] (warn_slowpath_fmt+0x38/0x48)
[59461.521945] [<c0321e50>] (warn_slowpath_fmt) from [<c0699134>] (dev_watchdog+0x16c/0x248)
[59461.529614] [<c0699134>] (dev_watchdog) from [<c03728f0>] (call_timer_fn+0x98/0x17c)
[59461.537766] [<c03728f0>] (call_timer_fn) from [<c0372af0>] (expire_timers+0x11c/0x134)
[59461.545578] [<c0372af0>] (expire_timers) from [<c0372b7c>] (run_timer_softirq+0x74/0x180)
[59461.553290] [<c0372b7c>] (run_timer_softirq) from [<c03015a4>] (__do_softirq+0x164/0x338)
[59461.561540] [<c03015a4>] (__do_softirq) from [<c0326928>] (irq_exit+0xd4/0x138)
[59461.569715] [<c0326928>] (irq_exit) from [<c0360c34>] (__handle_domain_irq+0x9c/0xac)
[59461.576809] [<c0360c34>] (__handle_domain_irq) from [<c030140c>] (gic_handle_irq+0x5c/0x90)
[59461.584817] [<c030140c>] (gic_handle_irq) from [<c030bb4c>] (__irq_svc+0x6c/0x90)
[59461.592933] Exception stack(0xc0a01f40 to 0xc0a01f88)
[59461.600573] 1f40: 00000001 00000000 00000000 c03144a0 ffffe000 c0a03cf8 c0a03cac 00000000
[59461.605609] 1f60: 00000000 00000001 cfffce00 c093ca28 c0a01f88 c0a01f90 c0308148 c030814c
[59461.613763] 1f80: 60000013 ffffffff
[59461.621944] [<c030bb4c>] (__irq_svc) from [<c030814c>] (arch_cpu_idle+0x34/0x38)
[59461.625248] [<c030814c>] (arch_cpu_idle) from [<c0357408>] (do_idle+0xdc/0x1a0)
[59461.632883] [<c0357408>] (do_idle) from [<c0357728>] (cpu_startup_entry+0x18/0x1c)
[59461.639916] [<c0357728>] (cpu_startup_entry) from [<c0900c88>] (start_kernel+0x3c0/0x3cc)
[59461.647667] ---[ end trace c15467bf15142ddc ]---

Is there something I can do to either prevent this issue or recovery from it when it happens? Is this a hardware issue or a software issue?

Hi Alex
Thank you for your inquiry in Quectel forums.
For your problem, can you share more information?
–What’s the CM tool, you can use Quectel CM T to try
–In this situation, if can execute AT command by AT port
–Could you share: company name and location, and the product application, which channel to get the module and the module’s FW version.