I have soldered USB 2.0 header for GL-B1300

I have soldered USB 2.0 header for GL-B1300

Guys, I’ve soldered an additional USB header offered by GL-B1300 machine;
It works perfectly but still handled by xhci_hcd driver that doesn’t work with Huawei e3372h-153 dongle smoothly (crashes under high-load with 5Ghz is enabled, a kind of well-known bug);
Is there a way to force this additional port to be handled by ehci-hcd explicitly? Yes, I already has all usb2-related packages installed;
I’m using Stable OpenWrt 19.07.5.

Latest log with soldered USB 2.0 crashing:

[10520.213617] usb usb2-port1: Cannot enable. Maybe the USB cable is bad?
[11942.772301] usb usb2-port1: Cannot enable. Maybe the USB cable is bad?
[15316.523431] usb usb2-port1: Cannot enable. Maybe the USB cable is bad?
[17746.661742] usb usb2-port1: Cannot enable. Maybe the USB cable is bad?
[17750.981824] usb usb2-port1: Cannot enable. Maybe the USB cable is bad?
[17896.425110] xhci-hcd xhci-hcd.1.auto: ERROR unknown event type 37
[17905.846983] ------------[ cut here ]------------
[17905.847315] WARNING: CPU: 0 PID: 0 at net/sched/sch_generic.c:320 0xc0661ddc
[17905.850932] NETDEV WATCHDOG: eth2 (cdc_ether): transmit queue 0 timed out
[17905.858164] Modules linked in: pppoe ppp_async option cdc_mbim ath10k_pci ath10k_core ath usb_wwan pppox ppp_generic nf_conntrack_ipv6 mac80211 iptable_nat ipt_REJECT ipt_MASQUERADE huawei_cdc_ncm cfg80211 cdc_subset cdc_ncm cdc_ether cdc_eem 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_FLOWOFFLOAD xt_DSCP xt_CT xt_CLASSIFY wireguard 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 iptable_raw iptable_mangle iptable_filter ipt_ECN ip_tables
[17905.913375]  hwmon crc_ccitt compat cdc_wdm xt_set ip_set_list_set ip_set_hash_netportnet ip_set_hash_netport ip_set_hash_netnet ip_set_hash_netiface ip_set_hash_net 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 nf_log_ipv6 nf_log_common ip6table_mangle ip6table_filter ip6_tables ip6t_REJECT x_tables nf_reject_ipv6 ehci_platform ehci_hcd ip6_udp_tunnel udp_tunnel mii leds_gpio xhci_plat_hcd xhci_pci xhci_hcd dwc3 dwc3_of_simple gpio_button_hotplug
[17905.965073] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 4.14.209 #0
[17905.987265] Hardware name: Generic DT based system
[17905.993437] Function entered at [<c030e2a8>] from [<c030a7a8>]
[17905.998118] Function entered at [<c030a7a8>] from [<c07416f4>]
[17906.003934] Function entered at [<c07416f4>] from [<c031dc0c>]
[17906.009749] Function entered at [<c031dc0c>] from [<c031dc60>]
[17906.015566] Function entered at [<c031dc60>] from [<c0661ddc>]
[17906.021381] Function entered at [<c0661ddc>] from [<c036be28>]
[17906.027197] Function entered at [<c036be28>] from [<c036c170>]
[17906.033012] Function entered at [<c036c170>] from [<c0301520>]
[17906.038829] Function entered at [<c0301520>] from [<c0321d30>]
[17906.044645] Function entered at [<c0321d30>] from [<c035b2b8>]
[17906.050462] Function entered at [<c035b2b8>] from [<c030140c>]
[17906.056275] Function entered at [<c030140c>] from [<c030b30c>]
[17906.062093] Exception stack(0xc0a01f40 to 0xc0a01f88)
[17906.067915] 1f40: 00000001 00000000 00000000 c0313960 ffffe000 c0a03cb8 c0a03c6c 00000000
[17906.073039] 1f60: 00000000 00000001 cfffce00 c092da28 c0a01f88 c0a01f90 c0307d88 c0307d8c
[17906.081194] 1f80: 60000013 ffffffff
[17906.089346] Function entered at [<c030b30c>] from [<c0307d8c>]
[17906.092648] Function entered at [<c0307d8c>] from [<c0351fe8>]
[17906.098550] Function entered at [<c0351fe8>] from [<c0352308>]
[17906.104365] Function entered at [<c0352308>] from [<c0900c08>]
[17906.110252] ---[ end trace d573e34a697b03e4 ]---
[17911.286981] xhci-hcd xhci-hcd.1.auto: xHCI host not responding to stop endpoint command.
[17911.303339] xhci-hcd xhci-hcd.1.auto: Host halt failed, -110
[17911.303578] xhci-hcd xhci-hcd.1.auto: xHCI host controller not responding, assume dead
[17911.311517] xhci-hcd xhci-hcd.1.auto: HC died; cleaning up
[17911.327236] usb 3-1: USB disconnect, device number 2
[17911.328804] cdc_ether 3-1:1.0 eth2: unregister 'cdc_ether' usb-xhci-hcd.1.auto-1, CDC Ethernet Device

Thanks in advance!

Does the dongle with with the USB-A port?

maybe it is a power issue.

Yes, it is standard USB-A dongle; And I’m using standard EU-type adapter from a bundle (that I’m almost sure should actually be enough for modem’s purposes);
Now I’m trying to build a stable-based owrt without kmod-usb3 pre-compiled in to a kernel;
Will let know if there are any lucks…

Ok, my results so far are:

1] Compiling Snapshot/Release without kmod-usb3 lead to drivers not to load correctly:

$ lsusb
unable to initialize libusb: -99

With no ways to force/load/insert kmod-usb2 manually (as far as I can see now);

2] Using a power-independent USB2 cable for modem lead to the same problem with xhci-hcd as was mentioned above (“Host halt failed, -110” etc.) in about 46 hours; So it isn’t a power-related issue for sure as the modem was powered using an external and pretty stable power supply correctly;

So do we have any chance to e.g. disable usb3 drivers/port entirely and let an extra usb2 header to work with EHCI drivers?
I’m still asking this as otherwise the additional usb2 header becomes almost useless; Doesn’t it?

I’d like to help but I don’t have a solution.

IIRC - the Huawei 3372 is a HiLink device - hence the cdc-ethernet USB end-point…

If it is changed from HiLink to “stick” mode - then QMI should work better here… (search the google on how to change).