Comment 68 for bug 449394

Revision history for this message
Damjan Jovanovic (damjan-jov) wrote :

10.04 (Lucid) is still affected by this bug but I found a way to get the E220 working without a firmware update.

In 9.10 (Karmic), my investigation revealed it is user-space software that crashes the E220, and this software could be disabled as follows:
* Cold boot with the E220 unplugged
* sudo killall devkit-power-daemon
* sudo killall devkit-disks-daemon
* Plug in the E220 -> it works

In 10.04 (Lucid) things are a little harder. The first time I got my E220 working I had to do this:
* Cold boot with the E220 unplugged
* sudo killall upowerd
* sudo killall udisks-daemon
* Plug in the E220
* sudo modprobe usbserial vendor=0x12d1 product=0x1003
* then it works

However, in 10.04, I've noticed that when you get it working this way it seems to crash sporadically. A reproducible way to get it to crash is to run "udisks --enumerate" which starts up that udisks-daemon that was killed earlier.

But what does udisks-daemon do that causes the crash? Running "ps fax" shows it does 2 things: "polling /dev/sr0 /dev/sr1" (/dev/sr1 is the E220) and "mount /dev/sr1 ...". Both of these can be disabled with a udev rule.

Look at /etc/udev/rules.d/70-persistent-cd.rules, and change this line:

SUBSYSTEM=="block", ENV{ID_CDROM}=="?*", ENV{ID_SERIAL}=="HUAWEI_Mass_Storage-0:0", SYMLINK+="cdrom1", ENV{GENERATED}="1"

to this line:

SUBSYSTEM=="block", ENV{ID_CDROM}=="?*", ENV{ID_SERIAL}=="HUAWEI_Mass_Storage-0:0", SYMLINK+="cdrom1", ENV{GENERATED}="1", ENV{UDISKS_DISABLE_POLLING}="1", ENV{UDISKS_PRESENTATION_NOPOLICY}="1"

Just add the rule and reboot.

Adding those UDISKS_DISABLE_POLLING=1 and UDISKS_PRESENTATION_NOPOLICY=1 options causes udisks-daemon to ignore the E220 completely, preventing any crashes from it trying to poll/mount the virtual CD-ROM. In the testing I've done so far with this udev rule, it's worked like a charm, no need for running those earlier commands to get it working.

Good luck everyone and I hope this works out of the box in the next Ubuntu release,
Damjan