EM7455: Trying to Understand DHCP Client Usage

We were using ModemManager and NetworkManager to handle getting a connection to the cell network (getting an IP address, setting up routes, etc). We’ve decided to use the SLQS SDK for a more custom solution.
We’ve taken ModemManager out of the picture and now I’m struggling with trying to pull an IP address.

I’m using the SLQS (04.00.22 full version, associated Gobi drivers with GobiNet having been compiled with the RAWIP=1 option). I’m also using the Generic Firmware: SWI9X30C_02.32.11.00.

With Network Manager we would:
nmcli con add type gsm ifname “*” con-name “cell” apn some-apn-name
nmcli con mod cell connection.autoconnect yes
nmcli con mod cell ipv4.addresses “XXX.XXX.XXX.XXX/XX”+ipv4.routes “XXX.XXX.XXX.XXX/XX” ipv4.gateway XXX.XXX.XXX.XXX

I know using the SLQS that the connection can be configured to autoconnect (which it has) and that the APN Name can be set in the profile (which it has).

I can see with the SLQSSetSessionStateCallback() that the session state is 2 (connected). I’m having a hard time determining how to set ipv4: addresses, routes and gateways and determining IF I need a DHCP client.

I believe the ipv4 address can be set in the profile. If it is set with:

some_ip/18

on it, will the /18 be understood correctly by the modem?

Can routes and gateways be set somewhere using the SLQS api, if so, where?

Most important: If these are set (and seeing how autoconnect is enabled), does one need to use a dhcp-client to pull and ip address (we’re running on Ubuntu 16.04)? Or if these setting are set correctly, will the modem be able to pull an IP automatically?

If a dhcp client is needed (one that can deal with Raw Ip, I believe), any recommendations on which one to use?

I appreciate the help.

Thanks.

I can’t answer your other questions, but this one is easy: You can use any dhcp client with the Gobi driver regardless of raw ip or not. The Gobi driver fakes ethernet headers in raw ip mode, so the netdev still looks like any other ethernet device.

The question is probably triggered by the qmi_wwan design, where I decided to not do the fake ethernet thing after an informal “vote” among the userspace users (libqmi, uqmi and oFono devs). This makes the netdev look a bit strange in raw-ip mode, confusing some dhcp clients.

Turns out that if one lets the modem boot up and then issues:

sudo dhclient interface_name

the interface will come up. This works on Ubuntu 18.04 Server.