Page 1 of 1

SonyEriccson MD300 Mobile Broadband

PostPosted: Jan 19th, '12, 07:57
by primesuspect
I've been following the various mobile broadband posts and to be honest all the suggested workarounds are above my head unless I can have instructions specific to my modem type. This is about the most popular model in the part of the world where I now live so hopefully someone will have got it working and be able to share how :)

Frustratingly, this modem works out of the box with several other KDE distros, but I want to use Mageia!

Re: SonyEriccson MD300 Mobile Broadband

PostPosted: Jan 19th, '12, 13:04
by doktor5000
Well, if you read all the other threads, you could have provided some context information about the dongle.

With the broadband dongle not plugged in to your box, open up a terminal, and launch the following command as root :
Code: Select all
tailf /var/log/messages

then wait a few seconds, plugin the dongle, again wait a few secons, until there is no added output,
and post the whole output here, but please use a Code-block.

Re: SonyEriccson MD300 Mobile Broadband

PostPosted: Jan 19th, '12, 13:14
by primesuspect
Please excuse my ignorance but what is a Code-block?

Re: SonyEriccson MD300 Mobile Broadband

PostPosted: Jan 19th, '12, 13:39
by primesuspect
OK- worked it out - different term where I come from. This was the output (using the live CD as I had to uninstall it).

