Jump to content

ODROID C2 with 4G LTE USB modem getting kernel panics


david1768

Recommended Posts

Hello,

 

So I have ODROID C2 running latest Armbian bionic with kernel 5.6.11-meson64 #trunk.130.

 

I have a Quectel E25 4G LTE modem connected via USB port.

 

Everything works like a charm - BUT - whenever I try to download (or upload) even small amounts of data, I get kernel panic and the process hangs. Sometimes, the whole device crashes.

 

It happens only when I try to download or upload data. Even trying to paste large amount of text into a terminal text editor causes kernel panic.

 

This does NOT happen if I'm connected via ethernet.

 

Here's the dmesg (while I was trying to wget a file) -

 

[ 1552.786535] dwc2 c9100000.usb: dwc2_hc_chhltd_intr_dma: Channel 5 - ChHltd set, but reason is unknown
[ 1552.790108] dwc2 c9100000.usb: hcint 0x00000002, intsts 0x04200009
[ 1552.796227] dwc2 c9100000.usb: dwc2_update_urb_state_abn(): trimming xfer length
[ 1552.803673] dwc2 c9100000.usb: dwc2_update_urb_state(): trimming xfer length
[ 1552.812182] Unable to handle kernel paging request at virtual address 00565416857379cc
[ 1552.818442] Mem abort info:
[ 1552.821242]   ESR = 0x96000004
[ 1552.824238]   EC = 0x25: DABT (current EL), IL = 32 bits
[ 1552.829533]   SET = 0, FnV = 0
[ 1552.832519]   EA = 0, S1PTW = 0
[ 1552.835603] Data abort info:
[ 1552.838398]   ISV = 0, ISS = 0x00000004
[ 1552.842254]   CM = 0, WnR = 0
[ 1552.845185] [00565416857379cc] address between user and kernel address ranges
[ 1552.852299] Internal error: Oops: 96000004 [#7] PREEMPT SMP
[ 1552.857720] Modules linked in: fuse rfkill cpufreq_powersave cpufreq_conservative snd_soc_hdmi_codec snd_soc_core snd_pcm_dmaengine snd_pcm snd_timer snd soundcore ac97_bus dw_hdmi_i2s_audio qmi_wwan cdc_wdm usbnet option usb_wwan usbserial zstd lima meson_dw_hdmi meson_vdec(C) gpu_sched dw_hdmi v4l2_mem2mem meson_drm videobuf2_dma_contig videobuf2_v4l2 videobuf2_memops drm_kms_helper videobuf2_common videodev meson_rng rng_core drm meson_gxbb_wdt meson_ir ao_cec mc drm_panel_orientation_quirks meson_canvas cec scpi_hwmon zram sch_fq_codel ip_tables x_tables uas dwmac_generic realtek dwmac_meson8b
[ 1552.910249] CPU: 1 PID: 5010 Comm: wget Tainted: G      D  C        5.6.11-meson64 #trunk.130
[ 1552.918693] Hardware name: Hardkernel ODROID-C2 (DT)
[ 1552.923612] pstate: 40000005 (nZcv daif -PAN -UAO)
[ 1552.928365] pc : skb_release_data+0xd0/0x128
[ 1552.932583] lr : skb_release_all+0x24/0x30
[ 1552.936633] sp : ffff800012cebaa0
[ 1552.939911] x29: ffff800012cebaa0 x28: ffff000038bd5300
[ 1552.945172] x27: 0000000000000000 x26: 0000000000000000
[ 1552.950432] x25: ffff0000329c2dd0 x24: 0000000000003e99
[ 1552.955694] x23: 0000000000000001 x22: ffff000035a086c0
[ 1552.960955] x21: ffff000038bd5300 x20: ffff000035a086f0
[ 1552.966216] x19: 0000000000000000 x18: 0000000000000000
[ 1552.971477] x17: 0000000000000000 x16: 0000000000000000
[ 1552.976739] x15: 0000000000000000 x14: 9f572ea8481e2814
[ 1552.982000] x13: 335fbd453f89511e x12: 9db6920c2442ac6a
[ 1552.987261] x11: 47c53f91911e5b7b x10: 00000000000003cd
[ 1552.992522] x9 : 0000000000000001 x8 : 9a25c697375866e4
[ 1552.997783] x7 : baf054b7c521bef4 x6 : 00000008b3a2c9ef
[ 1553.003045] x5 : ffff0000329c3274 x4 : ffff0000329c2de8
[ 1553.008306] x3 : 0000000000000780 x2 : 0000000000000640
[ 1553.013567] x1 : 0000000000000020 x0 : c7565416857379cc
[ 1553.018830] Call trace:
[ 1553.021247]  skb_release_data+0xd0/0x128
[ 1553.025126]  skb_release_all+0x24/0x30
[ 1553.028835]  __kfree_skb+0x14/0x28
[ 1553.032200]  tcp_recvmsg+0x670/0xa30
[ 1553.035737]  inet_recvmsg+0x50/0x120
[ 1553.039275]  sock_recvmsg+0x48/0x58
[ 1553.042723]  sock_read_iter+0x84/0xd8
[ 1553.046347]  new_sync_read+0x164/0x178
[ 1553.050053]  __vfs_read+0x2c/0x40
[ 1553.053330]  vfs_read+0x9c/0x188
[ 1553.056522]  ksys_read+0xd0/0xe8
[ 1553.059713]  __arm64_sys_read+0x18/0x20
[ 1553.063512]  el0_svc_common.constprop.2+0x88/0x150
[ 1553.068251]  do_el0_svc+0x20/0x80
[ 1553.071530]  el0_sync_handler+0x118/0x188
[ 1553.075496]  el0_sync+0x140/0x180
[ 1553.078778] Code: 6b13001f 54fffdcc f94006c0 b40000a0 (f9400013)
[ 1553.084814] ---[ end trace 49bbe6bc41c38aaa ]---

 

I tried to downgrade the kernel to an older version and this does not seem to solve the issue.

 

Any ideas?

Link to comment
Share on other sites

http://ix.io/2lR1

 

I'm using the original power adapter. I've also used the EC25 on different boards using the same power supply and it did not fail.

 

I'm afraid this is somewhat linked to the DWC2 USB Driver which is being used on the kernel.

 

Also, when I type "lsusb", I can see no description on my EC2, and by looking on logs, I could see -

 

[ 1.924967] dwc2 c9000000.usb: c9000000.usb supply vusb_d not found, using dummy regulator

[ 1.925007] dwc2 c9000000.usb: c9000000.usb supply vusb_a not found, using dummy regulator

[ 1.926195] phy phy-c0000000.phy.0: USB ID detect failed! [ 1.926202] phy phy-c0000000.phy.0: phy poweron failed --> -22

Edited by david1768
Link to comment
Share on other sites

Yes, this happens with the current kernel 5.4 as well.

 

I have switched to PPP to interface with the modem (instead of QMI), and it works flawlessly. 

 

I believe there's some incompatibility between the DWC2 USB Driver and the QMI driver in the kernel.

 

Link to comment
Share on other sites

So, apparently switching to PPP didn't solve the issue, just made it less worse.

 

My kern.log is now being spammed with -

May 14 09:34:09 pikachu3 kernel: [18693.614909] dwc2 c9100000.usb: dwc2_hc_chhltd_intr_dma: Channel 1 - ChHltd set, but reason is unknown
May 14 09:34:09 pikachu3 kernel: [18693.618514] dwc2 c9100000.usb: hcint 0x00000002, intsts 0x04200009
May 14 09:34:16 pikachu3 kernel: [18700.943811] dwc2 c9100000.usb: dwc2_hc_chhltd_intr_dma: Channel 12 - ChHltd set, but reason is unknown
May 14 09:34:16 pikachu3 kernel: [18700.947505] dwc2 c9100000.usb: hcint 0x00000002, intsts 0x04200009
May 14 09:34:20 pikachu3 kernel: [18705.084439] dwc2 c9100000.usb: dwc2_hc_chhltd_intr_dma: Channel 6 - ChHltd set, but reason is unknown
May 14 09:34:20 pikachu3 kernel: [18705.088048] dwc2 c9100000.usb: hcint 0x00000002, intsts 0x04200009
May 14 09:34:23 pikachu3 kernel: [18708.092196] dwc2 c9100000.usb: dwc2_hc_chhltd_intr_dma: Channel 12 - ChHltd set, but reason is unknown
May 14 09:34:23 pikachu3 kernel: [18708.095887] dwc2 c9100000.usb: hcint 0x00000002, intsts 0x04200009
May 14 09:34:26 pikachu3 kernel: [18711.067310] dwc2 c9100000.usb: dwc2_hc_chhltd_intr_dma: Channel 7 - ChHltd set, but reason is unknown
May 14 09:34:26 pikachu3 kernel: [18711.070917] dwc2 c9100000.usb: hcint 0x00000002, intsts 0x04200009
May 14 09:34:28 pikachu3 kernel: [18712.597679] dwc2 c9100000.usb: dwc2_hc_chhltd_intr_dma: Channel 11 - ChHltd set, but reason is unknown
May 14 09:34:28 pikachu3 kernel: [18712.601374] dwc2 c9100000.usb: hcint 0x00000002, intsts 0x04200009
 

 

When I download / upload something.

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines