Archive:Bahn Freifunk
bahn.freifunk.net Release status: experimental [box doku] | |
---|---|
Description | Free WiFi for all ICE passengers |
Author(s) | Severin |
Download | https://github.com/tiefpunkt/bahnfreifunk |
The Deutsche Bahn offers free WiFi for first-class passengers in their ICE trains. Let's share some love, and make that available to everyone.
How To
ATTENTION: THIS IS VERY MUCH ALPHA STATUS
How to set up your very own Bahn Freifunk node:
Get the hardware
Get a TP-LINK TP-MR3020 and a LOGILINK WL0151, the only harware this has ever been tested on.
If you want to try other hardware, read the README first.
Download and install the firmware
Download the firmware here: [1]
Then, connect to your MR3020, login to the webinterface, and use the "Update Firmware" function to get the firmware on your device
Note: If you already have OpenWRT running on the device, please use the sysupgrade version of the firmware, which you can find here: [2]
Post Installation
Now that you have installed the Bahn Freifunk Firmware on your device, you need to do at least one thing to secure it: set a root password. Unfortunately, this is still a little bit complicated.
- Power up your Bahn Freifunk node
- Connect to the bahn.freifunk.net wifi (or use a cable)
- Open a terminal on your PC (or the Windows Comandline, if your on Windows)
- Type in "telnet 192.168.1.1". This will initiate a telnet connection to your node. You should see a linux command prompt.
- Run "passwd" in that command prompt, and enter your new root password twice.
- Use "exit" to close the connection
Usage
Now get a first class ticket, hop on an ICE train, take a seat in first class, but as close to second class as possible, and plugin your Bahn Freifunk node. Everything else should happen automatically. Connect to the "bahn.freifunk.net" WiFi network and check whether it all works.
The HotSpot
The WiFi is operated by T-Mobile (SSID: Telekom_ICE), and their hotspots still require to click a few buttons to get online. Luckily, that can be automated.
Since both the first and second class WiFi share the same SSID, we first need to find out, where we are. This can be done like so:
curl -X POST -d '{"location":{},"user":{},"session":{},"partnerRegRequest":{}}' --header "Content-Type: application/json;charset=utf-8" https://hotspot.t-mobile.net/wlan/rest/contentapi
The reply in first class looks like this:
{ "location":{ "locationString":{ "country":"DE", "provider":"TMD", "venueType":"ForFree", "venue":"DB_First", "city":"On-Train", "hotspotId":"DE_DB0221" }, "features":{ "partnerRegRequired":false, "fmapEnabled":true, "rememberMeEnabled":true, "discounts":{ "supported":true, "enabledByMonitoring":true, "fastTrackSupported":true }, "businessModel":{ "paid":{ "vouchers":{ "PASS_86400_0_EUR":{ "serviceID":402, "type":"PASS", "provider":"TMD", "limitation":{ "duration":86400, "volume":0, "speedStepDown":false }, "price":4.95, "currency":"EUR", "paymentType":[ "clickandbuy", "kreditkarte", "mobile_aperto", "paypal" ] }, "PASS_604800_0_EUR":{ "serviceID":403, "type":"PASS", "provider":"TMD", "limitation":{ "duration":604800, "volume":0, "speedStepDown":false }, "price":19.95, "currency":"EUR", "paymentType":[ "clickandbuy", "kreditkarte", "mobile_aperto", "paypal" ] }, "PASS_2592000_0_EUR":{ "serviceID":405, "type":"PASS", "provider":"TMD", "limitation":{ "duration":2592000, "volume":0, "speedStepDown":false }, "price":29.95, "currency":"EUR", "paymentType":[ "clickandbuy", "kreditkarte", "mobile_aperto", "paypal" ] } } }, "forFree":{ "limitation":{ "duration":0, "speedStepDown":false } } } } }, "user":{ "wlanLoginStatus":"offline" }, "session":{ "direction":0, "speedSteppedDown":false, "loggedInWithFmapVoucher":false }, "partnerRegRequest":{ "status":"forbidden" }, "general":{ "previewMode":false, "allowTestCreditcards":false } }
The "venueType":"ForFree" and "venue":"DB_First" seem to be some good indicators.
We can then login as follows
curl -X POST -d '{"location":{},"user":{},"session":{},"partnerRegRequest":{}}' --header "Content-Type: application/json;charset=utf-8" https://hotspot.t-mobile.net/wlan/rest/freeLogin
Reply:
{"user":{"wlanLoginStatus":"online"},"session":{"limitation":{"duration":0,"volume":0,"speedStepDown":false}, "loginTime":"15:05","clockInitialValue":0,"direction":1,"remainingVolume":0,"speedSteppedDown":false, "businessModel":"forFree","accountType":"FLAT","loggedInWithFmapVoucher":false}}
And we're online :)
Hardware
The idea is to get an OpenWRT router, add a second WiFi dongle, code some magic firmware on it, and we're good to go.
Router
The TPLINK TL-MR3020 seems to be a good candidate. Will order one in the next reichelt order.
Another candidate for a router: https://wiki.openwrt.org/toh/unbranded/a5-v11 -> ordered 2
Dongle
Will try out a few:
- https://www.reichelt.de/WLAN-Adapter/LOGILINK-WL0151/3/index.html?&ACTION=3&LA=2&ARTICLE=138192&GROUPID=5839&artnr=LOGILINK+WL0151 (RT5370)
- https://www.reichelt.de/WLAN-Adapter/LOGILINK-WL0084B/3/index.html?&ACTION=3&LA=2&ARTICLE=120745&GROUPID=5839&artnr=LOGILINK+WL0084B (RT5370)
- Something from AliExpress again: http://www.aliexpress.com/item/100-Original-RTL8188-Mini-150Mbps-USB-Wireless-Network-Card-WiFi-LAN-Adapter-Antenna/1902217209.html (RT5370 chipset)
Firmware
- Will be OpenWRT
- Custom scripts to get online (as described above)
- Tutorial on configuring the WiFi dongle: http://www.andrewklau.com/openwrt-and-a-4-usb-wifi-adapter/