Gobi Broadband Modems
This is a short tutorial on connecting to the internet using your gobi modem.
pacman -S usbutils
and then examine the output of
which will show the vendor and product IDs of the device.
For example, my HP un2430 modem:
Bus 001 Device 005: ID 03f0:371d Hewlett-Packard
As of linux-3.1.1-1 the device is detected by the qcserial module, if not, you're going to have to recompile the qcserial module with your added product and vendor id.
"gobi_loader is a firmware loader for Qualcomm Gobi USB chipsets. These devices appear in an uninitialised state when power is applied and require firmware to be loaded before they can be used as modems. gobi_loader adds a udev rule that will trigger loading of the firmware and make the modem usable." (http://www.codon.org.uk/~mjg59/gobi_loader/)
I installed gobi-loader from the AUR (http://aur.archlinux.org/packages.php?ID=30943)
After installation, you should enter your product and vendor id in the /lib/udev/rules.d/60-gobi.rules
The tricky part is obtaining the gobi firmware files. I used a Virtualbox Windows XP installation. The official HP un2430 driver wouldn't install since the BIOSVendor was set to something other than "Hewlett-Packard".
To change these fields follow the manual at the following link: http://www.virtualbox.org/manual/ch09.html#changedmi
After a succesfull install, you need to copy your amss.mbn and uqcn.mbn files to /lib/firmware/gobi
The full path to the firmware files looks like this:
You'll reach a directory which has numbered subdirectories, as far as I can tell the 6 is the default firmware files, the other ones correspond to different carriers. If in doubt, use the files in the 6 directory.
Then a simple reload of the qcserial module:
# rmmod qcserial # modprobe qcserial
- See main article: wvdial
The general procedure is to switch the device into modem mode, make sure the ttyUSB device(s) are recognized by the qcserial kernel module, and then to run wvdial to dial, connect and start pppd.
# pacman -S wvdial
The configuration file /etc/wvdial.conf will in general depend on (a) which device you have (b) which mobile network you are connecting to. A single wvdial.conf file can be defined with named sections to be usable with several USB modems and networks, should you need them.
Run (as root)
which will attempt to write /etc/wvdial.conf correctly. You will need to add the user, password and Access Point Name (APN). You can obtain these (i) from your network provider, (ii) from other users via published wvdial.confs, or (iii) by logging the USB tty traffic under another operating system (Sysinternals' Portmon).
My /etc/wvdial.conf looks like this:
[Dialer status] Init1 = AT+CPIN? Init2 = ATI Modem = /dev/ttyUSB1 [Dialer pin] Modem = /dev/ttyUSB1 Init1 = AT+CPIN=1234 [Dialer wwan] Init1 = ATZ Init2 = AT+CGDCONT=1,"IP","data.apn.com" Stupid Mode = yes Phone = *99***1# New PPPD = yes Modem = /dev/ttyUSB1 Username = XXXXXX Dial Command = ATDT Password = XXXXXX Baud = 460800
To simplify the procedure, I took my SIM card out and disabled the PIN so I don't have to run "wvdial pin" before connecting to the internet.
Often there will be several devices (at /dev/ttyUSB0, /dev/ttyUSB1, /dev/ttyUSB2 for example). If in doubt about which to use, try each of them in turn. Once the configuration files are prepared, the internet connection is established by running
$ wvdial <section>
The final wvdial command should start pppd and the obained IP address should be visible in the terminal output. At that point the internet connection should be live, which can be easily checked with a web browser or by pinging an external IP address.
USB 3G Modem
Allow users to dial with wvdial
Internet key Momo Design
3G and GPRS modems with pppd alone
Huawei E1550 3G modem