USB Host not reconnecting after temporary power disconnect

I have been having troubles with a safe shutdown option for my Beaglebone Black Industrial Rev B6. When the main AC (actually DC) power is terminated, a single cell lithium ion battery supports it to safely shutdown. The problem is the beaglebone hangs when trying to shutdown safely after 10 seconds of being on battery power. I have traced the issue to the wireless driver (mt7601u) not being able to talk with the off-board wifi module. The USB host port is connected to a separate board with its data lines connected to a USB 2.0 Hub and 10/100 Ethernet Controller (LAN9514) which is further connected to a wifi module (WG209). As soon as the power is disconnected i get the following output:

`

Aug 16 16:20:49 PODD-4015 systemd[1]: Started Monitor power to detect if running on battery and shutdown.
Aug 16 16:20:59 PODD-4015 python3[589]: Starting Safe Shutdown and Charge Monitor
Aug 16 16:20:59 PODD-4015 python3[589]: Started Charging Battery
[ 496.634541] musb-hdrc musb-hdrc.1: VBUS_ERROR in a_wait_vrise (88, <AValid), retry #3, port1 0008050b
Aug 16 16:42:41 PODD-4015 python3[589]: Stopped Charging Battery
Aug 16 16:42:41 PODD-4015 python3[589]: Switched to Battery Power
[ 502.830016] mt7601u 1-1.5:1.0: Vendor request req:07 off:180c failed:-110
Aug 16 16:42:43 PODD-4015 python3[589]: On Battery Power – auto-shutdown in 8 seconds
Aug 16 16:42:45 PODD-4015 python3[589]: On Battery Power – auto-shutdown in 6 seconds
[ 506.061738] mt7601u 1-1.5:1.0: Vendor request req:02 off:180c failed:-110
Aug 16 16:42:47 PODD-4015 python3[589]: On Battery Power – auto-shutdown in 4 seconds
[ 508.729786] mt7601u 1-1.5:1.0: Error: send MCU cmd failed:-110
Aug 16 16:42:50 PODD-4015 python3[589]: On Battery Power – auto-shutdown in 2 seconds
Aug 16 16:42:52 PODD-4015 python3[589]: On Battery power for 11 secs - starting shutdown
[ 513.546136] mt7601u 1-1.5:1.0: Error: send MCU cmd failed:-110
[ 516.781688] mt7601u 1-1.5:1.0: Vendor request req:07 off:a804 failed:-110
[ 520.013684] mt7601u 1-1.5:1.0: Vendor request req:02 off:a804 failed:-110
[ 523.245650] mt7601u 1-1.5:1.0: Vendor request req:07 off:106c failed:-110
[ 526.477794] mt7601u 1-1.5:1.0: Vendor request req:02 off:106c failed:-110
[ 529.709815] mt7601u 1-1.5:1.0: Vendor request req:02 off:a804 failed:-110
[ ] (2 of 3) A stop job is running for Connection service (7s / 1min 2s)[ 532.941813] mt7601u 1-1.5:1.0: Vendor request req:02 off:1808 failed:-110
[
] (1 of 3) A stop job is running for WPA supplicant (11s / 1min 2s)[ 536.173785] mt7601u 1-1.5:1.0: Vendor request req:02 off:180c failed:-110
[ ] (3 of 3) A stop job is running for …network interfaces (14s / 1min 2s)[ 539.405783] mt7601u 1-1.5:1.0: Vendor request req:02 off:1018 failed:-110
[
] (3 of 3) A stop job is running for …network interfaces (17s / 1min 2s)[ 542.637581] mt7601u 1-1.5:1.0: Vendor request req:02 off:1010 failed:-110
[ ] (2 of 3) A stop job is running for Connection service (20s / 1min 2s)[ 545.869752] mt7601u 1-1.5:1.0: Vendor request req:02 off:1014 failed:-110
[ *** ] (1 of 3) A stop job is running for WPA supplicant (23s / 1min 2s)[ 549.101736] mt7601u 1-1.5:1.0: Vendor request req:07 off:1114 failed:-110
[ *** ] (3 of 3) A stop job is running for …network interfaces (27s / 1min 2s)[ 552.333722] mt7601u 1-1.5:1.0: Vendor request req:02 off:1114 failed:-110
[ *** ] (2 of 3) A stop job is running for Connection service (30s / 1min 2s)[ 555.565704] mt7601u 1-1.5:1.0: Vendor request req:02 off:1364 failed:-110
[ *** ] (1 of 3) A stop job is running for WPA supplicant (33s / 1min 2s)[ 558.797691] mt7601u 1-1.5:1.0: Vendor request req:02 off:1368 failed:-110
[ ] (3 of 3) A stop job is running for …network interfaces (36s / 1min 2s)[ 562.029679] mt7601u 1-1.5:1.0: Vendor request req:02 off:136c failed:-110
[
] (3 of 3) A stop job is running for …network interfaces (40s / 1min 2s)[ 565.261670] mt7601u 1-1.5:1.0: Vendor request req:02 off:1370 failed:-110
[ ] (2 of 3) A stop job is running for Connection service (43s / 1min 2s)[ 568.493648] mt7601u 1-1.5:1.0: Vendor request req:02 off:1374 failed:-110
[
] (1 of 3) A stop job is running for WPA supplicant (46s / 1min 2s)[ 571.725698] mt7601u 1-1.5:1.0: Vendor request req:02 off:1378 failed:-110
[ ] (3 of 3) A stop job is running for …network interfaces (49s / 1min 2s)[ 574.957632] mt7601u 1-1.5:1.0: Vendor request req:07 off:1404 failed:-110
[
] (2 of 3) A stop job is running for Connection service (53s / 1min 2s)[ 578.189604] mt7601u 1-1.5:1.0: Vendor request req:02 off:1404 failed:-110
[ ] (1 of 3) A stop job is running for WPA supplicant (56s / 1min 2s)[ 581.421586] mt7601u 1-1.5:1.0: Vendor request req:07 off:1104 failed:-110
[
] (1 of 3) A stop job is running for WPA supplicant (59s / 1min 2s)[ 584.653594] mt7601u 1-1.5:1.0: Vendor request req:02 off:1104 failed:-110
[
] (2 of 3) A stop job is r[ 587.170650] mt7601u 1-1.5:1.0: Error: send MCU cmd failed:-110
[ ] (1 of 3) A stop job is running for WPA supplicant (1min 5s / 2min 2s)[ 590.381546] mt7601u 1-1.5:1.0: Vendor request req:07 off:1004 failed:-110
[
] (3 of 3) A stop job is running for …ork interfaces (1min 8s / 2min 2s)[ 593.613529] mt7601u 1-1.5:1.0: Vendor request req:02 off:1004 failed:-110
[
** ] (3 of 3) A stop job is running for …rk interfaces (1min 10s / 2min 2s)[ 596.129898] mt7601u 1-1.5:1.0: Error: send MCU cmd failed:-110
[ 596.135880] mt7601u 1-1.5:1.0: mt7601u_rxdc_cal intro failed:-110
[ ] (2 of 3) A stop job is running for …ction service (1min 14s / 2min 2s)[ 599.373504] mt7601u 1-1.5:1.0: Vendor request req:07 off:101c failed:-110
[
] (1 of 3) A stop job is running for WPA supplicant (1min 17s / 2min 2s)[ 602.605474] mt7601u 1-1.5:1.0: Vendor request req:07 off:101c failed:-110
[ ] (1 of 3) A stop job is running for WPA supplicant (1min 20s / 2min 2s)[ 605.837472] mt7601u 1-1.5:1.0: Vendor request req:07 off:101c failed:-110
[
] (3 of 3) A stop job is running for …rk interfaces (1min 23s / 2min 2s)[ 609.069458] mt7601u 1-1.5:1.0: Vendor request req:07 off:101c failed:-110
[ ] (2 of 3) A stop job is running for …ction service (1min 27s / 2min 2s)[ 612.301429] mt7601u 1-1.5:1.0: Vendor request req:07 off:101c failed:-110
[
* ] (1 of 3) A stop job is running for WPA supplicant (1min 30s / 2min 2s)[ 615.533429] mt7601u 1-1.5:1.0: Vendor request req:07 off:101c failed:-110
[ **] (3 of 3) A stop job is running for …rk interfaces (1min 33s / 2min 2s)[ 618.765409] mt7601u 1-1.5:1.0: Vendor request req:07 off:101c failed:-110
[ *** ] (2 of 3) A stop job is running for …ction service (1min 36s / 2min 2s)[ 621.997397] mt7601u 1-1.5:1.0: Vendor request req:07 off:101c failed:-110
[ *** ] (2 of 3) A stop job is running for …ction service (1min 40s / 2min 2s)[ 625.229383] mt7601u 1-1.5:1.0: Vendor request req:07 off:101c failed:-110
[ *** ] (1 of 3) A stop job is running for WPA supplicant (1min 43s / 2min 2s)[ 628.461368] mt7601u 1-1.5:1.0: Vendor request req:07 off:101c failed:-110
[ *** ] (3 of 3) A stop job is running for …rk interfaces (1min 46s / 2min 2s)[ 631.693354] mt7601u 1-1.5:1.0: Vendor request req:07 off:101c failed:-110
[ ] (2 of 3) A stop job is running for …ction service (1min 49s / 2min 2s)[ 634.925392] mt7601u 1-1.5:1.0: Vendor request req:07 off:101c failed:-110
[
] (1 of 3) A stop job is running for WPA supplicant (1min 53s / 2min 2s)[ 638.157310] mt7601u 1-1.5:1.0: Vendor request req:07 off:101c failed:-110
[ ] (3 of 3) A stop job is running for …rk interfaces (1min 56s / 2min 2s)[ 641.389308] mt7601u 1-1.5:1.0: Vendor request req:07 off:101c failed:-110
[
] (2 of 3) A stop job is running for …ction service (1min 59s / 2min 2s)[ 644.621290] mt7601u 1-1.5:1.0: Vendor request req:07 off:101c failed:-110
[ ] (2 of 3) A stop job is running for …ection service (2min 2s / 3min 2s)[ 647.853278] mt7601u 1-1.5:1.0: Vendor request req:07 off:101c failed:-110
[
] (1 of 3) A stop job is running for WPA supplicant (2min 5s / 3min 2s)[ 651.085270] mt7601u 1-1.5:1.0: Vendor request req:07 off:101c failed:-110
[ ] (3 of 3) A stop job is running for …ork interfaces (2min 9s / 3min 2s)[ 654.317245] mt7601u 1-1.5:1.0: Vendor request req:07 off:101c failed:-110
[
] (2 of 3) A stop job is running for …ction service (2min 12s / 3min 2s)[ 657.549232] mt7601u 1-1.5:1.0: Vendor request req:07 off:101c failed:-110
[ ] (1 of 3) A stop job is running for WPA supplicant (2min 15s / 3min 2s)[ 660.781221] mt7601u 1-1.5:1.0: Vendor request req:07 off:101c failed:-110
[ *** ] (3 of 3) A stop job is running for …rk interfaces (2min 18s / 3min 2s)[ 664.013201] mt7601u 1-1.5:1.0: Vendor request req:07 off:101c failed:-110
[ *** ] (3 of 3) A stop job is running for …rk interfaces (2min 22s / 3min 2s)[ 667.245183] mt7601u 1-1.5:1.0: Vendor request req:07 off:101c failed:-110
[ *** ] (2 of 3) A stop job is running for …ction service (2min 25s / 3min 2s)[ 670.477166] mt7601u 1-1.5:1.0: Vendor request req:07 off:101c failed:-110
[ *** ] (1 of 3) A stop job is running for WPA supplicant (2min 28s / 3min 2s)[ 673.709156] mt7601u 1-1.5:1.0: Vendor request req:07 off:101c failed:-110
[ ] (3 of 3) A stop job is running for …rk interfaces (2min 31s / 3min 2s)[ 676.941140] mt7601u 1-1.5:1.0: Vendor request req:07 off:101c failed:-110
[
] (2 of 3) A stop job is running for …ction service (2min 35s / 3min 2s)[ 680.173127] mt7601u 1-1.5:1.0: Vendor request req:07 off:101c failed:-110
[ ] (1 of 3) A stop job is running for WPA supplicant (2min 38s / 3min 2s)[ 683.405109] mt7601u 1-1.5:1.0: Vendor request req:07 off:101c failed:-110
[
] (1 of 3) A stop job is running for WPA supplicant (2min 41s / 3min 2s)[ 686.636966] mt7601u 1-1.5:1.0: Vendor request req:07 off:101c failed:-110
[ ] (3 of 3) A stop job is running for …rk interfaces (2min 44s / 3min 2s)[ 689.869082] mt7601u 1-1.5:1.0: Vendor request req:07 off:101c failed:-110
[
] (2 of 3) A stop job is running for …ction service (2min 47s / 3min 2s)[ 693.101052] mt7601u 1-1.5:1.0: Vendor request req:07 off:101c failed:-110
[ ] (1 of 3) A stop job is running for WPA supplicant (2min 51s / 3min 2s)[ 696.333052] mt7601u 1-1.5:1.0: Vendor request req:07 off:101c failed:-110
[
] (3 of 3) A stop job is running for …rk interfaces (2min 54s / 3min 2s)[ 699.565036] mt7601u 1-1.5:1.0: Vendor request req:07 off:101c failed:-110
[ ] (2 of 3) A stop job is running for …ction service (2min 57s / 3min 2s)[ 702.797008] mt7601u 1-1.5:1.0: Vendor request req:07 off:101c failed:-110
[ *** ] (1 of 3) A stop job is running for WPA supplicant (3min / 3min 2s)[ 706.029006] mt7601u 1-1.5:1.0: Vendor request req:07 off:101c failed:-110
[ OK ] Stopped Raise network interfaces.
[ 709.261061] mt7601u 1-1.5:1.0: Vendor request req:07 off:101c failed:-110
[ 712.492976] mt7601u 1-1.5:1.0: Vendor request req:07 off:101c failed:-110
[ ] (2 of 2) A stop job is running for …ction service (3min 10s / 4min 2s)[ 715.724959] mt7601u 1-1.5:1.0: Vendor request req:07 off:101c failed:-110
[
] (2 of 2) A stop job is running for …ction service (3min 13s / 4min 2s)[ 718.956946] mt7601u 1-1.5:1.0: Vendor request req:07 off:101c failed:-110
[ ] (2 of 2) A stop job is running for …ction service (3min 17s / 4min 2s)[ 722.188927] mt7601u 1-1.5:1.0: Vendor request req:07 off:101c failed:-110
[
] (2 of 2) A stop job is running for …ction service (3min 20s / 4min 2s)[ 725.420913] mt7601u 1-1.5:1.0: Vendor request req:07 off:101c failed:-110
[
] (2 of 2) A stop job is running for …ction service (3min 20s / 4min 2s)[ 725.980974] INFO: task connmand:630 blocked for more than 120 seconds.
[ 725.987681] Tainted: G W 4.14.71-ti-r80 #1
[ 725.994555] “echo 0 > /proc/sys/kernel/hung_task_timeout_secs” disables this message.
[ 726.003209] INFO: task wpa_supplicant:784 blocked for more than 120 seconds.
[ 726.015146] Tainted: G W 4.14.71-ti-r80 #1
[ 726.021384] “echo 0 > /proc/sys/kernel/hung_task_timeout_secs” disables this message.
[ 726.030868] INFO: task iwconfig:1731 blocked for more than 120 seconds.
[ 726.043470] Tainted: G W 4.14.71-ti-r80 #1
[ 726.049747] “echo 0 > /proc/sys/kernel/hung_task_timeout_secs” disables this message.
[ ] (2 of 2) A stop job is running for …ction service (3min 23s / 4min 2s)[ 728.652944] mt7601u 1-1.5:1.0: Vendor request req:07 off:101c failed:-110
[ *** ] (2 of 2) A stop job is running for …ction service (3min 26s / 4min 2s)[ 731.884892] mt7601u 1-1.5:1.0: Vendor request req:07 off:101c failed:-110
[ *** ] (2 of 2) A stop job is running for …ction service (3min 29s / 4min 2s)[ 735.116869] mt7601u 1-1.5:1.0: Vendor request req:07 off:101c failed:-110
[ *** ] (1 of 2) A stop job is running for WPA supplicant (3min 33s / 4min 2s)[ 738.348856] mt7601u 1-1.5:1.0: Vendor request req:07 off:101c failed:-110
[
] (1 of 2) A stop job is running for WPA supplicant (3min 36s / 4min 2s)[ 741.580847] mt7601u 1-1.5:1.0: Vendor request req:07 off:101c failed:-110
[ ] (1 of 2) A stop job is running for WPA supplicant (3min 39s / 4min 2s)[ 744.812825] mt7601u 1-1.5:1.0: Vendor request req:07 off:101c failed:-110
[
] (1 of 2) A stop job is running for WPA supplicant (3min 42s / 4min 2s)[ 748.044808] mt7601u 1-1.5:1.0: Vendor request req:07 off:101c failed:-110
[ ] (1 of 2) A stop job is running for WPA supplicant (3min 46s / 4min 2s)[ 751.276796] mt7601u 1-1.5:1.0: Vendor request req:07 off:101c failed:-110
[
] (1 of 2) A stop job is running for WPA supplicant (3min 49s / 4min 2s)[ 754.508780] mt7601u 1-1.5:1.0: Vendor request req:07 off:101c failed:-110
[ ] (2 of 2) A stop job is running for …ction service (3min 52s / 4min 2s)[ 757.740764] mt7601u 1-1.5:1.0: Vendor request req:07 off:101c failed:-110
[
] (2 of 2) A stop job is running for …ction service (3min 55s / 4min 2s)[ 760.972750] mt7601u 1-1.5:1.0: Vendor request req:07 off:101c failed:-110
[ ] (2 of 2) A stop job is running for …ction service (3min 59s / 4min 2s)[ 764.204722] mt7601u 1-1.5:1.0: Vendor request req:07 off:101c failed:-110
[
] (2 of 2) A stop job is running for …ection service (4min 2s / 4min 2s)[ 767.436717] mt7601u 1-1.5:1.0: Vendor request req:07 off:101c failed:-110

`

I understand the USB calls for 5V, but I was wondering if running on battery power will completely disable the USB Host port or if it will still allow the data lines to function properly (since they operate at a lower voltage)? The USB hub/Ethernet controller and wifi module are both powered by external circuitry (3.3V) separate from the Beaglebone. I tried maintaining power just to the wifi module and usb hub/ethernet controller but the beaglebone just stops talking to them when on battery power.

Furthermore, when I replug in the main power source within the 10 seconds, the wifi module and usb hub/etherner controller still doesn’t communicate. And the error “mt7601u 1-1.5:1.0: Vendor request req:02 off:1808 failed:-110” still occurs