GRiSP issue, OTP 26 (mac) node won’t connect to OTP 23 (grisp)

Hi! Great to have the quickstart, thanks!

TLDR; OTP 26 (mac) node won’t connect to OTP 23 (grisp)

I’m connected to the board via serial:

sig_version: 1
serial: xxxx
batch_nr: 1
prod_year: 2022
prod_month: 1
prod_day: 28
vers_major: 33
vers_minor: 2
ass_var: 1

I also got the IP and the hostname off the output, and set it in /etc/hosts

telnet shows, the port is open:

telnet grisp-xxxx 4369  
Trying 192.168.xxxxx..
Connected to grisp-xxxx.

however, connecting to the node silently fails in the erlang shell or the observer

but the Elixir shell printed echoed interesting:

Node.connect(:"shell@grisp-xxxx")

13:15:31.577 [error] ** :shell2@dam2: Connection attempt to node :"shell@grisp-xxxx" aborted since it cannot handle [~c"V4_NC"].**

false

grisp shell can ping itself (pong) ok but not the one on the computer (pang)

computer: Erlang/OTP 26 [erts-14.2.1] [source] [64-bit] [smp:8:8] [ds:8:8:10] [async-threads:1] [jit] [dtrace]
grisp: OTP 23, erts-11.2.2.9

Update: using OTP 23-25 works

OTP 26 can’t communicate with OTP 23 - it can communicate with OTP 25/24 if +R emulator flag is set at node startup (at node with newer version). I’m not 100% sure if this applies to GRiSP, but that came to my mind immediately.

1 Like

OTP 23-25 connected even without the +R flag

It can, but is not guaranteed to. It means that those 2 are backward compatible by pure chance, but if you take OTP X and OTP X+1 there is no guarantee that these two would be compatible, hence the +R flag.

1 Like

We added a passage to the tutorial regarding this to avoid future users stumbling in the same problem.

Thanks for pointing out