Hey,

On Mon, Feb 12, 2024 at 9:37 AM Garfield Watkins
<garfield.watk...@gmail.com> wrote:
>
> I have created a plugin for an LTE modem. This modem exposes 1 AT command 
> port (e.g. ttyUSB0) and one ethernet port via usb (cdc_ether).
>
> When the modem is inserted via USB, the kernel enumerates some serial 
> ports(ttyUSB0 -> ttyUSB7) and a network interface (enp0s20f0u1)
>
> The modem establishes a default bearer on network registration and to 
> establish a data network connection I need to create a pdp context 
> (AT+CGDCONT) with an APN and thereafter activate it with AT+CGACT=1,1
>
> The modem, which is configured in router mode responds by activating its 
> internal dhcp server causing network managers dhcp client to work its magic 
> and eventually configure the ethernet port with all the info it needs 
> (gateways, dns servers, ip address etc).
>
>
> This same process is essentially performed by my plugin and yet no IP address 
> get assigned to the ethernet adapter exposed by the modem.
>
> Why could this be happening ?
>
> My plugin, specifically the bearer interface implements the folloiwing:
>
> broadband_bearer_class->dial_3gpp = dial_3gpp;
> broadband_bearer_class->dial_3gpp_finish = dial_3gpp_finish;
> broadband_bearer_class->disconnect_3gpp = disconnect_3gpp;
> broadband_bearer_class->disconnect_3gpp_finish = disconnect_3gpp_finish;
> broadband_bearer_class->get_ip_config_3gpp = get_ip_config_3gpp;
> broadband_bearer_class->get_ip_config_3gpp_finish = get_ip_config_3gpp_finish;

Please note ModemManager is not responsible for running the DHCP
client in the net interface, so if your plugin is reporting "dhcp" IP
method in the connected bearer settings (in your get_ip_config_3gpp()
method), then whoever is the network management layer on top of
ModemManager would be the one in charge of running DHCP client.

What's the output of "mmcli -b 0" (assuming 0 is the connected bearer
object) once you perform the modem connection?

-- 
Aleksander

Reply via email to