Project Fi, ArchLinux, Thinkpad T470s

Project Fi, ArchLinux, Thinkpad T470s

April 19, 2017
Linux, Cellular, Networking
Archlinux

It has been a personal desire to have mobile broadband connectivity with a laptop and not have a requirement for peripherals like MiFi or PAM, for half a decade. When I first experienced using a Panasonic Toughbook it had a Qualcomm Gobi that was an insane challenge to get working in Linux. In every incantation of laptop acquisition I’ve made sure to option for LTE modem connectivity, however its typically marginalized by most manufactures as an edge requirement. Many times you’d have to consider a trade off between the best display offered and having an internal modem (due to antenna placement). When a modem was available, often there were idiosyncratic difficulties with getting it to work consistently. Typically it felt like you were having to coax the hardware into obtaining some magical state that would be difficult to consistently reproduce, which meant it wasn’t reliable for road warrior purposes.

Project Fi gets mentioned in almost every one of my travel posts because it has broken down a lot of barriers around the user experience for mobile connectivity. Users are able to go to, currently, over 135 and have coverage. Secondarily, Fi makes it incredibly easy to request a Data Only SIM, activate it, and place it in any device that can accept minimal parameters for coverage. It seemed like it would be entirely possible to get a Fi SIM working in a mainstream LTE modem after I’d seen this write-up.

Thinkpad T470s with LTE Modem #

The Thinkpad T470s is equipped with a Qualcomm Snapdragon X7 EM7455 mobile broadband card. If you followed my guide you’d end up with Gnome Shell as your desktop environment and NetworkManager as your abstraction to all of your network interface devices. To get NetworkManager to play nicely with your LTE modem you’ll want to install and enable ModemManager (which might also be capable of doing GPS):

pacman -S modemmanager

systemctl enable --now ModemManager.service

From what I can tell, this is all of the modifications to your system you need. In previous modems you’d have to set several module parameters and have other software dependencies to manage interaction to the device.

Project Fi with NetworkManager #

You can request a Data Only SIM via the manage section of the Fi interface. Your SIM will be mailed for free and will arrive within a credit card sized chassis. On the back of the card you will have a 16 digit alphanumeric identifier that you enter into their registration site. Once activated, you’ll be prompted for device, selecting other here gives you the only essential piece of information you’ll need, the APN, which is h2g2.

You then insert the SIM and create a profile. I find that nm-connection-editor is preferred for managing profiles because the Gnome Shell interface makes assumptions, like profile names, that sometimes lead to confusion. In nm-connection-editor you need to add a connection type of Mobile Broadband, then:

  • Select United States for your Provider Country or Region
  • Select I can’t find my provider… and enter whatever name you’d like, I chose Project Fi
  • Enter h2g2 for your APN
  • Select Apply

You’ll now see a new profile listed under Mobile Broadband. Select this and:

  • Give it a meaningful Connection Name
  • Select Allow roaming… as Fi often suggests turning on roaming to solve connectivity issues
  • Set IPv6 Settings to ignore (unless you want to use ipv6)

You should now be able to exit nm-connection-editor and select connect under the Mobile Broadband section in Gnome Shell. It appears that NetworkManager is trying to be helpful and won’t connect via the LTE modem until you’ve disconnected from both Ethernet and WiFi.

This works in multiple countries (tested in Iceland/Scotland/UK/Germany).