Comment 13 for bug 991680

Revision history for this message
Graham Aiken (gjaiken) wrote :

It seems many people using more recent editions of Ubuntu and its ofshoot Linux Mint (LM) are reporting problems achieving mobile broadband connections with older Huawei modems. This is despite these modems working well in previous Ubuntu and LM editions. I believe that many of these problems may be due to a bug in the ModemManager Huawei plugin.

I have a Huawei modem branded as an E160E but the 'lsusb' command gives the following specifications:
'Bus 001 Device 006: ID 12d1:1003 Huawei Technologies Co., Ltd. E220 HSDPA Modem / E230/E270/E870 HSDPA/HSUPA Modem'

The modem functioned perfectly well in Ubuntu 10.10 and LM 10 but I have had problems connecting in more recent Ubuntu and LM editions, including the latest Ubuntu 12.04 and LM 13. Sometimes after various "fiddles" including plugging and unplugging the modem a number of times, it is recognised by network manager and it may be possible to set up a connection and actually connect. But the work involved to achieve this is really not acceptable.

After plugging in the modem, there is a partial system "freeze" for a couple of minutes, during which programs may run spasmodically and it is only possible to type intermittently in a terminal. Finally issuing a 'dmesg' command indicates that the modem is disconnected.

After trying various recommended solutions, I came up with following:

1. Backup the file '/usr/lib/ModemManager/libmm-plugin-huawei.so' and replace it with the same file from Ubuntu 10.10 (or LM10). You could get this by running the live CD from one of these editions.

After plugging in the modem, there is no more system freeze and issuing a 'dmesg' command indicates that the modem is attached to ttyUSB0 and ttyUSB1.

2. Setup an internet connection using 'sudo pppconfig'.

(a) My connection doesn't need a username or password but pppconfig requires some input for these so I simply inserted the word 'blank' for both.
(b) I specified ttyUSB0 as the modem port.
(c) After writing the configuration files and exiting, edit the /etc/chatscripts/provider file to insert line:
  OK 'AT+CGDCONT=1,"IP","<YOUR APN>"'

Here is my /etc/chatscripts/provider file as an example:

# This chatfile was generated by pppconfig 2.3.18.
# Please do not delete any of the comments. Pppconfig needs them.
#
# ispauth PAP
# abortstring
ABORT BUSY ABORT 'NO CARRIER' ABORT VOICE ABORT 'NO DIALTONE' ABORT 'NO DIAL TONE' ABORT 'NO ANSWER' ABORT DELAYED
# modeminit
'' ATZ
# ispnumber
OK 'AT+CGDCONT=1,"IP","preconnect"'
OK-AT-OK "ATDT*99#"
# ispconnect
CONNECT \d\c
# prelogin

# ispname
# isppassword
# postlogin

# end of pppconfig stuff

3. Connect with 'sudo pon' and disconnect with 'sudo poff'.

Whilst I have found this solution works well, my modem is still not recognised by network manager (? a separate issue). However I have found that a connection is achieved faster using 'pon' than is usual with network manager.