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
_______________________________________________
networkmanager-list mailing list
[email protected]
https://mail.gnome.org/mailman/listinfo/networkmanager-list

Reply via email to