Regression: Nokia CS-15 not working in 12.04

Bug #992639 reported by Markus Ilmola on 2012-05-01
154
This bug affects 27 people
Affects Status Importance Assigned to Milestone
Linux
New
Undecided
Unassigned
linux (Ubuntu)
High
Unassigned
Precise
Undecided
Unassigned
usb-modeswitch (Ubuntu)
Medium
Unassigned
Precise
Medium
Unassigned

Bug Description

When "Nokia Mobile Phones CS-15 (Internet Stick 3G modem)" is plugged in a usb port nothing happens. No pin code is asked. Not even the light in the stick turns on.

lsusb list the device as:
Bus 002 Device 003: ID 0421:0610 Nokia Mobile Phones CS-15 (Internet Stick 3G modem)

Tested wth Ubuntu 12.04 LTS.
It worked fine with Ubuntu 11.10 so this is a regression.

ProblemType: Bug
DistroRelease: Ubuntu 12.04
Package: usb-modeswitch 1.2.3+repack0-1ubuntu2
ProcVersionSignature: Ubuntu 3.2.0-24.37-generic-pae 3.2.14
Uname: Linux 3.2.0-24-generic-pae i686
ApportVersion: 2.0.1-0ubuntu7
Architecture: i386
Date: Tue May 1 17:19:58 2012
InstallationMedia: Ubuntu 12.04 LTS "Precise Pangolin" - Release i386 (20120423)
ProcEnviron:
 PATH=(custom, no user)
 LANG=fi_FI.UTF-8
 SHELL=/bin/bash
SourcePackage: usb-modeswitch
UpgradeStatus: No upgrade log present (probably fresh install)

Markus Ilmola (markus-ilmola) wrote :
affects: usb-modeswitch (Ubuntu) → network-manager (Ubuntu)
tags: added: regression-release
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in network-manager (Ubuntu):
status: New → Confirmed
Changed in usb-modeswitch (Ubuntu):
status: New → Confirmed

I have the same situation on x64 version of 12.04 (kernel 3.2.0-24-generic)

Markus Ilmola (markus-ilmola) wrote :

Added usb_modeswitch log.

Markus Ilmola (markus-ilmola) wrote :

Added syslog

Markus Ilmola (markus-ilmola) wrote :

After browsing some forums it seems that 12.04 also breaks Nokia CS-17 and perhaps many others.

I also found a work around for this bug:

Open file: “/lib/udev/rules.d/40-usb_modeswitch.rules”

Find lines:

# Nokia CS-15
ATTRS{idVendor}=="0421", ATTRS{idProduct}=="0610", RUN+="usb_modeswitch '%b/%k'"

Comment the second line out by placing # -character in front of it and save the file.

Plug in the Internet stick and type "eject /dev/sr1" to the console (or "eject /dev/sr0" if the computer has no CD-drive).

summary: - Nokia CS-15 Internet Stick (3G modem) does nothing (regression)
+ Regression: 12.04 update breaks support for Internet Sticks (3G modems):
+ Nokia CS-15, Nokia cs-17 and perhaps many others

You can create a custom rule in /etc/udev/rules.d directory to do the eject automatically with the following content

#custom rule /etc/udev/rules.d/98-nokia-cs-10.rules
#in the case of Nokia CS-10
SUBSYSTEMS=="usb", ATTRS{idVendor}=="0421", ATTRS{idProduct}=="060c", ACTION=="add", RUN+="/usr/bin/eject -s %k", OPTIONS+="last_rule"

source: http://blog.nielshorn.net/2010/02/using-a-nokia-cs-10-gsm-modem-on-slackware

The eject is exactly what usb-modeswitch is supposed to do.

Does it behave the same way in all the USB ports, assuming you have multiple different ones on your system? Please try each and respond here; I think a different one (USB 3?) might work properly.

Changed in network-manager (Ubuntu):
status: Confirmed → Incomplete
Changed in usb-modeswitch (Ubuntu):
status: Confirmed → Incomplete
Changed in network-manager (Ubuntu):
status: Incomplete → Invalid

Invalid for network-manager for now; it's not even getting to that point.

I checked using all kinds of USB ports in my laptop, the reaction is always the same.

I don't get why Mathieu Trudel-Lapierre (mathieu-tl) changed the status of this bug back to Incomplete / Invalid. What should be done about this bug to move on?

Changed in network-manager (Ubuntu):
status: Invalid → Confirmed
Changed in usb-modeswitch (Ubuntu):
status: Incomplete → Confirmed

I set the network-manager task to Invalid because that device isn't even getting to that point yet; nor should it be a task on network-maanger, which doesn't handle modem devices directly.

When the workaround udev rule is used, what happens? Please attach /var/log/syslog.

