Lately, I’ve found attempting to do web development on a local environment without Internet access while travelling just doesn’t cut it anymore. This is especially true for long roadtrips. Rather than dealing with tethering or a mobile hotspot, I decided to spring for a Netgear AirCard 340u. For GSM networks in the US, it happens to be the best USB wireless broadband modem currently available. It supports everything from GPRS through LTE on what appears to be most of the bands AT&T and T-Mobile currently use (a true rarity, though I can not confirm support of LTE on band 2 (1900MHz PCS), I do get T-Mobile LTE in the Twin Cities).
Unfortunately, to get the AirCard 340u to work in Linux you must update the firmware on the device. Currently, Netgear does not have a firmware programming tool for any OS other than Windows 7. Thus, you will need a Windows 7 install to get the AirCard 340u to work in linux.
The AirCard 340u ships with a Windows 8 compatible firmware that is not compatible with Linux. Netgear provides a Linux compatible firmware patch that can be flashed to the device. Download and run the AC340 linux patch v4 utility to disable the Identity Morphing capability that fouls up Linux support. There is a catch, you must use Windows 7 to perform this update. You can update to the latest firmware using the AT&T/Netgear tools included in the device (just let it do all the updates). One rumored feature in the firmware update is access to more LTE bands (radio supports them, but supposedly, the earlier firmware versions had some bands disabled).
The AirCard 340u ships locked to AT&T SIM cards. I’m more of T-Mobile fan than AT&T fan, to use this device on T-Mobile’s network, you have to unlock it. There are two ways to go about this. Both require a computer with Windows 7.
The Cheaper Way
If you purchase the 340u off-contract from AT&T (at the time of writing the 340u was too new to be paid off via a contract), you can request a unlock code and use software provided by Netgear. For the ~160USD cost, this is the safest way to get an unlocked AirCard 340U, others are asking ~60USD for locked units on ebay and unlocked units are going for ~300USD on some 3rd party sites.
The Other Way
While the DMCA doesn’t exactly allow one to do this at the moment (for those in the US), DC-Unlocker fully supports the 340u, it will cost 10 Euros to purchase credits to unlock it. Note that you must be in Windows 7 for this to work, this is not documented anywhere.
In addition to the normal assortment of USB and networking drivers, you will need the qmi_wwan (USB_NET_QMI_WWAN, requires USB_USBNET) and qcserial (USB_SERIAL_QUALCOMM) drivers to use the AirCard 340u. These drivers exist in kernel version 3.14. I can confirm these drivers support the AirCard 340u on 3.14.8. Users of older kernels, be aware that the AirCard 340u wasn’t supported by very early versions of the qcserial driver.
Like many wireless devices, you will also need firmware for the device to start. Most Linux distros have this in the all-encompassing linux-firmware package. Additionally, since the AirCard 340u has a built in micro SD reader, you may want to install usb_modeswitch if while watching your logs the AirCard 340u doesn’t show up properly. I didn’t need this, but others have needed it.
In your userland you will likely want to use NetworkManager with ModemManager support. If you are compiling ModemManager, make sure you have qmi support enabled. Note, on Funtoo Linux I had issues allowing both qmi and qmi-newest with ModemManager 1.2.0-r1. If qmi-newest support was compiled into ModemManager, the device would be found but would refuse to connect.
For KDE users, you probably want to use the plasma-nm frontend for NetworkManager rather than the deprecated NetworkManagement frontend. NetworkManagement does not pick up on signal strength, network type/technology, or carrier name. Before you can connect, a ‘connection’ must be setup within NetworkManagment (or plasma-nm, though I’m not using that yet) by clicking “Add” in the “Mobile Broadband” tab in the Configure dialog and go through the Mobile Broadband Configuration wizard (for T-Mobile, select “default” for the your “plan”).
[end of transmission, stay tuned]