Skip to content

Supported interfaces

CANExplorer talks to CAN hardware through python-can (version 4.6). Every interface python-can supports can be used; the connection dialog lists them by the names in the first column. Install the vendor's driver or library for your adapter first; python-can only uses it.

All interfaces

In CANExplorer python-can name Hardware Platforms Driver or library to install CAN FD
SocketcanBus socketcan Any adapter with a Linux kernel driver (see below), virtual vcan buses, LIN through sllin Linux Part of the Linux kernel; set up with ip link (installation) ✓
PcanBus pcan PEAK-System PCAN-USB, PCAN-USB FD, PCAN-PCI(e), PCAN-LAN … Windows, Linux, macOS PCAN-Basic (Windows, Linux) or PCBUSB / MacCAN (macOS) ✓
VectorBus vector Vector VN1610, VN1630, VN1640, VN5610 … and the Vector virtual channels Windows Vector XL Driver Library (vxlapi64.dll) and the device driver ✓
KvaserBus kvaser Kvaser Leaf, U100, Memorator, USBcan … Windows, Linux Kvaser CANlib (Windows) or linuxcan (Linux) ✓
IXXATBus ixxat HMS IXXAT USB-to-CAN, CAN-IB … Windows IXXAT VCI 3 or VCI 4 (VCI 4 for CAN FD) ✓
EtasBus etas ETAS ES581, ES582, ES584, ES891 … Windows ETAS BOA (Basic Open API) ✓
NeoViBus neovi Intrepid Control Systems neoVI, ValueCAN, RAD-Galaxy … Windows, Linux, macOS Intrepid's driver and the Python package python-ics ¹ ✓
NiXNETcanBus nixnet National Instruments NI-XNET devices Windows NI-XNET driver and the Python package nixnet ¹ ✓
NicanBus nican National Instruments NI-CAN devices (older series) Windows NI-CAN driver –
UcanBus systec SYS TEC electronic USB-CANmodul Windows SYS TEC USB-CANmodul driver (usbcan64.dll) –
Usb2canBus usb2can 8devices USB2CAN (Korlan) Windows 8devices USB2CAN driver (usb2can.dll); on Linux use SocketcanBus –
IscanBus iscan Thorsis isCAN Windows isCAN driver (iscandrv) –
NeousysBus neousys CAN ports of Neousys industrial computers Windows, Linux Neousys WDT_DIO library –
CANalystIIBus canalystii Chuangxin Technology CANalyst-II (and compatible) Windows, Linux, macOS libusb and the Python package canalystii ¹ –
CantactBus cantact CANtact, CANable with candleLight firmware Windows, Linux, macOS The Python package cantact ¹ –
GsUsbBus gs_usb Adapters with gs_usb / candleLight firmware (CANable, candleLight, CANtact …) without a kernel driver Windows, macOS, Linux libusb (WinUSB on Windows) and the Python package gs_usb ¹; on Linux the kernel driver and SocketcanBus are simpler –
slcanBus slcan Lawicel CANUSB, CANable with slcan firmware, USBtin, … (serial adapters with the slcan protocol) Windows, Linux, macOS None: a serial port (COM3, /dev/ttyACM0); FD-capable slcan firmware also takes a data bitrate ✓
SerialBus serial Adapters speaking python-can's own serial protocol Windows, Linux, macOS None: a serial port –
robotellBus robotell Robotell USB-CAN adapters Windows, Linux, macOS None: a serial port –
SeeedBus seeedstudio Seeed Studio USB-CAN Analyzer Windows, Linux, macOS None: a serial port –
SocketCanDaemonBus socketcand A SocketCAN bus on another Linux computer, shared by the socketcand daemon Windows, Linux, macOS None on this computer; socketcand on the other –
RemoteBus canexplorer_remote A bus on another computer, shared by CANExplorer's can-server Windows, Linux, macOS None on this computer; can-server on the other ✓
UdpMulticastBus udp_multicast A software bus between computers or programs over UDP multicast Windows, Linux, macOS (some socket options only on Linux) The Python package msgpack ¹ ✓
VirtualBus virtual A software bus inside CANExplorer: all connections with the same channel name share it Windows, Linux, macOS None ✓

¹ These Python packages are not installed with CANExplorer and not part of the installers. Run CANExplorer from source with the drivers extra, which installs all of them:

uv sync --extra drivers     # neoVI, NI-XNET, CANalyst-II, CANtact, gs_usb and UDP multicast
uv run canexplorer

CAN FD (✓) means the interface can send and receive CAN FD frames with python-can, if the adapter supports them; enable Flexible Data (CAN FD) and the data bitrate in the connection dialog. VirtualBus and RemoteBus carry FD frames as they are.

Detect in the connection dialog asks every installed driver for its channels and offers them in the channel field. The drivers of CANalystIIBus, GsUsbBus, slcanBus, robotellBus, SeeedBus, IscanBus and NicanBus cannot list their channels: type the channel (e.g. the serial port) instead. LIN buses use SocketcanBus with a LIN driver; see LIN.

Adapters through SocketCAN

On Linux, most adapters have kernel drivers and appear as network interfaces (can0, can1 …) that CANExplorer opens with SocketcanBus. Among the drivers in the kernel:

Kernel driver Adapters
peak_usb, peak_pci, peak_pciefd PEAK-System PCAN-USB, PCAN-USB FD, PCAN-PCI(e)
kvaser_usb, kvaser_pci, kvaser_pciefd Kvaser USB, PCI and PCIe adapters
gs_usb candleLight / gs_usb firmware: CANable, candleLight, CANtact, Geschwister Schneider USB/CAN
ems_usb, esd_usb, etas_es58x, mcba_usb, ucan, usb_8dev EMS, esd, ETAS ES58x, Microchip CAN BUS Analyzer, Theobroma Systems, 8devices adapters
mcp251x, mcp251xfd Microchip MCP2515 and MCP2517FD/MCP2518FD, e.g. on Raspberry Pi CAN hats
m_can, flexcan, c_can, rcar_canfd … CAN controllers built into processors (embedded boards)
slcan (with slcand) Serial slcan adapters as a network interface
vcan, vxcan Virtual buses on one computer, and between network namespaces

Which drivers a distribution includes varies; ip -details link show can0 shows the driver of an interface.