Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FS#1367 - Crash in dwc2_lowlevel_hw_disable when using Huawei E3372 #6991

Closed
openwrt-bot opened this issue Feb 15, 2018 · 7 comments
Closed
Labels

Comments

@openwrt-bot
Copy link

andyburns:

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 0x00000000
[ 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+0x78/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+0x78/0x1a4
[ 24.010051] [<875e36cc>] dwc2_lowlevel_hw_disable+0x12d0/0x1c20 [dwc2]
[ 24.016526] Code: 30630001 24030001 38630001 <00030336> 8c430000 7c630380 10600003 00000000 1000000
[ 24.026220]
[ 24.027887] ---[ end trace e408cf4c0ce5fc0c ]---
[ 24.037907] Kernel panic - not syncing: Fatal exception in interrupt
[ 24.046166] Rebooting in 3 seconds..

@openwrt-bot
Copy link
Author

andyburns:

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.

@openwrt-bot
Copy link
Author

funth1ngs:

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

@openwrt-bot
Copy link
Author

andyburns:

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

@openwrt-bot
Copy link
Author

andyburns:

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

@openwrt-bot
Copy link
Author

funth1ngs:

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.

@openwrt-bot
Copy link
Author

paolomeraviglia:

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

@openwrt-bot
Copy link
Author

andyburns:

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant