Pi4 NovaM Unable to detect serial port

I am using a Nova410 on a Pi4 running Raspian Buster that I was finally able to apply the firmware update to. After the firmware update I am encountering frequent “Unable to detect serial port” issues. Sometimes both ttyUSB0 and ttyUSB1 are available, sometimes ttyUSB1 is missing. lsof shows no processes using either port. I have been able to successfully connect once but most other times have been met with failure. Even when I have not been able to establish a connection, the hologram dashboard reports that it is in fact connected and data is being used despite there being no ppp device active or connection created. I have tried multiple power supplies with the same result. It feels as if there is a software conflict though no modem manager is installed and this configuration was working well prior to the firmware update. Any advice on how to proceed would be appreciated.

[   57.290380] PPP generic driver version 2.4.2
[   60.893183] PPP BSD Compression module registered
[   60.903637] PPP Deflate Compression module registered
[  119.031685] ------------[ cut here ]------------
[  119.031728] WARNING: CPU: 1 PID: 0 at net/sched/sch_generic.c:466 dev_watchdog+0x294/0x298
[  119.031745] NETDEV WATCHDOG: wwan0 (qmi_wwan): transmit queue 0 timed out
[  119.031759] Modules linked in: ppp_deflate zlib_deflate bsd_comp ppp_async crc_ccitt ppp_generic slhc bnep hci_uart btbcm serdev bluetooth ecdh_generic 8021q garp stp llc option usb_wwan qmi_wwan usbserial cdc_wdm bcm2835_codec(C) v4l2_mem2mem bcm2835_v4l2(C) bcm2835_mmal_vchiq(C) v4l2_common videobuf2_dma_contig videobuf2_vmalloc videobuf2_memops videobuf2_v4l2 videobuf2_common brcmfmac videodev media brcmutil rpivid_mem vc_sm_cma(C) vc4 sha256_generic v3d drm_kms_helper gpu_sched cfg80211 rfkill drm snd_soc_core raspberrypi_hwmon snd_bcm2835(C) drm_panel_orientation_quirks hwmon snd_compress snd_pcm_dmaengine syscopyarea sysfillrect snd_pcm sysimgblt fb_sys_fops snd_timer snd uio_pdrv_genirq uio fixed sg ip_tables x_tables ipv6
[  119.032663] CPU: 1 PID: 0 Comm: swapper/1 Tainted: G         C        4.19.75-v7l+ #1270
[  119.032671] Hardware name: BCM2835
[  119.032698] [<c0212d10>] (unwind_backtrace) from [<c020d530>] (show_stack+0x20/0x24)
[  119.032716] [<c020d530>] (show_stack) from [<c097fb20>] (dump_stack+0xd4/0x118)
[  119.032736] [<c097fb20>] (dump_stack) from [<c0222330>] (__warn+0x104/0x11c)
[  119.032753] [<c0222330>] (__warn) from [<c02223a0>] (warn_slowpath_fmt+0x58/0x74)
[  119.032771] [<c02223a0>] (warn_slowpath_fmt) from [<c08a674c>] (dev_watchdog+0x294/0x298)
[  119.032793] [<c08a674c>] (dev_watchdog) from [<c029a6a4>] (call_timer_fn+0x3c/0x198)
[  119.032810] [<c029a6a4>] (call_timer_fn) from [<c029a8ec>] (expire_timers+0xec/0x14c)
[  119.032825] [<c029a8ec>] (expire_timers) from [<c029aa04>] (run_timer_softirq+0xb8/0x1ec)
[  119.032842] [<c029aa04>] (run_timer_softirq) from [<c0202410>] (__do_softirq+0x190/0x3f0)
[  119.032858] [<c0202410>] (__do_softirq) from [<c0228308>] (irq_exit+0xfc/0x120)
[  119.032879] [<c0228308>] (irq_exit) from [<c0280e08>] (__handle_domain_irq+0x70/0xc4)
[  119.032897] [<c0280e08>] (__handle_domain_irq) from [<c0202244>] (gic_handle_irq+0x4c/0x88)
[  119.032912] [<c0202244>] (gic_handle_irq) from [<c02019bc>] (__irq_svc+0x5c/0x7c)
[  119.032922] Exception stack(0xef927f38 to 0xef927f80)
[  119.032931] 7f20:                                                       c0209a84 00000000
[  119.032944] 7f40: 40000093 40000093 c1004dbc ef926000 c1004e04 00000002 c109641a 410fd083
[  119.032956] 7f60: 00000000 ef927f94 c10051c4 ef927f88 00000000 c0209a88 40000013 ffffffff
[  119.032974] [<c02019bc>] (__irq_svc) from [<c0209a88>] (arch_cpu_idle+0x34/0x4c)
[  119.032991] [<c0209a88>] (arch_cpu_idle) from [<c099cd2c>] (default_idle_call+0x34/0x48)
[  119.033009] [<c099cd2c>] (default_idle_call) from [<c02542b4>] (do_idle+0xec/0x17c)
[  119.033028] [<c02542b4>] (do_idle) from [<c0254604>] (cpu_startup_entry+0x28/0x2c)
[  119.033046] [<c0254604>] (cpu_startup_entry) from [<c0210b2c>] (secondary_start_kernel+0x13c/0x148)
[  119.033061] [<c0210b2c>] (secondary_start_kernel) from [<0020270c>] (0x20270c)
[  119.033077] ---[ end trace b98ff601f837dfed ]---
[  119.155045] usb 1-1.3: USB disconnect, device number 3
[  119.155713] option1 ttyUSB0: GSM modem (1-port) converter now disconnected from ttyUSB0
[  119.155816] option 1-1.3:1.0: device disconnected
[  119.156704] option1 ttyUSB1: GSM modem (1-port) converter now disconnected from ttyUSB1
[  119.156804] option 1-1.3:1.2: device disconnected
[  119.157174] qmi_wwan 1-1.3:1.3 wwan0: unregister 'qmi_wwan' usb-0000:01:00.0-1.3, WWAN/QMI device
[  120.091755] usb 1-1.3: new high-speed USB device number 4 using xhci_hcd
[  120.222643] usb 1-1.3: New USB device found, idVendor=05c6, idProduct=90b2, bcdDevice= 0.00
[  120.222660] usb 1-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[  120.222673] usb 1-1.3: Product: QHSUSB__BULK
[  120.222685] usb 1-1.3: Manufacturer: Qualcomm CDMA Technologies MSM
[  120.222697] usb 1-1.3: SerialNumber: fbb46ee4
[  120.226862] option 1-1.3:1.0: GSM modem (1-port) converter detected
[  120.227175] usb 1-1.3: GSM modem (1-port) converter now attached to ttyUSB0

