Skip to content

mm-broadband-bearer: fixed non-sequential CID selection

Matthew Starr requested to merge HED-mstarr/ModemManager:master into master

When a modem reported back non-sequential CIDs, MM was using the next larger CID number after the last CID found. In cases where the last CID found was the highest numbered CID allowed and is not a modifiable CID, MM would give up and fail to establish a data connection.

The above issue occurs on u-blox TOBY-R200 modems as of firmware 30.33 A02.02. In this firmware version there are two default CIDs programmed into the modem, one at CID 1 and another at CID 31. The CID at 31 is the highest CID number that can be used and cannot be modified.

This change makes it so while parsing CIDs for a match, if a jump in CID numbers is detected, so not sequential, the first open CID will be used before using the max CID +1 or replacing the max CID. If an exact match for IP type and APN is found, then that will still be used first.

Merge request reports