Changed in network-manager (Ubuntu):
status: Confirmed → Invalid
Changed in usb-modeswitch (Ubuntu):
status: Confirmed → Incomplete
importance: Undecided → Medium
Jari Tenhunen (jari-tenhunen) wrote :

For what it's worth, Nokia CS-17 works for me in 12.04 after I created /etc/modprobe.d/nokia-cs-17.conf with this content:

  options usb-storage delay_use=3

YMMV, though.

People should try that workaround above and see if it helps and if the device can then be used in network-manager.

If it does, this should be fixed in usb-modeswitch or in the kernel.

Hannu Teulahti (teu) wrote :

The " options usb-storage delay_use=3" on comment #14 worked for me.

Jussi Rytkönen (jussiry) wrote :

Can you explain step by step with exact command lines for not-so-familiar user how to create "/etc/modprobe.d/nokia-cs-17.conf" with the content?

Jari Tenhunen (jari-tenhunen) wrote :

(In reply to comment #17)

For example with command:

echo "options usb-storage delay_use=3" | sudo tee /etc/modprobe.d/nokia-cs-17.conf >/dev/null

Jussi Rytkönen (jussiry) wrote :

Thank you, it really seems to make it work !

Didier Raboud (odyx) wrote :

Josh: anything that could be done thereabout in usb-modeswitch ?

Josua Dietze (digidietze) wrote :

It would be good to know what the default 'delay_use' is on 12.04 and what it was on *previous* Ubuntu versions.

Originally, this was set to 5 seconds in the storage driver, with SCSI hard disks in mind. This may have been changed in the kernel as the main users of the driver nowadays are flash drives.
There may be modems around that need to be ready for use before the "eject" command (no matter if coming from usb_modeswitch or from the command line tool) can actually trigger the mode switch. Others are less critical in that respect.

Owners of this device:
Can you play around with the storage module option, from delay_use=1 to delay_use=5 ?

There is a small delay implemented in the usb_modeswitch wrapper which could be skipped. There is also a config option "WaitBefore=<seconds>" that can be set per device config.

So a longer delay of usb_modeswitch's actions will *not* be a problem if that helps. On the other hand, removing any delay will gain just half a second and probably break other devices.

In a nutshell:
If the default delay_use is too *short* for the Nokia devices, there is very little (500 ms) that can be done.
If the default delay_use is too *long*, just play around with the "WaitBefore" value.

Josh

Following comment #14, Nokia CS-15 works for me in 12.04 after I created /etc/modprobe.d/nokia-cs-15.conf with this content:

  options usb-storage delay_use=3

Marius B. Kotsbak (mariusko) wrote :

Well, the default was changed in this kernel commit:

commit a4a47bc03fe520e95e0c4212bf97c86545fb14f9
Author: Linus Torvalds <email address hidden>
Date: Fri Feb 26 10:03:22 2010 -0800

    Lower USB storage settling delay to something more reasonable

    The five-second delay can be rather annoying, and makes the system
    appear much less responsive when you connect a USB drive.

    It's also not entirely clear that it is needed - the settling delay has
    at least historically been an issue on some Apple iPods, for example,
    and some devices have been reported to need even more than the old 5s
    delay.

    But before we penalize them all, let's see how bad it really is. Some
    of the reasons for long delays seem to be actual historical kernel bugs
    that should probably never have been papered over with a delay in the
    first place (there's a Ubuntu bug report for 2.6.20 about a NULL pointer
    dereference unless 'delay_use' is 8 or more, for example).

    It also looks like some distros have already shipped with delay_use=0,
    so the five second default may well be totally historical.

    In other words: "Let's see if anybody screams".

    Signed-off-by: Linus Torvalds <email address hidden>

which appeared in Ubuntu v2.6.34, but Ubuntu 11.10 contained a 3.0.0 kernel...

Changed in usb-modeswitch (Ubuntu):
status: Incomplete → Confirmed

This is an important issue that needs to be tackled at the kernel level (since that's where the delay_use is set). Adding a task for 'linux'.

Changed in linux (Ubuntu):
status: New → Confirmed
importance: Undecided → High
Changed in usb-modeswitch (Ubuntu):
status: Confirmed → Triaged
Changed in usb-modeswitch (Ubuntu Precise):
status: New → Triaged
importance: Undecided → Medium
Changed in linux (Ubuntu Precise):
status: New → Confirmed
Changed in network-manager (Ubuntu Precise):
status: New → Invalid
Marius B. Kotsbak (mariusko) wrote :

Maybe we should create a Linux bug report about this?

no longer affects: network-manager
Herton R. Krzesinski (herton) wrote :

@Marius: yes, please open a bug upstream and/or report the issue on the linux kernel mailing list, it is a good thing to do.

Also, it would be useful to know when this started to happen (which kernel version), people affected here can download kernels from http://kernel.ubuntu.com/~kernel-ppa/mainline/ and test which version started to show up this issue. So far the greater delay_use helps, but needs investigation (since as reported here 11.10, with 3.0 kernel, worked fine, even with the default delay_use=1).

Hans Hellén (hans-hellen) wrote :

This is strongly related to firmware version the CS-15 happens to have. Take a closer look at:
https://bugs.launchpad.net/linux/+bug/496256

To sum up, a CS-15 with an "original" firmware (x.62.40) does not work anymore even in current Lucid Lynx (some kind of a regression). CS-15 with updated firmware works in Lucid and Precise, but is unstable, and do not work in Quantal (live session) at all.

Marius B. Kotsbak (mariusko) wrote :

Hans, could you please do the tests described in comment #26 and file a bug in Linux: https://bugzilla.kernel.org/

sergio pilotto (spilotto) wrote :

I just get a hang of running my nokia internet stick cs-15 (firmware r2.8) on ubuntu 12.04. I removed the module ums_realtek from memory, and insert my cs-15 in usb port, and then it worked (not flashed before).
I searched the usb_storage module:

$ lsmod | grep ums_realtek

usb_storage 39646 1 ums_realtek

So I tried to remove it for test:

$ rmmod ums_realtek

Probably not gonna be able to simultaneously use card reader...

Andrei Lisin (terranium) wrote :

Is this bug about dereferencing null pointer in usb_modeswitch_dispatcher like bug #824147 ?

Jussi Lind (jussi-lind) wrote :

I think this is a different issue, as setting delay to 3 (comment #14) fixes the problem also for me.

Hans Hellén (hans-hellen) wrote :

Setting delay to 3 did not solve the issues for me on Lucid Lynx two months ago.

As a workaround I bought a compatible WLAN station, to where the CS-15 is now attached. Those wireless access point devices cost about 30 €.

summary: - Regression: 12.04 update breaks support for Internet Sticks (3G modems):
- Nokia CS-15, Nokia cs-17 and perhaps many others
+ Regression: Nokia CS-15 not working in 12.04

Glome, could you please confirm this issue exists with the latest development release of Ubuntu? ISO images are available from http://cdimage.ubuntu.com/daily-live/current/ . If the issue remains, could you please run the following command in the development release from a Terminal (Applications->Accessories->Terminal), as it will automatically gather and attach updated debug information to this report:

apport-collect -p linux <replace-with-bug-number>

Also, could you please test the latest upstream kernel available following https://wiki.ubuntu.com/KernelMainlineBuilds ? It will allow additional upstream developers to examine the issue. Please do not test the daily folder, but the one all the way at the bottom. Once you've tested the upstream kernel, please comment on which kernel version specifically you tested. If this bug is fixed in the mainline kernel, please add the following tags:
kernel-fixed-upstream
kernel-fixed-upstream-VERSION-NUMBER

where VERSION-NUMBER is the version number of the kernel you tested. For example:
kernel-fixed-upstream-v3.11-rc4

This can be done by clicking on the yellow circle with a black pencil icon next to the word Tags located at the bottom of the bug description. As well, please remove the tag:
needs-upstream-testing

If the mainline kernel does not fix this bug, please add the following tags:
kernel-bug-exists-upstream
kernel-bug-exists-upstream-VERSION-NUMBER

As well, please remove the tag:
needs-upstream-testing

If you are unable to test the mainline kernel, please comment as to why specifically you were unable to test it and add the following tags:
kernel-unable-to-test-upstream
kernel-unable-to-test-upstream-VERSION-NUMBER

Once testing of the upstream kernel is complete, please mark this bug's Status as Confirmed. Please let us know your results. Thank you for your understanding.

Changed in linux (Ubuntu):
status: Confirmed → Incomplete
Hans Hellén (hans-hellen) wrote :

There seems to be different kinds of CS-15 modems out there. For two of my devices lsusb -v gives
"wMaxPacketSize 0x0040 1x 64 bytes" for a modem with bigger IMEI
and
"wMaxPacketSize 0x0200 1x 512 bytes" for a modem with smaller IMEI.

The differences in behaviour with some current kernels can be found in reported bug #496256 in comment #60.

Jussi Lind (jussi-lind) wrote :

FYI: This trick made CS-17 work on my 13.10:

1) Set DisableSwitching=1 in /etc/usb_modeswitch.conf
2) Plug the device in and then execute "eject /dev/sr1 "

(You might have different device path, mine was at /dev/sr1)

Hans Hellén (hans-hellen) wrote :

Interesting, the CS-15 stick with *smaller* IMEI can be used to establish an internet connection using the workaround found above.

The stick with bigger IMEI does not show any sings of life.

Using 12.04 (precise) 64-bit, Linux 3.5.0-44-generic.

no longer affects: network-manager (Ubuntu)
no longer affects: network-manager (Ubuntu Precise)
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers