Sharing a custom build I've created for my own use:
- LEDE Reboot
- LuCI with https
- IPv6 and PPPoE
- MiniUPnP
- OpenVPN with mbed TLS
- QoS
- DDNS
- Wget with https
- Reghack (WiFi channels 12 and 13)
- Minified LuCI's CSS and JS
- Compiled with GCC 6.3
- Removed kernel debugging
- Nothing else has been touched. Basically, it is a 'make defconfig' + profile + the mentioned above
- Free ROM: 76 KB
- OpenVPN AES-128-CBC speed: 12Mbs/12Mbs (measured on v8 downloading ubuntu via a torrent)
Download firmware:
dropbox
Build script:
github
Supported devices:
tl-wr841n-v1.5
tl-wr841n-v3
tl-wr841n-v5
tl-wr841n-v7
tl-wr841n-v8
tl-wr841n-v9
tl-wr841n-v10
tl-wr841n-v11
Changelog:
2017-02-25
- r3218-bf53a83 (17.01 branch)
- Added https for LuCI
2017-01-31
- r3198-74ea99b
- Added DDNS
- Added libustream-mbedtls (https support for wget)
2016-12-25
- r2672-9998bc5
- Added QoS
- Upgraded mbed TLS from 1.x to 2.x
- Compiled with GCC 6.3 instead of 5.4
- Increased squashfs4 block size from 256 to 1024
- Disabled debugfs
- Enabled sstrip to further reduce the size
2016-12-04
- r2400-abedd71
- Initial release
How to achieve the same build with the 'menu makeconfig' interface:
1. rm .config .config.old
2. make defconfig
3. make menuconfig
(use space to select, make sure you see a star after a selection, not an M; use esc to go back)
_Target Profile - Multiple devices
_Target Devices - TP-Link TL-WR841N*
Enable:
_LuCI - Collections - luci-ssl
_LuCI - Applications - luci-app-upnp
_LuCI - Applications - luci-app-openvpn
_LuCI - Applications - luci-app-qos
_LuCI - Applications - luci-app-ddns
_Network - VPN - openvpn-mbedtls
_Advanced configuration options (for developers) - Toolchain options - GCC compiler Version - gcc 6.x
_Global build settings - Strip unnecessary exports from the kernel image, Strip unnecessary functions from libraries
_Target Images - squashfs - Block size - 1024
_Libraries - ibustream-mbedtls
Disable:
_Global build settings - Enable support for printk, Crash logging, Support for paging of anonymous memory (swap), Compile the kernel with debug filesystem enabled, Compile the kernel with symbol tables information, Compile the kernel with debug information, Compile the kernel with SysRq support, Enable printk timestamps
_Kernel modules - Wireless Drivers - kmod-ath9k - Support for Ubiquiti Unify Outdoor+
_Kernel modules - Wireless Drivers - kmod-mac80211 - Export mac80211 internals in DebugFS
_Kernel modules - Wireless Drivers - kmod-ath - Force Atheros drivers to respect the user's regdomain settings, Enable DFS support
_Kernel modules - USB - everything
FAQs:
The maximum transmit power shows as 18 dBm
Manually change txpower
to 20
in /etc/config/wireless
Afterwards, run wifi
to apply the change
Cron doesn't work
/etc/init.d/cron start
/etc/init.d/cron enable
Should I use QoS together with OpenVPN?
Only if you are ok with a speed of 8000 kbit/s instead of 12000 kbit/s without QoS
OpenVPN starts, but seems to do nothing
Try disabling crl_verify
OpenVPN complains that aes-128-cbc
or sha256
are not supported
Rename them to uppercase: AES-128-CBC
and SHA256