Re: AW: Problems with Sierra MC 8790 with older firmware revision
- From: Aleksander Morgado <aleksander lanedo com>
- To: Dan Williams <dcbw redhat com>
- Cc: Harald Jung <support ecos de>, Marius Kotsbak <marius kotsbak com>, "networkmanager-list gnome org" <networkmanager-list gnome org>
- Subject: Re: AW: Problems with Sierra MC 8790 with older firmware revision
- Date: Thu, 04 Apr 2013 13:41:51 +0200
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]