OpenWrt/LEDE Project

  • Status Closed
  • Percent Complete
    100%
  • Task Type Bug Report
  • Category Base system
  • Assigned To No-one
  • Operating System All
  • Severity Low
  • Priority Very Low
  • Reported Version Trunk
  • Due in Version Undecided
  • Due Date Undecided
  • Private
Attached to Project: OpenWrt/LEDE Project
Opened by Andy Burns - 15.02.2018
Last edited by Ted Hess - 22.02.2019

FS#1367 - Crash in dwc2_lowlevel_hw_disable when using Huawei E3372

Device problem occurs on

BT Homehub 5a (Lantiq xrx200)
Huawei E3372 4G dongle

Software versions of OpenWrt/LEDE release, packages, etc.

SNAPSHOT, r6150-dc7a1e8555
kernel - 4.9.77-1-b3856355ef32057f204aaf8b7ab28ff3
kmod-usb-net-cdc-ether - 4.9.77-1
usb-modeswitch - 2017-12-19-f40f84c2-1

Steps to reproduce

Either boot with the USB stick inserted, or insert the stick after booting.

The relevant lines from the serial console are below,
full boot log is attached

[ 3.825017] kmodloader: loading kernel modules from /etc/modules-boot.d/*
[ 3.945365] dwc2 1e101000.ifxhcd: requested GPIO 495
[ 4.051035] dwc2 1e101000.ifxhcd: DWC OTG Controller
[ 4.054689] dwc2 1e101000.ifxhcd: new USB bus registered, assigned bus number 1
[ 4.061971] dwc2 1e101000.ifxhcd: irq 62, io mem 0×00000000 [ 4.067493] dwc2 1e101000.ifxhcd: Hardware does not support descriptor DMA mode -
[ 4.074914] dwc2 1e101000.ifxhcd: falling back to buffer DMA mode.
[ 4.083016] hub 1-0:1.0: USB hub found
[ 4.085710] hub 1-0:1.0: 1 port detected
...
[ 12.728865] kmodloader: done loading kernel modules from /etc/modules.d/*
[ 15.172707] usb 1-1: new high-speed USB device number 2 using dwc2
[ 16.329125] usb 1-1: USB disconnect, device number 2
[ 16.912722] usb 1-1: new high-speed USB device number 3 using dwc2
[ 17.402287] cdc_ether 1-1:1.0 eth1: register ‘cdc_ether’ at usb-1e101000.ifxhcd-1, CDC Ethernet Device, 0c:5b:8f:27:9a:64
...
[ 23.740745] cdc_ether 1-1:1.0 eth1: kevent 12 may have been dropped
[ 23.750448] Kernel bug detected[#1]:
[ 23.752607] CPU: 0 PID: 3 Comm: ksoftirqd/0 Not tainted 4.9.77 #0
[ 23.758689] task: 87c38b80 task.stack: 87c56000
[ 23.763191] $ 0 : 00000000 806f0000 810ca200 00000001
[ 23.768408] $ 4 : 00000000 810ca233 00000000 86066000
[ 23.773630] $ 8 : 805a0000 806f15ea 00000010 806f1000
[ 23.778853] $12 : 806f1000 00000001 00000000 806f1000
[ 23.784075] $16 : 8601c080 86085008 87d7be00 00000000
[ 23.789299] $20 : 805990a0 00010000 00000002 00000000
[ 23.794520] $24 : 00000010 875e36f8
[ 23.799742] $28 : 87c56000 87c57d80 00000018 875e36cc
[ 23.804968] Hi : 00000fee
[ 23.807837] Lo : 00000026
[ 23.810752] epc : 800f38d8 kfree+0×78/0x1a4
[ 23.815165] ra : 875e36cc dwc2_lowlevel_hw_disable+0x12d0/0x1c20 [dwc2]
[ 23.821943] Status: 1100ff03 KERNEL EXL IE [ 23.826121] Cause : 10800034 (ExcCode 0d)
[ 23.830127] PrId : 00019556 (MIPS 34Kc)
[ 23.834037] Modules linked in: ath9k ath9k_common ath9k_hw ath10k_pci ath10k_core ath pppoe nf_nat_pptp nf_conntrack_pptp nf_conntrack_ipv6 mac80211 iptable_nat ipt_REJECT ipt_MASQUERADE cfg80211 cdc_ether xt_time xt_tcpudp xt_tcpmss xt_statistic xt_state xt_recent xt_nat xt_multiport xt_mark xt_mac xt_limit xt_length xt_hl xt_helper xt_ecn xt_dscp xt_conntrack xt_connmark xt_connlimit xt_connbytes xt_comment xt_TCPMSS xt_REDIRECT xt_LOG xt_HL xt_DSCP xt_CT xt_CLASSIFY usbnet ts_fsm ts_bm pppox ppp_async owl_loader nf_reject_ipv4 nf_nat_tftp nf_nat_snmp_basic nf_nat_sip nf_nat_redirect nf_nat_proto_gre nf_nat_masquerade_ipv4 nf_nat_irc nf_conntrack_ipv4 nf_nat_ipv4 nf_nat_h323 nf_nat_amanda nf_nat nf_log_ipv4 nf_defrag_ipv6 nf_defrag_ipv4 nf_conntrack_tftp nf_conntrack_snmp nf_conntrack_sip nf_conntrack_rtcache nf_conntrack_proto_gre nf_conntrack_irc nf_conntrack_h323 nf_conntrack_broadcast ts_kmp nf_conntrack_amanda ltq_deu_vr9 iptable_mangle iptable_filter ipt_ECN ip_tables crc_ccitt compat sch_cake nf_conntrack act_skbedit act_mirred em_u32 cls_u32 cls_tcindex cls_flow cls_route cls_fw sch_tbf sch_htb sch_hfsc sch_ingress drv_dsl_cpe_api drv_mei_cpe ip6t_REJECT nf_reject_ipv6 nf_log_ipv6 nf_log_common ip6table_mangle ip6table_filter ip6_tables x_tables pppoatm ppp_generic slhc ifb br2684 atm mii drv_ifxos dwc2 gpio_button_hotplug
Process ksoftirqd/0 (pid: 3, threadinfo=87c56000, task=87c38b80, tls=00000000)
[ 23.959287] Stack : 00000000 875e370c 86050c00 86eec600 00000001 8601c080 ffffff7d 802d921c
[ 23.967640] 00000000 00000000 87decb20 8110fb80 87decb20 87d7bee8 87d7bef0 87c57dd8
[ 23.975996] 87d7beec 802d9834 00000000 80062a94 875a0c40 805e6b80 8601c214 86050c14
[ 23.984352] 805993f8 87d7befc 87d7bef8 805e31fc 805993f8 80033524 87c38be0 805e6b80
[ 23.992709] 00000000 00000000 00000002 00000005 8058e058 00000090 806f41e0 00000006
[ 24.001064] ...
[ 24.003503] Call Trace:
[ 24.005971] [<800f38d8>] kfree+0×78/0x1a4
[ 24.010051] [<875e36cc>] dwc2_lowlevel_hw_disable+0x12d0/0x1c20 [dwc2]
[ 24.016526] Code: 30630001 24030001 38630001 <00030336> 8c430000 7c630380 10600003 00000000 10000002
[ 24.026220]
[ 24.027887] —[ end trace e408cf4c0ce5fc0c ]— [ 24.037907] Kernel panic - not syncing: Fatal exception in interrupt
[ 24.046166] Rebooting in 3 seconds..


Closed by  Ted Hess
22.02.2019 13:11
Reason for closing:  Fixed
Andy Burns commented on 16.02.2018 10:24

I have changed the firmware on my E3372 dongle from "router mode" to "stick mode", therefore I am using

kmod-usb-net-huawei-cdc-ncm

instead of

kmod-usb-net-cdc-ether

This avoids the crash for me, hopefully this report may be useful fixing the bug for other people, but I probably won't be able to test any fixes.

funth1ngs commented on 17.02.2018 21:33

Hi!

I have the same issue with a TD-W8970 (OpenWrt SNAPSHOT r6011-805f756) and a Huawei E3276 dongle, but I also get the kernel panic in "stick mode".

Cheers

Andy Burns commented on 21.02.2018 20:00

I notice that you do get the /dev/ttyUSB0 port automatically created

did you have to load any modules for that? or any fiddling with usb-modeswitch?

Mine does not load them, I have to "force" them with
echo “12d1 1506 ff” > /sys/bus/usb-serial/drivers/generic/new_id

Andy Burns commented on 27.02.2018 20:02

I've been struggling to find "drivers/usb/dwc2/platform.c"
within https://git.openwrt.org/?p=openwrt/openwrt.git big fat clues would be appreciated

funth1ngs commented on 24.03.2018 06:10

Sorry for the delayed answer, I was on vacation...

I used the following AT command to enable only the required modes permanently:

AT^SETPORT="FF;12,16"

But be careful, if you use the wrong modes you can't connect to the stick anymore.

From https://wiki.openwrt.org/doc/recipes/at_commands:

AT^SETPORT=? - Lists the Available interfaces and their numbers

AT^SETPORT? - Show current configuration

AT^SETPORT="A1;2,7" - Sets configuration.

Modem configuration is splitted into 2 parts: before ";" and after.
paolomeraviglia commented on 29.05.2018 14:18

same setup (bthh5a + s3372h), same behaviour with latest snapshot

I want to use the key in hilink mode instead of using it as a modem

Andy Burns commented on 22.02.2019 12:15

Using 18.06.2 I am no longer getting the crash in dwc2, so my E3372s is now working :-)

Loading...

Available keyboard shortcuts

Tasklist

Task Details

Task Editing