Последовательный порт USB не отображается (устранение неполадок Udev)

Очень грубо, без подробностей:

Основные изменения, которые должен внести Devuan, касаются зависимостей пакетов, потому что systemd превратился в большой толстый немодульный комок, который расширяет свои усики (зависимости )во множество других пакетов (, например. рабочий стол ), где вы будете чесать затылок и спрашивать себя, зачем это нужно. Это сделало действительно трудным запуск Debian без systemd (Я пытался сделать это достаточно долго ). Вы бы обновили невинный пакет, и бац, через сотню косвенных действий вы снова получили systemd.

1 )Просто традиционная система инициализации sysv, которая всегда была в Debian. Devuan не столько требует новых пакетов, сколько использует Debian так, как он использовался до беспорядка с systemd.

2 )См. выше -в отношении доступных пакетов изменений не так много. Есть несколько «призрачных» пакетов, которые более или менее пусты, но используются в Debian для systemd, чтобы удовлетворить зависимости.

3 )Я не думаю, что есть какие-либо изменения в реальном коде. Разбор беспорядка с зависимостями был бы действительно полезным для Debian (, тогда не было бы необходимости в Devuan ), но, очевидно, сопровождающие Debian не хотели этого делать.

0
13.03.2020, 02:23
3 ответа

Не все USB-устройства представлены как устройства с последовательным -портом -. В частности, USBtinyISP вообще не эмулирует последовательный порт, а доступен через libusbс использованием встроенной связи USB.

У меня также есть USBtinyISP от Adafruit с точно такими же идентификаторами поставщика USB и продукта, как у вас, 0x1781 и 0x0c9f соответственно. Он не будет производить ни /dev/ttyUSB*, ни /dev/ttyACM*устройство, но avrdudeбудет нормально с ним связываться.

Bus 001 Device 006: ID 1781:0c9f Multiple Vendors USBtiny

В вашем случае USBtinyISP был обнаружен на шине 1, устройство 6, поэтому узел устройства, используемый libusbдля связи с устройством, будет /dev/bus/usb/001/006. Возможно, ваши правила udev уже применяются к этому устройству.

Кроме того, по крайней мере в Debian пакет avrdudeуже включает файл правил udev. Он будет установлен в /lib/udev/rules.d/60-avrdude.rulesкак и любой системный -файл правил udev по умолчанию, оставив /etc/udev/rules.dтолько для локальных настроек/переопределений. Этот файл уже охватывает USBtinyISP.

Чтобы указать avrdudeиспользовать USBtinyISP по умолчанию, вы можете создать для себя файл ~/.avrduderc, содержащий эту строку:

default_programmer = "usbtiny";

Это устранит необходимость указывать тип программатора в каждой avrdudeкомандной строке.

0
28.04.2021, 23:20

Вы упоминаете ATTR{idVendor}и тому подобное. Должно ли это быть ATTRS{...}? Я также обнаружил, что минимальные правила лучше.

Например, в моей системе Debian есть следующее:

% cat /etc/udev/rules.d/ols.rules               
#Rules for Openbench Logix Snifferslogic. Creates a nice link to the ols
ATTRS{idVendor}=="04d8", ATTRS{idProduct}=="fc92", MODE="0666", SYMLINK+="OpenLogicSniffer"

Так что я бы попробовал:

ATTRS{idVendor}=="1781", ATTRS{idProduct}=="0c9f", MODE="0660", GROUP="plugdev", SYMLINK+="usbtiny%n"
0
28.04.2021, 23:20

Я думаю, вам следует использовать MODE="0666" вместо MODE="0660".

0
28.04.2021, 23:20

Теги

Похожие вопросы