Code: Select all
[live@localhost ~]$ su
[root@localhost live]# tailf /var/log/messages
Jan 19 06:29:47 localhost kernel: [drm:drm_edid_block_valid] *ERROR* Raw EDID:
Jan 19 06:29:47 localhost kernel:
Jan 19 06:29:47 localhost kernel: [drm:drm_edid_block_valid] *ERROR* EDID checksum is invalid, remainder is 3
Jan 19 06:29:47 localhost kernel: [drm:drm_edid_block_valid] *ERROR* Raw EDID:
Jan 19 06:29:47 localhost kernel:
Jan 19 06:29:47 localhost kernel: [drm:drm_edid_block_valid] *ERROR* EDID checksum is invalid, remainder is 3
Jan 19 06:29:47 localhost kernel: [drm:drm_edid_block_valid] *ERROR* Raw EDID:
Jan 19 06:29:47 localhost kernel:
Jan 19 06:29:47 localhost kernel: radeon 0000:01:05.0: DVI-D-1: EDID block 0 invalid.
Jan 19 06:29:47 localhost kernel: [drm:radeon_dvi_detect] *ERROR* DVI-D-1: probed a monitor but no|invalid EDID
Jan 19 06:29:58 localhost kernel: [drm:drm_edid_block_valid] *ERROR* EDID checksum is invalid, remainder is 3
Jan 19 06:29:58 localhost kernel: [drm:drm_edid_block_valid] *ERROR* Raw EDID:
Jan 19 06:29:58 localhost kernel:
Jan 19 06:29:58 localhost kernel: [drm:drm_edid_block_valid] *ERROR* EDID checksum is invalid, remainder is 3
Jan 19 06:29:58 localhost kernel: [drm:drm_edid_block_valid] *ERROR* Raw EDID:
Jan 19 06:29:58 localhost kernel:
Jan 19 06:29:58 localhost kernel: [drm:drm_edid_block_valid] *ERROR* EDID checksum is invalid, remainder is 3
Jan 19 06:29:58 localhost kernel: [drm:drm_edid_block_valid] *ERROR* Raw EDID:
Jan 19 06:29:58 localhost kernel:
Jan 19 06:29:58 localhost kernel: [drm:drm_edid_block_valid] *ERROR* EDID checksum is invalid, remainder is 3
Jan 19 06:29:58 localhost kernel: [drm:drm_edid_block_valid] *ERROR* Raw EDID:
Jan 19 06:29:58 localhost kernel:
Jan 19 06:29:58 localhost kernel: radeon 0000:01:05.0: DVI-D-1: EDID block 0 invalid.
Jan 19 06:29:58 localhost kernel: [drm:radeon_dvi_detect] *ERROR* DVI-D-1: probed a monitor but no|invalid EDID
Jan 19 06:30:08 localhost kernel: [drm:drm_edid_block_valid] *ERROR* EDID checksum is invalid, remainder is 3
Jan 19 06:30:08 localhost kernel: [drm:drm_edid_block_valid] *ERROR* Raw EDID:
Jan 19 06:30:08 localhost kernel:
Jan 19 06:30:08 localhost kernel: [drm:drm_edid_block_valid] *ERROR* EDID checksum is invalid, remainder is 3
Jan 19 06:30:08 localhost kernel: [drm:drm_edid_block_valid] *ERROR* Raw EDID:
Jan 19 06:30:08 localhost kernel:
Jan 19 06:30:08 localhost kernel: [drm:drm_edid_block_valid] *ERROR* EDID checksum is invalid, remainder is 3
Jan 19 06:30:08 localhost kernel: [drm:drm_edid_block_valid] *ERROR* Raw EDID:
Jan 19 06:30:08 localhost kernel:
Jan 19 06:30:08 localhost kernel: [drm:drm_edid_block_valid] *ERROR* EDID checksum is invalid, remainder is 3
Jan 19 06:30:08 localhost kernel: [drm:drm_edid_block_valid] *ERROR* Raw EDID:
Jan 19 06:30:08 localhost kernel:
Jan 19 06:30:08 localhost kernel: radeon 0000:01:05.0: DVI-D-1: EDID block 0 invalid.
Jan 19 06:30:08 localhost kernel: [drm:radeon_dvi_detect] *ERROR* DVI-D-1: probed a monitor but no|invalid EDID
Jan 19 06:30:18 localhost kernel: [drm:drm_edid_block_valid] *ERROR* EDID checksum is invalid, remainder is 3
Jan 19 06:30:18 localhost kernel: [drm:drm_edid_block_valid] *ERROR* Raw EDID:
Jan 19 06:30:18 localhost kernel:
Jan 19 06:30:18 localhost kernel: [drm:drm_edid_block_valid] *ERROR* EDID checksum is invalid, remainder is 3
Jan 19 06:30:18 localhost kernel: [drm:drm_edid_block_valid] *ERROR* Raw EDID:
Jan 19 06:30:18 localhost kernel:
Jan 19 06:30:18 localhost kernel: [drm:drm_edid_block_valid] *ERROR* EDID checksum is invalid, remainder is 3
Jan 19 06:30:18 localhost kernel: [drm:drm_edid_block_valid] *ERROR* Raw EDID:
Jan 19 06:30:18 localhost kernel:
Jan 19 06:30:18 localhost kernel: [drm:drm_edid_block_valid] *ERROR* EDID checksum is invalid, remainder is 3
Jan 19 06:30:18 localhost kernel: [drm:drm_edid_block_valid] *ERROR* Raw EDID:
Jan 19 06:30:18 localhost kernel:
Jan 19 06:30:18 localhost kernel: radeon 0000:01:05.0: DVI-D-1: EDID block 0 invalid.
Jan 19 06:30:18 localhost kernel: [drm:radeon_dvi_detect] *ERROR* DVI-D-1: probed a monitor but no|invalid EDID
Jan 19 06:30:28 localhost kernel: [drm:drm_edid_block_valid] *ERROR* EDID checksum is invalid, remainder is 3
Jan 19 06:30:28 localhost kernel: [drm:drm_edid_block_valid] *ERROR* Raw EDID:
Jan 19 06:30:28 localhost kernel:
Jan 19 06:30:28 localhost kernel: [drm:drm_edid_block_valid] *ERROR* EDID checksum is invalid, remainder is 3
Jan 19 06:30:28 localhost kernel: [drm:drm_edid_block_valid] *ERROR* Raw EDID:
Jan 19 06:30:28 localhost kernel:
Jan 19 06:30:28 localhost kernel: [drm:drm_edid_block_valid] *ERROR* EDID checksum is invalid, remainder is 3
Jan 19 06:30:28 localhost kernel: [drm:drm_edid_block_valid] *ERROR* Raw EDID:
Jan 19 06:30:28 localhost kernel:
Jan 19 06:30:28 localhost kernel: [drm:drm_edid_block_valid] *ERROR* EDID checksum is invalid, remainder is 3
Jan 19 06:30:28 localhost kernel: [drm:drm_edid_block_valid] *ERROR* Raw EDID:
Jan 19 06:30:28 localhost kernel:
Jan 19 06:30:28 localhost kernel: radeon 0000:01:05.0: DVI-D-1: EDID block 0 invalid.
Jan 19 06:30:28 localhost kernel: [drm:radeon_dvi_detect] *ERROR* DVI-D-1: probed a monitor but no|invalid EDID
Jan 19 06:30:31 localhost mgaapplet[3481]: trying distributions list from https://releases.mageia.org/api/a/i586?product=Default&version=1&mgaonline_version=2.77.29
Jan 19 06:30:33 localhost kernel: usb 1-2: new full speed USB device using ohci_hcd and address 4
Jan 19 06:30:33 localhost kernel: usb 1-2: New USB device found, idVendor=0fce, idProduct=d0cf
Jan 19 06:30:33 localhost kernel: usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Jan 19 06:30:33 localhost kernel: usb 1-2: Product: Sony Ericsson MD300
Jan 19 06:30:33 localhost kernel: usb 1-2: Manufacturer: Sony Ericsson
Jan 19 06:30:33 localhost kernel: usb 1-2: SerialNumber: 3534460206761590
Jan 19 06:30:33 localhost kernel: scsi7 : usb-storage 1-2:1.0
Jan 19 06:30:33 localhost mtp-probe: checking bus 1, device 4: "/sys/devices/pci0000:00/0000:00:13.0/usb1/1-2"
Jan 19 06:30:33 localhost mgaapplet[3481]: Computing new updates...
Jan 19 06:30:33 localhost mgaapplet[3481]: running: urpmi.update --update
Jan 19 06:30:33 localhost mtp-probe: bus: 1, device: 4 was not an MTP device
Jan 19 06:30:34 localhost mgaapplet[3481]: no update media configured
Jan 19 06:30:34 localhost kernel: scsi 7:0:0:0: Direct-Access     SEMC     MMC Flash Card      0 PQ: 0 ANSI: 0
Jan 19 06:30:34 localhost kernel: sd 7:0:0:0: Attached scsi generic sg3 type 0
Jan 19 06:30:34 localhost kernel: sd 7:0:0:0: [sdc] 348161 512-byte logical blocks: (178 MB/170 MiB)
Jan 19 06:30:34 localhost kernel: sd 7:0:0:0: [sdc] Test WP failed, assume Write Enabled
Jan 19 06:30:34 localhost kernel: sd 7:0:0:0: [sdc] Assuming drive cache: write through
Jan 19 06:30:34 localhost kernel: sd 7:0:0:0: [sdc] Test WP failed, assume Write Enabled
Jan 19 06:30:34 localhost kernel: sd 7:0:0:0: [sdc] Assuming drive cache: write through
Jan 19 06:30:34 localhost kernel: sdc: detected capacity change from 0 to 178258432
Jan 19 06:30:34 localhost kernel: sdc: sdc1
Jan 19 06:30:34 localhost kernel: sdc: p1 size 348161 extends beyond EOD, enabling native capacity
Jan 19 06:30:34 localhost kernel: sd 7:0:0:0: [sdc] Test WP failed, assume Write Enabled
Jan 19 06:30:34 localhost kernel: sd 7:0:0:0: [sdc] Assuming drive cache: write through
Jan 19 06:30:34 localhost kernel: sdc: sdc1
Jan 19 06:30:34 localhost kernel: sdc: p1 size 348161 extends beyond EOD, truncated
Jan 19 06:30:34 localhost kernel: sd 7:0:0:0: [sdc] Test WP failed, assume Write Enabled
Jan 19 06:30:34 localhost kernel: sd 7:0:0:0: [sdc] Assuming drive cache: write through
Jan 19 06:30:34 localhost kernel: sd 7:0:0:0: [sdc] Attached SCSI removable disk
Jan 19 06:30:39 localhost kernel: [drm:drm_edid_block_valid] *ERROR* EDID checksum is invalid, remainder is 3
Jan 19 06:30:39 localhost kernel: [drm:drm_edid_block_valid] *ERROR* Raw EDID:
Jan 19 06:30:39 localhost kernel:
Jan 19 06:30:39 localhost kernel: [drm:drm_edid_block_valid] *ERROR* EDID checksum is invalid, remainder is 6
Jan 19 06:30:39 localhost kernel: [drm:drm_edid_block_valid] *ERROR* Raw EDID:
Jan 19 06:30:39 localhost kernel:
Jan 19 06:30:39 localhost kernel: [drm:drm_edid_block_valid] *ERROR* EDID checksum is invalid, remainder is 7
Jan 19 06:30:39 localhost kernel: [drm:drm_edid_block_valid] *ERROR* Raw EDID:
Jan 19 06:30:39 localhost kernel:
Jan 19 06:30:39 localhost kernel: [drm:drm_edid_block_valid] *ERROR* EDID checksum is invalid, remainder is 6
Jan 19 06:30:39 localhost kernel: [drm:drm_edid_block_valid] *ERROR* Raw EDID:
Jan 19 06:30:39 localhost kernel:
Jan 19 06:30:39 localhost kernel: radeon 0000:01:05.0: DVI-D-1: EDID block 0 invalid.
Jan 19 06:30:39 localhost kernel: [drm:radeon_dvi_detect] *ERROR* DVI-D-1: probed a monitor but no|invalid EDID
Jan 19 06:30:49 localhost kernel: [drm:drm_edid_block_valid] *ERROR* EDID checksum is invalid, remainder is 3
Jan 19 06:30:49 localhost kernel: [drm:drm_edid_block_valid] *ERROR* Raw EDID:
Jan 19 06:30:49 localhost kernel:
Jan 19 06:30:49 localhost kernel: [drm:drm_edid_block_valid] *ERROR* EDID checksum is invalid, remainder is 9
Jan 19 06:30:49 localhost kernel: [drm:drm_edid_block_valid] *ERROR* Raw EDID:
Jan 19 06:30:49 localhost kernel:
Jan 19 06:30:49 localhost kernel: [drm:drm_edid_block_valid] *ERROR* EDID checksum is invalid, remainder is 7
Jan 19 06:30:49 localhost kernel: [drm:drm_edid_block_valid] *ERROR* Raw EDID:
Jan 19 06:30:49 localhost kernel:
Jan 19 06:30:49 localhost kernel: [drm:drm_edid_block_valid] *ERROR* EDID checksum is invalid, remainder is 7
Jan 19 06:30:49 localhost kernel: [drm:drm_edid_block_valid] *ERROR* Raw EDID:
Jan 19 06:30:49 localhost kernel:
Jan 19 06:30:49 localhost kernel: radeon 0000:01:05.0: DVI-D-1: EDID block 0 invalid.
Jan 19 06:30:49 localhost kernel: [drm:radeon_dvi_detect] *ERROR* DVI-D-1: probed a monitor but no|invalid EDID
Jan 19 06:30:59 localhost kernel: [drm:drm_edid_block_valid] *ERROR* EDID checksum is invalid, remainder is 3
Jan 19 06:30:59 localhost kernel: [drm:drm_edid_block_valid] *ERROR* Raw EDID:
Jan 19 06:30:59 localhost kernel:
Jan 19 06:30:59 localhost kernel: [drm:drm_edid_block_valid] *ERROR* EDID checksum is invalid, remainder is 9
Jan 19 06:30:59 localhost kernel: [drm:drm_edid_block_valid] *ERROR* Raw EDID:
Jan 19 06:30:59 localhost kernel:
Jan 19 06:30:59 localhost kernel: [drm:drm_edid_block_valid] *ERROR* EDID checksum is invalid, remainder is 7
Jan 19 06:30:59 localhost kernel: [drm:drm_edid_block_valid] *ERROR* Raw EDID:
Jan 19 06:30:59 localhost kernel:
Jan 19 06:30:59 localhost kernel: [drm:drm_edid_block_valid] *ERROR* EDID checksum is invalid, remainder is 8
Jan 19 06:30:59 localhost kernel: [drm:drm_edid_block_valid] *ERROR* Raw EDID:
Jan 19 06:30:59 localhost kernel:
Jan 19 06:30:59 localhost kernel: radeon 0000:01:05.0: DVI-D-1: EDID block 0 invalid.
Jan 19 06:30:59 localhost kernel: [drm:radeon_dvi_detect] *ERROR* DVI-D-1: probed a monitor but no|invalid EDID
Jan 19 06:31:09 localhost kernel: [drm:drm_edid_block_valid] *ERROR* EDID checksum is invalid, remainder is 3
Jan 19 06:31:09 localhost kernel: [drm:drm_edid_block_valid] *ERROR* Raw EDID:
Jan 19 06:31:09 localhost kernel:
Jan 19 06:31:09 localhost kernel: [drm:drm_edid_block_valid] *ERROR* EDID checksum is invalid, remainder is 8
Jan 19 06:31:09 localhost kernel: [drm:drm_edid_block_valid] *ERROR* Raw EDID:
Jan 19 06:31:09 localhost kernel:
Jan 19 06:31:09 localhost kernel: [drm:drm_edid_block_valid] *ERROR* EDID checksum is invalid, remainder is 7
Jan 19 06:31:09 localhost kernel: [drm:drm_edid_block_valid] *ERROR* Raw EDID:
Jan 19 06:31:09 localhost kernel:
Jan 19 06:31:09 localhost kernel: [drm:drm_edid_block_valid] *ERROR* EDID checksum is invalid, remainder is 6
Jan 19 06:31:09 localhost kernel: [drm:drm_edid_block_valid] *ERROR* Raw EDID:
Jan 19 06:31:09 localhost kernel:
Jan 19 06:31:09 localhost kernel: radeon 0000:01:05.0: DVI-D-1: EDID block 0 invalid.
Jan 19 06:31:09 localhost kernel: [drm:radeon_dvi_detect] *ERROR* DVI-D-1: probed a monitor but no|invalid EDID
Jan 19 06:31:19 localhost kernel: [drm:drm_edid_block_valid] *ERROR* EDID checksum is invalid, remainder is 3
Jan 19 06:31:19 localhost kernel: [drm:drm_edid_block_valid] *ERROR* Raw EDID:
Jan 19 06:31:19 localhost kernel:
Jan 19 06:31:20 localhost kernel: [drm:drm_edid_block_valid] *ERROR* EDID checksum is invalid, remainder is 21
Jan 19 06:31:20 localhost kernel: [drm:drm_edid_block_valid] *ERROR* Raw EDID:
Jan 19 06:31:20 localhost kernel:
Jan 19 06:31:20 localhost kernel: [drm:drm_edid_block_valid] *ERROR* EDID checksum is invalid, remainder is 3
Jan 19 06:31:20 localhost kernel: [drm:drm_edid_block_valid] *ERROR* Raw EDID:
Jan 19 06:31:20 localhost kernel:
Jan 19 06:31:20 localhost kernel: [drm:drm_edid_block_valid] *ERROR* EDID checksum is invalid, remainder is 3
Jan 19 06:31:20 localhost kernel: [drm:drm_edid_block_valid] *ERROR* Raw EDID:
Jan 19 06:31:20 localhost kernel:
Jan 19 06:31:20 localhost kernel: radeon 0000:01:05.0: DVI-D-1: EDID block 0 invalid.
Jan 19 06:31:20 localhost kernel: [drm:radeon_dvi_detect] *ERROR* DVI-D-1: probed a monitor but no|invalid EDID

