You can add a USB GPS receiver to the WiFi Pineapple Pager; this lets the Pager know where it is.

With a GPS, the Pager is able to collect access point locations and log them to a Wigle compatible file for uploading!

GPS devices

The WiFi Pineapple Pager supports nearly all USB serial GPS devices - in fact we have not yet found one readily available which is not supported - however not all devices are designed equally.

Much like Wi-Fi devices, what matters with a GPS is the radio inside, not the name on the plastic. Also much like Wi-Fi, different GPS receivers have different sensitivity and supported satellites.

The term GPS is technically misused - a more accurate term would by GNSS (Global Navigation Satellite System). There are multiple global positioning constellations operated by different nations. The satellites operated by the United States use the brand GPS, however other networks such as GLONASS, Galelio, and BeiDou are operated by Russia, the European Union, and China, respectively.

Some GPS receivers are able to combine signals from multiple operators - these tend to be able to obtain a position faster and more reliably than receivers which are only able to use one set of satellites.

Receivers we have found to be useful in testing include:

  • U-Blox M8030-KT. This receiver can be found in many readily available USB devices.
  • Quectel. This receiver can also be found in many USB devices.

These are by no means the only receivers available, nor the only ones which will work, however these receiver chipsets can be commonly found, and support multiple GNSS satellite types. In general when purchasing a USB serial receiver, check for:

  1. Advertised Linux support. While almost any should work, advertised support increases the odds.
  2. A listed receiver chip type. There are many, many clones on the market, and often when no receiver type is listed, it is the most basic version. Listing a receiver type helps identify the higher-end devices.
  3. Multiple constellation support. Whenever possible, select a device with GPS, GLONASS, Galelio, and BaiDou support.

Configuring GPS

GPS is configured via the UI under Settings > GPS:

GPS settings

GPS settings

You can also set the GPS using the command-line DuckyScript commands GPS_LIST and GPS_CONFIGURE.

Serial port

Supported GPS devices connect as a USB serial device. Typically these will be named ttyUSBx or ttyACMx depending on the serial converter chip the manufacturer used; unfortunately, these serial port numbers can change if the order that USB devices are plugged in changes.

To address this, the Pineapple Pager uses the USB device path to identify a serial device. This path is based on the physical hardware of the pager and USB hubs.

A GPS device connected to the USB-A port will typically appear as 1.1_1-1.1:1.0, indicating the USB bus and port. A GPS plugged into a hub plugged into the USB-A port may appear as a different path.

As nearly all users will have a single GPS unit, in almost all situations, only a single serial device will appear in the list!

Baud rate

Serial GPS units must have the proper speed setting for the serial port. Typically this is one of:

  • 4800
  • 9600
  • 115200

When in doubt, check the manual for your GPS receiver for the correct speed. Other speeds are possible, however rarely used.

After changing the GPS serial port or baud rate, choose Restart GPSd.

Testing GPS

Once the GPS has a lock, the GPS icon in the status bar will highlight, and the position data in Settings > GPS will reflect the current position.

Real-time information about the GPS unit including number of satellites and lock status can be viewed with the command-line tool cgps, either via ssh or in the terminal of the Virtual Pager.

Wigle and Wardriving

Wardriving (derived from wardialing, a once-popular method of finding exposed resources by calling every phone number in an area code and mapping where modems were found) is the hobby of collecting information about Wi-Fi networks.

Wigle is a world-wide central, public database of Wi-Fi position information collected by members, using tools like the official Wigle Android app, Kismet, or now, the WiFi Pineapple Pager.

With Wigle enabled via Recon > Settings, the Pager generates a Wigle-compatible log in /root/loot/wigle/. This can be downloaded via scp or sftp, or via the Virtual Pager Download Loot and uploaded to Wigle.

Wigle capture

Wigle capture

You can also use the command-line DuckyScript commands WIGLE_START and WIGLE_STOP to enable Wigle logging, and the commands WIGLE_LOGIN and WIGLE_UPLOAD to automatically log in to your Wigle account and upload logs.