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

Від самого початку AVReAl/Linux працював з LPT напряму, командами процесора для доступу до портів вводу/виводу. Для цього потрібні права адміністратора і avreal встановлюється з параметрами власника та групи root та піднятим SUID-бітом. Пізніше було дописано підтримку роботи з пристроями /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, якій записом в конфігураційній EEPROM не замінено vid/pid за умовчанням. Якщо використовується адаптер з іншими vid/pid, треба додати відповідний рядок в цей файл.

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

Звісно, щоб записати цей файл, права адміністратора знадобляться. Але після цього AVReAl працюватиме від імені будь-якого користувача.

Attached Files:

AVReAl @ XP/64, Windows7/32, Windows7/64

Не було б щастя, так нещастя допомогло.
Знайшов можливість самостійно перевірити роботу avreal під WindowsXP/64, Windows7/32, Windows7/64, досі я перевіряв лише під W2K та XP/32.
Поки-що лише для FTDI (FT2232) – з драйверами CDM 2.06.00 все працює. Найближчими днями буду розбиратися з LPT для перерахованих систем, перевірю різні драйвери та методи їх встановлення. Обговорення було на електроніксі десь з цього місця.

AVReAl update – 1.28r1

Вийшла нова версія програматора avreal – v1.28r1 (Sun 2010-01-31).

  • Додано підтримку FT2232H, FT4232H з можливістю використовувати для програмування обидва канали з MPSSE. Дозволені імена виводів перераховано в описові конфігурування.
  • Додано ключ -k для очікування натискання кнопки на адаптері програмування і відповідний конфігураційний запис key.
  • Додано модифікацію ключа -os для того, щоб задавати безпосередньо частоту SCK, а не частоту тактування мікроконтроллера.

Входить и виходить

Є такий термін — «винахід на застосування» — «застосування пристроїв за новим раніше невідомим призначенням». Ну це не зовсм воно, бо призначення те ж саме — заткнути дірку. Просто дірка інша 🙂

Як з’ясувалося, затичка гнізда зарядного пристрою/гарнітури/… мобільного телефона Siemens ME45 непогано підходить до гнізда USB.
Прямо як у відомого віслючка.
Так що кому жорстокі сертифікатори стріляють чим під руку трапиться у вільні гнізда USB і ноутбук від цього висне — шукайте десь контейнер з такими затичками, щоб вистачило на всю програму випуску, бо якщо вже внесете в комплектність, то треба мати.

Ну і мені з пів мішка відсипете. Бо у мене лише дві штучки — єдине, що залишилося корисного від подарованих мені кілька років тому залишків ME45-тих, нових корпусів до них (один пішов на заміну для такого ж телефона дружини) та кількох акумуляторів, які так і не піднялися 🙁 Жалкую, бо кращого телефона у мене не було, а мій старий вже не працює.

ME45_with_cover USB_with_cover
[flagcounter image]