CAN/en
The work takes place through a standard Linux subsystem - SocketCAN. CAN ports are similar to network interfaces can0
or can1
, depending on the controller model. For CAN to work on controllers up to version 6.7.x, you need a terminator jumper on the port. Starting from version 6.7.x, the terminator is controlled by software and turns on automatically.
Setting
Via web interface
To configure via the web interface, you need to update the wb-mqtt-confed
package to version 1.2.3+
Actions take place in the Configs section of the web-interface:
- On the Network Interfaces tab, add a new interface
can0
(see screenshot). Click the Save button. - Switch the
RS-485/CAN
port to CAN mode: on the Hardware Modules Configuration tab, select the settings RS485-2/CAN interface config, select in the Module type «CAN interface» and click the Save button.
The CAN interface will rise by itself when:
- system boot - service
wb-hwconf-manager
is responsible for this, - change the RS-485/2 port mode to «CAN».
Using standard linux tools (automatically)
The Network Interfaces section of the web interface is a wrapper around the /etc/network/interfaces
file, so CAN configuration can be done using the debian network management service. For this you need:
- Add to
/etc/network/interfaces
an entry like this:allow-hotplug can0 iface can0 can static bitrate 125000
- Switch RS-485-2 port to CAN mode
We will get a result similar to setting through the web-interface.
Using standard linux tools (manually)
After switching the port to CAN mode, you need to do:
ip link set can0 up type can bitrate 125000
Working with CAN
The cansend
and candump
utilities are included in the controller's standard software package. If for some reason they are not there, you can install the can-utils
package:
apt update && apt install can-utils
Command examples:
- Sending four bytes with address 123:
cansend can0 123#DEADBEEF
- Show incoming packets:
candump can0
- Show statistics:
cat /proc/net/can/stats
Please note that in case of problems on the bus (no terminator, no receiving device, short circuit), the controller may stop working.
To start working again, run:
ifconfig can0 down && ip link set can0 up type can bitrate 125000
For more information see the «AmadeuS» wiki article «CAN bus Linux driver».