AVReAl/Linux и права администратора

Изначально AVReAl/Linux работал с LPT напрямую, командами процессора для обращения к портам I/O. Для этого avreal должен запускаться с правами администратора. Позже была дописана поддержка работы с устройствами /dev/parport, для доступа к которым достаточно включить пользователя в группу lp. Всё это описано в публикации AVReAl и LPT в Linux.

Когда в программу добавилась поддержка работы с FTDI MPSSE, я заметил, что без прав рута не выходит соединиться с микросхемой FT2232. Но у меня на компьютере все версии AVReAl работают от имени администратора, так как время от времени делается проверка работы с прямым доступом к LPT. Поэтому и с FT2232 всё работает и я не копал глубже.

Наконец-то решил разобраться с этим вопросом. Как это часто бывает, достаточно было немного почитать.

Для того, чтобы работать с микросхемами FTDI без привелегий администратора, нужно в каталог /etc/udev/rules.d/ записать файл с именем, например 55-ftdi.rules, такого содержания:

# FTDI-based devices
#
# FTDI vid=0403
# FT2232, FT2232H: pid=6010
# FT4232H:  pid=6011
# FT232H:   pid=6014
SUBSYSTEM=="usb", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6010|6011|6014", OWNER="root", GROUP="root", MODE="0666"

Эти правила рассчитаны на микросхмему FTDI, которой не заменены vid/pid по умолчанию. Если используется адаптер с другими vid/pid, нужно добавить соответствующую строку в файл.

Пакет OpenOCD содержит файл правил для всех адаптеров, который он поддерживает. При использовании AVReAl с адаптером на микросхеме FTDI из этого списка можно просто перенести файл правил OpenOCD в каталог /etc/udev/rules.d/. В правилах OpenOCD использовано GROUP="plugdev", MODE="0664". Но я не вижу разницы между этими двумя вариантами на «десктопе», где все пользователи по умолчанию включены в группу plugdev, чтобы они могли подключать USB-флешки и переносные диски.

Attached Files:

AVReAl update — 1.28r9

Вышла новая версия програматора avreal — v1.28r9 (Tue 2011-12-20).

  • Добавлена поддержка FT232H (режим MPSSE)
  • Изменена обработка задержек в Windows-версии: уменьшена загрузка процессора при работе с ключами -k/-K
  • Для всех микроконтроллеров изменён метод пересинхронизации (resync). Сначала делается одна попытка синхронизации импульсом RESET, после чего выполняется способ с дополнительным импульсом SCK.
    Больше про методы синхронизации.

AVReAl beta — 1.28r9b1

Вышла бета-версия програматора avreal 1.28r9b1 з поддержкой FT232H.
Просьба к владельцам плат с микросхемой FT232H проверить работу.


Дополнение: тестирование закончено.

[flagcounter image]