Udhcp fails with “No lease, failing” - QMI

I have been using the Base Shield V2 with the EC25 using the PPP based driver for several months with no issues on the Pi zero W.
I have a need to use the QMI based driver now for bandwidth reasons. I have used QMI installer, but it fails to receive a DHCP lease from the network.
I can’t get a DHCP lease.

uname -r output:
4.19.84+

ls /usr/src/ output:
linux-headers-4.19.66+ linux-headers-4.19.66-v7+ qmi_reconnect.sh reconnect.sh sense-hat

sudo ./quectel-CM -s hologram output:

[11-21_16:12:12:022] WCDMA&LTE_QConnectManager_Linux&Android_V1.1.45
[11-21_16:12:12:025] ./quectel-CM profile[1] = hologram///0, pincode = (null)
[11-21_16:12:12:027] Find /sys/bus/usb/devices/1-1 idVendor=2c7c idProduct=0125
[11-21_16:12:12:030] Find /sys/bus/usb/devices/1-1:1.4/net/wwan0
[11-21_16:12:12:032] Find usbnet_adapter = wwan0
[11-21_16:12:12:034] Find /sys/bus/usb/devices/1-1:1.4/usbmisc/cdc-wdm0
[11-21_16:12:12:036] Find qmichannel = /dev/cdc-wdm0
[11-21_16:12:12:089] cdc_wdm_fd = 7
[11-21_16:12:12:186] Get clientWDS = 19
[11-21_16:12:12:218] Get clientDMS = 1
[11-21_16:12:12:250] Get clientNAS = 3
[11-21_16:12:12:282] Get clientUIM = 1
[11-21_16:12:12:315] Get clientWDA = 1
[11-21_16:12:12:347] requestBaseBandVersion EC25AFAR05A04M4G
[11-21_16:12:12:475] requestGetSIMStatus SIMStatus: SIM_READY
[11-21_16:12:12:476] requestSetProfile[1] hologram///0
[11-21_16:12:12:539] requestGetProfile[1] hologram///0
[11-21_16:12:12:571] requestRegistrationState2 MCC: 310, MNC: 410, PS: Attached, DataCap: LTE
[11-21_16:12:12:603] requestQueryDataCall IPv4ConnectionStatus: DISCONNECTED
[11-21_16:12:12:667] requestRegistrationState2 MCC: 310, MNC: 410, PS: Attached, DataCap: LTE
[11-21_16:12:12:698] requestSetupDataCall WdsConnectionIPv4Handle: 0x87240e30
[11-21_16:12:12:763] requestQueryDataCall IPv4ConnectionStatus: CONNECTED
[11-21_16:12:12:795] change mtu 1500 -> 1430
[11-21_16:12:12:797] ifconfig wwan0 up
[11-21_16:12:12:839] busybox udhcpc -f -n -q -t 5 -i wwan0
[11-21_16:12:12:884] udhcpc (v1.22.1) started
No resolv.conf for interface wwan0.udhcpc
[11-21_16:12:12:998] Sending discover…
[11-21_16:12:16:001] Sending discover…
[11-21_16:12:19:005] Sending discover…
[11-21_16:12:22:009] Sending discover…
[11-21_16:12:25:015] Sending discover…
[11-21_16:12:28:059] No lease, failing

dmesg shows the device descriptor read is failing:

[ 23.923157] Indeed it is in host mode hprt0 = 00001101
[ 24.133226] usb 1-1: device descriptor read/64, error -110
[ 24.253291] Indeed it is in host mode hprt0 = 00001101
[ 24.533140] usb 1-1: new high-speed USB device number 3 using dwc_otg
[ 29.603203] Indeed it is in host mode hprt0 = 00001101
[ 29.923204] usb 1-1: device descriptor read/64, error -110
[ 30.611876] fuse init (API version 7.26)
[ 42.942113] EXT4-fs (mmcblk0p5): mounted filesystem with ordered data mode. Opts: (null)
[ 45.203125] Indeed it is in host mode hprt0 = 00001101
[ 45.413073] usb 1-1: device descriptor read/64, error -110
[ 45.533154] usb usb1-port1: attempt power cycle

This device was working in PPP mode prior to update, so I don’t believe it to be damaged.

The base shield is no longer recognized, lsusb returns only
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

And a relevant snippet from /var/log/syslog :

Nov 21 16:11:45 raspberrypi systemd[1]: Started Session c3 of user pi.
Nov 21 16:12:12 raspberrypi avahi-daemon[235]: Withdrawing address record for 169.254.20.231 on wwan0.
Nov 21 16:12:12 raspberrypi avahi-daemon[235]: Leaving mDNS multicast group on interface wwan0.IPv4 with address 169.254.20.231.
Nov 21 16:12:12 raspberrypi dhcpcd[272]: wwan0: deleted route to 169.254.0.0/16
Nov 21 16:12:12 raspberrypi avahi-daemon[235]: Interface wwan0.IPv4 no longer relevant for mDNS.
Nov 21 16:12:12 raspberrypi uchcpc[1170]: wwan0: deconfigured
Nov 21 16:12:28 raspberrypi uchcpc[1170]: wwan0: configuration failed: leasefail:

And a side note, I am booted from the SSH session when I CTRL+C to exit the quectel-CM command. I’m not sure if this is because of a system crash, or it messes up route or interface settings. Here is the last thing I get from /var/log/syslog before the session is booted:

Nov 21 16:22:21 raspberrypi dhcpcd[272]: wwan0: carrier lost
Nov 21 16:22:21 raspberrypi avahi-daemon[235]: Interface wwan0.IPv6 no longer relevant for mDNS.
Nov 21 16:22:21 raspberrypi avahi-daemon[235]: Leaving mDNS multicast group on interface wwan0.IPv6 with address fe80::13c3:4dd2:9415:1cb7.
Nov 21 16:22:21 raspberrypi avahi-daemon[235]: Withdrawing address record for fe80::13c3:4dd2:9415:1cb7 on wwan0.
Nov 21 16:22:21 raspberrypi dhcpcd[272]: wwan0: deleting address fe80::13c3:4dd2:9415:1cb7
Nov 21 16:22:21 raspberrypi systemd[1]: dhcpcd.service: Main process exited, code=killed, status=11/SEGV
Nov 21 16:22:21 raspberrypi dhcpcd[3709]: sending signal TERM to pid 272
Nov 21 16:22:21 raspberrypi dhcpcd[3709]: dhcpcd not running
Nov 21 16:22:21 raspberrypi dhcpcd[3709]: dhcpcd not running
Nov 21 16:22:21 raspberrypi dhcpcd[3709]: sending signal TERM to pid 272
Nov 21 16:22:21 raspberrypi systemd[1]: dhcpcd.service: Control process exited, code=exited status=1

So the dhcpd daemon is killed, but I don’t see how the ssh link drops.

I used the command sudo rpi-update 2267b322afdb18b4abf9603fea836916190b1b5d , as shown in step 7 of your guide, followed by sudo apt update and sudo apt upgrade.

I am also using a 5V 2.5A supply to the Pi.

Steps were followed incorrectly. You had to upgrade, but your system has been downgraded.

Since it was 4.19.84+ , you should have used

sudo rpi-update < tag according to your kernel version >

sudo rpi-update 2267b322afdb18b4abf9603fea836916190b1b5d is wrong in your case.

The steps you need to take:

  1. sudo rpi-update 16ce6121464d53a9eb9cf68afbdba7ada8ec7bcd (This is the commit hash for 4.19.84 )
  2. sudo reboot
  3. cd Downloads/Sixfab_QMI_Installer/
  4. sudo ./qmi_installer.sh