Replies: 3 comments 8 replies
-
|
Had a session with ChatGPT reproduced below in part. I am going to flash Bookworm, try running njs PC et al on Bookworm & report back. If Chatgpt is correct, it sounds like some code changes may be needed to suport newer Pi OS versions (such as Trixie, in my case). Just trying to close the loop... 📌 Quick summary Run: cat /etc/os-release If you paste the output here, I’ll confirm it for you and tell you exactly what to do next. michael@nixie:~ $ cat /etc/os-release There it is — this explains everything clearly: VERSION="13 (trixie)" You’re on: Raspbian 13 (Trixie) This is newer than Bookworm and even more strict about GPIO. 🚨 Why your GPIO is failing In Trixie: ❌ /sys/class/gpio (sysfs GPIO) is effectively dead Your app depends on: onoff → sysfs GPIO 👉 That stack is no longer supported at all on your OS. 🧠 Translation in plain terms Install: Raspberry Pi OS Lite (Bullseye / version 11) This will: Restore /sys/class/gpio Replace: onoff With: gpiod (modern, matches your OS) 👉 This is the correct long-term solution, but requires code changes. 🥉 Option 3 — Try to re-enable sysfs (not recommended) On Trixie, this is basically gone. Even if you try: sudo modprobe gpio_sysfs 👉 It will not fix your issue 🔥 Recommendation (based on your use case) Since you’re running a pool relay controller (stability matters more than being cutting-edge): 👉 Go with: ✅ Raspberry Pi OS Lite (Bullseye) Headless ✔ 👉 Your error is 100% caused by running Trixie (Debian 13) |
Beta Was this translation helpful? Give feedback.
-
|
I'll be happy to give it a test drive & get back to you. (It may be a day
or two before I can test the changes.)
Are the updates in the default repository? If not, please let me know
where to get them. Do I need to pull all three programs or just REM?
Should I install 32 or 64 bit Trixie or does it not matter? (I'm currently
running 32 bit on a 3B+.)
Thanks for your swift code changes!!
…On Wed, Mar 25, 2026, 11:50 PM tagyoureit ***@***.***> wrote:
I did push up a few changes to support Trixie. But someone will need to
test it out one day.
—
Reply to this email directly, view it on GitHub
<#1165?email_source=notifications&email_token=AJ3NIBHEHQZTPTZ47Y2GJP34SSZIFA5CNFSNUABIM5UWIORPF5TWS5BNNB2WEL2ENFZWG5LTONUW63SDN5WW2ZLOOQXTCNRTGIYTAOJUUZZGKYLTN5XKMYLVORUG64VFMV3GK3TUVRTG633UMVZF6Y3MNFRWW#discussioncomment-16321094>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AJ3NIBASTCIORKHI73JHKMT4SSZIFAVCNFSM6AAAAACW4PTZBKVHI2DSMVQWIX3LMV43URDJONRXK43TNFXW4Q3PNVWWK3TUHMYTMMZSGEYDSNA>
.
You are receiving this because you authored the thread.Message ID:
<tagyoureit/nodejs-poolController/repo-discussions/1165/comments/16321094@
github.com>
|
Beta Was this translation helpful? Give feedback.
-
|
Wow! Interesting. I did a fresh pull of everything on a fresh Trixie
64 bit lite, didn't re-use configurations or anything from previous
incarnations (rebuilt the world from scratch), njsPC 8.4.0, dashPanel
8.5.0, & REM 8.3.0. Pulled node 20 to build the system. Got the errors
posted above. Went back to Bookworm & didn't have issues.
…On 4/14/26 10:22 AM, Thomas Pfarr wrote:
I've been running Trixie since it came out and got
RelayEquipmentManager 8.3 working by cloning a fresh copy (not doing a
pull from a previous version) and had no trouble with 64 bit Trixie on
both a PI5 and a Pi Zero 2W. Been running for months now with no
issues. Just opened the pool on April 3rd.
—
Reply to this email directly, view it on GitHub
<#1165 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AJ3NIBHEBSLEJLNKN6P6DET4VZJSNAVCNFSM6AAAAACW4PTZBKVHI2DSMVQWIX3LMV43URDJONRXK43TNFXW4Q3PNVWWK3TUHMYTMNJVHA3DEMQ>.
You are receiving this because you authored the thread.Message ID:
***@***.***>
|
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
I have been trying to get REM to successfully start for several days with minmal success. As you can see in the screen snippet below, I'm running npm 10.8.2 and node 20.20.1. Whether or not I do an "npm audit fix" (not with a --force switch), it appears at first the server starts up & is listening, and then REM has errors, dies, tries to restart & repeats the process until I finally kill the process (if it's started with PM2).
There seems to be some issue with the GpioController.initPin, but I have no idea what may be causiing it or how to remedy the problem.
Please help!
Thank you!!!!
michael@nixie:
/relayEquipmentManager $ npm -v/relayEquipmentManager $ node -v10.8.2
michael@nixie:
v20.20.1
michael@nixie:~/relayEquipmentManager $ npm i
up to date, audited 429 packages in 6s
96 packages are looking for funding
run
npm fundfor details2 high severity vulnerabilities
To address all issues (including breaking changes), run:
npm audit fix --force
Run
npm auditfor details.michael@nixie:~/relayEquipmentManager $ npm start
linux
[23/03/2026, 13:26:46] info: Starting up SSDP server
[23/03/2026, 13:26:46] info: GPIO interface is accessible via onoff module
[23/03/2026, 13:26:46] info: Initializing GPIO Pins 1
[23/03/2026, 13:26:46] info: Configuring Pin #32 Gpio #12:low on Header 1 Edge: none. {"activeLow":false,"reconfigureDirection":false}
[23/03/2026, 13:26:47] info: Server is now listening on 0.0.0.0:8080
Error: EINVAL: invalid argument, write
at Object.writeFileSync (node:fs:2380:20)
at exportGpio (/home/michael/relayEquipmentManager/node_modules/onoff/onoff.js:18:8)
at new Gpio (/home/michael/relayEquipmentManager/node_modules/onoff/onoff.js:172:36)
at GpioController.initPin (/home/michael/relayEquipmentManager/gpio/Gpio-Controller.ts:243:36)
at GpioController.initPins (/home/michael/relayEquipmentManager/gpio/Gpio-Controller.ts:282:28)
at GpioController.init (/home/michael/relayEquipmentManager/gpio/Gpio-Controller.ts:162:14)
at /home/michael/relayEquipmentManager/app.ts:22:45
at processTicksAndRejections (node:internal/process/task_queues:95:5)
michael@nixie:
/relayEquipmentManager $ i2cdetect -y 1/relayEquipmentManager $0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- 26 -- -- -- -- -- -- 2d -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- 48 -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- 62 63 -- -- -- -- -- -- 6a -- -- -- -- --
70: -- -- -- -- -- -- -- --
michael@nixie:
BTW, I just re-ran your suggested fix from last week, screen scrape below. No love, still the same error as above:
michael@nixie:
/relayEquipmentManager $ rm -rf node_modules dist/.npm/_cacache)npm cache verify
Cache verified and compressed (
Content verified: 1151 (110984700 bytes)
Content garbage-collected: 45 (28649809 bytes)
Index entries: 1151
Finished in 20.723s
michael@nixie:~/relayEquipmentManager $ npm ci
npm warn deprecated eslint-plugin-standard@5.0.0: standard 16.0.0 and eslint-config-standard 16.0.0 no longer require the eslint-plugin-standard package. You can remove it from your dependencies with 'npm rm eslint-plugin-standard'. More info here: standard/standard#1316
added 428 packages, and audited 429 packages in 1m
96 packages are looking for funding
run
npm fundfor details2 high severity vulnerabilities
To address all issues (including breaking changes), run:
npm audit fix --force
Run
npm auditfor details.michael@nixie:~/relayEquipmentManager $ npm ls node-ssdp ip
node -e "require('ip'); require('node-ssdp'); console.log('ip + node-ssdp OK')"
relay-equipment-manager@8.3.0 /home/michael/relayEquipmentManager
└─┬ node-ssdp@4.0.1
└── ip@1.1.9
ip + node-ssdp OK
michael@nixie:~/relayEquipmentManager $ npm run build
npm start
linux
[23/03/2026, 14:40:31] info: Starting up SSDP server
[23/03/2026, 14:40:32] info: GPIO interface is accessible via onoff module
[23/03/2026, 14:40:32] info: Initializing GPIO Pins 1
[23/03/2026, 14:40:32] info: Configuring Pin #32 Gpio #12:low on Header 1 Edge: none. {"activeLow":false,"reconfigureDirection":false}
[23/03/2026, 14:40:32] info: Server is now listening on 0.0.0.0:8080
Error: EINVAL: invalid argument, write
at Object.writeFileSync (node:fs:2380:20)
at exportGpio (/home/michael/relayEquipmentManager/node_modules/onoff/onoff.js:18:8)
at new Gpio (/home/michael/relayEquipmentManager/node_modules/onoff/onoff.js:172:36)
at GpioController.initPin (/home/michael/relayEquipmentManager/gpio/Gpio-Controller.ts:243:36)
at GpioController.initPins (/home/michael/relayEquipmentManager/gpio/Gpio-Controller.ts:282:28)
at GpioController.init (/home/michael/relayEquipmentManager/gpio/Gpio-Controller.ts:162:14)
at /home/michael/relayEquipmentManager/app.ts:22:45
at processTicksAndRejections (node:internal/process/task_queues:95:5)
michael@nixie:~/relayEquipmentManager $
Beta Was this translation helpful? Give feedback.
All reactions