Re: Modem Manager gets into a funny state with CDMA modems
- From: Dan Williams <dcbw redhat com>
- To: Jason Glasgow <jglasgow google com>
- Cc: NetworkManager-list gnome org
- Subject: Re: Modem Manager gets into a funny state with CDMA modems
- Date: Thu, 11 Mar 2010 15:46:18 -0800
On Wed, 2010-03-10 at 18:03 -0500, Jason Glasgow wrote:
> I've been working with a Novatel Modem on a 2.6.31 kernel using the
> generic CDMA driver. If I enable the modem via ModemManager and then
> connect, everything works fine. But if I disconnect the modem using
> the DBUS API, and shut down ppp, ModemManager gets confused. The
> internal modem state indicates that the modem is now REGISTERED, but
> the kernel appears to have sent a hangup (G_IO_HUP) to the usb port,
> so mm-serial-port.c has closed the port (->fd == -1).
Does the modem crash at that point, or drop off the bus? This may
indicate a USB driver problem or just a bug in ModemManager. But
normally with serial ports, when you get a hangup, you're done.
Also, what specific novatel device?
Dan
>
> Other than Disable(), no command works because the ->fd is now -1.
>
>
> Do you have any thoughts on the best way to fix this? And what the
> semantics of receiving a HUP on the modem port should be. My thought
> is that disconnect() should leave the modem in a registered (or
> enabled) state, and that fp should still be valid.
> * Might it be reasonable to ignore the G_IO_HUP?
> * Should we automatically reopen then port for all commands that
> are issued? Seems like a bad idea.
> * Should we automatically reopen the port if
> mm_modem_get_state() > MM_MODEM_STATE_ENABLED?
> * Maybe the most logical is to have G_IO_HUP invoke a callback
> to notify the code that originally opened the serial port that
> it has been closed. It then can update the state of the modem
> appropriately.
> Thanks for your thoughts,
> Jason
> _______________________________________________
> NetworkManager-list mailing list
> NetworkManager-list gnome org
> http://mail.gnome.org/mailman/listinfo/networkmanager-list
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]