No IP address for a successful connection on LTE modem

Garfield Watkins garfield.watkins at gmail.com
Tue Feb 13 12:18:11 UTC 2024


Bearer 0 is the initial default bearer.

Bearer 1 is the connected bearer

Output from mmcli -b 1 is:

  ---------------------------------
  General            |        path: /org/freedesktop/ModemManager1/Bearer/1
                     |        type: default
  ---------------------------------
  Status             |   connected: yes
                     |   suspended: no
                     | multiplexed: no
                     |   interface: enp0s20f0u2
                     |  ip timeout: 20
                     |  profile id: 1
  ---------------------------------
  Properties         |         apn: internet
                     |     roaming: allowed
                     |     ip type: ipv4
  ---------------------------------
  IPv4 configuration |      method: dhcp
                     |      prefix: 0
  ---------------------------------
  Statistics         |  start date: 2024-02-13T12:08:31Z
                     |    attempts: 1

> 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.
I have NetworkManager running. I was under the assumption that it would 
automatically run its dhcp client on the interface. It seems to do this 
when I manually issue AT+CGACT=1,1. Its only when running under 
ModemManager that nothing seems to happen, in fact I have tried to run 
dhclient enp0s20f0u2 and only then do i get an ip address.


On 2/13/24 14:00, Aleksander Morgado wrote:
> Hey,
>
> On Mon, Feb 12, 2024 at 9:37 AM Garfield Watkins
> <garfield.watkins at 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?
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/modemmanager-devel/attachments/20240213/eaa31ce1/attachment.htm>


More information about the ModemManager-devel mailing list