Linux DHCP cannot get IP address (EM7430)

O/S: Raspberry Pi running Raspbian GNU/Linux 8 (jessie)
Kernel: Linux 4.9.24-v7+

Running dmesg shows

usb 1-1.4: config 1 has an invalid interface number: 8 but max is 4
usb 1-1.4: config 1 has an invalid interface number: 10 but max is 4
usb 1-1.4: config 1 has no interface number 1
usb 1-1.4: config 1 has no interface number 4

Interface driver qmi_wwan is properly registered. The wwan0 and wwan1 interfaces are properly created.

Ran qmi-network /dev/cdc-wdm0 start and network started successfully.

Ran dhclient wwan0 but cannot get the IP address.

I tried to change the data format qmicli -d /dev/cdc-wdm0 --wda-set-data-format=802-3, but the link layer protocol still remains raw-ip.

Am I missing something?

Are there any solutions to get the IP using the libqmi?

This is normal. It’s just Linux trying to be strict about USB interface numbering. Just a pointless warning which can be safely ignored.

dhclient does not support the qmi_wwan type of raw-ip interface. It can only work with ethernet (like) interfaces. You may have more success with e.g. udhcpc from BusyBox.

The MC/EM74xx has no 802-3 support, so changing the data format is not an option.

You can retrieve the IP config using QMI and congure the interface based on this instead of using DHCP. Try something like

qmicli -d /dev/cdc-wdm0 --wds-get-current-settings