Hi Dan

--On Wednesday, January 14, 2009 18:29:51 -0500 Dan Williams <[email protected]> wrote:
On Tue, 2009-01-06 at 16:03 +0000, Rick Jones wrote:
>
> a) it requires an initial <CR> otherwise it fails to see a clean AT
> command and doesn't respond - resulting in an init. timeout.

With this, my Sierra 860 doesn't respond and times out.  Were you ever
able to find out from the MobileStream guys why this might be required?
It might also be something that NetworkManager isn't doing when setting
up the serial port.  Does USBModem need specific serial port settings?

I didn't get much response from MobileStream, and also the problem doesn't happen on Windows :(. It seems to be some interaction with the Linux USB/serial driver, because I can prove the problem simply by connecting to the modem with telnet to /dev/USB0. The first command after connection is ignored. I thought initially that it needed to receive 2 AT commands before it would respond, but in fact it just needs \r before the first AT. I suspect that it picks up a bogus byte or two when the connection is opened, and thus the first AT is not seen as starting a new line, and hence ignored.

> b) its initial CREG state is 1, meaning that NM gets incorrect
> responses to its CREG queries later in the conversation. It requires
> +CREG=0 in the init string.

With this also, my Sierra 860 doesn't respond and times out.

Hmmm, that's a blow, I would have thought that a modem that responds to CREG queries would allow +CREG=n.

> By hacking these fixes into the init string it works fine. It's a soft
> modem running in a Palm Treo handheld: USBModem by MobileStream. At
> least one other poster on this list is using (or trying to) the same
> software.

What's the init string you currently use?  Long ago you mentioned:

AT&F\rATV1 X4 &C1 +CREG=0

Is that still correct?  Or can you move the AT&F after the \r?

I've changed it to \rAT&F V1 X4 &C1 +CREG=0. It will also accept E0 and +FCLASS=0, but I overwrote those because I tweaked the embedded string in binary and couldn't extend it - those settings happen to be the defaults in USBModem.

> Regarding ATZ v. AT&F, I believe the latter should always be
> supported, as it is a full reset. ATZ restores to settings saved using
> AT&W, but if that's never been used it's the same as AT&F. If AT&W is
> not supported, then ATZ may not be either; and if you don't use AT&W
> to save settings (does NM?) then there is no reason to use ATZ.

The Sierra 860 also doesn't like AT&F *at all*.  Whee!  If we can put
together an init string that works for now, we can add it to the bottom
of the list.

USBModem works with ATZ or AT&F, but I noticed a post from someone else saying their modem didn't like ATZ. I was recalling my memories of programming "real" modems, where AT&F was always the full "factory reset", and hence the only thing that could be guaranteed to put the modem into a known state.

This is always the problem - somewhere along the line someone re-interprets the "standard", so it's never quite as standard as we'd all like :-/.

Maybe it's possible to have an init string that's close to universal at the moment, but I think everything said above illustrates that it's probably impossible to get a single string that works (and will work) for everything. To deal with the security issue, how about a configuration file writable only by root, containing a list of possible of init strings? This would be shipped with a selection of strings to cater for currently known variants, which the user can select from. In the case of a user having an even more oddball device, with tech knowledge and admin privilege they can add other entry.

Getting closer ....

Cheers, Rick 
_______________________________________________
NetworkManager-list mailing list
[email protected]
http://mail.gnome.org/mailman/listinfo/networkmanager-list

Reply via email to