понедельник, 31 августа 2020 г.

Привязать USB устройство к конкретному ttyUSB в Linux

Это делается через настройку udev.

1) Создаем новое правило udev:

    vim /etc/udev/rules.d/91-myrule.rule

2) По сути для того, чтобы создать стабильный алиас для устройства достаточно одной строки:

 ACTION=="add",ENV{ID_BUS}=="usb",ENV{ID_SERIAL}=="usb_serial",SYMLINK+="ttyUSBPort4"

ttyUSPPort4 - это будущее имя устройства, оно, как и все, будет в /dev/

а вот на ID_SERIAL остановимся чуть подробнее:

цитируя udev wiki: "To get definitive information of the device you can use either ID_SERIAL or ID_SERIAL_SHORT". Так что на самом деле для идентификации годятся 2 параметра.

Посмотреть их можно так:

udevadm info /dev/ttyUSBX - где X номер вашего устройства.

Если какой у него сейчас номер тоже не известно - вот способ его определить:

делаем lsusb, видим список всех устройств и их usb_serial

Потом грепаем по очереди все ttyUSB

grep PRODUCT= /sys/bus/usb-serial/devices/ttyUSB1/../uevent

и смотрим, какой serial к какому устройству относится.

среда, 15 января 2020 г.

Осиротевшее обновление debian

Посередине обновления debian сдохла связь, а screen я запустить забыл и процесс завис:
1) Проверяем:
  aptitude

Будет ошибка вида: Could not get lock /var/lib/dpkg/lock

2) Ищем процесс
  ps aux | grep -i apt

..........
  root     13114  3.0  5.9 103704 62592 ?        S     2019 15:10 apt-get upgrade
..........

3) Переключиться на этот процесс не получилось, убиваем его:
  kill -9 13114

4) Теперь система знает, dpkg прервали, запускаем:
  dpkg --configure -a

5) Теперь все работает, перезапускаем апгрейд
apt-get upgrade