Re: SonyEriccson MD300 Mobile Broadband

PostPosted: Jan 19th, '12, 16:36
by doktor5000
Well, only the flash storage part is recognized, and it is not getting automatically switched.
Looking at http://www.draisberghof.de/usb_modeswit ... erence.txt
it should be supported. Can you please run the following command as root after plugging in the dongle:
Code: Select all
usb_modeswitch -c /usr/share/usb_modeswitch/0fce\:d0cf

and please post the output here.

Re: SonyEriccson MD300 Mobile Broadband

PostPosted: Jan 19th, '12, 17:59
by primesuspect
Thanks for looking at this - much appreciated. Here is the output you requested:

Code: Select all
[live@localhost ~]$ su
[root@localhost live]#     usb_modeswitch -c /usr/share/usb_modeswitch/0fce\:d0cf

Looking for target devices ...
 No devices in target mode or class found
Looking for default devices ...
 Found devices in default mode, class or configuration (1)
Accessing device 004 on bus 001 ...
Getting the current device configuration ...
 OK, got current device configuration (1)
Ambiguous Class/InterfaceClass: 0x02/0x08
Using endpoints 0x05 (out) and 0x85 (in)
Using endpoints 0x05 (out) and 0x85 (in)
Inquiring device details; driver will be detached ...
Looking for active driver ...
 OK, driver found ("dummy")
 Warning: driver is not usb-storage
 OK, driver "dummy" detached

