Gobi Broadband Modems - ArchWiki

Jump to content
From ArchWiki

From Wikipedia:

  Qualcomm Gobi is a family of embedded mobile broadband modem products by Qualcomm.

## Device identification

Install usbutils and then examine the output of

    $ lsusb

which will show the vendor and product IDs of the device.

For example, on a HP un2430 modem:

    Bus 001 Device 005: ID 03f0:371d Hewlett-Packard

The device is detected by the qcserial module, if not, you are going to have to recompile the qcserial module with your added product and vendor id.

Alternatively you can add the Product and Vendor ID by writing them into the `new_id` file (best both at the same time because most Gobi modules switch the Product ID when the Firmware is loaded). For example on a Gobi2K with the Vendor ID `04da` and the Product IDs `250e` (waiting for Firmware) and `250f` (firmware loaded)

    # echo "04da 250e" > /sys/bus/usb-serial/drivers/qcserial/new_id
    # echo "04da 250f" > /sys/bus/usb-serial/drivers/qcserial/new_id

note that this has to be repeated when you reload the qcserial module or reboot/shutdown.

## gobi_loader

From the developer GitHub page:

  gobi_loader is a firmware loader for Qualcomm Gobi USB chipsets. These devices appear in an uninitialized 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.

Install gobi-loaderAUR and gobi-firmwareAUR.

After installation, you should enter your product and vendor id in the `/lib/udev/rules.d/60-gobi.rules`

Then a simple reload of the qcserial module:

    # rmmod qcserial
    # modprobe qcserial

## Manage Connection in Network Manager

ModemManager is required for network manager to detect any mobile broadband devices.

This needs to be started/enabled. As soon as they are started the Mobile Broadband option will be available from the Network Manager Applet.

Make sure mobile-broadband-provider-info and nm-connection-editor are installed.

To use this quite old modem, you need to blacklist qmi_wwan and cdc_wdm modules from loading into [modern] Linux kernel. Else, if these modules are loaded, ModemManager recognizes this modem as something new with QMI interface, and then complains about too small versions of some QMI services. Source

## Connection

### wvdial

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.

Install wvdial. The configuration file `/etc/wvdial.conf` will in general depend on which device you have and which mobile network you are connecting to. A single `wvdial.conf` can be defined with named sections to be usable with several USB modems and networks, should you need them.

Run:

    # wvdialconf

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 from your network provider, from other users via published `wvdial.confs`, or by logging the USB tty traffic under another operating system (e.g. Sysinternals' Portmon).

An example of `/etc/wvdial.conf` looks like this:

    /etc/wvdial.conf

    [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, one can take the SIM card out and disable the PIN so `wvdial pin` is not needed 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 obtained 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.

## See also

- USB 3G Modem
- Allow users to dial with wvdial
- Idea netsetter(Huawei EG162G)
- ZTE MF636
- 3G and GPRS modems with pppd alone
- Huawei E1550 3G modem

Category:

- Modems