Offline
Thank you very much @NoRay for going above and beyond with Shipmodul. It's kind of close but still very NMEA0183 centric as Nick pointed out.
Solving NMEA2000 transport over TCP/IP should be a simple binding issue with an open spec - which I guess is what OneNet does. You have to guess though since it is a walled garden proprietary spec.
Hence, a thousand flowers are blooming to solve this. I think the software that offers the most protocol compatibility is NMEAremote (an iOS app). Here's what it supports:
Actisense NGT-1 (IP)
Actisense W2K-1
Actisense W2K-1 (NMEA 0183)
AstraYacht
B&G - H5000
B&G - Triton Edge
B&G - Vulcan & ZEUST™
BarentsWatch AlS - Norway
Bonjour
comar i300W/i320W
comar NMEA-2-WiFi
Digital Yacht (TCP)
Digital Yacht (UDP)
Digital Yacht - NAVLink 2
DMK Box
DMK Box (NMEA 0183)
EKI-1351
Expedition
ezTCP CSW-H80
GMM (NMEA 0183)
GMM (NMEA 2000)
GoFreeT™
GoFree™ Tier 2
HelmSmart
iKommunicate
iMux (AdHoc)
iMux / eMux (DHCP)
JSON-Broker (TCP)
MQTT Client
Navinaut AIS (TCP)
Navinaut AIS 1.0 (UDP)
nke NMEA WiFi Interface
NMEA over IP
NMEAconnect Server
NMEAremote Server
Ocean Signal ATB1
ONWA KC-2W
PilotsTECH - AlS Pilot Plug WiFi
Pitufino
PredictWind DataHub (TCP)
PredictWind DataHub (UDP)
Quark-elec
RedBox
Sailmon
Sailor Hat WiFi Gateway (TCP)
Sailor Hat WiFi Gateway (UDP)
SailTimer Air Link
San Francisco Bay AIS
SeaMate Ch.1
SeaMate Ch.2
SeaSmart.NET (NMEA 0183)
SeaSmart.NET (NMEA 2000)
ShipModul MiniPlex-2Wi
ShipModul MiniPlex-3Wi(-N2K)
Signal K
Signal K (NMEA 0183)
Vela-Navega
Vesper Cortex
Vesper XB 8000 / Watch Mate Vision
vYacht
Yacht Devices
Yacht Devices - YDWG-02 (N2k)
Yakker
Offline
ed209 wrote:
A quick update:
Happily I just got word from (Yacht Devices) that I should have a new YDEN-03 to test next week. In their words:
"the new model has a much more powerful CPU and a larger amount of memory and will easily handle your requirements."
I will post back here with test results.
Well, after spending WAAAAAAAYYY too long on this for a ~$400 device; here’s my findings about the YDEN03.
TL;DR: It's better and more deployable than the YDEN02, still has issues, but I'm hoping they can be fixed.
I'm being put in touch directly with their engineers and will post back with updates as they happen. Might take a while.
First, the good...
1. The YDEN02 was prone to dropping existing connections, or starving one port to allow connections on another. This makes for very unpredictable behaviour, and is hard to test. YDEN03 no longer does this, but is still severely limited to a handful of connections in total.
- It consistently serves 3 connections per TCP port, and handles sending UDP on the third. It never serves more than three per port, and you never get a situation where NMEA 2000 on 1457 robs NMEA 183 on 1456, which is definitely better.
- That’s still a problem in any situation where people want to connect on mobile devices and can’t use UDP. The bottom line is that dynamic connections to the YDEN will appear unreliable even if the YDEN itself is reliably serving its limit of three connections to a port.
- Why not only use UDP? One good reason is that you can’t receive UDP broadcasts on an iPhone unless the wifi network you are connected to is bridged to the Ethernet the YDEN is connected to. This is impossible over VPN/Zerotier/Tailscale connections so you have to use TCP.
- Notwithstanding, this limitation is as advertised, better then the YDEN02, and is something that can be lived with and planned around as long as the device operates deterministically and dependably.
2. Logged data download is much better than the weird mechanism of the YDEN02. You don’t have to sacrifice a port and reconfigure it just to get data off the device.
3. The software looks a bit better, is a bit more responsive, and you do get a couple of key new bits of information on the home page, most notably Ethernet TX/RX which is a step in the right direction.
Now, the bad...
4. BUG: There is some weirdness around authentication - sometimes login appears to have failed but if you refresh the page it works. Sometimes after rebooting the device you don’t have to authenticate to connect again, implying a cookie mechanism that isn’t secure. Screenshot attached of how it behaved out of the box, showing “Request error. See console". I think there’s some basic cookie problem going on, but this wasn’t a dealbreaker considering the other problems, so I spent no time on trying to reproduce this.
5. FEATURE: What is really needed is a page that shows what current connections exist for each TCP port, their IP addresses and source port numbers. Throw in some bytes in/out per connection for bonus points. You should be able to enable a monitor to see the data actually being received or sent to the NMEA bus (like Expedition’s raw data display per instrument).
6. FEATURE: There also should be a console log page so you can see what the system is experiencing when there are problems; this is standard on all network comms devices.
7. FEATURE: Ideally I’d like to be able to ssh to the command line of the device, for which there is no substitute when troubleshooting - it’s linux so that shouldn’t be a big deal.
8. FEATURE: And there should be ntp time sync so you can see when things happen.
And the ugly...
9. Unfortunately, YDEN03 is unreliable under load (or over time if not under load), and eventually/randomly completely locks up.
- I wrote a python script to hammer the device with many sockets concurrently and was able to reproduce the problem. I sent a report, some packet captures, and the sourcecode back to Yacht Devices engineering. Their engineering team should be able to diagnose the issue armed with this information, so I am still hopeful this can be fixed in a quick firmware upgrade.
- It’s probable that the YDEN02 device does this too; the nature of boats is that people turn the instruments off regularly, effectively rebooting the YDEN much more than a regular linux system, so it may be that dealers are seeing this problem less than would otherwise be the case. I would guess this manifests itself as “voodoo” that is very hard to diagnose.
10. There’s a problem with the mDNS implementation which I did not test/notice on the YDEN02.
- If you change the hostname, the display name remains yden, which is problematic when you have more than one YDEN device.
Last edited by ed209 (8/13/2025 2:47 am)
Offline