SCSI inquiry data (for identification)
-------------------------
  Vendor String: SEMC
   Model String: MMC Flash Card
Revision String:    0
-------------------------

USB description data (for identification)
-------------------------
Manufacturer: Sony Ericsson
     Product: Sony Ericsson MD300
  Serial No.: 3534460206761590
-------------------------
Only detaching storage driver for switching ...
 Any driver was already detached for inquiry
Changing configuration to 3 ...
 OK, configuration set
Getting the current device configuration ...
 OK, got current device configuration (3)
The configuration was set successfully

Checking for mode switch (max. 20 times, once per second) ...
 Searching for target devices ...
 Searching for target devices ...
 Searching for target devices ...
 Searching for target devices ...
 Searching for target devices ...
 Searching for target devices ...
 Searching for target devices ...
 Searching for target devices ...
 Searching for target devices ...
 Searching for target devices ...
 Searching for target devices ...
 Searching for target devices ...
 Searching for target devices ...
 Searching for target devices ...
 Searching for target devices ...
 Searching for target devices ...
 Searching for target devices ...
 Searching for target devices ...
 Searching for target devices ...
 Searching for target devices ...
 No new devices in target mode or class found

Mode switch has failed. Bye.

[root@localhost live]#


At least I can understand the message at the end :D

