Creating a 3G hotspot with the Raspberry Pi
Conclusion
With the on-board capabilities of a Raspberry Pi, a USB WiFi dongle, and a USB UMTS stick, you can just about make a fully functioning 3G router. The interface might not be elegant, but you won't have to deal with the limitations that ordinarily come with firmware for standard hardware. The project presented here is, of course, not the last word on what is possible. For example, the administration interface should be secured with a password, and a capability for sending and receiving SMS messages would be nice. Technically, this would not be a difficult undertaking, but it does yield subject matter for a future article.
The system could also be modified according to personal taste. For example, the simple proxy server Polipo [14], available as a Raspbian package, decreases the transfer volume by caching data that is called more than once. On the other hand, you can use the Rasp Pi router as a mobile secure server or as a web server on your local network. If you replace the UMTS stick with a second WiFi dongle, the entire system becomes a WiFi repeater or a WiFi router that provides a private network for guests.
Infos
- "Router as a Mini-Server" by Bernhard Bablok, Linux Pro Magazine, issue 152, July 2013, pg. 38, http://www.linuxpromagazine.com/Issues/2013/152/Router-as-a-Mini-Server
- Edimax EW-7811Un: http://www.edimax.com/edimax/merchandise/merchandise_detail/data/edimax/global/wireless_adapters_n150/ew-7811un
- APNchangeR: http://wiki.apnchanger.org/Main_Page
- vnStat: http://humdi.net/vnstat
- CanYouSeeMe.org: http://www.canyouseeme.org
- Debian firewall wiki: https://wiki.debian.org/DebianFirewall
- Bananian: https://www.bananian.org
- Compiling Hostapd using Realtek sources: http://forum.lemaker.org/thread-13017-1-3-setting_up_wlan0_as_an_access_point_in_bpi_r1.html
- The Linux kernel module and Hostap for the Realtek RTL8192CU: http://www.realtek.com/downloads/downloadsView.aspx?Langid=1&PNid=48&PFid=48&Level=5&Conn=4&DownTypeID=3&GetDown=false&Downloads=true#RTL8192CU
- JAWS: https://play.google.com/store/apps/details?id=is.pinterjann.jaws
- phpSysInfo: http://phpsysinfo.github.io/phpsysinfo
- PHP front end for vnStat: http://www.sqweek.com/sqweek/files/vnstat_php_frontend-1.5.1.tar.gz
- The author's 3G hotspot project on GitHub: https://github.com/bablokb/rpihotspot
- Polipo caching web proxy: http://www.pps.univ-paris-diderot.fr/~jch/software/polipo/
Buy this article as PDF
(incl. VAT)