OpenWrt/LEDE Node.js Packages : for Head (Development branch)
Note: support arches are aarch64, arm, x86_64
MIPS without hardware FPU no longer be supported
See LICENSE file.
Add the following line to feeds.conf or feeds.conf.default.
src-git node https://github.com/nxhack/openwrt-node-packages.git
./scripts/feeds update node rm ./package/feeds/packages/node rm ./package/feeds/packages/node-* ./scripts/feeds install -a -p node make defconfig
If you want a new module (native module) that requires a precompiled binary, please open the issue.
If you want to use with Chaos Calmer(15.05), see for-15.05 branch (End of life)
If you want to use with LEDE (17.01), see lede-17.01 branch (End of life)
If you want to use with 18.06, see openwrt-18.06 branch (End of life)
If you want to use with 19.07, see openwrt-19.07 branch (MIPS FPU EMULATOR support)
If you want to use with 21.02, see openwrt-21.02 branch (MIPS is no longer supported)
OpenSSL 1.0.x becomes EoL, OpenWrt-18.06 will not be supported. Python2 becomes EoL, node v8.x will not be supported.
On the host side, the following preparations are required.
V8 JIT code generates FP instruction. Node.js does not work without hardware FPU.
If you are running nodejs on the Atheros AR71xx/AR933x, MediaTek MT76x8, it will not work because there is no hardware FPU. ARM cores without vfp or neon (such as bcm53xx) will not work either.
Debugging Guide Nice to use Chrome DevTools.
Note: ICU currently supports only LITTLE ENDIAN.
If you use node-homebridge(node-hap-nodejs), please install mDNS package (umdns / avahi-dbus-daemon / mdnsresponder).
(1) Some OpenWrt / Lede images have built in dnscrypt-proxy package, which by default listening on 5353 port.
In that case, installed avahi-daemon will not start on ipv4 interface, only on ipv6 because ipv4 port is taken.
This will lead to strange issue: your homebrdge accessory will be visible in 'Home' app, but can't finish pairing.
To fix this, you have to stop and disable dnscrypt-proxy
Also, you have to enable: dbus and avahi-daemon services to start automatically, i.e for Lede:
/etc/init.d/dbus enable /etc/init.d/avahi-daemon enable
(2) avahi on home network
Please read this document. 'Why avahi and bonjour don't work on your home network'
IGMP-querier will solve your problem.
OpenWrt custom packages available: https://awesomeopensource.com/project/nxhack/openwrt-custom-packages
Or use swap.
node-authenticate-pam node-aws-crt node-bcryp node-bignum node-bluetooth-hci-socket node-bufferutil node-deasync node-ejdb2_node node-epoll node-expat node-ffi-napi (ffi-napi, ref-napi) node-fuse-bindings node-hid node-pty-prebuilt-multiarch node-i2c-bus node-leveldown node-megahash node-mdns node-net-ping (raw-socket) node-openzwave-shared node-pi-spi node-pty node-rpio node-serialport-bindings node-sleep node-spi-device node-sqlite3 node-statvfs node-ubus node-usb node-utf-8-validate node-zigbee2mqtt (@serialport/bindings,unix-dgram)
Other modules can be installed by 'npm install'.
See CONTRIBUTING.md file.