Initial state of modems
Hi, i use a Fasttrack xTend FXT009 with an external power supply. i use MM on an embedded device and the modem is connected over usb. When i have an active connection with the modem, remove the power from the embedded device (so MM has no chance to cleanup anything) and then i restart the embedded device (and MM also restarts), MM can not handle the modem because the modem is still in connection mode. i talked to aleksander on irc and a simple solution is to send +++ before any other at-command. any problems expected with this solution? Cheers, Tom ___ networkmanager-list mailing list networkmanager-list@gnome.org http://mail.gnome.org/mailman/listinfo/networkmanager-list
Re: Initial state of modems
On Tue, 2011-11-15 at 11:13 +0100, Thomas Bechtold wrote: Hi, i use a Fasttrack xTend FXT009 with an external power supply. i use MM on an embedded device and the modem is connected over usb. When i have an active connection with the modem, remove the power from the embedded device (so MM has no chance to cleanup anything) and then i restart the embedded device (and MM also restarts), MM can not handle the modem because the modem is still in connection mode. i talked to aleksander on irc and a simple solution is to send +++ before any other at-command. any problems expected with this solution? It depends on the modem. '+++' is one of the ways to break out of data mode and into AT mode, but it's only one of a few. Others include dropping DTR for a while or flashing the port, and some of this depends on the settings you send in the initialization string. One question I've got though is if you're removing power from the modem, does NM get a port removed signal from udev? That's the expected sequence here. If you remove the device, the kernel should notice that, send a remove event to MM (through udev) and MM should clean up the device anyway. Is that not happening? Dan ___ networkmanager-list mailing list networkmanager-list@gnome.org http://mail.gnome.org/mailman/listinfo/networkmanager-list
Re: Initial state of modems
i use a Fasttrack xTend FXT009 with an external power supply. i use MM on an embedded device and the modem is connected over usb. When i have an active connection with the modem, remove the power from the embedded device (so MM has no chance to cleanup anything) and then i restart the embedded device (and MM also restarts), MM can not handle the modem because the modem is still in connection mode. i talked to aleksander on irc and a simple solution is to send +++ before any other at-command. any problems expected with this solution? It depends on the modem. '+++' is one of the ways to break out of data mode and into AT mode, but it's only one of a few. Others include dropping DTR for a while or flashing the port, and some of this depends on the settings you send in the initialization string. One question I've got though is if you're removing power from the modem, does NM get a port removed signal from udev? That's the expected sequence here. If you remove the device, the kernel should notice that, send a remove event to MM (through udev) and MM should clean up the device anyway. Is that not happening? The case here is the opposite. ModemManager (or the whole PC) gets rebooted; while the modem itself is always powered on (and connected). Therefore, this issue is only applicable to modems with an external power supply, like the Fastrack and Cinterion/Siemens ones (at least). If sending '+++' works for this case, we could extend those plugins with a new custom init command just doing that. Although it seems to me that the modems should be able to detect that the link with the DTE is down, and drop the connection automatically in that case. -- Aleksander ___ networkmanager-list mailing list networkmanager-list@gnome.org http://mail.gnome.org/mailman/listinfo/networkmanager-list
Re: Initial state of modems
On Tue, 2011-11-15 at 19:33 +0100, Aleksander Morgado wrote: i use a Fasttrack xTend FXT009 with an external power supply. i use MM on an embedded device and the modem is connected over usb. When i have an active connection with the modem, remove the power from the embedded device (so MM has no chance to cleanup anything) and then i restart the embedded device (and MM also restarts), MM can not handle the modem because the modem is still in connection mode. i talked to aleksander on irc and a simple solution is to send +++ before any other at-command. any problems expected with this solution? It depends on the modem. '+++' is one of the ways to break out of data mode and into AT mode, but it's only one of a few. Others include dropping DTR for a while or flashing the port, and some of this depends on the settings you send in the initialization string. One question I've got though is if you're removing power from the modem, does NM get a port removed signal from udev? That's the expected sequence here. If you remove the device, the kernel should notice that, send a remove event to MM (through udev) and MM should clean up the device anyway. Is that not happening? The case here is the opposite. ModemManager (or the whole PC) gets rebooted; while the modem itself is always powered on (and connected). Therefore, this issue is only applicable to modems with an external power supply, like the Fastrack and Cinterion/Siemens ones (at least). If sending '+++' works for this case, we could extend those plugins with a new custom init command just doing that. Although it seems to me that the modems should be able to detect that the link with the DTE is down, and drop the connection automatically in that case. Yeah, though implementation is dicey. ATDx is one way to do this but of course then we have to twiddle serial port bits and stuff too. Closing the port should also cause a hangup and force the modem to drop the data stream, but not all do that for various reasons. Adding +++ to probing isn't a bad idea, and will be even better when we are just probing for AT compatibility instead of the whole 6-level probing scheme. Dan ___ networkmanager-list mailing list networkmanager-list@gnome.org http://mail.gnome.org/mailman/listinfo/networkmanager-list