benoitg / vyacht-firmware

GNU General Public License v2.0
0 stars 0 forks source link

Port to openwrt 19.07 #1

Open benoitg opened 4 years ago

benoitg commented 4 years ago

OK, @hughespat57, this is for you. See the release section, I ported what I could to openwrt's 19.07 branch, and built the firmware. This binary is completely untested as my vyacht is currently frozen at the boat.

@PeterFromSweden , @cwensley this may also be of interest.

This is based on vyacht 1.3.16, tagged on Jun 15, 2016. Sadly, the code for firmware after that (the current is 1.3.31) was never pushed.

It does use a more recent custom vyacht gpsd, as committed on Nov 7, 2017. On the vyacht web page, it states that Version 1.3.30 was released (2017, Oct 20), so it may well be up to date.

It is sadly unknown if the releases between 1.3.16 and 1.3.31 included any non gpsd changes.

I bought my vyacht 2018-04-30, and it came with 1.3.31­

I hope this will eventually be useful.

hughespat57 commented 4 years ago

Thanks I bought my vyacht in Feb 2017 was running 1.3.30 before I attempted upgrade I have been testing it on the bench mostly, the boat had other issues being rebuilt. background: I have access to the console port I soldered on some pins so I can monitor boot process. FYI if you brick these you can use a USB with a bin re-named as "8dev_recovery.bin" and it will load. It reboots immediately afterwards and it will reload again, again, if not watching the console to pull the USB stick after the load completes. Auto boot can be disabled from the console (carefully, messing with boot loader features.) So I am willing to try anything with confidence I can always recover. I load your bin, it boots clean and openwrt is good, but contains nothing related to vYacht, just standard files. So may have to check your make process. I run OpenCPN on a Linux Mint system. So I am also setting up a build system myself. I'm no coder so I am going to try another tack. I used SCP to create a full file backup of my original before I attempted my upgrade. I am going to try and use the precompiled binaries to create stand alone package for vyacht. If I can identify all the binaries, most are obvious in vyacht folders, he used two custom fonts of his own, and the modified gpsd, know of any other custom modules? This wont help with coding fixes, but it may provide a way to re-install 1.3.30 after an OpenWrt version upgrade.

benoitg commented 4 years ago