pi@weatherpi ~/> sudo hologram modem reset -vv
DEBUG: checking for vid_pid: ('12d1', '1001')
DEBUG: checking for vid_pid: ('12d1', '1506')
DEBUG: checking for vid_pid: ('1546', '1102')
DEBUG: checking for vid_pid: ('1546', '1104')
DEBUG: checking for vid_pid: ('05c6', '90b2')
INFO: Detected modem NovaM
DEBUG: checking port ttyUSB0
DEBUG: checking port ttyUSB1
DEBUG: [AT]
ERROR: Unable to detect a usable serial port
pi@weatherpi ~/> python test.py
PORT NAME: /dev/ttyUSB1 		  DESCRIPTION: Qualcomm CDMA Technologies MSM 		  HWID: USB VID:PID=05C6:90B2 SER=fbb46ee4 LOCATION=1-1.1:1.2
PORT NAME: /dev/ttyUSB0 		  DESCRIPTION: Qualcomm CDMA Technologies MSM 		  HWID: USB VID:PID=05C6:90B2 SER=fbb46ee4 LOCATION=1-1.1:1.0
PORT NAME: /dev/ttyAMA0 		  DESCRIPTION: ttyAMA0 		  HWID: fe201000.serial

Have you tried the troubleshooting step at the bottom of this guide? https://support.hologram.io/hc/en-us/articles/360035212594-Updating-the-Cat-M1-R410-Nova-s-Firmware

