Hello Jessy, On Sat, Sep 5, 2020 at 10:11 AM Jessy Exum <jessy.diamond...@gmail.com> wrote:
> Hello everyone, I hope this finds you well. > > I have been working on getting a product certified with Verizon, but > failed because my first implementation did not handle their OTA-DM (Over > the Air Device Management) <http://hosteddocs.ittoolbox.com/CC012507.pdf> > behavior. This stage of certification relies heavily on creating bearers > out of PDP context IDs (Verizon handles most of the messy bits in setting > those contexts for you in the modem). > > My current solution is to manually read the PDP contexts off of the device > with AT+CGDCONT=?, reading out the Verizon mandated PDP context, and then > asking ModemManager to create a bearer out of that bearer configuration > (which causes ModemManager to scan the list of contexts and find an exact > match with the one we just read). This works, but it is cumbersome, and I > hear that more networks are planning to move to a similar process in the > future (Sprint already has, though I heard that is a little half baked). > > *Because of this, I feel it would be worthwhile to allow bearers to be > created by specifying only a PDP context (and perhaps even an API backed > way to inspect them).* This would make passing Verizon certification a > lot less hackey than it currently is. > > I am happy to do as much of the work as necessary, but I want to know the > community's opinion of this base proposal, and make sure anything that is > built actually solves a problem and will be accepted. > > *Brief overview of the OTA-DM procedure > <http://hosteddocs.ittoolbox.com/CC012507.pdf>:* > I am not a cellular expert, so please forgive and correct any inaccuracies > I may let slip in. > > For those unfamiliar (I know I was), Verizon has a procedure called OTA-DM > for automatically determining the APN to use for a SIM card. > > Verizon has all compatible modems preloaded with a series of PDP contexts. > These PDP Contexts are only available when the modem is running Verizon > firmware (which is triggered when a Verizon SIM card is inserted). > > Verizon expects the initial attach bearer will be created from PDP context > #1. This first bearer is only for notifying Verizon that we have attached, > and will never pass user traffic. > > Once this initial bearer connects, Verizon and the modem talk for a while. > In this conversation: > > 1. The modem reports details about its SIM card to Verizon, > 2. Verizon checks its database to see if this is the last SIM card it > saw in this modem, > 3. if this is not the SIM Verizon expected, Verizon will update the > modem's PDP contexts to the most up to date settings for this SIM. > > To clarify, this process will not happen every time you connect. A modem > has to connect to Verizon with a different SIM card for Verizon to do this > process again (flipping between SIMs for each connection would cause this > process to happen for each connection). > > After this process completes, Verizon expects that the modem will connect > using PDP context #3 for the first data bearer. APNs are not touched by the > user, only Verizon defined PDP contexts. I found out the hard way that you > will fail your device certification if you do not connect using the 3rd > context. > *END OTA-DM description.* > > Any input on if we should allow creation of bearers from PDP context > numbers to support new cellular network features would be appreciated. > There is an embryo of what you need in the SetInitialEpsBearerSettings(). For Cinterion modems on VZW networks, the latest MM upstream considers that the modem will attach with CID#3. CID#1 is not used, but also should not be overwritten. I think CID#1 is used internally and transparently. Ideally it should be possible to specify only the CID for activating a PDN, however it is non-portable: modems using MBIM instead of AT commands don't support the notion of CID at all. I am not sure how VZW specifies the operations for these modems. I know that for Cinterion modems AT and MBIM coexist whenever possible, but on the MBIM_CONNECT there is no CID parameter, only APN (and username/password/...). Best Regards, Giacinto
_______________________________________________ ModemManager-devel mailing list ModemManager-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/modemmanager-devel