Leishen N10 LiDAR Driver Download and Setup Guide

Compile the lsx10 Package

  1. Copy the lsx10 package into the src directory of your Catkin workspace (this example uses a workspace for an Ackermann mobile robot platform).
  2. Install required dependencies:
sudo apt-get install libpcap-dev
  1. Navigate to the root of your Catkin workspace, first compile the message definitions:
catkin_make -DCATKIN_WHITELIST_PACKAGES=lslidar_msgs
  1. Compile the LiDAR driver package:
catkin_make -DCATKIN_WHITELIST_PACKAGES=lslidar_driver

Install CH9102 Serial Driver

  1. Download the CH343 USB serial driver archive from https://github.com/WCHSoftGroup/ch343ser_linux, then extract the downloaded files.
  2. Check for and unload the conflicting cdc_acm kernel module: Run lsmod | grep cdc_acm to verify if the module is loaded. If output is returned, unload it with:
sudo rmmod cdc_acm

Skip this step if no matching module is found. 3. Compile and install the driver:

  • Navigate to the driver folder inside the extracted archive, then run make to build the kernel module.
  • Load the compiled module:
sudo make load
  • Install the module to system directories:
sudo make install
  • Add the module to system startup to auto-load on boot: Edit /etc/modules with:
sudo gedit /etc/modules

Add ch343 to the end of the file, save and exit, then reboot your system.

  • Verify the module is loaded after reboot:
lsmod | grep ch343

Run the N10 LiDAR Driver

  1. Connect the LiDAR to your Ubuntu machine. Confirm the device is recognized as a serial port with:
ll /dev | grep ttyCH343USB

The detected port will typically be named ttyCH343USB0; you can create a persistent symlink to rename it for easier access (this example uses wheeltec_lidar as the alias). 2. Configure the ROS launch file: Open lsx10/lslidar_driver/launch/lslidar_serial.launch in a text editor (VS Code is recommended for easy navigation). Update two key parameters:

  • Set lidar_name to N10 (valid options include M10, M10_P, M10_PLUS, M10_GPS, N10, N10_P, L10)
  • Set serial_port to /dev/wheeltec_lidar (or your custom symlinked port name)
  1. Start the LiDAR driver:
roslaunch lslidar_driver lslidar_serial.launch
  1. View LiDAR data:
  • Print raw scan data to the terminal:
rostopic echo /scan
  • Visualize point cloud data using RViz:
rviz

In RViz, set the Fixed Frame to laser, then click Add > LaserScan to load the scan visualization.

Troubleshooting Common Errors

Error 1: Failed to Load ch341 Kernel Module

Error Message: insmod: ERROR: could not insert module ch341.ko: Invalid module signature Cause: Secure Boot is enabled, blocking unsigned kernel module loading. Solution:

  1. Install mokutil:
sudo apt-get install mokutil
  1. Disable Secure Boot validation:
sudo mokutil --disable-validation
  1. Set an 8-digit temporary password (this example uses 00000000).
  2. Reboot your system. When the MOK Manager menu appears, select Change Secure Boot state, enter the 8-digit password when prompted, confirm the change, then reboot again.
  3. Re-run sudo make load to load the kernel module.

Error 2: Failed to Open Serial Port

Error Message: [ WARN] [timestamp]: open_port /dev/wheeltec_lidar ERROR ! followed by the driver process exiting cleanly. Cause: The serial port symlink is missing or misconfigured, or the port name does not match the launch file settings. Solutions:

Method 1: Create Persistent Serial Port Symlink via Udev Rules

  1. Identify the kernel port path for your LiDAR device:
udevadm info --attribute-walk --name=/dev/ttyCH343USB0

Locate the KERNELS value under the third parent device entry (example value: 1-10.2.4). 2. Create a udev rule file:

sudo gedit /etc/udev/rules.d/99-usb-serial.rules
  1. Add the following line to the file, replacing the KERNELS value with your own:
KERNELS=="1-10.2.4", MODE:="0777", GROUP:="dialout", SYMLINK+="wheeltec_lidar"
  1. Save and exit the file, then apply the new udev rules:
sudo udevadm trigger
  1. Verify the symlink exists with ll /dev | grep wheeltec_lidar, then re-run the launch command to start the LiDAR.

Method 2: Grant Serial Port Permissions

Grant global read/write access to the detected serial port (works for some single-device setups):

sudo chmod a+rw /dev/ttyCH343USB0

Tags: LiDAR ROS Ubuntu Leishen N10 CH343 Driver

Posted on Sat, 18 Jul 2026 16:24:19 +0000 by courtewing