SK
Signal K•3mo ago
bertrand

Incomplete N2K PGN 126996

Hello, The HW/SW is - SignalK 2.11.0 (N2K addess 0x64) - RPI 5 8Gb + SDD + PICAN-M - Garmin MFD (N2K address 0x00) - Own RPI Pico develoment (N2K address 0x77) When the garmin ask for PGN 0x1F014 or 126996, the Signalk server send an incomplete message. Should I increase a buffer ?? Details: The garmin request produt information can0 18EA6400 [3] 14 F0 01 The SignalK server reply with: can0 0DF01464 [8] 40 86 20 D6 9B 02 53 69 can0 0DF01464 [8] 41 67 6E 61 6C 20 4B FF ..... can0 0DF01464 [8] 4A 61 6E 62 6F 61 74 6A can0 0DF01464 [8] 4B 73 FF FF FF FF FF FF As you can see, the message suppose to be 134bytes long but in reality is 77bytes long. If I compare with other devices the message is 134bytes and understood by the garmin can0 19F01477 [8] 40 86 35 08 9A 02 44 75 can0 19F01477 [8] 41 76 69 76 69 65 72 20 ... can0 19F01477 [8] 52 FF FF FF FF FF FF FF can0 19F01477 [8] 53 00 01 FF FF FF FF FF
42 Replies
Scott Bender
Scott Bender•3mo ago
The length of that is not always going to be the same hmm. I may be wrong about that... You are correct, it should 134 I've been trying to figure why Garmin devices are having issues recognizing sk, this could be it!!! canboatj is encoding 134 bytes Can you give me the complete message you are seeing?
$ ./bin/to-pgn
{ "pgn": 126996, "dst": 255, "NMEA 2000 Version": 1300, "Product Code": 667, "Model ID": "Signal K", "Model Version": "canboatjs", "Model Serial Code": 1234, "Certification Level": 0, "Load Equivalency": 1 }
2024-10-01T12:23:18.367Z,2,126996,0,255,134,20,d6,9b,02,53,69,67,6e,61,6c,20,4b,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,63,61,6e,62,6f,61,74,6a,73,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,00,01,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff
$ ./bin/to-pgn
{ "pgn": 126996, "dst": 255, "NMEA 2000 Version": 1300, "Product Code": 667, "Model ID": "Signal K", "Model Version": "canboatjs", "Model Serial Code": 1234, "Certification Level": 0, "Load Equivalency": 1 }
2024-10-01T12:23:18.367Z,2,126996,0,255,134,20,d6,9b,02,53,69,67,6e,61,6c,20,4b,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,63,61,6e,62,6f,61,74,6a,73,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,00,01,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff
`
bertrand
bertrandOP•3mo ago
can0 18EA6400 [3] 14 F0 01 can0 0DF01464 [8] 40 86 20 D6 9B 02 53 69 can0 0DF01464 [8] 41 67 6E 61 6C 20 4B FF can0 0DF01464 [8] 42 FF FF FF FF FF FF FF can0 0DF01464 [8] 43 FF FF FF FF FF FF FF can0 0DF01464 [8] 44 FF FF FF FF FF FF FF can0 0DF01464 [8] 45 FF FF 32 2E 31 30 2E can0 0DF01464 [8] 46 30 FF FF FF FF FF FF can0 0DF01464 [8] 47 FF FF FF FF FF FF FF can0 0DF01464 [8] 48 FF FF FF FF FF FF FF can0 0DF01464 [8] 49 FF FF FF FF FF FF 63 can0 0DF01464 [8] 4A 61 6E 62 6F 61 74 6A can0 0DF01464 [8] 4B 73 FF FF FF FF FF FF Like if it stop after 4B... To compare here is what I see from other devices can0 19F01477 [8] 40 86 35 08 9A 02 44 75 can0 19F01477 [8] 41 76 69 76 69 65 72 20 can0 19F01477 [8] 42 4D 61 72 69 6E 65 20 can0 19F01477 [8] 43 2D 20 54 61 6E 6B 20 can0 19F01477 [8] 44 73 65 6E 73 6F 72 FF can0 19F01477 [8] 45 FF FF 70 79 74 68 6F can0 19F01477 [8] 46 6E 20 30 2E 31 61 FF can0 19F01477 [8] 47 FF FF FF FF FF FF FF can0 19F01477 [8] 48 FF FF FF FF FF FF FF can0 19F01477 [8] 49 FF FF FF FF FF FF 74 can0 19F01477 [8] 4A 65 73 74 20 30 2E 31 can0 19F01477 [8] 4B 61 FF FF FF FF FF FF can0 19F01477 [8] 4C FF FF FF FF FF FF FF can0 19F01477 [8] 4D FF FF FF FF FF FF FF can0 19F01477 [8] 4E FF FF FF 30 30 30 30 can0 19F01477 [8] 4F 30 30 30 31 FF FF FF can0 19F01477 [8] 50 FF FF FF FF FF FF FF can0 19F01477 [8] 51 FF FF FF FF FF FF FF can0 19F01477 [8] 52 FF FF FF FF FF FF FF can0 19F01477 [8] 53 00 01 FF FF FF FF FF In data 53, the 2 last bytes are end of message
Scott Bender
Scott Bender•3mo ago
and you are sure you are getting all the messages from the log? they can be mixed with other messages make sure you grep for 0DF01464
bertrand
bertrandOP•3mo ago
Yes, used candump and a YD, I find the same issue I filter on the PGN as well When remove signalk from the canbus, the garmin requests slowing down for 1F014.. Sounds like they keep pooling for but at slow speed.
Scott Bender
Scott Bender•3mo ago
yeah, I see the same thing here in my lab with the garmin it seems to work fine with Raymarine and B&G I'm getting setup now to look at this here...
bertrand
bertrandOP•3mo ago
Ok, I my lab I have a Garmin, in the boat mostly Raymarine, RPI, and home made N2K sensors. I didn't test with Mc Athur Hat (I got one unpacked), still using PICAN-M
Scott Bender
Scott Bender•3mo ago
I wonder what I am missing, I don't even see the garmin requesting 126996 now and Signal K shows up in the device list on the garmin
bertrand
bertrandOP•3mo ago
Ok
Scott Bender
Scott Bender•3mo ago
does it not show in the list for you
bertrand
bertrandOP•3mo ago
No
Scott Bender
Scott Bender•3mo ago
I'm not actually sending any data out right now, let me turn that on...
bertrand
bertrandOP•3mo ago
for 1 second I can see unknown devices and then nothing on the garmin
Scott Bender
Scott Bender•3mo ago
you have the latest sk server running?
bertrand
bertrandOP•3mo ago
The garmin send the request with : can0 18EA6400 [3] 14 F0 01 2.11.0
Scott Bender
Scott Bender•3mo ago
ok, now that I am sending data, it asked for it and it looks good
{"prio":3,"pgn":126996,"dst":255,"src":101,"timestamp":"2024-10-01T13:34:10.266Z","input":["2024-10-01T13:34:10.266Z,3,126996,101,255,134,20,d6,9b,02,53,69,67,6e,61,6c,20,4b,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,31,2e,30,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,63,61,6e,62,75,73,6a,73,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,30,30,30,30,30,31,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,00,01"],"fields":{"NMEA 2000 Version":54816,"Product Code":667,"Model ID":"Signal K","Software Version Code":"1.0","Model Version":"canbusjs","Model Serial Code":"000001","Certification Level":0,"Load Equivalency":1},"description":"Product Information"}
{"prio":3,"pgn":126996,"dst":255,"src":101,"timestamp":"2024-10-01T13:34:10.266Z","input":["2024-10-01T13:34:10.266Z,3,126996,101,255,134,20,d6,9b,02,53,69,67,6e,61,6c,20,4b,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,31,2e,30,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,63,61,6e,62,75,73,6a,73,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,30,30,30,30,30,31,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,00,01"],"fields":{"NMEA 2000 Version":54816,"Product Code":667,"Model ID":"Signal K","Software Version Code":"1.0","Model Version":"canbusjs","Model Serial Code":"000001","Certification Level":0,"Load Equivalency":1},"description":"Product Information"}
do you see heartbeat comming from signalk? 126993
bertrand
bertrandOP•3mo ago
I will to check, but I don't remind i I don't remind seing this pgn
Scott Bender
Scott Bender•3mo ago
that was a new addition but a while a go can you check your canboatjs version
bertrand
bertrandOP•3mo ago
Let me dig a little bit more, it's my lab (not the boat) and I have few RPI 4 with PICAN-M and could test on another one how I do it ??
Scott Bender
Scott Bender•3mo ago
sbender@homepi:~ $ grep version /usr/lib/node_modules/@canboat/canboatjs/package.json
"version": "1.28.3",
sbender@homepi:~ $ grep version /usr/lib/node_modules/@canboat/canboatjs/package.json
"version": "1.28.3",
I am definitely not seeing that it keeps requesting 126996, and I used to. I don't think I checked after adding heartbeat wtf. I have an old canboatjs! hold the horses!
bertrand
bertrandOP•3mo ago
I can go up to /usr/lib/node_modules/
Scott Bender
Scott Bender•3mo ago
you might be in /usr/local
bertrand
bertrandOP•3mo ago
I can't see /usr/lib/node_modules/
Scott Bender
Scott Bender•3mo ago
/usr/local/lib/node_modules ?
bertrand
bertrandOP•3mo ago
no I'm searching
Scott Bender
Scott Bender•3mo ago
are you using nvm?
bertrand
bertrandOP•3mo ago
I found it
Scott Bender
Scott Bender•3mo ago
ps auwx | grep node
bertrand
bertrandOP•3mo ago
Version 2.10.0
Scott Bender
Scott Bender•3mo ago
shoot, I gave the wrong command to get the version that was the global install
grep version /usr/lib/node_modules/signalk-server/node_modules/@canboat/canboatjs/package.json
grep version /usr/lib/node_modules/signalk-server/node_modules/@canboat/canboatjs/package.json
bertrand
bertrandOP•3mo ago
I check inside the file package.json using cat the version mentionned is 2.10.0
Scott Bender
Scott Bender•3mo ago
that's the latest
bertrand
bertrandOP•3mo ago
Ok I could test it on another RPI.. to see if I have HW issue (I don't think so, but we never known)
Scott Bender
Scott Bender•3mo ago
I have definitely see odd stuff from bad hardware Is yours sending out any data? does it look ok?
bertrand
bertrandOP•3mo ago
Yes
Scott Bender
Scott Bender•3mo ago
very strange!
bertrand
bertrandOP•3mo ago
I will check with another long pgn and test if this is trunk as well and on another HW too Will take time, will send update when complete 😉 thanks for your quick help
Scott Bender
Scott Bender•3mo ago
welcome there was an issue in github on this, was that you?
bertrand
bertrandOP•3mo ago
No I open a case on openmarine... but left a message that I'm handling it with you now BTW I'm networking engineer and boat owner.. this is intersting products Thanks for the team work It's fixed... I initially follow the PICAN-M install guide and add the config like recommended. This is the version that wasn't working. I remove it and configure it using the CAN application from open plotter and now it's working. The long PGN is not trunked anymore and recognize in the Garmin MFD 😉
Scott Bender
Scott Bender•3mo ago
cool, can you show me the config that didn't work?
bertrand
bertrandOP•3mo ago
Scott Bender
Scott Bender•3mo ago
that's?
enable_uart=1
dtparam=i2c_arm=on
dtparam=spi=on
dtoverlay=mcp2515-can0,oscillator=16000000,interrupt=25
enable_uart=1
dtparam=i2c_arm=on
dtparam=spi=on
dtoverlay=mcp2515-can0,oscillator=16000000,interrupt=25
do you know exactly which part of there suggested config was the issue? (I want to make sure the is recorded well somewhere incase someone else has the isssue)
bertrand
bertrandOP•3mo ago
I remove dtoverlay=mcp2515-can0,oscillator=16000000,interrupt=25 I tried on a second RPI with same PICAN-M hat... same problem and same solution... This is consistent 😉
Want results from more Discord servers?
Add your server