Skip to content

Draft: add µBlox Lara-L6004 modem support

c s requested to merge cs99/ModemManager:main into main

I want to add support for µBlox Lara-L6004 (https://www.u-blox.com/en/product/lara-l6-series) I've created a band_configuration entry for this modem, with mode and bands as given in the datasheet. But I'm unsure about method, uact, ubandsel: What are these and what do I need to set them to? With COPS/ UNSUPPORTED/ UNSUPPORTED, at least it works (modem detected, registering in network, calls/sms), but I don't know what it means and if it would be better/needed to use different values.

Also, there seems to be a change in +URAT=? responses, this modem answers with 3 ',' separated values like this

ModemManager[844]: <dbg> [1725445325.282902] [ttyUSB1/at] --> 'AT+URAT=?<CR>'                                                                                                                                                               
ModemManager[844]: <dbg> [1725445325.287773] [ttyUSB1/at] <-- '<CR><LF>+URAT: (0-3),(0-3),(0-3)<CR><LF><CR><LF>OK<CR><LF>'

looking at the application development guide (https://www.u-blox.com/sites/default/files/documents/LARA-R6-L6-Application-Development_AppNote_UBX-22001850.pdf), it seems, this modem has a three values to set:

+URAT syntax AT+URAT=<1stAcT>[,<2ndAcT>[,<3rdAcT>]]

and so URAT=? also returns these three values. I just increased the allowed to split_len to 3, without that, ModemManager, would't work with the modem. But just increasing the limit doesn't use the additional value. As far as I understand, the first two values from +URAT=? response are used to build all possible combinations of selected and preferred Modes(gsm/umts/lte). I could just increase the combinations to a combination of three values, but I don't know, where/how this information is used.

Can someone with deeper insights guide me there, what would be best to do there?

Edited by c s

Merge request reports