<div dir="auto"><div style="color:rgb(80,0,80);font-family:sans-serif;font-size:12.8px" dir="auto">On Sun, Jul 12, 2020 at 3:08 AM Aleksander Morgado<br><<a href="mailto:aleksander@aleksander.es" style="text-decoration-line:none;color:rgb(66,133,244)">aleksander@aleksander.es</a>> wrote:<br>><br>> Hey!<br>><br>> > I've attached a patch which uses the "custom regex" feature of the<br>> > existing parser in order to detect PPP and say that things are good.<br>> > A few things to note:<br>> ><br>> > * I created the regex based on data I saw output from my modem.  At<br>> > best it is correct, at worst it won't do any harm.<br>><br>> I find this regex is extremely specific to your usecase. As you said<br>> it may be a fix, or it may not do anything, that isn't a complete<br>> solution, and I think we should try to find some other way to handle<br>> this if possible.<br>><br>> I find it very very weird that the modem doesn't reply a CONNECT<br>> response after the ATD, that would be a very weird firmware bug! Maybe<br>> the TTY we're using for connection isn't the correct one? @Daniele<br>> Palmas @Carlo Lobrano Do you guys have any idea of why this may be<br>> happening in the ME310?<br><br></div><span style="font-family:sans-serif;font-size:12.8px">There are two ports which accept AT commands, and both behave in the</span><br style="font-family:sans-serif;font-size:12.8px"><span style="font-family:sans-serif;font-size:12.8px">same fashion.  Here's some more information on the modem:</span><br style="font-family:sans-serif;font-size:12.8px"><br style="font-family:sans-serif;font-size:12.8px"><span style="font-family:sans-serif;font-size:12.8px">Output of AT#SWPKGV:</span><br style="font-family:sans-serif;font-size:12.8px"><br style="font-family:sans-serif;font-size:12.8px"><span style="font-family:sans-serif;font-size:12.8px">37.00.210-B038-P0C.210000</span><br style="font-family:sans-serif;font-size:12.8px"><span style="font-family:sans-serif;font-size:12.8px">M0C.200000-B038</span><br style="font-family:sans-serif;font-size:12.8px"><span style="font-family:sans-serif;font-size:12.8px">P0C.210000</span><br style="font-family:sans-serif;font-size:12.8px"><span style="font-family:sans-serif;font-size:12.8px">A0C.210000</span><br style="font-family:sans-serif;font-size:12.8px"><br style="font-family:sans-serif;font-size:12.8px"><span style="font-family:sans-serif;font-size:12.8px">ATI0: 332</span><br style="font-family:sans-serif;font-size:12.8px"><span style="font-family:sans-serif;font-size:12.8px">ATI1: 0</span><br style="font-family:sans-serif;font-size:12.8px"><span style="font-family:sans-serif;font-size:12.8px">ATI2:</span><br style="font-family:sans-serif;font-size:12.8px"><span style="font-family:sans-serif;font-size:12.8px">ATI3: Telit</span><br style="font-family:sans-serif;font-size:12.8px"><span style="font-family:sans-serif;font-size:12.8px">ATI4: ME310G1-WW</span><br style="font-family:sans-serif;font-size:12.8px"><span style="font-family:sans-serif;font-size:12.8px">ATI5: DOB v.2.0</span><br style="font-family:sans-serif;font-size:12.8px"><br style="font-family:sans-serif;font-size:12.8px"><span style="font-family:sans-serif;font-size:12.8px">I would not be surprised if the "-WW" part has different functionality.</span><br style="font-family:sans-serif;font-size:12.8px"><br style="font-family:sans-serif;font-size:12.8px"><span style="font-family:sans-serif;font-size:12.8px">I issued the AT commands in picocom as well to confirm that CONNECT</span><br style="font-family:sans-serif;font-size:12.8px"><span style="font-family:sans-serif;font-size:12.8px">was never sent.</span><div style="color:rgb(80,0,80);font-family:sans-serif;font-size:12.8px" dir="auto"><br><br>> > * Ideally I would only use this for the ME310 modem, but I didn't see<br>> > a way to do that in the plugin.  I'm certainly open to suggestions.<br>><br>> If we needed a quirk like this one, we could flag via udev with a new udev tag.<br>><br>> > This particular device has a second port configuration (1bc7:1102),<br>> > which which  looks like this:<br>> ><br>> > /:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=atmel-ehci/3p, 480M<br>> >     |__ Port 2: Dev 7, If 0, Class=Vendor Specific Class, Driver=option, 480M<br>> >     |__ Port 2: Dev 7, If 1, Class=Vendor Specific Class, Driver=option, 480M<br>> >     |__ Port 2: Dev 7, If 2, Class=Vendor Specific Class, Driver=option, 480M<br>> >     |__ Port 2: Dev 7, If 3, Class=Communications, Driver=cdc_ether, 480M<br>> >     |__ Port 2: Dev 7, If 4, Class=CDC Data, Driver=cdc_ether, 480M<br>> ><br>> > I've not been able to get the cdc_ether portion working yet, although<br>> > I am hopeful.  If both ECM and "option" serial interfaces are<br>> > available, how does ModemManager choose between them?<br>><br>> MM doesn't have any implementation yet to handle ECM interfaces in<br>> Telit modems, but that would definitely be preferred over PPP in a<br>> TTY.<br><br></div><span style="font-family:sans-serif;font-size:12.8px">I would also prefer to use ECM over pppd, but I've not found a way to</span><br style="font-family:sans-serif;font-size:12.8px"><span style="font-family:sans-serif;font-size:12.8px">make this work yet.</span><div style="color:rgb(80,0,80);font-family:sans-serif;font-size:12.8px" dir="auto"><br><br>> Regarding the patch itself, you shouldn't add the regex to the primary<br>> port. You should run mm_base_modem_peek_data_ports() and add the regex<br>> to all data ports that are TTYs (MM_IS_PORT_SERIAL()). But as said, I<br>> would totally prefer to have this solved somehow without needing to<br>> detect the PPP stream, because it is pppd the only one who should be<br>> touching that (MM yields the control of the TTY to pppd as soon as the<br>> port is in data mode).<br><br></div><span style="font-family:sans-serif;font-size:12.8px">This is easy enough to do, but I will focus on getting ECM working first.</span><br style="font-family:sans-serif;font-size:12.8px"><br style="font-family:sans-serif;font-size:12.8px"><span style="font-family:sans-serif;font-size:12.8px">Thanks for the response, Aleksander.</span><div style="color:rgb(136,136,136);font-family:sans-serif;font-size:12.8px" dir="auto"><br><br>-M</div></div>