Ubuntu distribution based on 16.04 Xenial for Linksys WRT3200ACM router.
Currently testing 18.01-beta.
Rootfs
Rootfs (mirror)
Firmware
Firmware (mirror)
Some big changes on the way.
18.01-beta Changelog:
- Reverted back to 16.04 Xenial for LTS.
- Implemented DSA switch.
- Fixed interface configurations. Now booting takes only seconds.
- Back to mainline kernel. Current version is 4.14.13.
- Implemented ValCher1961's region free patch, so you can now set your region properly.
If you find any issues with this release, please open an issue.
Ubuntu distribution based on 17.04 Zesty for Linksys WRT3200ACM router.
Current version is UbuntuWRT 17.10.1.
Patched hostapd and wpa_supplicant have been included in the latest ROOTFS and they have been packaged and pushed to the new UbuntuWRT repository! If you have an older UbuntuWRT release, see "3.7. Adding UbuntuWRT repository".
This project intends to keep an updated distribution of Ubuntu for the Linksys WRT3200ACM wireless router.
- Chrooted BIND9 DNS server for local network with Dynamic DNS enabled.
- ISC-DHCP-Server.
- SQM-scripts for traffic shapping. Check sample configuration in /etc/sqm. Kernel has been compiled with CAKE support.
- Adblock and other helper scripts.
- hostapd 2.6 and wpa_supplicant 2.6 with KRACK vulnerability fix.
- mwlwifi 10.3.4.0-20170810 at commit 466368f.
First, download the ROOTFS:
ubuntu-wrt_zesty_17.10.1.tar.bz2
ubuntu-wrt_zesty_17.10.1.tar.bz2 (mirror)
Extract the archive to an ext4 formatted USB thumb. Preferably, opt for a USB 3.0 thumb, since it will improve the system's performance considerably over USB 2.0.
Get the firmware image:
wrt3200acm_4.10.17-40.44-0.bin
wrt3200acm_4.10.17-40.44-0.bin (mirror)
Flash it to your router as you would with any other firmware image, according to your current firmware (stock, OpenWRT/LEDE, DD-WRT, etc.).
Plug in the ROOTFS USB thumb after flashing, start your router and enjoy!
In it's first boot, the router will finish some tasks (like generating SSH keys) and reboot, so give it at least 3 minutes.
The default wireless configuration is:
- 2.4GHz SSID: UbuntuWRT_2.4GHz
- 5GHz SSID: UbuntuWRT_5GHz
Both networks are open, so you should set the password right away.
The default login:
- Hostname: ubuntuwrt
- Domain: local
- User: root
- Password: admin
You can setup your router as you would with an Ubuntu headless server.
There are a couple helper scripts in "/scripts", which will help you setup a PPPoE connection and/or enable the Marvell DSA switch.
Files you might want to check out:
- /etc/network/interfaces
- /etc/hostapd/wlan0.conf and /etc/hostapd/wlan1.conf
- /etc/dhcp/dhcpd.conf
To enable DFS channels, be sure to edit the REGDOMAIN in "/etc/default/crda" and change it in hostapd config ("/etc/hostpad").
Updates are now easily pushed through the new UbuntuWRT repository, which is already included in APT's sources.list in the latest ROOTFS.
When updates are available, they will be pushed to the repository as the "linux-modules" package which is already installed in the latest ROOTFS and contains all kernel modules and firmware image. The update will verify that you are updating "linux-modules" in a WRT3200ACM router and proceed with flashing the firmware.
The repository contains updates and some packages compiled specifically for the WRT3200ACM router.
If you have an older release, you can add the UbuntuWRT repository to get the latest updates and packages curated for the WRT3200ACM router.
Important! Keep in mind that this repository's packages are built with the latest UbuntuWRT in mind and they are only tested on that system, so there's no guarantee that they will work properly if you install on older releases.
# Adding UbuntuWRT repository to APT's sources.list
echo "deb http:https://wrt.hinrichs.io/ubuntu zesty main" >> /etc/apt/sources.list
# Get the repository key
wget -qO - https://wrt.hinrichs.io/downloads/ubuntuwrt.key | apt-key add -
# Update lists
apt-get update
You can compile your own kernel and create the rootfs yourself. To acomplish this, you need to get the ubuntu kernel for the desired distribution, clone this repository, and merge this repository's ubuntu-xenial/ubuntu-zesty folder according to the distro you chose, with the kernel's.
For the rootfs, create a CHROOT environment out of the desired port of Ubuntu and install/build all necesary software. You can also choose to use UbuntuWRT repository too, following the instrucionts on "3.7. Adding UbuntuWRT repository".
- Updated kernel to 4.10.17-40.44-0.
- Updated mwlwifi to commit 466368f.
- Changed network configuration to properly set eth1 MAC from script.
- Minor fixes to some configuration files.
- New UbuntuWRT repository. Already configured in latest ROOTFS.
- Now curated packages for the WRT3200ACM are provided directly through the UbuntuWRT repository.
- Upgraded base system to Ubuntu Zesty 17.04.
- Minor bug fixes and configuration changes.
- Updated mwlwifi firmware to version 9.3.8.
- Added adblock.sh script.
- Fixed several configuration issues.
- Minor bug fixes.
- OpenSSH generates ssh keys on first boot.
- Changed naming scheme.
- Removed Webmin.
- Fixed several configuration files and removed obsolete files.
- Added chroot to BIND9.
- Added Dynamic DNS for name resolving.
- Upgrade base system to Ubuntu 17.10 Artful Aardvark.
- Start a wiki.
- This works on WRT3200ACM. No tests have been done on any other Linksys' WRT routers.
- Must compile hostapd-2.6 and wpa_supplicant-2.6 for rootfs. * (git:https://w1.fi/srv/git/hostap.git)
- To be able to use sch_cake, iproute2 with cake support needs to be compiled. * (git:https://kau.toke.dk/cake/iproute2)
* Packages available through UbuntuWRT repository.
Linksys WRT1900AC, WRT1900ACS, WRT1200AC and WRT3200ACM Router Debian Implementation