Skip to content
Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.

Donate for Corifeus / P3X Contact Corifeus / P3X Corifeus @ Facebook Build Status Uptime Robot ratio (30 days)

OpenWrt with latest NodeJs for Linksys WRT


The main reason is to be able to use the latest NodeJs for Linksys WRT (the default NodeJs is old) and the crypto accelerator.

Also, a docker container with all the firmwares and packages are in /build/source/bin @

For building, for Docker, the host should be Debian, as I had issues with building on Ubuntu host and Docker Debian container.


The default UPnP is using (about since OpenWrt v18) IGDV2 which is not compatible with consoles and Windows, so, installed UPnP IGDV1 in the firmware. So, now, all consoles are working with UPnP.

Crypto accelerator

Since OpenWrt 19, the crypto accelerator is enabled by default.

You can verify

Not enabled:

root@hawk:~# openssl engine -t -c
(dynamic) Dynamic engine loading support
     [ unavailable ]


root@hawk:~# openssl engine -t -c
(dynamic) Dynamic engine loading support
     [ unavailable ]
(devcrypto) /dev/crypto engine
 [DES-CBC, DES-EDE3-CBC, AES-128-CBC, AES-192-CBC, AES-256-CBC, AES-128-ECB, AES-192-ECB, AES-256-ECB]
     [ available ]

European version

If you have a 3rd Radio and you have the European version of WRT and have a 3rd radio, to get it to work on DFS/Radar, create this file:


with this content:

mwifiex reg_alpha2=FR

Then, set all radio 1 and 2 to be FR as well and the DTS/Radar perfectly works.


There are at least about 7500 packages built for Linksys WRT.

  • Enabled Apache HTTP2
  • Enabled NGINX HTTP2
  • NodeJs latest version and many pre-built packages (including binaries)

See what is in create from scratch.

Routers pre-built

If you want to install right away with LUCI:

The release

  • Linksys WRT1900ACS / Linksys WRT3200ACM / Linksys WRT32X
    • For Linksys the firmwares that start with insomnia worth trying, because you can use latest NodeJs.
    • or specific version eg.
      • If you get the error The uploaded image file does not contain a supported format. Make sure that you choose the generic image format for your platform., you have to do it via SSH with sysupgrade -F FIRMWARE, then it works.
      • If you have a bricked firmware, you need a USB-TTL. Linksys USB-TTL.
      • Error code: 18005
        • When trying to install a firmware image, I get the following error:
          • Error code: 18005, Upgrade unsuccessfully because the version of the upgraded file was incorrect. Please check the file name.
        • Solution: Rename the firmware image to something short, like e.g. factory.bin

If you want some of the packages


Linksys WRT or compatible alike mvebu / arm 9 (arm_cortex-a9_vfpv3)

What is very useful is (many NodeJs built packages as well as binary builds):

src/gz openwrt_node

The rest, you can find on OpenWrt as well, so you do not need it:

src/gz openwrt_core
src/gz openwrt_base
src/gz openwrt_luci
src/gz openwrt_packages
src/gz openwrt_routing
src/gz openwrt_telephony


If you do not want to have the hassle, there are multiple solutions below.

If you use an insomnia firmware, then you are done, but if you want one or more feeds from a non insomnia firmware, your router still needs a verified signature.

If you just use one or a few feeds non insomnia firmware, your router needs a signature

You can enable foreign keys from this directory: to


Option 2

The easiest solution I know is via LUCI :

In the Configuration tab, comment like this:
#option check_signature 1

Option 3 manual with SSH

You can also set it up via SSH as:

root@digi:~# cat /etc/opkg.conf
dest root /
dest ram /tmp
lists_dir ext /var/opkg-lists
option overlay_root /overlay
#option check_signature 1

Just edit there, nano is installed, just comment the option check_signature 1 as it shows above.

Ext-root issue

Based on the OpenWrt forum discussions, after sysupgrade, the ext-root has to be re-built, no other solution.

Wifi and WPS Issue

It is only working, if only these are built in the firmware: hostapd-common wpad-mini, nothing other like that. If not, it will not work. WPS info.



Docker CE

For your workstation you don't really NodeJs, but my Travis, Scrutinizer and my auto generated web sites are required...

This is a OpenWrt Docker builder and a living Docker repo as well, ready to build, a lot already built. (A big image / full firmware, the most important packages are built. Ready to use.)

Changing the firmware pre-built, so the build will be fast!!!

All the latest stable OpenWrt versions.

  • docker pull patrikx3/openwrt-insomnia:linksys-wrt
  • RAW
    • docker pull patrikx3/openwrt-insomnia:latest

You run them, but these here, the built is in:, all the built packages and firmwares in /build/source/bin, you move to a host, install the firmware and you are done, because in the insomnia firmwares there is a lot in, but this is the default, so you need to change your own hostname here: at Configuration tab. If you do not want to build at all you can choose to your host

All built packages and firmwares including the insomnia firmwares are in /build/source/bin.

README about how I build the firmwares in order

My repos

Linksys WRT Radar Detection

Tested on WRT1900ACSv2 and WRT3200ACM, works.



How I built these Dockers via these links


Docker commands


Create packages, not neeed anymore

My first package

Create from scratch


Copy configs


Firmware sizes




Packages and patches


Linksys WRT 3200ACM 160 Mhz


Linksys USB-TTL


Linksys WRT 3200ACM / WRT32X

For some reason it needs this:

# based on this
echo "except-interface=eth1.2" >> /etc/dnsmasq.conf

🙏 This is an open-source project. Star this repository, if you like it, or even donate to maintain the servers and the development. Thank you so much!

Possible, this server, rarely, is down, please, hang on for 15-30 minutes and the server will be back up.

All my domains ( and could have minor errors, since I am developing in my free time. However, it is usually stable.

Note about versioning: Versions are cut in Major.Minor.Patch schema. Major is always the current year. Minor is either 4 (January - June) or 10 (July - December). Patch is incremental by every build. If there is a breaking change, it should be noted in the readme.

P3X-OPENWRT-INSOMNIA Build v2021.10.101

Donate for Corifeus / P3X Contact Corifeus / P3X Like Corifeus @ Facebook

P3X Sponsor

IntelliJ - The most intelligent Java IDE