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