Migrating from V4 to V6

V6 adds CAN FD while retaining classic CAN and RS485. USB classic-CAN frames are mostly unchanged, but SPI layouts, wrapped RS485 frames, and communication settings must be updated.

Identify Required Changes

Host method

Change required

Notes

USB serial to classic CAN

Usually no

V4 and V6 both use ST/ET frames

Linux SocketCAN classic CAN

Check mapping

V47 and current V6 releases support it; verify canX to physical-interface mapping again

Linux SocketCAN CAN FD

Yes

Only V6 supports CAN FD; add arbitration and data-phase settings

USB serial to RS485

Yes

Normal V6 mode uses RT + Channel + Len + Data + CRLF

SPI to CAN / RS485

Yes

The V6 23-byte SHORT layout differs from V4

SPI to CAN FD

Yes

Switch to LONG and always transfer 73 bytes

USB serial bitrate used to configure the external bus

Yes

V6 uses separate saved AT-command settings

USB Classic CAN

V4 and V6 use the same transmit formats:

Extended: ET + Channel + ExtID(4B) + Len + Data + 0D 0A
Standard: ST + Channel + 00 00 + StdID(2B) + Len + Data + 0D 0A

V6 replies use local Channel 1/2, not whole-board 3/4.

USB RS485

V4 places device data first and Channel and length at the end. V6 normal mode uses:

52 54 Channel Len Data... 0D 0A

This is RT + Channel + Len + Data + CRLF, and replies use the same layout.

To run an unwrapped RS485 program, temporarily enable raw passthrough:

AT+RS485RAWCH=1
AT+RS485RAW=1

Raw replies do not include Channel. RAWCH is saved, but RAW is disabled again after a power cycle.

SPI Protocol

Although both versions can use 23-byte transfers, V4 and V6 use different padding and trailer layouts. Do not reuse a V4 frame unchanged.

Mode

SPI transfer

Purpose

SHORT

23 bytes

Classic CAN and up to 18 bytes of RS485 data

LONG

73 bytes

Classic CAN, CAN FD, and up to 68 bytes of RS485 data

The last byte in V6 is CRC-8 over the first 22 or 72 bytes. CAN and RS485 messages use the ST/ET/SF/EF/RT headers and no longer use the V4 tail-length layout. See the individual SPI protocol pages.

Before using CAN FD, send over USB serial:

AT+SPIMODE=LONG

After success, change every SPI transfer from 23 to 73 bytes.

Communication Settings

V6 does not change external bus settings based on the bitrate selected in a USB serial application. Send explicit commands:

AT+SETFDCAN=1000000,5000000
AT+SETRS485=4000000,1,0,8

These settings are saved across power cycles. SocketCAN remains configured by Linux ip link and must be reapplied after reconnecting.