AVRISP MKII nie działa z AVRDUDE na Linuksie

System widzi, że coś jest podłączone po podłączeniu i odłączeniu:

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 powinien polegać na cdc-acm:

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

Więc powinien być w stanie zobaczyć go dobrze, a mimo to nie jestem w stanie do niego napisać.

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

Zwraca

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"
Author: Peter Mortensen, 2011-03-23

5 answers

Okazuje się, że Ubuntu potwierdzi, że obiekt Tam jest, ale nie będzie się nim dobrze bawić, dopóki nie naprawisz niektórych reguł udev. Dzięki http://steve.kargs.net/bacnet/avr-isp-mkii-on-ubuntu-hardy / który dostarczył pliki, które wymagały tylko niewielkiej aktualizacji.

Utwórz nowy plik / etc/udev / avrisp.Zasady

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"

Teraz Utwórz wirtualne łącze do pliku i nadaj mu priorytet reguły

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

Sprawdź, czy jesteś w grupie dialout

groups

Restart udev

sudo service udev restart
Hura!
 30
Author: Katy Levinson,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-09-09 23:25:46

Dla Ubuntu 12.04, jest drobna zmiana, która musi zostać przeprowadzona w konfiguracji, którą napisała Katy:

Wszystkie wystąpienia SYSFS należy zastąpić ATTR

DODATKOWO, jeśli nadal masz problemy, upewnij się, że zainstalowałeś wszystkie wymagane zależne biblioteki. Okazało się, że muszę zainstalować pakiet uisp.

Jeśli ponowne uruchomienie udev nie robi różnicy, odłącz programator i podłącz go z powrotem tak.

 11
Author: antler,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-06-03 10:33:21

Zaktualizowana zasada, która działa na 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"

Na podstawie poprzednich postów o zmianach.

 7
Author: Uberdaff,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-11-19 22:11:27

Wygląda na to, że zmienili go ponownie w 12.10
podsystem jest teraz " usb "

Znalazłem polecenie, które pokazuje, czego potrzebujesz. W tym celu wystarczy znać magistralę i numer Urządzenia z podłączonego urządzenia (użyj lsusb)

Bus 003 Device 010: ID 03EB: lsusb

Więc mój numer autobusu od isp to 003, A Urządzenie to 010 (edytuj koniec / 003/010 do swoich potrzeb)

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


pokazuje wśród wielu innych rzeczy

SUBSYSTEM= = " usb "

ATTR {idVendor}== "03eb"

ATTR{idProduct}== "2104"

Zastąp / Zmień powyższą regułę i wszystko powinno działać

Jeśli są inne problemy, Komenda pokaże je Tobie, sprawdza reguły (w ten sposób znalazła literówkę :)) Jeśli nie ma błędu to nic nie pokaże (nie zdawałem sobie sprawy przez jakiś czas)

 2
Author: Horaz,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-06-20 09:12:55

Użyłem poniższego pliku udev rules, aby uruchomić go na Fedorze 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"

Jak widzisz, niektóre drobne rzeczy różnią się od sugerowanych powyżej. Musiałem też ponownie uruchomić komputer. Użycie " udevadm control -- reload "nie wystarczyło.

 0
Author: Stephan Korsholm,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-03-30 22:00:46