Making It Easy
NetworkManager makes it easy to connect to mobile broadband/3G networks, supporting Internet connections to both GSM-based (including UMTS and HSPA) and CDMA-based (including 1xRTT and EVDO) cellular networks. In most cases, setup simply requires picking your detected device from the UI applet's menu, and you'll be guided through a short wizard to set up and necessary details for your mobile operator. If you have a phone that uses Bluetooth PAN, it's even easier. Bluetooth DUN support will come with NetworkManager 0.8.1 in late 2009.
Supported Devices
The following mobile broadband devices are known to successfully make data connections with both NetworkManager 0.7.x and NetworkManager 0.8/ModemManager. Not all devices support all functionality; many devices use proprietary protocols that have not been reverse engineered (Sierra, Novatel, Qualcomm) and thus will not be able to report signal strength, SMS receipt, or roaming status while connected. GSM modems are generally more open in this respect and have a much greater change of exposing the full functionality of the device.
If you don't find your device here, chances are it will at least be able to connect to the cellular network. CDMA devices (oddly enough) have a better chance as they are simpler and more standards-conformant than GSM-based devices.
GSM
- Sony Ericsson TM506
Sierra Wireless AirCard 850 (use recent firmware for best results)
Sierra Wireless AirCard 860 (use recent firmware for best results)
Sierra Wireless AirCard 875 (use recent firmware for best results)
Sierra Wireless AirCard 881 (use recent firmware for best results)
- Sierra Wireless MC8775 / HP hs2300 (PCI-E minicard)
Sierra Wireless / AT&T USBConnect Mercury
- Qualcomm Gobi 1000 / HP un2400 / UNDP (PCI-E minicard)
- Novatel Merlin XU870 / Dell Wireless 5510
- BUSlink SCWi275u
- Option iCON 452
- Option iCON 225
- Option iCON 322
- Option GT MAX 3.6
- Option iCON 7.2 (iCON 201)
- Ericsson F3507g / Dell Wireless 5530 (PCI-E minicard)
- Ericsson F3607gw (PCI-E minicard)
- ZTE MF627
- Huawei E160G
- Huawei E220
CDMA
- LG PM-325
Sierra Wireless AirCard 580
- Sierra Wireless MC5725 (PCI-E minicard)
- Novatel Merlin S720 (Sprint)
- Novatel Ovation U727
- Qualcomm Gobi 1000 / HP un2400 / UNDP (PCI-E minicard)
- Huawei EC121 (Reliance India)
- Huawei EC168C (Reliance India)
- Pantech PC-5740 (Verizon, Sprint, Alltel)
- Kyocera KPC680 (Verizon)
Blackberry
At this time, USB-connected Blackberry devices are not supported due to their use of a completely non-standard serial protocol. In the future we hope to enable these devices via a ModemManager plugin using libberry. They may work correctly in NetworkManager 0.8.1 when Bluetooth DUN support is added, as Blackberry Bluetooth DUN functionality allows AT-compatible communication.
Windows Mobile
Most recent Windows Mobile devices will work correctly if using Internet Connection Sharing on the phone to provide a private network via USB ethernet. NetworkManager will detect these devices as USB ethernet and by default perform a DHCP request.
Nokia Phones
Be sure to select "PC Suite" mode on the phone when plugging the USB cable in as this mode provides an AT-compatible serial connection to NetworkManager. A common mistake is to place the phone in "Storage" mode.
Why Doesn't My Device Show Up?
Integrated Driver CDs
Many devices show up as a CD-ROM drive when first plugged in, and require a small helper to reset the device into the modem mode that NetworkManager can use. This is not the responsibility of NetworkManager itself, and is normally accomplished in a cleaner manner either in the kernel itself, or via small udev helper scripts that reset the modem in vendor-dependent ways.
Huawei
Most Huawei devices are handled automatically by the kernel. If the 'option' driver which handles Huawei devices lacks the USB IDs of your device, the correct solution is to add those IDs to the kernel driver by submitting a patch to your distribution's bugzilla or Linux Kernel Mailing List. If your device is not yet recognized, you can eject the fake driver CD with usb_modeswitch, and bind the generic usbserial driver manually to the device (see below).
Option
Option devices require usb_modeswitch to eject the fake driver CD.
ZTE
A simple "eject" on the CD device (ie, /dev/sr1) is sufficient to reset the devices to modem mode, but this can also be accomplished automatically with usb_modeswitch.
No Driver
If the device is new enough, often it's USB IDs will not have been added to the appropriate kernel driver. You may need to use usb_modeswitch to eject the fake driver CD first. For many devices, the generic usbserial driver can control the modem, albeit with lower performance as the generic usbserial driver is not built for high speed communication. Determine the USB IDs of your device with the 'lsusb' tool, they will be in the format of <vendor>:<device> and it should be pretty clear which one is the mobile broadband card. Then you can bind the usbserial driver to your device with "modprobe usbserial vendor=<vendor> product=<device>" where of course <vendor> and <product> are the IDs you got from 'lsusb'. If you are using NetworkManager 0.7, see the section below about device probing. If you are using NetworkManager 0.8, NM should then discover your device after 5 - 10 seconds.
I have a driver, but NetworkManager doesn't find my device
NetworkManager probes modems automatically to determine their capabilities. NetworkManager 0.7.x only probes known mobile broadband drivers to avoid interfering with non-3G serial devices. That does *not* include the generic usbserial driver, because it most often drives non-3G devices. To probe modems that are driven by usbserial with NetworkManager 0.7.x, edit the /lib/udev/rules.d/77-nm-probe-modem-capabilities.rules file and change the line:
DRIVERS=="option|sierra|hso|cdc_acm|qcserial|moto-modem", GOTO="probe"
to
DRIVERS=="option|sierra|hso|cdc_acm|qcserial|moto-modem|usbserial_generic", GOTO="probe"
and replug your modem. NetworkManager should then see it. If that still does not allow NetworkManager to find your modem, your modem may not yet be supported. Please file a bug and report the 'lsusb' output and other details of your device.
VirtualBox
If you are using NetworkManager 0.7.x and have VirtualBox installed, and you have manually added an entry to /etc/fstab to mount usbfs over /sys/bus/usb, you need to remove that fstab entry because it's wrong and no longer needed with recent VirtualBox releases. Mounting usbfs in that location breaks the standard sysfs directory stucture that HAL and NetworkManager depend on, and will result in your modem not being found by NetworkManager. NetworkManager 0.8 and ModemManager should not have this problem, because they use udev (not HAL) for device discovery.