Yes. After unplugging and plugging in the Nova, I was able to run those steps. Afterwards I was able to check signal and operator. However as soon as I issued a modem connect it eventually failed with:
ERROR: Modem hangup - possibly due to an unregistered SIM
Which is odd since I know the SIM is registered and works as well as the hologram dashboard showing connectivity and data usage. Solid blue led with flashing red led.

Afterwards I am again unable to access the Nova without physically unplugging the device. Perhaps its being grabbed by the system as a wwan device rather than the SDK?

So it looks like it can’t get a PPP session, but PPP is still probably running and retrying in the background and tying up the port. You can try sudo hologram network disconnect to kill that and hopefully then the other functions will work. Not sure why PPP wouldn’t be working for you. If you just run sudo hologram send test does the message show up on the dashboard?

I am running into exactly the same problem. I am using raspberry pi 4 and Nova410.
When first inserted device provides ttyUSB0 and ttyUSB1 but after a while it disappears and reappears with only ttyUSB0 and ttyUSB1. After that no a single command works.
It is never the question if but question of time. As @szygmunt I followed all the troubleshooting guides and I am getting exactly the same errors.

[ 1717.424744] usb 1-1.2: new high-speed USB device number 9 using xhci_hcd
[ 1717.557018] usb 1-1.2: New USB device found, idVendor=05c6, idProduct=90b2, bcdDevice= 0.00
[ 1717.557033] usb 1-1.2: New USB device strings: Mfr=3, Product=2, SerialNumber=4
[ 1717.557046] usb 1-1.2: Product: Qualcomm CDMA Technologies MSM
[ 1717.557058] usb 1-1.2: Manufacturer: Qualcomm, Incorporated
[ 1717.557069] usb 1-1.2: SerialNumber: 906f09db
[ 1717.563166] option 1-1.2:1.0: GSM modem (1-port) converter detected
[ 1717.563479] usb 1-1.2: GSM modem (1-port) converter now attached to ttyUSB0
[ 1717.564256] option 1-1.2:1.2: GSM modem (1-port) converter detected
[ 1717.564546] usb 1-1.2: GSM modem (1-port) converter now attached to ttyUSB1
[ 1848.929262] usb 1-1.2: USB disconnect, device number 9
[ 1848.929957] option1 ttyUSB0: GSM modem (1-port) converter now disconnected from ttyUSB0
[ 1848.930061] option 1-1.2:1.0: device disconnected
[ 1848.930956] option1 ttyUSB1: GSM modem (1-port) converter now disconnected from ttyUSB1
[ 1848.931056] option 1-1.2:1.2: device disconnected
[ 1849.876137] usb 1-1.2: new high-speed USB device number 10 using xhci_hcd
[ 1850.006803] usb 1-1.2: New USB device found, idVendor=05c6, idProduct=90b2, bcdDevice= 0.00
[ 1850.006811] usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 1850.006816] usb 1-1.2: Product: QHSUSB__BULK
[ 1850.006821] usb 1-1.2: Manufacturer: Qualcomm CDMA Technologies MSM
[ 1850.006825] usb 1-1.2: SerialNumber: 906f09db
[ 1850.008080] option 1-1.2:1.0: GSM modem (1-port) converter detected
[ 1850.008219] usb 1-1.2: GSM modem (1-port) converter now attached to ttyUSB0

Honestly I am still not sure what exactly solved the issue. But for some reason, after rebooting and quickly running a sudo hologram send test, things have been behaving normally. I have been waiting for it to revert to its old behavior but it seems stable enough at this point over multiple power cycles and reboots. It was never an issue of a stale ppp session in the background as no processes were running. Give the hologram send test a try and see if that changes anything for you. Not sure why this would have any effect.

Hi @szygmunt, thank you for your message. I have just plugged in a small USB 3.0 hub between the device and PI. This solved the issue for me. Strangely I removed the hub (plugged in the device directly) and problem did not resurfaced so I am having very similar experience to yours.
Talking to some colleagues we suspect something went wrong during power negotiation on the USB bus. Why it was not fixed for me on reboot but by using a hub I have no idea.

Edited: I missed the update where device can go to sleep after one minute. Applied the troubleshooting from the link above.