You are not logged in.

#1 2021-09-27 17:36:42

Sourav
Member
From: India
Registered: 2019-04-22
Posts: 84
Website

[Solved] Arduino not working after brltty update

Hi, I have updated my Archlinux along with all other packages. After updating the package brltty to version 6.4-1, my arduino boards (both nano and uno, cloned CH340 chip) are not working. lsusb detects them but I can't see /dev/ttyUSBn devices anymore. The Arduino IDE also not detecting the boards.

Downgrading kernel didn't help. But downgrading brltty to 6.3-4 helped.

Current Kernel Info:

$ cat /proc/version 
Linux version 5.14.7-xanmod1-cacule-1-edge (souravgoswami@archlinux) (clang version 12.0.1, LLD 12.0.1) #1 SMP PREEMPT Sun, 26 Sep 2021 08:15:11 +0000

Also tried kernel 5.14.2.

Last edited by Sourav (2021-09-27 22:18:16)

Offline

#2 2021-09-27 19:26:11

thurstylark
Member
Registered: 2016-06-02
Posts: 11

Re: [Solved] Arduino not working after brltty update

This has been a pretty frequent error recently.

If you don't need braille tty support, you can mask the udev rules for brltty using the instructions from this answer: https://unix.stackexchange.com/a/670637

Offline

#3 2021-09-27 22:17:57

Sourav
Member
From: India
Registered: 2019-04-22
Posts: 84
Website

Re: [Solved] Arduino not working after brltty update

I don't need Braille TTY support. And the package was installed by Qemu, which I don't need anymore. So after uninstalling brltty, the problem is gone.

Also the given solution on unix.stackexchange should work fine, but not sure if it breaks qemu.

Offline

#4 2021-11-10 01:27:05

blackisle
Member
Registered: 2014-03-19
Posts: 3

Re: [Solved] Arduino not working after brltty update

I had the same issue with a clone Mega+wifi board and managed to get brltty to ignore my specific device (as I can't remove brltty completely as I do need to use QEMU).

The flag for me was in the dmesg output:
kernel: usb 3-2: new full-speed USB device number 10 using xhci_hcd
kernel: usb 3-2: New USB device found, idVendor=1a86, idProduct=7523, bcdDevice= 2.54
kernel: usb 3-2: New USB device strings: Mfr=0, Product=2, SerialNumber=0
kernel: usb 3-2: Product: USB2.0-Ser!
kernel: ch341 3-2:1.0: ch341-uart converter detected
kernel: ch341-uart ttyUSB0: break control not supported, using simulated break
kernel: usb 3-2: ch341-uart converter now attached to ttyUSB0
kernel: usb 3-2: usbfs: interface 0 claimed by ch341 while 'brltty' sets config #1     <-- This is the offending item
kernel: ch341-uart ttyUSB0: ch341-uart converter now disconnected from ttyUSB0
kernel: ch341 3-2:1.0: device disconnected

brltty has a rule for "idVendor=1a86, idProduct=7523" which is the same as the CH340 serial converter on my Mega clone.
You can see your device id by using "lsusb" to get a list of your devices (unplug your arduino, run lsusb then plug in your arduino and run lsusb again to see which device appears).
In my case:
Bus 003 Device 005: ID 1a86:7523 QinHeng Electronics CH340 serial converter

Take a note of the ID and then open the brltty rules file:
"sudo nano /usr/lib/udev/rules.d/90-brltty-device.rules"

Search through the file until you find the entry for your ID:
# Device: 1A86:7523
# Baum [NLS eReader Zoomax (20 cells)]
ENV{PRODUCT}=="1a86/7523/*", ENV{BRLTTY_BRAILLE_DRIVER}="bm", GOTO="brltty_usb_run"

Now comment out the line:
# Device: 1A86:7523
# Baum [NLS eReader Zoomax (20 cells)]
# ENV{PRODUCT}=="1a86/7523/*", ENV{BRLTTY_BRAILLE_DRIVER}="bm", GOTO="brltty_usb_run"

Save and close the file then reboot.

After the reboot the /dev/ttyUSB0  port was available again in the Arduino IDE.

Offline

#5 2021-12-07 22:54:02

OM9dSDJn
Member
Registered: 2014-11-22
Posts: 5

Re: [Solved] Arduino not working after brltty update

Hey @blackisle, I came across your post here: https://unix.stackexchange.com/question … 547#680547, and it's very helpful!

Two improvements:

- It's best not to modify system files in /usr/ since they will be overwritten upon package updates. Only Pacman should ever modify that part of the system. Instead, you can copy /usr/lib/udev/rules.d/90-brltty-device.rules into /etc/udev/rules.d/ and modify it there!
- you can use sudo udevadm control --reload-rules to reload the rules without a reboot if you'd like.

Offline

Board footer

Powered by FluxBB