892
edits
Line 32: | Line 32: | ||
== Curl method == | == Curl method == | ||
You may use the command line tool 'curl' on Linux and Mac OS X systems to send files to your router. For instance, | You may use the command line tool 'curl' on Linux and Mac OS X systems to send files to your router. For instance, to flash the firmware of the Asus R10+ router, using 'curl' instead of tftp, you can issue the following command: | ||
to flash the firmware of the Asus R10+ router, using 'curl' instead of tftp, you can issue the following command: | |||
$ curl -T openwrt-ramips-rt305x-rt-n10-plus-squashfs-sysupgrade.bin tftp://192.168.1.1 | $ curl -T openwrt-ramips-rt305x-rt-n10-plus-squashfs-sysupgrade.bin tftp://192.168.1.1 | ||
= OpenWRT configuration = | = OpenWRT configuration = | ||
Line 174: | Line 166: | ||
kmod-tun_3.3.8-1_<chipset>.ipk | kmod-tun_3.3.8-1_<chipset>.ipk | ||
libpthread_0.9.33.2-1_<chipset>.ipk | libpthread_0.9.33.2-1_<chipset>.ipk | ||
= Router-specific notes = | |||
== Asus RT-N10+ == | |||
This router has TFTP enabled out of the box. You _must_ set your computer's IP address on ethernet, | |||
however, to '192.168.1.15' in order to be able to use a command-line TFTP client. | |||
== Meraki mini == | |||
None of the methods on the openwrt wiki page worked, so I had to resort to using the serial console. | |||
*Open the router (two screws behind the sticker). | |||
*Connect a USB to 3.3v serial adapter to the serial pins. | |||
Serial pins with the antenna pointing away from you and the ethernet port pointing towards you, from left to right: | |||
1: 3.3v | |||
2: TX | |||
3: RX | |||
4: GND | |||
The router may either be using 9600 or 115200 baud. Other settings are 8N1 with software and hardware flow control turned off. | |||
Start minicom with e.g: | |||
minicom -o -D /dev/ttyUSB0 | |||
Then configure by hitting ctrl+a followed by an o. Use the arrow keys to select "Serial port setup" and adjust settings. When done, hit escape once or twice to exit the menu. Optionally you can choose to "Save setup as dfl" to save the settings for next time. | |||
When you plug in the router with the serial connected, you should see the following line: | |||
== Executing boot script in 2.000 seconds - enter ^C to abort | |||
Once you see that line, immediately hit ctrl+c. | |||
You will then get a RedBoot prompt like this: | |||
RedBoot> | |||
Leave that sitting in its window for a bit. You'll need it later. | |||
You will now need to set up a tftp server on your computer. | |||
Install the tftp server: | |||
sudo aptitude install tftpd-hpa | |||
Make sure it isn't running with default parameters: | |||
sudo /etc/init.d/tftpd-hpa stop | |||
Download openwrt: | |||
cd | |||
mkdir openwrt_for_meraki_mini | |||
cd openwrt_for_meraki_mini | |||
wget http://downloads.openwrt.org/attitude_adjustment/12.09/atheros/generic/openwrt-atheros-vmlinux.gz | |||
wget http://downloads.openwrt.org/attitude_adjustment/12.09/atheros/generic/openwrt-atheros-root.squashfs | |||
You may want to get a different version than attitude adjustment stable. Just make sure you get the two files ending in vmlinux.gz and root.squashfs, and make sure you get them for the atheros chipset. | |||
Ensure that NetworkManager is not managing your network card. The easiest temporary way of doing this is to stop NetworkManager: | |||
sudo /etc/init.d/network-manager stop | |||
Change the IP of your network card to 192.168.84.9: | |||
sudo ifconfig eth0 192.168.84.9 netmask 255.255.255.0 up | |||
cd into the directory where the .gz and .squashfs files are located, then start the tftp server: | |||
sudo in.tftpd -l -L -p --address 192.168.84.9 --secure ./ | |||
It doesn't tell you it's been started, it just sits there waiting. You can test that it's working using: | |||
curl tftp://192.168.84.9/openwrt-atheros-vmlinux.gz > /tmp/out.gz | |||
Which should download the .gz file to /tmp/out.gz | |||
Now, go back to the RedBoot console waiting for you in minicom: | |||
Execute the following commands, pressing y when asked questions. The "fis create" commands will take a long time to complete. | |||
RedBoot> ip_address -l 192.168.84.1 -h 192.168.84.9 | |||
RedBoot> fis init | |||
RedBoot> load -r -b 0x80041000 -m tftp -h 192.168.84.9 openwrt-atheros-vmlinux.gz | |||
RedBoot> fis create -r 0x80041000 -l 0x180000 -e 0x80041000 linux | |||
RedBoot> load -r -b 0x80041000 -m tftp -h 192.168.84.9 openwrt-atheros-root.squashfs | |||
RedBoot> fis create -r 0x80041000 -l 0x620000 rootfs | |||
RedBoot> fconfig -d boot_script_data | |||
fis load -d linux | |||
exec | |||
RedBoot> reset | |||
</pre> | |||
After the router resets, you should have OpenWRT running in the serial console. Change your IP address again: | |||
sudo ifconfig eth0 192.168.1.100 netmask 255.255.255.0 up | |||
Now you should be able to telnet into the meraki: | |||
telnet 192.168.1.1 | |||
If it worked: Hurray! | |||
When you're done, remember to re-enable network manager: | |||
sudo /etc/init.d/network-manager start |