RASPBERRY PI WIFI ROUTER
Use your raspberry pi to provide wifi to your home! It can be a higher up-front investment than a normal router, but in the long-term your only expense should be buying new wifi adapters as new technologies come out.
I've been running my own wifi router for 2.5 years now. The first version was based on a beagleboard-xM and ran ArchLinux. But I find a Raspberry Pi with Raspbian to be much more stable.
- Raspberry Pi 2 Model B - $35
- You'll need a case and power supply for the Raspberry Pi as wel
- Alfa AWUS051NH for 2.5Ghz network - $50
- Alfa AWUS052NH for high speed 5Ghz network - $50
- Samsung 64GB PRO Class 10 Micro SDXC for super fast IO - $60
- Sabrent USB 3 hub HB-W4U3 - $25
- Short ethernet cable to connect to your cable modem
- Software: tmux, git, vim, hostapd, dnsmasq, nodejs, php5, nginx, vnstat, rtorrent
- Two wifi networks: 2.5Ghz and 5Ghz
- dnsmasq acts as DHCP server and local DNS cache so you can blackhole facebook or other domains easily
- iptables firewall rules allow incoming torrent connections, but blocks all other incoming traffic
- Ethernet port configured to use Google's nameservers, overriding your ISP's settings
Copy Rasbian image to you memory card
dd bs=4M if=./rasbian.img of=/dev/mmcblk0
Adjust the partitions on your card using GNU parted.
Copy this git repo to your memory card
Install memory card in your Raspberry Pi. Hook up a keyboard, monitor, USB hub and wifi adapters and boot it up!
Set up your locale and keyboard
sudo dpkg-reconfigure locales sudo dpkg-reconfigure keyboard-configuration
Update the software before you proceed.
sudo apt-get update sudo apt-get upgrade
Mount your home directory if you created another one during partitioning with parted.
sudo apt-get install ansible
Configure your wifi network names and passwords. Edit conf files in roles/main/templates/hostapd/.
Bootstrap! Tell ansible to use a local connection instead of trying SSH.
ansible-playbook ./playbook.yml -i hosts.local -c local
Success and profit?
- Use ansible vars for: hostname, wifi network names, wifi passwords,
dpkg-reconfigure locales en-US.UTF8
dpkg-reconfigure keyboard-configuration US 105 key
- manually mount home directory?
- make sure /home/pi is user id 1000?