Re: Nokia 3G USB Modem CS-17 very unreliable



On 17 November 2011 21:08, Dan Williams <dcbw redhat com> wrote:

> Based on our IRC debugging yesterday, I've gone ahead and pushed a fix
> to ModemManager that uses only USB interface 0 for PPP on these devices
> since that's what the Windows driver indicates.  The driver didn't have
> a section for your variant of the CS-17 (0x0623) but I added that USB ID
> anyway.

Thanks for the fix.

I backported the fix to Ubuntu Lucid 10.04 LTS (modem-manager 0.3 +
patches) and OpenSUSE 11.4 (modem-manager 0.4 + patches).
The patch did not apply cleanly, but I think it was still very
straightforward.

On Lucid the first test failed, but after that it has been in use ~10
times without problems. On OpenSUSE I have used it maybe 5 times and
everything was fine. (Luckily I don't depend on 3G most of the time
so I don't come up to big numbers of usage occasions)

However, 2 days ago it suddenly stopped working again. I added a g_debug
to see what port type is recognized, and they were indeed both 
MM_PORT_TYPE_UNKNOWN. So did all the successful usage after applying the
fix just result from pure luck??? Sounds weird, because before the patch
the probability of successful usage was not very high.

I have never looked at udev functionality before, but with a bit of
guessing and running "/sbin/udevadm info --query=all --name ttyACM0"
I came to the conclusion that ttyACM0 is on USB interface 1 and 
ttyACM1 is on interface 3. (Your patch expects ttyACM0 on interface 0)

I know basically nothing about USB. Not sure whether USB interface
numbers could possible change randomly (well, depend on some timing or
other environment issue)??? So that in the beginning the patch did
happen to work, but when the interface number changed of course it could
not work anymore???

Anyway, I changed the udev rule now that USB interface 1 has the port of 
type MM_PORT_TYPE_PRIMARY. Based on my limited testing today I can say
that it works.

My OpenSUSE patches are at 

https://build.opensuse.org/package/revisions?package=ModemManager&project=home%3Ageuder%3Abranches%3AopenSUSE%3A11.4%3AUpdate%3ATest

(and the rpms can also be downlaoded from there, click on "overview" and
"standard" to get to the repo)

On Ubuntu Lucid the behaviour was exacatly the same. The patches and
Debian packages are not online at the moment, but I could certainly make
them available if anybody is interested.

Regards,

Uwe


P.S. Even if the correct port has be selected now reliably there are
still a couple of bugs left that make this USB stick somewhat unreliable
to use (following observations are from OpenSUSE 11.4 just from today)

- sometimes an assertion is hit in modem-manager
- NetworkManager has died on SIGSEGV
- the network plasmoid of KDE dies and/or gets unresponsive (yes, I know
  network manager is a GNOME project...)
- The kernel has crashed after trying to dereference a null pointer, 
  probably in USB driver when removing the stick

This is just FYI. Probably this should first be tested in OpenSUSE 12.1
or even with the newest network manager. Not sure when I will get there.


P.P.S. Again FYI: In OpenSUSE 11.4 the packaging of modem-manager is not
very good.  autotools have been run with some obsolete version (older
than what is in 11.4) and the generated files have been included in the
source tar.  As you see from the version history I patched that also,
otherwise the new udev rules get never installed.  I have not checked
whether this has already been fixed in 12.1


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