This is the first of a series of posts about Linux kernel development for ARM. There will be one or two more posts before we get into the Kernel, describing tasks as building, and configuring OpenWRT. Maybe I'll also write about de-bricking devices if I manage to do something silly with my router. :-)
What I like about the Buffalo WZR-1750DHP are the specs and the case without external antennas. It has a dual core ARM CPU with 512MB of RAM, and two wifi adapters: One for 2.4GHz and other for 5GHz.
I was expecting that to install OpenWRT in a device like the WZR-1750DHP, it would require to find and use a serial port. Luckily that's not necessary. All the procedure was done over friendly web interfaces.
As the router do not allow to install random firmware images, there are some workarounds to install OpenWRT. The steps I used are:
1 - Install and upgrade DD-WRT
- Download the latest versions of the files factory-to-dd-wrt.bin and buffalo-wzr-1750dhp-webflash.bin from: ftp://ftp.dd-wrt.com/betas/2015/02-24-2015-r26348/buffalo_wzr-1750dhp/ As the directories names are build dates, you can browse the directories to see if there is a newer version available.
- Update the firmware to the file factory-to-dd-wrt.bin using the web interface of the router. Be patient as this process takes some time.
- Now your router is running DD-WRT. Using DD-WRT web interface update the firmware to the file buffalo-wzr-1750dhp-webflash.bin. Be patient as this process takes some time.
2 - Install OpenWRT
- Download the latest version of the file openwrt-bcm53xx-bcm4708-buffalo-wzr-1750dhp-squashfs.trx from http://wiki.openwrt.org/toh/buffalo/wzr-1750dhp
- Using DD-WRT web interface update the firmware to the file openwrt-bcm53xx-bcm4708-buffalo-wzr-1750dhp-squashfs.trx. Be patient as this process takes some time.
3 - Connect to OpenWRT
- OpenWRT is beautifully simple, with a similar spirit of Arch Linux. This means that by default there is no web interface, and the wifi is disabled. So the first connection is made trough telnet over one of the Ethernet LAN ports. Probably you will be good with: $ telnet 192.168.1.1
- Configure a root password with passwd: $ passwd
- Exit telnet and login again with ssh.