qmicli working for EM7455

Aleksander Morgado aleksander at aleksander.es
Tue Mar 31 03:37:42 UTC 2020


Hey Brandon,

> I am having issues with EM7455.
> I used `.rules` to make sure device ATTRs use qmi_wwan driver

You don't need any udev rules or anything like that. If the module is
configured to boot in QMI mode, it will boot in QMI mode. If the
module is configured to boot in MBIM, it will boot in MBIM mode. And
the kernel will choose the correct driver upon device boot. Trying to
force to use a specific kernel driver will only work if the module is
configured to use that same protocol, and so the "forcing" step is
therefore not necessary. Just let the kernel pick the correct driver.

> it shows in `lsusb -t` that modem is using these drivers.
> Running latest firmware update for ATT, and have tried GENERIC
>
> When running `qmi-network /dev/cdc-wdmX start` I get :
> ```Checking data format with 'qmicli -d /dev/cdc-wdm2 --wda-get-data-format '...
> error: couldn't create client for the 'wda' service: CID allocation failed ine CTL client: Transaction timed out
> Device link layer protocol not retrieved: WDA unsupported
> Starting network with 'qmicli -d /dev/cdc-wdm2 --wds-start-network=apn='broadd'  --client-no-release-cid '...
> error: couldn't create client for the 'wds' service: CID allocation failed ine CTL client: Transaction timed out
> error: network start failed, client not allocated
> ```
>
>
> When I try to run Start-network manually, i get this response:
> ```
> error: couldn't create client for the 'wds' service: CID allocation failed ine CTL client: Transaction timed out
> ```
>
> If I remove the .rules file from running giving the port mbim_wwan, I have been able to run `mbim-network /dev/cdc-wdmX start` and get a network start successfully, but I am not able to get an IP address.

Yes, remove the rules, and let the kernel pick up the correct driver
based on what's exposed in USB. Looks like you should be using MBIM as
you found out when not using any rules.

> `ifconfig` shows the interface up but does not give it an IP address.
>

That's expected, because mbim-network won't configure the network
interface automatically. Once you see mbim-network succeeding, you can
try to run a DHCP client on the network interface. If DHCP doesn't
work, try configuring the IP/netmask/gateway manually with the info
provided by mbimcli -d /dev/cdc-wdm0 --query-ip-configuration=0

> This modem would be the second modem I am running on my Debian device, the primary(working) one now is MC7455 with qmi and raw-ip.  I am able to get DHCP address with this modem fine.
>
> I have read that you need to get DHCP address from another source, i am using systemd-networkd retrieve an IP, just as I do with my MC7455.

Are you sure systemd-networkd is attempting to run DHCP *after* the
modem has been connected with either qmi-network or mbim-network?

> Can you help with fixing in either way?

I'm a bit surprised that you can have DHCP running on the MC7455 while
in QMI raw-ip mode on a standard Debian. Is that really so? which DHCP
client are you using?

-- 
Aleksander
https://aleksander.es


More information about the libqmi-devel mailing list