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