Humm, I am really pretty sure the vyacht packages are included in the image i built. Can you check in the luci software list that vy-init and gpsd packages are really completely missing? (They may not actually run, that's a big jump in openwrt version, the init system may have changed)

The custom vyacht packages are:

They are all proper openwrt packages in git.

Trying to get the binaries for firmware 1.3.30 is likely a waste of time. gpsd, which is the core of the system, does not even compile as it was under openwrt 19.07, I had to fix it. So the old binary is very unlikely to run.

Getting your build system going shouldn't be that hard. If gpsd runs, most of what we'll have to do if fix the scripts (mostly package/vy-init/files/vyacht-init-setup.lua) to adapt to changes in openwrt.

hughespat57 commented 4 years ago

Well my bad, to many versions of bin files, I loaded the base 19.07 again. However not all good news, regardless how I load your bin it wants to boot to Openwrt safe mode. tried sysugrade from 19.07, tried loading from USB 8dev_recovery, always same behavior. As soon as I go back to a stock 19.07 or my 15.05 I get normal boot It's always something. Well no rush, I'm going to work on my build environment and I'll try cloning your Git to test

hughespat57 commented 4 years ago

p.s. I noticed it keeps saying I pressed the WPS key for safe mode, but I have no button, and I tried it with the console disconnected just in case it was picking up something from there. No difference.

benoitg commented 4 years ago

Ok, I audited the complete changes file by file in a giant git diff. There's not much in the vyacht changes themselves that could prevent the image from booting.

Once you have your build system working, here are some things to try:

1) Disable building the vyacht packages with make menuconfig (especially vy-init and vy-web) and install the resulting image. Most likely my base configuration is bad (didn't have the one the original firmware) such as we are missing some kernel module. Or there is some problem in openwrt at the commit I based the image on.

Unless it's the following:

2) yacht tries very hard to put this in sysctl.conf (it's in the base file copied AND there is a script that checks it and adds it if missing):

# Disables the magic SysRq key
# Has caused issues in some situations
kernel.sysrq = 0

Maybe thats related to your WPS key problem?

On a different subject, i missed before that Vyacht also adds packages:

benoitg commented 4 years ago

Ok, we now have a running image as confirmed by @hughespat57. https://github.com/benoitg/vyacht-firmware/releases/tag/v-2.0.0-alpha.2

The problem ended up being that the ar71xx was deprecated by openwrt 19.07 in favor of ath79. Apparently it broke for carambola2, and being a small target, nobody cared (or noticed). Now that I moved the image to ath79, it's fixed.

etmmvdp commented 4 years ago

Hi Benoit,

I just bought a 2nd hand vyacht router. I noticed the lack of device development just after the purchase, I hope I can assist in supporting it. I tried to upgrade my router using the image you created but it failed due to an invalid md5 sum. According to the release-it script in the vyacht-firmware repo the md5 sum needs to be added on top of the file.

However after I added the md5sum, upgrading via the webinterface failed with: _No a valid file for upgrade (openwrt-ath79-generic-8devcarambola2-squashfs-sysupgrade.bin)!

How should I upgrade my router using your image?

Ok, we now have a running image as confirmed by @hughespat57. https://github.com/benoitg/vyacht-firmware/releases/tag/v-2.0.0-alpha.2

benoitg commented 4 years ago

Sorry, I'll be offline for a few days.

Quick pointers:

1- you should be able to flash my image directly using the vyacht luci interface. 2- vyacht never released the source code for the latest versions. If you need nmea2000 write support, don't use my image.

On October 10, 2020 10:42:58 a.m. EDT, etmmvdp notifications@github.com wrote:

Hi Benoit,

I just bought a 2nd hand vyacht router. I noticed the lack of device development just after the purchase, I hope I can assist in supporting it. I tried to upgrade my router using the image you created but it failed due to an invalid md5 sum. According to the release-it script in the vyacht-firmware repo the md5 sum needs to be added on top of the file.

However after I added the md5sum, upgrading via the webinterface failed with: _No a valid file for upgrade (openwrt-ath79-generic-8devcarambola2-squashfs-sysupgrade.bin)!

How should I upgrade my router using your image?

Ok, we now have a running image as confirmed by @hughespat57. https://github.com/benoitg/vyacht-firmware/releases/tag/v-2.0.0-alpha.2

-- You are receiving this because you authored the thread. Reply to this email directly or view it on GitHub: https://github.com/benoitg/vyacht-firmware/issues/1#issuecomment-706560117 -- Sent from my Android device with K-9 Mail. Please excuse my brevity.

hughespat57 commented 3 years ago

Hey sorry to be off for so long, but what a year...

Recently back on to my vyacht setup efforts. Refreshed my base navigation system to Linux Mint 20 and OpenCPN 5.1 Reloaded my laptop to the same plus several NEMA simulator tools, and a number of USB to RS422 adapters for NMEA0183 simulation I/O have a repeatable test bed now.

So I finally was able thoroughly test the vyacht upgrade and as expected most everything is working. TCP streaming of simulated GPS trip data is available to OpenCPN perfectly. SignalK dashboard not working on the router itself, will test TCP/UDP access to signalK data shortly.

Unrelated to NMEA but a major reason I was trying to get a more updated OpenWRT version loaded is I implemented a complex network setup. I have MWAN load balancing installed, I use the built in WiFi for on the boat devices. I use the LAN port for on the boat hardwired network. The single physical WAN port I have configured four VLANs two are static interfaces for managing my WAN devices and two are DHCP for Internet connectivity. I have a four port switch on the WAN and it connects the vYacht, Sierra Wireless GX450 LTE gateway and Microtik Groove52HPn Access Point. The Groove is primary path for Internet, preset to my home, marina and other places I visit regularly. And if WiFi has no Internet it fails over to the Sierra Wireless LTE. (I had tried direct connected USB LTE modems but they are not consistent even in the latest openWRT, not a vyacht problem). The GX450 has a built in GPS and as long as it is powered can provide Geofenceing reports, battery status and a number of alarms as well.

So finally since I'm sure this is what we are all really trying to get to with the vYacht any suggestions for a good site for a "vyacht" discussion group? The OpenCPN forum is on Cruisers www.cruisersforum.com/forums/f134/

I hate promoting FaceBook but a FB Group?

benoitg commented 3 years ago

I've enabled the github discussion feature on this repository.Considering how niche this iis, it's probably more discoverable than any other solution. As for FB Group, I don't even have a FB account, so count me out...

I don't need NMEA 2000 write access anymore, so I may just switch my own vyacht to the new image.

The SignalK dashboard in the image is very old, that may well be my next step.