Re: SonyEriccson MD300 Mobile Broadband

PostPosted: Jan 20th, '12, 11:08
by doktor5000
Ok, could you please try to follow the instructions at http://www.draisberghof.de/usb_modeswitch/#trouble
(the part about enabling logging, and then repeating the commmand given previously, after unplugging the dongle or rebooting to have a clean environment)
and then attach the created logfile here or post the contents?

Re: SonyEriccson MD300 Mobile Broadband

PostPosted: Jan 20th, '12, 11:57
by primesuspect
Is this possible using the live CD? I can see the usb_modeswitch folder but it is empty. When I try to open the file /etc/usb_modeswitch.conf in terminal it says permission denied?

Re: SonyEriccson MD300 Mobile Broadband

PostPosted: Jan 20th, '12, 14:00
by doktor5000
You need to edit it as root. In a terminal you need to switch to root, you do this via
Code: Select all
su -

then you need to type your password (but it doesn't get displayed) and then edit it via your favorite editor.
And it should be possible via a livecd, yes.

Re: SonyEriccson MD300 Mobile Broadband

PostPosted: Jan 20th, '12, 14:39
by primesuspect
I tried this with a combination of what I thought might be the password but it doesn't seem to work. I've tried searching for the live CD password and can't find anything.

Re: SonyEriccson MD300 Mobile Broadband

PostPosted: Jan 20th, '12, 15:16
by doktor5000
The livecd root password is an empty password, just press enter. Not used livecd's in a long time,
and i don't have one easily available, so i had to ask someone for that.

Re: SonyEriccson MD300 Mobile Broadband

PostPosted: Jan 20th, '12, 15:45
by primesuspect
Now I'm getting "no such file or directory".

I really do appreciate your efforts but I think I'll leave this here. It's just too confusing and time consuming trying to make something work that I already have running perfectly in another system.

Thank you again.

Re: SonyEriccson MD300 Mobile Broadband

PostPosted: Jan 20th, '12, 15:48
by doktor5000
If you post such output, please always post the output you get AND the command you used, otherwise we can't really tell what went wrong.
It would be really nice to know why it doesn't work, as you say that modem is rather widespread where you come from, and it should be
supported. So it should also be made working for others who may want to use this.

Re: SonyEriccson MD300 Mobile Broadband

PostPosted: Jan 23rd, '12, 03:03
by Davetesc
This problem isn't specific tomageia or any distro, searh the ubuntu forums for help, took me ages to get anywhere but a udev rules change sort of fixes it.
This fix seems to cure dongle problem ??????????????
This is a quick copy of the post that worked for me. I didn't write this so won't take credit. :roll:


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