AVRISP MKII не работает с AVRDUDE в Linux - PullRequest
23 голосов
/ 24 марта 2011

Система видит, что что-то подключено, когда я подключаю и отключаю это:

bluehat@Matapan:/dev$ tail -f /var/log/syslog
Mar 23 15:36:35 Matapan kernel: [156082.112874] usb 7-1: new full speed USB device using uhci_hcd and address 6
Mar 23 15:47:19 Matapan kernel: [156726.248081] usb 7-1: USB disconnect, address 6
Mar 23 15:47:29 Matapan kernel: [156736.200148] usb 6-1: new full speed USB device using uhci_hcd and address 3

AVRISP MKII должен полагаться на cdc-acm:

bluehat@Matapan:/dev$ modinfo cdc-acm -V
module-init-tools version 3.12

Так что он должен иметь возможностьвижу это прекрасно, и все же я не могу написать в него.

avrdude -p m1280 -c avrispmkII -P usb -U test.hex

Возвращает

avrdude: usb_open(): cannot read serial number "error sending control message: Operation not permitted"
avrdude: usb_open(): cannot read product name "error sending control message: Operation not permitted"
avrdude: usbdev_open(): error setting configuration 1: could not set config 1: Operation not permitted
avrdude: usbdev_open(): did not find any USB device "usb"

Ответы [ 5 ]

30 голосов
/ 24 марта 2011

Оказывается, Ubuntu будет признавать, что объект есть, но не будет хорошо с ним играть, пока вы не исправите некоторые из своих правил udev. * * * * * * * * * * * * * * * * * * * * * * * * * *

* * * * * * * * * * * * * * * *.

Создать новый файл /etc/udev/avrisp.rules

SUBSYSTEM!="usb", ACTION!="add", GOTO="avrisp_end"

# Atmel Corp. JTAG ICE mkII
ATTR{idVendor}=="03eb", ATTR{idProduct}=="2103", MODE="660", GROUP="dialout"
# Atmel Corp. AVRISP mkII
ATTR{idVendor}=="03eb", ATTR{idProduct}=="2104", MODE="660", GROUP="dialout"
# Atmel Corp. Dragon
ATTR{idVendor}=="03eb", ATTR{idProduct}=="2107", MODE="660", GROUP="dialout"

LABEL="avrisp_end"

Теперь создайте виртуальную ссылку на файл и назначьте ей приоритет правила

cd /etc/udev/rules.d
sudo ln ../avrisp.rules 60-avrisp.rules

Проверьте, что вы в группе дозвона

groups

Перезапустить udev

sudo service udev restart

Ура!

11 голосов
/ 03 июня 2012

В Ubuntu 12.04 есть небольшое изменение, которое необходимо внести в конфигурацию, которую выложила Кэти:

Все вхождения SYSFS должны быть заменены на ATTR

Кроме того, если у вас все еще есть проблемы, убедитесь, что вы установили все необходимые зависимые библиотеки.Я обнаружил, что мне нужно было также установить пакет uisp .

Если перезапуск udev не имеет значения, отключите программатор и снова включите его.

7 голосов
/ 20 ноября 2013

Обновлено правило, которое работает для 13.10:

SUBSYSTEM!="usb", ACTION!="add", GOTO="avrisp_end"

# Atmel Corp. JTAG ICE mkII
ATTR{idVendor}=="03eb", ATTR{idProduct}=="2103", MODE="660", GROUP="dialout"
# Atmel Corp. AVRISP mkII
ATTR{idVendor}=="03eb", ATTR{idProduct}=="2104", MODE="660", GROUP="dialout"
# Atmel Corp. Dragon
ATTR{idVendor}=="03eb", ATTR{idProduct}=="2107", MODE="660", GROUP="dialout"

LABEL="avrisp_end"

На основании предыдущих сообщений об изменениях.

2 голосов
/ 14 января 2013

Кажется, они изменили его снова в 12.10
Подсистема теперь "usb"

Я нашел команду, которая показывает, что вам нужно.Для этого вам просто нужно знать номер шины и устройства от подключенного устройства (используйте lsusb)

Шина 003 Устройство 010: ID 03eb: lsusb

Итак, моя шинаномер из провайдера - 003, а устройство - 010 (отредактируйте конец / 003/010 в соответствии с вашими потребностями)

udevadm info --attribute-walk --name = bus / usb / 003/010


показывает среди многих других вещей

SUBSYSTEM == "usb"

ATTR {idVendor} == "03eb"

ATTR {idProduct} == "2104"

Заменить / изменить созданное выше правило, и все должно работать

Если есть другие проблемы, команда покажет их вам,он проверяет правила (таким образом обнаружил опечатку :)) Если ошибки не будет, ничего не отобразится (некоторое время не осознавал)

0 голосов
/ 15 октября 2014

Я использовал следующий файл правил udev, чтобы заставить его работать на Fedora 19 :

SUBSYSTEM!="usb", ACTION!="add", GOTO="avrisp_end"

# Atmel Corp. JTAG ICE mkII
ATTR{idVendor}=="03eb", ATTR{idProduct}=="2103", MODE="660", GROUP="dialout"
# Atmel Corp. AVRISP mkII
ATTR{idVendor}=="03eb", ATTR{idProduct}=="2104", MODE="660", GROUP="dialout"
# Atmel Corp. Dragon
ATTR{idVendor}=="03eb", ATTR{idProduct}=="2107", MODE="660", GROUP="dialout"

LABEL="avrisp_end"

Как видите, некоторые мелочи отличаются от того, что было предложено выше.Также мне пришлось перезагрузить компьютер.Использование «udevadm control --reload» было недостаточно.

...