The Serial Port Hijacker
Ubuntu includes a background daemon called brltty (Braille Terminal). This service is designed to provide accessibility support for visually impaired users by automatically detecting and driving refreshable Braille displays connected via USB or serial ports.
However, brltty is notoriously aggressive in how it claims USB hardware. If you are a hardware developer, engineer, or hobbyist trying to flash an Arduino, program an ESP32, or connect to a router’s serial console using a common USB-to-Serial adapter (like the CH340 or FTDI chips), brltty will often mistakenly identify your adapter as a Braille display and hijack the port. Your flashing software will throw “Permission denied” or “Device busy” errors because the Braille daemon is holding the connection hostage. If you do not use a Braille display, you must disable this service.
How to Disable the Brltty Daemon
Because the service is deeply integrated into udev rules, the most permanent solution is to completely remove the package.
- Open your Ubuntu Terminal.
- First, stop the currently running service so it immediately releases your serial ports:
sudo systemctl stop brltty
- Next, completely uninstall the
brlttypackage and its associated rules from your system:
sudo apt-get remove --purge brltty
- Once the uninstallation is complete, you may still need to refresh your udev rules or simply restart the machine to ensure all serial port locks are cleared:
sudo udevadm control --reload-rules
After removing the package, you will be able to plug in your Arduinos, ESP32s, and USB-to-Serial adapters without the Braille daemon silently intercepting the connection, allowing your IDEs and terminal emulators to function normally.