hoobs-org / hoobsd

Server component for the certified HOOBS smart home stack.
GNU General Public License v3.0
8 stars 4 forks source link

ARM v6 Unsupported #61

Closed 21Development closed 3 years ago

21Development commented 3 years ago

HOOBS v4.0.23 (link from Beta email) flashed to a 32GB card via balenaEtcher inserted into Raspberry Pi B+ connected via RJ45

Pi boots, resizes partition then restarts Displays login prompt with 127.0.0.1 as one of the options to connect, a few seconds later it refreshes with the 192.x IP address its assigned.

After a minute or so get Stopped/Started messages as per screenshot, then hangs at "Update UTMP about System Runlevel Changes.."

Browsing to the 192 IP address gives a refused to connect error in Chrome. I can ping the IP.

HOOBS 4 0 23

Left for about 45 mins, then rebooted. This time stops at the "hoobs login: " prompt - I can SSH into it but still cannot access via a web browser.

I have tried reflashing the card and got the exact same results.

21Development commented 3 years ago

I see there are later versions available, how can I update / get the latest version? (hoobe-latest.zip was downloaded from the link in the beta email I received which contains hoobs-4.0.23.img - the file dates inside are all 7th May 2021).

mkellsy commented 3 years ago

4.0.23 is the current image version. HOOBSD is managed by APT. Currently at version 4.0.59. The two versions are separate. I was tired of having to make a new image for every tiny hotfix.

From dmesg is looks like the pi is not getting internet. It needs internet to set the timezone.

Note: This may or may not help. I have 1 pi that does this when I placed my it right next to my access point. I moved it about 2 feet away and it started working. I ran some tests on the WiFi signal, and the signal decreases the closer I get to the access point. However this only happens when the pi is in a metal Argon or Flirc case. Plastic cases do not do this.

mkellsy commented 3 years ago

I just ran the testing routine on 4.0.23 and it is working.

You can access the UI from:

Your pi is not stuck at a UTMP, it says OK. There is just nothing else to show. The login prompt does not show again. If you can't access the UI, try accessing Helm:

But what's concerning me is that the services are not starting. You may have a bad flash or a bad SD Card. Try re-flashing the image. Try re-downloading it too:

21Development commented 3 years ago

The Pi is connected via cable rather than wifi and I get consistent 20ms pings and can SSH to it and it updates to a 192.168.1.60 IP from my DHCP server when it's booted, so appears to have access to the network/Internet.

I've reflashed the card four times, it verify's okay each time after writing the image using balenaEtcher and does the same thing each time on 1st boot and subsequent boots.

For reference, I've just inserted my original mSD card (v3.x) and during boot that also fails to start "Timezone Update Service" but that HOOBS been working okay for the last year or so.

I've just downloaded https://repo.hoobs.org/image/hoobs-v4.0.23.zip and flashed to a different 8GB microSD card and will update shortly.

21Development commented 3 years ago

The 8GB card was different, this time I got repeats of the below every 3-4 seconds

[ OK ] Stopped HOOBSD [ OK ] Started HOOBSD [ OK ] Stopped HOOBSD [ OK ] Started HOOBSD [ OK ] Stopped Helm [ OK ] Started Helm

...

ending with

[ OK ] Started Daily apt upgrade and clean activities

At no point did it show the yellow loading screen at http://192.168.1.60 and after leaving it for 20 mins, still was unable to access the UI so rebooted.

Upon re-start I get the "hoobs login:" prompt, I can ping the pi but am unable to access it via Chrome or Safari at hoobs.local / 192.168.1.60 using port 80 or 9090

@mkellsy Any ideas on what to try next?

mkellsy commented 3 years ago

SSH into the device and run this

sudo journalctl -o cat -n 500 -f -u hoobsd.service

Should look something like this

Started HOOBSD.
Initializing HAP-NodeJS v0.9.4...

Also can you run this to check the architeture.

uname -a

Should be

Linux hoobs 5.10.17-v7l+ #1414 SMP Fri Apr 30 13:20:47 BST 2021 armv7l GNU/Linux

And check Node.

node -v

Should be

v14.16.1

Note: This image is built for armv7l, which is Pi 3B, 3B+, and 4B.

21Development commented 3 years ago

The journalctl command gives this multiple times

hoobsd.service: Main process exited, code=killed, status=4/ILL hoobsd.service: Failed with result 'signal'. hoobsd.service: Service RestartSec=3s expired, scheduling restart. hoobsd.service: Scheduled restart job, restart counter is at 586.

hoobs@hoobs:~ $ uname -a Linux hoobs 5.10.17+ #1414 Fri Apr 30 13:16:27 BST 2021 armv6l GNU/Linux

This is a Raspberry Pi B+ as stated in original message, is this the reason? Is there a version for this Pi?

hoobs@hoobs:~` $ node -v Illegal instruction

mkellsy commented 3 years ago

HOOBS 4 is compiled with the current armv7l architecture. It will not run on armv6l. The pi you are using is too old.

21Development commented 3 years ago

@askovi The current version of HOOBS supports both architectures, is the official answer that HOOBS is no longer supporting the millions of "Raspberry Pi 1B, 2B and Zero W" devices with version 4?? - Is there some functionality in v4 that requires more powerful processing? Requires Wifi? or are you just looking to reduce your development costs? - At the very least you should add in a check at the start to prevent future customers expericing the same issues.

For reference, the Pi I am using is more than capable of running Raspian and Homebridge... your underlying systems.

mkellsy commented 3 years ago

Node stopped officially supporting armv6l. You can still build Node for armv6l or find an unsupported binary and manually install.

Unfortunately we needed a managed solution for Node. Since armv6l is not supported, we had to drop it as well.

21Development commented 3 years ago

Node lowered it's support level for Armv6 two years ago (March 2019) but is still updated here https://unofficial-builds.nodejs.org/download/release/ and you have continued to release v3.x versions of HOOBS since then.

If your company drops support for hardware without notice (theres no mention of it on the beta email, your website or checks in your code), sounds like I should drop HOOBS and use the original https://github.com/homebridge/homebridge-raspbian-image (which fixes some of the bugs in v3.3.3) or use the opportunity to see what else is out there now.

mkellsy commented 3 years ago

You are welcome to install Node manually using the unofficial builds. However, we moved to apt-get install nodejs using the Nodesource repos, which doesn't support armv6l (armel). This makes upgrading easy for 99+% of our user base. Upgrading Node has been a pain point for our mainstream users and we needed to solve this problem.

HOOBS 4 includes Node upgrades in the UI now thanks to APT and the Nodesource repos. We have had massive positive feedback on this. I do understand that writing software is a game of balance, you win some and loose some.

We didn't make this decision lightly. I even thought of adding Node to our apt repo, which we may still do in the future. As of this beta release, we are focused on our code and not maintaining a Node APT repository that contains ARM v6.