How to Completely Disable the ‘Brltty’ (Braille Display) Daemon in Ubuntu to Fix USB Serial Adapters

Ubuntu is designed to be as accessible as possible out of the box. To achieve this, it includes a background daemon called brltty. This service constantly monitors your USB ports, and if it detects a compatible Braille display device, it automatically configures it so a visually impaired user can immediately interact with the operating system.

While this is a fantastic accessibility feature, it causes a massive conflict for hardware developers, Arduino enthusiasts, and network engineers. Many modern Braille displays use common USB-to-Serial converter chips (like the CH340). Because brltty is aggressively scanning for these chips, the moment you plug in a standard Arduino board, a Cisco console cable, or an ESP32 microcontroller, the Braille daemon intercepts the connection. Your computer will fail to mount the serial device (usually /dev/ttyUSB0), and you will be completely unable to flash code or access your serial terminal. If you do not require a Braille display, you must completely disable this daemon to use USB serial adapters.

Uninstalling the Brltty Daemon

Because brltty is deeply integrated into the system’s udev rules (the system that handles plugging and unplugging USB devices), simply stopping the service is often not enough. The most reliable way to fix your USB serial ports is to purge the software completely.

  1. Open a Terminal window.
  2. Run the following command to completely remove the package and its associated configuration files:
    sudo apt-get purge --auto-remove brltty
  3. Press Y when prompted to confirm the uninstallation.
  4. Once the uninstallation finishes, unplug your Arduino or USB serial adapter, wait three seconds, and plug it back in.
  5. Run dmesg | tail -n 20 to verify that your device has successfully connected and mounted to ttyUSB0.

Disabling the Daemon via Systemctl (Alternative)

If you are on a locked-down system where you are not allowed to uninstall system packages, you can attempt to mask the service instead. This tells the system to never start the service, even if a USB event requests it.

  1. Open the Terminal.
  2. Stop the daemon if it is currently running:
    sudo systemctl stop brltty-udev.service
  3. Disable and mask the service to prevent it from ever waking up:
    sudo systemctl mask brltty-udev.service
  4. Stop the main systemd service as well:
    sudo systemctl stop brltty.service
  5. Disable and mask the main service:
    sudo systemctl mask brltty.service

Whether you choose to mask the services or purge the package entirely, brltty will no longer blindly hijack your CH340 chips. Your USB serial adapters will function exactly as intended, allowing you to flash microcontrollers and access networking equipment without interference.

Get the best tech tips delivered straight to your inbox.

Join thousands of readers mastering Apple, Google, Microsoft, and Linux.