How to configure Huawei E220 in Linux
This article is obsoleted by the following article
Ubuntu 9.10
I first started using my Huawei E220 HSDPA modem in Ubuntu 7.10 (Gutsy Gibbon). While there were some problems with it at first, it was somehow fixed later on, and I've been using it without issues until I upgraded to Ubuntu 9.10. The kernel seems to have problems with the USB mass storage device, where it alternatingly detect the Huawei E220 modem as a modem and as a storage, but not both at the same time. This is a problem because when it is detected as a storage device, it can't be used as a modem, thus can't be used to connect to the internet. The following kernel log might better explain this;
usb 6-1: new full speed USB device using uhci_hcd and address 5 usb 6-1: configuration #1 chosen from 1 choice Initializing USB Mass Storage driver... scsi13 : SCSI emulation for USB Mass Storage devices usbcore: registered new interface driver usb-storage USB Mass Storage support registered. usb 6-1: USB disconnect, address 5 usb 6-1: new full speed USB device using uhci_hcd and address 6 usb 6-1: configuration #1 chosen from 1 choice option 6-1:1.0: GSM modem (1-port) converter detected usb 6-1: GSM modem (1-port) converter now attached to ttyUSB0 option 6-1:1.1: GSM modem (1-port) converter detected usb 6-1: GSM modem (1-port) converter now attached to ttyUSB1 scsi14 : SCSI emulation for USB Mass Storage devices scsi 14:0:0:0: CD-ROM HUAWEI Mass Storage 2.31 PQ: 0 ANSI: 2 sr1: scsi-1 drive sr 14:0:0:0: Attached scsi generic sg2 type 5 sr: Sense Key : No Sense [current] sr: Add. Sense: No additional sense information sr: Sense Key : No Sense [current] sr: Add. Sense: No additional sense information sr: Add. Sense: No additional sense information option1 ttyUSB0: GSM modem (1-port) converter now disconnected from ttyUSB0 option 6-1:1.0: device disconnected option1 ttyUSB1: GSM modem (1-port) converter now disconnected from ttyUSB1 option 6-1:1.1: device disconnected usb 6-1: reset full speed USB device using uhci_hcd and address 6 option 6-1:1.1: GSM modem (1-port) converter detected usb 6-1: GSM modem (1-port) converter now attached to ttyUSB0 option 6-1:1.0: GSM modem (1-port) converter detected usb 6-1: GSM modem (1-port) converter now attached to ttyUSB1 option1 ttyUSB1: GSM modem (1-port) converter now disconnected from ttyUSB1 option 6-1:1.0: device disconnected option1 ttyUSB0: GSM modem (1-port) converter now disconnected from ttyUSB0 option 6-1:1.1: device disconnected usb 6-1: reset full speed USB device using uhci_hcd and address 6 usb 6-1: USB disconnect, address 6
What I do to temporarily fix (it's just a workaround actually, not really a fix) is to run the following command at the console, before plugging in the modem to the USB slot;
$ watch -n1 sudo rmmod usb-storage
This would remove the usb_storage module and would make the device not detected as a USB storage device. From here, I can connect to the internet using the Network Manager's Mobile Broadband as I normally would.
p/s: Do note that this would make the system unable to detect any USB storage devices such as your thumb drives till the rmmod command is killed.