<div dir="ltr"><div><div>Hi Aleksander,<br></div>Wow, that python script sounds awesome, if you have a chance to finish it.  <br><br>I'm going to try to get pppd going, next.  Then Verizon and DHCP or static IP I'm guessing.<br>
Thank!<br></div>Eric<br></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, Mar 13, 2014 at 4:31 PM, Aleksander Morgado <span dir="ltr"><<a href="mailto:aleksander@aleksander.es" target="_blank">aleksander@aleksander.es</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hey!<br>
<div><div class="h5"><br>
On Thu, Mar 13, 2014 at 6:28 PM, Eric Johnson <<a href="mailto:eric@minutekey.com">eric@minutekey.com</a>> wrote:<br>
> [eric@linux-vn1z ~]$ mmcli -b 0<br>
> Bearer '/org/freedesktop/ModemManager1/Bearer/0'<br>
>   -------------------------<br>
>   Status             |   connected: 'yes'<br>
>                      |   suspended: 'no'<br>
>                      |   interface: 'ttyUSB0'<br>
>                      |  IP timeout: '20'<br>
>   -------------------------<br>
>   Properties         |         apn: 'none'<br>
>                      |     roaming: 'allowed'<br>
>                      |     IP type: 'none'<br>
>                      |        user: 'none'<br>
>                      |    password: 'none'<br>
>                      |      number: '#777'<br>
>                      | Rm protocol: 'unknown'<br>
>   -------------------------<br>
>   IPv4 configuration |   method: 'ppp'<br>
>   -------------------------<br>
>   IPv6 configuration |   method: 'unknown'<br>
><br>
> [eric@linux-vn1z ~]$ mmcli -m 0 --list-bearers<br>
><br>
> Found 1 bearers:<br>
><br>
>     /org/freedesktop/ModemManager1/Bearer/0<br>
><br>
> [eric@linux-vn1z ~]$ wvdialconf<br>
> Editing `/etc/wvdial.conf'.<br>
><br>
> Scanning your serial ports for a modem.<br>
<br>
</div></div>Everything went ok until this point. So, mmcli lets you get the port<br>
in connected state; that's how far ModemManager goes. Still, there is<br>
another step that needs to be done, which is the IP setup in the data<br>
port (which would usually be done by e.g. NetworkManager). There<br>
currently are three main cases, and what you need to look at is the<br>
Bearer properties that you get when MM tells you you're connected<br>
(i.e. the "mmcli -b 0" output):<br>
<br>
Case 1) tty port<br>
If the bearer tells you to use a tty as data port and use PPP, you<br>
need to launch pppd on that tty, passing APN auth details among other<br>
things.<br>
<br>
Case 2) net port, dhcp<br>
If the bearer tells you to use a net port as data port and use DHCP,<br>
you need to bring the interface up and launch a DHCP client in that<br>
interface.<br>
<br>
Case 3) net port, static<br>
If the bearer tells you to use a net port as data port and 'static'<br>
config, it will also give you what IP address configuration (IP,<br>
netmask..) you need to configure in the net port. So you'll need to<br>
bring the interface up, and then setup those details in the interface.<br>
<br>
Interestingly, I was bored last Monday and started to write a python<br>
app (called it 'mm-online', I'm no good inventing new names) which<br>
will do exactly all that (just not using mmcli); it will use<br>
libmm-glib via GObject-introspection to call SimpleConnect() and then<br>
(this not yet done) prepare the connection following the steps I said<br>
earlier. This would allow a 'standalone' operation of ModemManager<br>
(i.e. without a higher level connection manager like NetworkManager).<br>
<span class="HOEnZb"><font color="#888888"><br>
<br>
--<br>
Aleksander<br>
<a href="https://aleksander.es" target="_blank">https://aleksander.es</a><br>
</font></span></blockquote></div><br></div>