Kernel Oops when downloading data from a 4G modem connected via USB

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello,

We're working with an embedded system that uses the RK3188 SoC and has a
Quectel EC25 4G modem connected via USB. We're using Buildroot 2018.02.1 to
compile the kernel (4.15.16 using the radxarock_defconfig) and root file
system. The system enumerates the USB just fine and Quectel's quectel-CM
executable is then used to start QMI and connect to the 4G network. The
connection is successful, and I can ping websites just fine. However, when
I come to download a large file, a kernel oops occurs. This happens
consistently. Here's an example log:

# wget http://speedtest.tele2.net/100MB.zip
--2018-04-27 14:54:54--  http://speedtest.tele2.net/100MB.zip
Resolving speedtest.tele2.net... 90.130.70.73, 2a00:800:1010::1
Connecting to speedtest.tele2.net|90.130.70.73|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 104857600 (100M) [application/zip]
Saving to: '100MB.zip'

100MB.zip                                        0%[

  ] 358.58K  1.72MB/s               dwc2 101c0000.usb:
dwc2_hc_chhltd_intr_dma: Channel 1 - ChHltd set, but reason is unknown
dwc2 101c0000.usb: hcint 0x00000002, intsts 0x04000029
dwc2 101c0000.usb: dwc2_update_urb_state_abn(): trimming xfer length
dwc2 101c0000.usb: dwc2_update_urb_state(): trimming xfer length
Unable to handle kernel paging request at virtual address 2f0cf7d0
pgd = e12e3a71
[2f0cf7d0] *pgd=00000000
Internal error: Oops: 5 [#1] SMP ARM
Modules linked in:
CPU: 1 PID: 196 Comm: wget Not tainted 4.15.16 #2
Hardware name: Rockchip (Device Tree)
PC is at kfree_skb_list+0x18/0x28
LR is at skb_release_data+0x40/0x134
pc : [<c0508f58>]    lr : [<c05098f8>]    psr: 20000013
sp : ef085d60  ip : ef085d78  fp : ef085d74
r10: 00000000  r9 : 00000000  r8 : ee4a1084
r7 : ef085df8  r6 : 00000000  r5 : ee9b9780  r4 : eeae7f40
r3 : 00000000  r2 : 00001b40  r1 : 00001380  r0 : 2f0cf7d0
Flags: nzCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment none
Control: 10c5387d  Table: 8e45804a  DAC: 00000051
Process wget (pid: 196, stack limit = 0x11d0fd5f)
Stack: (0xef085d60 to 0xef086000)
5d60: eeae7f40 ee9b9780 ef085d94 ef085d78 c05098f8 c0508f4c ee9b9780
00001600
5d80: ee9b9780 ef085df8 ef085dac ef085d98 c0508ec0 c05098c4 ee9b9780
00001600
5da0: ef085dc4 ef085db0 c0508ed8 c0508ea4 ee4a0cc0 00001600 ef085e4c
ef085dc8
5dc0: c055b948 c0508ed0 effba620 00000000 eeede0b0 00000004 ef085e20
ee4a0d5c
5de0: 00000001 00000000 ee4a115c 00000001 ef085e90 00000a00 5ae339c0
1c015810
5e00: ef085ef0 7fffffff 5ae339c0 1c015810 ef085e28 ef085e2c 00000000
00000000
5e20: 00000008 ef085e90 c055b304 ee9bdc00 eeea5500 00002000 ef084000
00000000
5e40: ef085e74 ef085e50 c0582410 c055b310 00000000 ef085e5c ef085edc
00000000
5e60: c05823c8 00002000 ef085e8c ef085e78 c04fdb38 c05823d4 ef085ef0
00002000
5e80: ef085edc ef085e90 c04fdbc4 c04fdb24 00000000 00000000 00000000
00001600
5ea0: 00000a00 ef085ee8 00000001 00000002 00000000 00000000 00000000
ef085f08
5ec0: ee9bdc00 00000000 00000000 ef085f80 ef085f4c ef085ee0 c01eaf88
c04fdb48
5ee0: 00002000 00000000 00e25b18 00002000 00000000 00000000 00002000
ef085ee8
5f00: 00000001 00000002 ee9bdc00 00000000 00000000 00000000 00000000
00000000
5f20: 00000000 00000000 be9243e0 ee9bdc00 00000000 00002000 00e25b18
ef085f80
5f40: ef085f7c ef085f50 c01eb044 c01eae94 c02072ac c020720c ef085f7c
ee9bdc00
5f60: ee9bdc00 00e25b18 00002000 c0107c84 ef085fa4 ef085f80 c01eb4b0
c01eafb8
5f80: 00000000 00000000 00000000 00000003 0008ce08 00000003 00000000
ef085fa8
5fa0: c0107aa0 c01eb474 00000000 00000003 00000003 00e25b18 00002000
00000000
5fc0: 00000000 00000003 0008ce08 00000003 00002000 00000000 000bf64d
00000000
5fe0: 000850a4 be924470 000164e0 b6cacaf8 60000010 00000003 ffffffff
ffffffff
Backtrace:
[<c0508f40>] (kfree_skb_list) from [<c05098f8>]
(skb_release_data+0x40/0x134)
  r5:ee9b9780 r4:eeae7f40
[<c05098b8>] (skb_release_data) from [<c0508ec0>]
(skb_release_all+0x28/0x2c)
  r7:ef085df8 r6:ee9b9780 r5:00001600 r4:ee9b9780
[<c0508e98>] (skb_release_all) from [<c0508ed8>] (__kfree_skb+0x14/0x20)
  r5:00001600 r4:ee9b9780
[<c0508ec4>] (__kfree_skb) from [<c055b948>] (tcp_recvmsg+0x644/0x8c8)
  r5:00001600 r4:ee4a0cc0
[<c055b304>] (tcp_recvmsg) from [<c0582410>] (inet_recvmsg+0x48/0xc4)
  r10:00000000 r9:ef084000 r8:00002000 r7:eeea5500 r6:ee9bdc00 r5:c055b304
  r4:ef085e90
[<c05823c8>] (inet_recvmsg) from [<c04fdb38>] (sock_recvmsg+0x20/0x24)
  r5:00002000 r4:c05823c8
[<c04fdb18>] (sock_recvmsg) from [<c04fdbc4>] (sock_read_iter+0x88/0xb0)
  r5:00002000 r4:ef085ef0
[<c04fdb3c>] (sock_read_iter) from [<c01eaf88>] (__vfs_read+0x100/0x124)
  r7:ef085f80 r6:00000000 r5:00000000 r4:ee9bdc00
[<c01eae88>] (__vfs_read) from [<c01eb044>] (vfs_read+0x98/0x104)
  r8:ef085f80 r7:00e25b18 r6:00002000 r5:00000000 r4:ee9bdc00
[<c01eafac>] (vfs_read) from [<c01eb4b0>] (SyS_read+0x48/0x80)
  r8:c0107c84 r7:00002000 r6:00e25b18 r5:ee9bdc00 r4:ee9bdc00
[<c01eb468>] (SyS_read) from [<c0107aa0>] (ret_fast_syscall+0x0/0x54)
  r7:00000003 r6:0008ce08 r5:00000003 r4:00000000
Code: e24cb004 e3500000 1a000000 e89da830 (e5904000)
---[ end trace 7a84dd028106284e ]---

The repeated references to dwc2 in the log made me think there may be a
problem in the USB driver. Any thoughts?

Amr
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux