Re: AW: Problems with Sierra MC 8790 with older firmware revision



On 04/04/2013 11:08 AM, Aleksander Morgado wrote:
On 04/03/2013 08:18 PM, Dan Williams wrote:
On Wed, 2013-04-03 at 18:59 +0200, Aleksander Morgado wrote:
On 03/04/2013 03:33 PM, Dan Williams wrote:
On Fri, 2013-03-01 at 15:08 +0100, Gerald Richter - ECOS wrote:
The following patch solves the problem for us. It works with all revisions we have available for testing

Pushed to git master and 0.6, thanks!

Dan

Gerald

--- mm-plugin-sierra.c~   2012-08-29 17:02:18.000000000 +0200
+++ mm-plugin-sierra.c    2013-03-01 13:22:09.000000000 +0100
@@ -78,6 +78,9 @@
         if (strstr (response, "C885"))
             g_object_set_data (G_OBJECT (task), TAG_SIERRA_APP_PPP_OK, GUINT_TO_POINTER (TRUE));
 
+        if (strstr (response, "MC8790"))
+            g_object_set_data (G_OBJECT (task), TAG_SIERRA_APP_PPP_OK, GUINT_TO_POINTER (TRUE));
+
         /* For debugging: let users figure out if their device supports it or not */
         if (getenv ("MM_SIERRA_APP1_PPP_OK")) {
             mm_dbg ("Sierra: APP1 PPP OK '%s'", response);



Ah, the fun... :)

So I've got a MC8790 here which does *not* like the APP1 port for PPP.
It has the following revision:
'K2_0_7_35AP C:/WS/FW/K2_0_7_35AP/MSM6290/SRC 2010/03/04 17:37:08'

This is what we get from the probing:

log_port(): (/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.7)
tty/ttyUSB3 at (primary)
log_port(): (/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.7)
tty/ttyUSB4 data (primary)
log_port(): (/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.7)
tty/ttyUSB1 qcdm

And it just stalls when we try to launch the ATD call in ttyUSB4:

[1365007565.579948] [mm-broadband-bearer.c:200]
common_get_at_data_port(): Connection through a plain serial AT port
(ttyUSB4)
[1365007565.579997] [mm-serial-port.c:958] mm_serial_port_open():
(ttyUSB4) device open count is 2 (open)
[1365007565.580036] [mm-serial-port.c:1003] mm_serial_port_close():
(ttyUSB3) device open count is 1 (close)
[1365007565.580080] [mm-at-serial-port.c:408] debug_log(): (ttyUSB4):
--> 'ATD*99***2#<CR>'
...
And that's it, won't reply.

Running the ATD call in the primary ttyUSB3 port (without the patch
above) kind of works; in that case ttyUSB4 is marked as secondary, but
again ttyUSB4 doesn't know how to properly work not even as secondary
and either reports error or times out most messages...

Some additional info for Dan, surely not very useful :)

Can you send:

AT!ENTERCND="A710"

and then enter all these again?  I get a response to NVMUXMODE when I do
this at least, though its 0 (not set).  After you've done this, what do
you get for "AT!CUSTOM?" ?

If you're feeling really, really lucky, you could try AT!
CUSTOM="MUXMODE",2 to disable MUX mode; the default is "don't override"
whatever is currently set, and of course we don't know what that is.
This might brick the card though, so beware.

FWIW, my USB306 says:

!CUSTOM: 
            PUKPRMPT            0x01
            MEPCODE             0x01
            ISVOICEN            0x01
            PRLREGION           0x01
            PCSCDISABLE         0x03
            GPSENABLE           0x01
            SWOCENABLE          0x03
            USBMSENABLE         0x01

so my MUXMODE pref hasn't been modified at all.


There you go:

AT!ENTERCND="A710"
  OK
AT!NVPORTSET?
  ERROR
AT!MXPORTMAP?
  !MXPORTMAP:
  00
  OK
AT!NVMUXMODE?
  !NVMUXMODE:
  00
  OK
AT!NVMUXMODE=?
  !NVMUXMODE:
  (0-2)
  0 - MUX mode not set
  1 - MUX mode on
  2 - MUX mode off
  OK
AT!MAPUART=?
  ERROR
AT!MAPUART?
  ERROR
AT!NVPORTMAP?
  ERROR
AT!CUSTOM?
  !CUSTOM:
            PUKPRMPT            0x01
            MEPCODE             0x01
            ISVOICEN            0x02
            PRLREGION           0x01
            PCSCDISABLE         0x03
            GPSENABLE           0x01
  OK
AT!CUSTOM="MUXMODE",2
  OK
AT!CUSTOM?
  !CUSTOM:
            PUKPRMPT            0x01
            MEPCODE             0x01
            ISVOICEN            0x02
            PRLREGION           0x01
            PCSCDISABLE         0x03
            GPSENABLE           0x01
            MUXMODE             0x02
  OK

Disabling the muxmode didn't really help it seems.



Some additional information about this device, forgetting about the APP1
port issue...

The MC8790 is really a Direct-IP capable device, but without DHCP. The
sierra_net kernel driver filters the wwan port in the following check:

/* test whether firmware supports DHCP */
if (!(status == sizeof(fwattr) &&
     (fwattr & SWI_GET_FW_ATTR_MASK))) {
    /* found incompatible firmware version */
    dev_err(&dev->udev->dev, "Incompatible driver and firmware"
            " versions\n");
    kfree(priv);
    return -ENODEV;
}

If that check is removed, we get a wwan0 which can get connected with
AT!SCACT, but DHCP won't work on it. I could get the static IP to set
with AT!SCPADDR, though, but I couldn't get proper gateway or DNS
addresses. After using the x.x.x.1 address as default route, I could
actually ping the Internet...


-- 
Aleksander


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