Re: ZTE modem problems and workrounds



--On Wednesday, July 01, 2009 08:11:51 -0400 Dan Williams <dcbw redhat com> wrote:
> Ok, we need to figure out what commands it actually responds to, and see
> if there's some way to distinguish the specific ports.  Are you able to
> get a program like minicom or screen running on the ports so we can try
> out some commands.  If you can do that, try the following commands on
> all the ports the modem exposes, and let me know what they return
> (including what port you entered it on):
>
> ATI
> AT+CGMM
> AT+CGAP?

Using minicom, both ports give identical responses to all these:
ATI:
Manufacturer: ZTE INCORPORATED
Model: MF627
Revision: BD_3GHAP673A4V1.0.0B02
IMEI: 358066024082082
+GCAP: +CGSM,+DS,+ES

AT+CGMM:
MF627

AT+CGAP? is ERROR, or did you mean AT+GCAP:
+GCAP: +CGSM,+DS,+ES
(same as last line of ATI response).

Functionality is definitely tied to the IF number. IF0 is effectively dead (supposedly NMEA, but I don't know what it's meant to support). IF1 & IF3 both behave like a modem (usually), and seem very closely tied together. E.g. if you use ATE0 to turn off echo on one port, it is turned off on both. Very occasionally, IF1 will not respond to AT commands, but the modem still works on the correct IF3 port, and IF1 still spits out messages.

UMs always come out together on both ports (except when IF3 is connected of course).

I haven't tried every possible AT command, but AFAICS from those I have tried, they all work the same on both ports, EXCEPT for dialling. A valid ATDT string on IF3 produices an immediate CONNECTED response, but on IF1 there is no response, and the port hangs. This also effectively crashes the device, because once you disconnect from the ports the device shuts down and all the ttyUSB nodes disappear.

I kinda wonder if the device is actually really buggy and IF1 is not supposed to accept commands at all.

I can't see any way to detect the difference between the ports heuristically, it seems to need hard-coded knowledge of IF3. I started using it on an earlier OS, Ubuntu 8.10 (Hardy), and that required addition of a custom fdi file that explicitly identified IF3 as a GSM modem, and it always used the correct port. I can't remember exactly what kernel version that was.

Now with 2.6.29 that file isn't necessary, and there doesn't seem to be any reference to the device in the standard fdi files, so the mechanism is different, but I don't quite understand how. Maybe it's because Hardy used NM 0.7.0 ?

It would be good to be able to use HAL or similar to explicitly declare the interface, or even declare IF1 as non-available just to stop it being probed. Is that possible?

> Second, do any of the non-usable ports spontaneously emit messages?
> Huawei devices emit a variety of AT^BOOT, AT^RSSI, etc on the secondary
> port that can't be used for PPP, and that's something we can detect.

To confirm what I said above, all the spontaneous UMs are identical on both ports, so not muc help there :(

Not sure where this gets us ...

--
Cheers
Rick


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