Re: Questions about ModemManager



On Fri, 2009-10-02 at 00:27 +0300, Ozan Çağlayan wrote:
> Dan Williams wrote:
> > On Mon, 2009-09-28 at 10:57 +0300, Tambet Ingo wrote:
> >   
> >> On Fri, Sep 25, 2009 at 12:50, Ozan Çağlayan <ozan pardus org tr> wrote:
> >>     
> >>> 1. After calling Connect() and using PPPD to create a PPP connection
> >>> through a modem, how should I cleanly disconnect from device? I first
> >>> terminate PPPD and then call Disconnect() over D-Bus but after that I'm
> >>> having serial connection timeouts over MM if I recall Connect() a second
> >>> time. What's the purpose of Disconnect()? Should it be used? It doesn't
> >>> seem to send some AT commands at all as the --debug output of MM stays
> >>> intact after Disconnect() calls.
> >>>       
> >> Disconnect() can't send any AT commands, the device is in use and
> >> doesn't accept any commands. MM instead sets the sport speed to 0 bps,
> >> just like other terminal handling programs do. I suspect pppd does the
> >> same thing, so it doesn't really matter whether you terminate pppd or
> >> call Disconnect(), the result should be exactly the same. It might be
> >> a good idea to call Disconnect() too, in case pppd segfaults on
> >> shutdown or something.
> >>     
> >
> > MM sets the port speed to 0, but we should probably be trying the +++
> > escape procedure too to set the modem into command mode and doing an
> > ATH.  I planned to work on that after  merging the enable/disable split.
> >   
> 
> But after calling Disconnect() I can still use the ppp connection
> flawlessly.

MM doesn't handle the PPP, because the IP configuration is up to the
conenction manager.  When the connection manager calls Disconnect(), it
should also be taking down the PPP session.

But in any case, MM should be trying harder to terminate the PPP session
too by doing the escape sequence and ATH.

> What I wanted to ask was actually the correct method of terminating a
> connection over an HSPA modem. I'm calling Disconnect() and then I'm
> sending SIGTERM to pppd. But then when I try to reconnect, it sometimes
> works, sometimes it gives the error below (No cause stuff) and sometimes
> serial port timeout errors. So I'm suspicious about the way I'm handling
> the connections.

We do need some fixes to MM here, which I'm planning to do shortly.

Dan




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]