<div dir="ltr"><div class="elementToProof" style="border:0px;font-variant-numeric:inherit;font-variant-east-asian:inherit;font-stretch:inherit;font-size:12pt;line-height:inherit;font-family:Calibri,Arial,Helvetica,sans-serif;margin:0px;padding:0px;vertical-align:baseline;color:rgb(0,0,0)">Hey MM,</div><div class="elementToProof" style="border:0px;font-variant-numeric:inherit;font-variant-east-asian:inherit;font-stretch:inherit;font-size:12pt;line-height:inherit;font-family:Calibri,Arial,Helvetica,sans-serif;margin:0px;padding:0px;vertical-align:baseline;color:rgb(0,0,0)"><div style="border:0px;font:inherit;margin:0px;padding:0px;vertical-align:baseline;color:inherit"><br></div><div style="border:0px;font:inherit;margin:0px;padding:0px;vertical-align:baseline;color:inherit">One time contributor, long time lurker here.</div><div style="border:0px;font:inherit;margin:0px;padding:0px;vertical-align:baseline;color:inherit"><br></div><div style="border:0px;font:inherit;margin:0px;padding:0px;vertical-align:baseline;color:inherit">TLDR: I'm seeking input to help champion MM as a core cell management component</div><div style="border:0px;font:inherit;margin:0px;padding:0px;vertical-align:baseline;color:inherit">to a large firmware collaborations body. If successful, IMHO, it'd have huge</div><div style="border:0px;font:inherit;margin:0px;padding:0px;vertical-align:baseline;color:inherit">benefits to WWAN/Linux wireless & MM as it'd bring in a lot of official</div><div style="border:0px;font:inherit;margin:0px;padding:0px;vertical-align:baseline;color:inherit">support, more WWAN standardization, and muscle to the community.</div><div style="border:0px;font:inherit;margin:0px;padding:0px;vertical-align:baseline;color:inherit"><br></div><div style="border:0px;font:inherit;margin:0px;padding:0px;vertical-align:baseline;color:inherit"><br></div><div style="border:0px;font:inherit;margin:0px;padding:0px;vertical-align:baseline;color:inherit">Here's the situation.</div><div style="border:0px;font:inherit;margin:0px;padding:0px;vertical-align:baseline;color:inherit"><br></div><div style="border:0px;font:inherit;margin:0px;padding:0px;vertical-align:baseline;color:inherit">We're working with the RDK community to add Fixed Wireless Access support to</div><div style="border:0px;font:inherit;margin:0px;padding:0px;vertical-align:baseline;color:inherit">the project. If you've never heard of RDK before it's basically like Android</div><div style="border:0px;font:inherit;margin:0px;padding:0px;vertical-align:baseline;color:inherit">for STBs & modems (<a href="http://rdkcentral.com/rdk-profiles/)[+80">rdkcentral.com/rdk-profiles/)[+80</a> Million deployments].</div><div style="border:0px;font:inherit;margin:0px;padding:0px;vertical-align:baseline;color:inherit">Chances are if you have a modem/STB in the US or EU it runs this software. So</div><div style="border:0px;font:inherit;margin:0px;padding:0px;vertical-align:baseline;color:inherit">why does this matter to MM?</div><div style="border:0px;font:inherit;margin:0px;padding:0px;vertical-align:baseline;color:inherit"><br></div><div style="border:0px;font:inherit;margin:0px;padding:0px;vertical-align:baseline;color:inherit">Getting MM in this distro would bring in a form of direct support to</div><div style="border:0px;font:inherit;margin:0px;padding:0px;vertical-align:baseline;color:inherit">libQMI/libMBIM from the two silicon makers and a small army of developers. It</div><div style="border:0px;font:inherit;margin:0px;padding:0px;vertical-align:baseline;color:inherit">would help reinforce QMI/MBIM as standards across the WWAN industry and</div><div style="border:0px;font:inherit;margin:0px;padding:0px;vertical-align:baseline;color:inherit">enhance feature/quality for those libraries and MM.</div><div style="border:0px;font:inherit;margin:0px;padding:0px;vertical-align:baseline;color:inherit"><br></div><div style="border:0px;font:inherit;margin:0px;padding:0px;vertical-align:baseline;color:inherit">Currently there is debate on the best solution/architecture for RDK for cell</div><div style="border:0px;font:inherit;margin:0px;padding:0px;vertical-align:baseline;color:inherit">support (data-only modems). While I champion for the full MM + libQMI/MBIM</div><div style="border:0px;font:inherit;margin:0px;padding:0px;vertical-align:baseline;color:inherit">stack many want to only use libQMI/MBIM and propose a custom but technically</div><div style="border:0px;font:inherit;margin:0px;padding:0px;vertical-align:baseline;color:inherit">FOSS RDK cell manager</div><div style="border:0px;font:inherit;margin:0px;padding:0px;vertical-align:baseline;color:inherit">(<a href="https://code.rdkcentral.com/r/plugins/gitiles/rdkb/components/opensource/ccsp/RdkCellularManager/+/refs/heads/rdk-next/source/CellularManager">https://code.rdkcentral.com/r/plugins/gitiles/rdkb/components/opensource/ccsp/RdkCellularManager/+/refs/heads/rdk-next/source/CellularManager</a>).</div><div style="border:0px;font:inherit;margin:0px;padding:0px;vertical-align:baseline;color:inherit"><br></div><div style="border:0px;font:inherit;margin:0px;padding:0px;vertical-align:baseline;color:inherit">The debate is over this:</div><div style="border:0px;font:inherit;margin:0px;padding:0px;vertical-align:baseline;color:inherit"><br></div><div style="border:0px;font:inherit;margin:0px;padding:0px;vertical-align:baseline;color:inherit">Prop 1:</div><div style="border:0px;font:inherit;margin:0px;padding:0px;vertical-align:baseline;color:inherit">RDK Network Manager -> RDK Cell Manager(everything to control/mng cell modems) -> libQMI(FreeDesktop) -> Modem</div><div style="border:0px;font:inherit;margin:0px;padding:0px;vertical-align:baseline;color:inherit"><br></div><div style="border:0px;font:inherit;margin:0px;padding:0px;vertical-align:baseline;color:inherit">Prop 2:</div><div style="border:0px;font:inherit;margin:0px;padding:0px;vertical-align:baseline;color:inherit">RDK Network Manager -> RDK Cell Manager(RDK to FOSS API adaptor) -> ModemManager -> libQMI/MBIM(FreeDesktop) -> Modem</div><div style="border:0px;font:inherit;margin:0px;padding:0px;vertical-align:baseline;color:inherit"><br></div><div style="border:0px;font:inherit;margin:0px;padding:0px;vertical-align:baseline;color:inherit"><br></div><div style="border:0px;font:inherit;margin:0px;padding:0px;vertical-align:baseline;color:inherit">Getting ~100+ engineers/architects across dozens of company's spanning the</div><div style="border:0px;font:inherit;margin:0px;padding:0px;vertical-align:baseline;color:inherit">globe to agree on code is a challenging task which is why I write to ask for</div><div style="border:0px;font:inherit;margin:0px;padding:0px;vertical-align:baseline;color:inherit">advice.</div><div style="border:0px;font:inherit;margin:0px;padding:0px;vertical-align:baseline;color:inherit"><br></div><div style="border:0px;font:inherit;margin:0px;padding:0px;vertical-align:baseline;color:inherit">I'd value input on shortfalls/under-estimations of rebuilding a robust cell</div><div style="border:0px;font:inherit;margin:0px;padding:0px;vertical-align:baseline;color:inherit">manager, ie. MM equivalent, from scratch. Here are some things I think are under</div><div style="border:0px;font:inherit;margin:0px;padding:0px;vertical-align:baseline;color:inherit">estimated currently:</div><div style="border:0px;font:inherit;margin:0px;padding:0px;vertical-align:baseline;color:inherit"><br></div><div style="border:0px;font:inherit;margin:0px;padding:0px;vertical-align:baseline;color:inherit">- Ability to handle different versions/variants in QMI, & MBIB</div><div style="border:0px;font:inherit;margin:0px;padding:0px;vertical-align:baseline;color:inherit">- Non-standard interfaces, such as GPS</div><div style="border:0px;font:inherit;margin:0px;padding:0px;vertical-align:baseline;color:inherit">- Advanced features such as VLANS, QoS, multi-routing/data multiplexing</div><div style="border:0px;font:inherit;margin:0px;padding:0px;vertical-align:baseline;color:inherit">- Overloadable feature architecture, like plugins, to handle custom</div><div style="border:0px;font:inherit;margin:0px;padding:0px;vertical-align:baseline;color:inherit">integrations</div><div style="border:0px;font:inherit;margin:0px;padding:0px;vertical-align:baseline;color:inherit">- Handling of async modem events/telemetry</div><div style="border:0px;font:inherit;margin:0px;padding:0px;vertical-align:baseline;color:inherit">- Dealing with AT commands (if required)</div><div style="border:0px;font:inherit;margin:0px;padding:0px;vertical-align:baseline;color:inherit">- Code that can scale to support more than a few target modem modules</div><div style="border:0px;font:inherit;margin:0px;padding:0px;vertical-align:baseline;color:inherit">- Sole burden of maintaining the above complex solution</div><div style="border:0px;font:inherit;margin:0px;padding:0px;vertical-align:baseline;color:inherit"><br></div><div style="border:0px;font:inherit;margin:0px;padding:0px;vertical-align:baseline;color:inherit"><br></div><div style="border:0px;font:inherit;margin:0px;padding:0px;vertical-align:baseline;color:inherit">The main concerns against using MM on the project are:</div><div style="border:0px;font:inherit;margin:0px;padding:0px;vertical-align:baseline;color:inherit">- Binary size (can remove plugin's and in future add more make flags to remove</div><div style="border:0px;font:inherit;margin:0px;padding:0px;vertical-align:baseline;color:inherit">features[would be contribution])</div><div style="border:0px;font:inherit;margin:0px;padding:0px;vertical-align:baseline;color:inherit">- Performance,  (Allow list/udev tag's init modem quickly)</div><div style="border:0px;font:inherit;margin:0px;padding:0px;vertical-align:baseline;color:inherit">- Dbus, integration w/o it [distance future](Challenging but could be done</div><div style="border:0px;font:inherit;margin:0px;padding:0px;vertical-align:baseline;color:inherit">[would be contribution])</div><div style="border:0px;font:inherit;margin:0px;padding:0px;vertical-align:baseline;color:inherit">- Don't need voice or X feature (add more make flags to remove features[would</div><div style="border:0px;font:inherit;margin:0px;padding:0px;vertical-align:baseline;color:inherit">be contribution])</div><div style="border:0px;font:inherit;margin:0px;padding:0px;vertical-align:baseline;color:inherit">- Upstream will slow down project or not accept MRs (Yocto + git-patch, send</div><div style="border:0px;font:inherit;margin:0px;padding:0px;vertical-align:baseline;color:inherit">proposal to ML before beginning work)</div><div style="border:0px;font:inherit;margin:0px;padding:0px;vertical-align:baseline;color:inherit"><br></div><div style="border:0px;font:inherit;margin:0px;padding:0px;vertical-align:baseline;color:inherit"><br></div><div style="border:0px;font:inherit;margin:0px;padding:0px;vertical-align:baseline;color:inherit">I think using MM has huge benefits over reinventing the wheel, what else could</div><div style="border:0px;font:inherit;margin:0px;padding:0px;vertical-align:baseline;color:inherit">I add. I've tried to highlight:</div><div style="border:0px;font:inherit;margin:0px;padding:0px;vertical-align:baseline;color:inherit">- +10 years & 100+ contributors</div><div style="border:0px;font:inherit;margin:0px;padding:0px;vertical-align:baseline;color:inherit">- Proven on millions, at least, of deployments across many major Linux</div><div style="border:0px;font:inherit;margin:0px;padding:0px;vertical-align:baseline;color:inherit">distros</div><div style="border:0px;font:inherit;margin:0px;padding:0px;vertical-align:baseline;color:inherit">- Alread deployed in Tier 1 consumer devices - Chromebook / ChromeOS</div><div style="border:0px;font:inherit;margin:0px;padding:0px;vertical-align:baseline;color:inherit">- Awesome & responsive community of super smart folks</div><div style="border:0px;font:inherit;margin:0px;padding:0px;vertical-align:baseline;color:inherit">- Go fast alone, go far as a tribe</div><div style="border:0px;font:inherit;margin:0px;padding:0px;vertical-align:baseline;color:inherit"><br></div><div style="border:0px;font:inherit;margin:0px;padding:0px;vertical-align:baseline;color:inherit"><br></div><div style="border:0px;font:inherit;margin:0px;padding:0px;vertical-align:baseline;color:inherit">I really believe this could make such a big impact to the community so if you</div><div style="border:0px;font:inherit;margin:0px;padding:0px;vertical-align:baseline;color:inherit">can spare advice on how I can help sell MM I'd love to hear it.</div><div style="border:0px;font:inherit;margin:0px;padding:0px;vertical-align:baseline;color:inherit"><br></div><div style="border:0px;font:inherit;margin:0px;padding:0px;vertical-align:baseline;color:inherit">Thanks for coming to my Ted talk.</div><div style="border:0px;font:inherit;margin:0px;padding:0px;vertical-align:baseline;color:inherit"><br></div><div style="border:0px;font:inherit;margin:0px;padding:0px;vertical-align:baseline;color:inherit"><br></div><div style="border:0px;font:inherit;margin:0px;padding:0px;vertical-align:baseline;color:inherit">Cheers,</div>Matt</div></div>