802.11 Jungle

My WIFI enabled Geocache

Similar projects worth following
An email triggered waypoint for a mystery cache.

Because I have to archive the cache, I decided to share the technical setup of its field puzzle.

You can find the original cache description here: (German only)

Your task was to find the release month of the first public WIFI hotspot in Linz/AT.

The answer could be used as part of an email address. Sending an email to the correct address will broadcast a temporary SSID at the original cache location. The SSID contains the coordinates of the final cache location.

  • 1 × Gmail Account
  • 1 × OpenWRT Router TP-Link TL-WDR4300

  • 4) - some additional notes

    sehaas01/19/2018 at 22:55 0 comments


    At the Geocache location you can find at least 30 different wireless networks from the surrounding apartments. Surprisingly all of the networks are encrypted with WPA2 - except the public hotspot provided by the city of Linz.

    The 2.4GHz spectrum is really packed. On the contrary, you barely find 5GHz networks outdoors. Even inside my apartment, I could find a lot of overlapping networks in the 2.4GHz band. I think the 5GHz is more suitable for populous areas, where nearly everyone has his own wireless router. The walls shield most of the 5GHz signals, so you don't run into any interference problems of overlapping channels.

    The router

    The TP-Link router was located inside of our living room on the 4th floor. The signal was strong enough, that you could read the network name from the sidewalk. I could observe that some Geocachers were inspecting a nearby streetlight - maybe they thought the signal came from there ;)

    Long SSIDs

    A SSID can contain up to 32 octets. Some older devices had problems with the length of the SSID. These weren't technical problems, but their displays where too small, so the people could not read the full coordinates.

  • 3) - Toggle the WIFI

    sehaas01/19/2018 at 21:33 0 comments

    With OpenWRT you can manage your router configuration with the tool uci (Unified Configuration Interface).

    I created an additional interface where the SSID contains the final coordinates of the Geocache. This interface is protected with WPA2 with an random passphrase and is not linked to the rest of the network. Nobody needs to establish a connection. You only have to find the name of the WIFI.

    # toggle interface #2
    uci set wireless.@wifi-iface[2].disabled="$1"
    # save changes
    uci commit wireless
    # restart wireless interface

    Toggling and restarting the wireless interface stales all wireless connections for a fraction of a second. But most of the times the effect isn't even noticeable.

  • 2) - Checking for new emails

    sehaas01/19/2018 at 19:31 0 comments

    While I was looking for a lightweight solution the check for new mail, I came across the Gmail Inbox Feed. This is an Atom feed of your inbox which can also be filtered by your labels. Obviously you have to be logged into your account to use this feature or provide your credentials for each request. The certificate check is disabled, because the router has no list of valid certificate authorities.

    curl -k -s -u "${email}:${password}" "${label}/"

    The periodic checking is happening on a TP-Link router running OpenWRT triggered by a cronjob. Although the limited resources of the router, the Atom feed can easily be processed by curl, grep, sed and awk.

    If a new message appears, an additional SSID gets enabled. The broadcast gets stopped again by atd after 10 minutes.

    The script also takes care if multiple emails arrive during the broadcasting and refreshes the lifetime (pending shutdowns request get queried with atq and removed by atrm).

  • 1) - Setting up the automated response

    sehaas01/19/2018 at 19:18 0 comments

    By using the trick of plus addressing a single Gmail account can take care of correct and incorrect answers. Each incoming mail will be rewarded by a feedback mail.

    The standard auto-response / vacation responder was not sufficient. To send two different responses, I used the Mail Labs feature "Canned Responses"...

    ...and saved two different response drafts.

    An email addressed to the correct recipient (containing the proper date after the plus) will be labeled with "richtig" (German for "correct"). The sender gets the matching canned response and the mail gets forwarded to my address. So I get notified when someone is in front of our building and is looking for the cache ;)

View all 4 project logs

Enjoy this project?



Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates