question

pesi avatar image
pesi asked

CerboGX repeatly Ve.CAN error

VeCAN.JPGConsole_02.JPGConsole_02.JPGVeCAN.JPGMy CarboGX is connected with SmartSolar over VeCAN. Cerbo gets CAN errors sporadically (about once a day). After that, the interface to the MPPT tracker is in CAN Active state (receives packets but does not send any). The MPTT Tracker then reacts with Error 67 (BMS Connection lost). After reboot everything works again. I replaced the cable and terminator. The error keeps coming. Can someone help with an idea? A solution is also welcome as I can reset the error without rebooting.

cerbo gxMPPT SmartSolarVE.Can
vecan.jpg (28.7 KiB)
console-02.jpg (30.2 KiB)
2 |3000

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

4 Answers
Kevin Windrem avatar image
Kevin Windrem answered ·

Make sure both ends of the CANbus cable are terminated.

Try replacing the cable with a known good ethernet cable.

You may be able to reset the connection by disabling the CANbus port in Cerbo then reenabling it.

Make sure that all firmware is up to date on MPPTs and Inverter/Charger and GX device.

2 comments
2 |3000

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

pesi avatar image pesi commented ·

Hallo @Kevin Windrem,

Thank you for your reply!

The cable has already been replaced (2m). The final resistance was on the side of MPTT Tracker then on the side of Cerbo: Behavior is the same. The error comes very often in the morning when the tracker starts to supply electricity. This week:

- 2023-04-16 06:49

- 2023-04-17 06:32

- 2023-04-18 06:32

- 2023-04-19 06:18

In my view, this cannot be a coincidence. After that it works fine.

There must be a way to reset the error without rebooting Cerbo, but how?

Maybe restart a service in the Cerbo?

0 Likes 0 ·
ejrossouw avatar image ejrossouw pesi commented ·

"The final resistance was on the side of MPTT Tracker then on the side of Cerbo" I may misunderstand, but there must be TWO terminators in place, one at either end, as Kevin mentioned. Maybe worth checking the terminator if you have the means or trying another set. What is the bus speed setting?

0 Likes 0 ·
pesi avatar image
pesi answered ·

I can almost rule out a fault in the wiring because I replaced the cable.

In the last few days I have noticed a system in primeval times when the errors occur:

- 2023-04-16 06:49

- 2023-04-17 06:32

- 2023-04-18 06:32

- 2023-04-19 06:18

- 2023-04-20 06:16

This could be the time when the MPP tracker reaches the voltage threshold and starts producing electricity.

The remaining buses on the Cerbo (BMS.CAN, VeDirect, Ve.Bus) work without any problems.

Where are logs in Venus OS? There might be a hint there. Which service is responsible for VeCAN communication? In the event of an error, I could only restart this instead of rebooting the entire system or switching it off and on hard from the power supply.

It would be nice if it was possible to send questions to the software developer. If I can't find out from the system, I will connect a CAN logger and try to recognize something from the communication at the time of the error via reverse engineering.


2 |3000

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

pesi avatar image
pesi answered ·

I've been using the system for about 6 months. The problems only started 2 weeks ago. It is very strange that a storage device is full. Some VRM logger has filled the entire storage space (vrmlogger-backlog.sqlite3 1.105.637.376 Bytes). That could explain some side effects:

root@einstein:~# df

Filesystem 1K-blocks Used Available Use% Mounted on

/dev/root 963716 835760 59296 93% /

devtmpfs 465376 4 465372 0% /dev

tmpfs 515040 908 514132 0% /run

tmpfs 515040 564 514476 0% /var/volatile

/dev/mmcblk1p5 1134336 1117916 0 100% /data

tmpfs 515040 908 514132 0% /service


Does somebody has any idea?

4 comments
2 |3000

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

Kevin Windrem avatar image Kevin Windrem commented ·
If VRM logging is enabled but there is no network connection, the data is cached on the /data partition if no external SD or USB storage is detected. The GX manual indicates a log size of about 25 MB per month at a log interval of 1 minute. It could be larger if the system has lots of devices. At that rate it would take 3 years to fill up a 1 GB partition.


If you install an SD card or USB flash drive, the cache will switch to the removable media and not fill up /data.


You can also disable VRM logging if you aren't using it. Then you can delete the sqlite file.


0 Likes 0 ·
Show more comments
pesi avatar image
pesi answered ·

Today the error came back at the expected time (2023-04-21 06:18). I have not found any problems in the CAN driver in the system with the following command. And the driver is set to reset CAN-ACTIVE errors after 100 ms. My guess is that a high level software component still has a bug. Any component stops after the first error state even if the driver resets the state again. Theoretically, ERROR-ACTIVE is also not a real but only a temporary error state. In this state, the Rx counter continues to count, but the Tx counter stops

-----------------------------------------------------------------------

root@einstein:~# ip -details -statistics link show can0

4: can0: <NOARP,UP,LOWER_UP,ECHO> mtu 16 qdisc pfifo_fast state UP mode DEFAULT group default qlen 100

link/can promiscuity 0 minmtu 0 maxmtu 0

can state ERROR-ACTIVE (berr-counter tx 0 rx 0) restart-ms 100

bitrate 250000 sample-point 0.875

tq 250 prop-seg 6 phase-seg1 7 phase-seg2 2 sjw 1

sun4i_can: tseg1 1..16 tseg2 1..8 sjw 1..4 brp 1..64 brp-inc 1

clock 24000000

re-started bus-errors arbit-lost error-warn error-pass bus-off

0 0 0 0 0 0 numtxqueues 1 numrxqueues 1 gso_max_size 65536 gso_max_segs 65535

RX: bytes packets errors dropped overrun mcast

1405139 175643 0 0 0 0

TX: bytes packets errors dropped carrier collsns

252711 31592 0 0 0 0

-----------------------------------------------------------------------

root@einstein:/sys/class/net/can0/statistics# grep '.*' /sys/class/net/can1/statistics/*

/sys/class/net/can1/statistics/collisions:0

/sys/class/net/can1/statistics/multicast:0

/sys/class/net/can1/statistics/rx_bytes:2625242

/sys/class/net/can1/statistics/rx_compressed:0

/sys/class/net/can1/statistics/rx_crc_errors:0

/sys/class/net/can1/statistics/rx_dropped:0

/sys/class/net/can1/statistics/rx_errors:0

/sys/class/net/can1/statistics/rx_fifo_errors:0

/sys/class/net/can1/statistics/rx_frame_errors:0

/sys/class/net/can1/statistics/rx_length_errors:0

/sys/class/net/can1/statistics/rx_missed_errors:0

/sys/class/net/can1/statistics/rx_nohandler:0

/sys/class/net/can1/statistics/rx_over_errors:0

/sys/class/net/can1/statistics/rx_packets:386878

/sys/class/net/can1/statistics/tx_aborted_errors:0

/sys/class/net/can1/statistics/tx_bytes:884208

/sys/class/net/can1/statistics/tx_carrier_errors:0

/sys/class/net/can1/statistics/tx_compressed:0

/sys/class/net/can1/statistics/tx_dropped:0

/sys/class/net/can1/statistics/tx_errors:0

/sys/class/net/can1/statistics/tx_fifo_errors:0

/sys/class/net/can1/statistics/tx_heartbeat_errors:0

/sys/class/net/can1/statistics/tx_packets:110526

/sys/class/net/can1/statistics/tx_window_errors:0


2 |3000

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

Related Resources