USB-직렬 포트 칩 기반의 USB 동글을 사용할 수 없습니다.

USB-직렬 포트 칩 기반의 USB 동글을 사용할 수 없습니다.

USB Zigbee 동글이 있는데 연결할 수 없습니다. 잠깐 나타났다 /dev/ttyUSB0가 금방 사라집니다. 콘솔에 다음 출력이 표시됩니다.

$ dmesg --follow
...
[  738.365561] usb 1-10: new full-speed USB device number 8 using xhci_hcd
[  738.607730] usb 1-10: New USB device found, idVendor=1a86, idProduct=7523, bcdDevice= 2.64
[  738.607737] usb 1-10: New USB device strings: Mfr=0, Product=2, SerialNumber=0
[  738.607739] usb 1-10: Product: USB Serial
[  738.619446] ch341 1-10:1.0: ch341-uart converter detected
[  738.633501] usb 1-10: ch341-uart converter now attached to ttyUSB0
[  738.732348] audit: type=1130 audit(1632606446.974:2212): pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=brltty-device@sys-devices-pci0000:00-0000:00:01.3-0000:03:00.0-usb1-1\x2d10 comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
[  738.768081] audit: type=1130 audit(1632606447.007:2213): pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=brltty@-sys-devices-pci0000:00-0000:00:01.3-0000:03:00.0-usb1-1\x2d10 comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
[  738.776433] usb 1-10: usbfs: interface 0 claimed by ch341 while 'brltty' sets config #1
[  738.783508] ch341-uart ttyUSB0: ch341-uart converter now disconnected from ttyUSB0
[  738.783521] ch341 1-10:1.0: device disconnected
[  739.955783] input: BRLTTY 6.4 Linux Screen Driver Keyboard as /devices/virtual/input/input35
...

답변1

여기서 문제는 "새로 고칠 수 있는 점자 디스플레이를 사용하여 시각 장애인에게 Linux/Unix 콘솔(텍스트 모드)에 대한 액세스를 제공하는" 프로그램인 BRLTTY입니다.

시각 장애인이 아닌 경우 두 가지 방법으로 BRLTTY를 비활성화할 수 있습니다.

udev 규칙 삭제

BRLTTY는 udev 규칙을 사용하여 루트가 되지 않고도 TTY를 방해할 수 있는 권한을 얻습니다. 다음을 사용하여 배포와 함께 제공된 규칙을 재정의하여 이러한 규칙을 비활성화할 수 있습니다 /dev/null.

for f in /usr/lib/udev/rules.d/*brltty*.rules; do
    sudo ln -s /dev/null "/etc/udev/rules.d/$(basename "$f")"
done
sudo udevadm control --reload-rules

서비스 비활성화

BRLTTY 서비스는 이 서비스에 의해 brltty.path시작됩니다 . 다음을 수행하면 서비스 실행을 완전히 방지할 수 있습니다.

$ sudo systemctl mask brltty.path
Created symlink /etc/systemd/system/brltty.path → /dev/null.

답변2

거기에는 촬영이 너무 많았습니다. ㅏ덜 침습적인 솔루션사용자가 기여함검은 섬도착하다이 게시물("Arduino를 brltty업데이트할 수 없습니다")ArchLinux 포럼에서.

brlttyidVendor=1a86, idProduct=7523내 Mega 클론의 CH340 직렬 변환기와 동일한 규칙 중 일부입니다 .

장치 목록 가져오기 를 사용하여 장치 ID를 볼 수 있습니다 lsusb(Arduino를 분리하고 실행한 lsusb다음 Arduino를 연결한 후 lsusb다시 실행하여 어떤 장치가 나타나는지 확인).

나는:

Bus 003 Device 005: ID 1a86:7523 QinHeng Electronics CH340 serial converter

ID를 기록한 후 brltty 규칙 파일을 엽니다.

sudo nano /usr/lib/udev/rules.d/90-brltty-device.rules

ID 항목을 찾을 때까지 파일을 검색하세요.

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

이제 다음 줄을 주석 처리하세요.

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

파일을 저장하고 닫은 후 다시 시작하세요.

재부팅 후 /dev/ttyUSB0Arduino IDE에서 해당 포트를 다시 사용할 수 있습니다.

답변3

이는 @EvgEnZh의 훌륭한 의견을 강조하고 맥락을 추가하기 위한 것입니다. Manjaro에서 비활성화해야 하는 서비스가 두 개 이상 있습니다. 나에게는 다음과 같습니다.

서비스 나열:

 $ systemctl list-units | grep brltty
  brltty.path                             loaded active running   Default BRLTTY Instance
  [email protected]         loaded active running   BRLTTY Instance: /etc/brltty.conf
  system-brltty.slice                     loaded active active    Slice /system/brltty
  system-brltty\x2ddevice.slice           loaded active active    Slice /system/brltty-device

그런 다음 비활성화하십시오.

$ sudo systemctl mask brltty.path
$ sudo systemctl stop brltty.path
$ sudo systemctl mask system-brltty\x2ddevice.slice
$ sudo systemctl stop system-brltty\x2ddevice.slice
$ sudo systemctl mask system-brltty.slice
$ sudo systemctl stop system-brltty.slice
$ sudo systemctl mask [email protected]
$ sudo systemctl stop [email protected]

이 모든 것을 마스킹해야 하는지는 잘 모르겠지만 brltty.path를 마스킹하고 중지하는 것만으로는 작동하지 않습니다.

답변4

brltty에서 문제가 되는 줄을 주석 처리하는 것도 나에게 도움이 되었습니다.

나는 꽤 많은 usbarts를 가지고 있는데 그것들이 모두 없어졌음에도 불구하고 이전 Ubuntu와 Windows에서 여전히 작동하고 있다는 사실이 너무 실망스럽습니다!

lsmod에서

Bus 001 Device 019: ID 10c4:ea60 Silicon Labs CP210x UART Bridge
Bus 001 Device 021: ID f055:9800 MicroPython Pyboard Virtual Comm Port in FS Mode

안전을 위해 10c4:ea60 및 10c4:ea80을 주석 처리했습니다.

그런데 솔직히 화가 나요. 시각 장애인(또는 청각 장애인, 휠체어에 묶인) 친구들을 지원하는 것은 훌륭한 일입니다.

그들은 어떻게 그런 실수를 할 수 있었습니까? 3개의 다른 제조업체로부터 USB아트를 받았습니다. CP210x는 분명히 인기 있는 칩입니다.

85-brltty.rules를 삭제하고 싶습니다.

이는 내장 점자 지원을 추가하기로 결정한 사람들의 의도와 정반대입니다.

관련 정보