Fehlermeldung avrdude und usbasp

#3868417
Lesenswert?

n'Abend...
Folgende Ausgabe meldet mein dude mit usbasp und einem nano:
-----------------------------8<--------------8<---------snip!
avrdude: Version 5.11.1, compiled on Oct 18 2011 at 21:41:15
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2009 Joerg Wunsch

         System wide configuration file is "/etc/avrdude.conf"
         User configuration file is "/home/RFr/.avrduderc"
         User configuration file does not exist or is not a regular 
file, skipping

         Using Port                    : /dev/usb
         Using Programmer              : usbasp
         Overriding Baud Rate          : 57600
avrdude: Warning: cannot query manufacturer for device: error sending 
control message: Operation not permitted
avrdude: error: could not find USB device "USBasp" with vid=0x16c0 
pid=0x5dc

avrdude done.  Thank you.

RFr@LinuxMaster:~/Applikationen$ avrdude -c usbasp -p m328p -u -U 
flash:w:ff_mega.hex
avrdude: Warning: cannot query manufacturer for device: error sending 
control message: Operation not permitted
avrdude: error: could not find USB device "USBasp" with vid=0x16c0 
pid=0x5dc

avrdude done.  Thank you.
---------------8<------------------8<----------------------snap!

Ich weiss nicht, was ich machen soll, um diese Meldung abzustellen.

Kann mir jemand helfen?

Gruss

Robert
#3868531
Lesenswert?

R. Freitag schrieb:
> avrdude: error: could not find USB device "USBasp" with vid=0x16c0
> pid=0x5dc

Es wurde kein USB-gerät mit der VID/PID von usbasp gefunden. Entweder 
steckt es nicht am USB oder es wurde nicht erkannt.

> Ich weiss nicht, was ich machen soll, um diese Meldung abzustellen.

Wird der usbasp denn von lsusb gefunden?
1
~ $lsusb 
2
...
3
Bus 001 Device 006: ID 16c0:05dc Van Ooijen Technische Informatica ...
4
shared ID for use with libusb

Wobei nicht der Text entscheidend ist, sondern die USB ID 16c0:05dc


XL
#3868538
Lesenswert?

lsusb gibt aus:


RFr@LinuxMaster:~/Applikationen$ lsusb
Bus 002 Device 003: ID 18e3:9102 Fitipower Integrated Technology Inc 
Multi Card Reader
Bus 003 Device 002: ID 046d:c077 Logitech, Inc.
Bus 003 Device 005: ID 16c0:05dc Van Ooijen Technische Informatica 
shared ID for use with libusb
Bus 004 Device 002: ID 03f0:0605 Hewlett-Packard ScanJet 2200c
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

Es ist also drin und wurde gefunden.

Gruss

Robert
#3868655
Lesenswert?

Ergebnis:



root@LinuxMaster:~# avrdude -c usbasp -P /dev/usb -p m328p -u -U 
flash:w:ff_mega.hex

avrdude: warning: cannot set sck period. please check for usbasp 
firmware update.
avrdude: error: programm enable: target doesn't answer. 1
avrdude: initialization failed, rc=-1
         Double check connections and try again, or use -F to override
         this check.
#3868699
Lesenswert?

Geändert. Ergebnis:




root@LinuxMaster:/home/RFr/Applikationen/ff5.0/avr/hex# avrdude -c 
usbasp -u -p m328p -P usb -U flash:w:ff_mega.hex

avrdude: warning: cannot set sck period. please check for usbasp 
firmware update.
avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 
0.01s

avrdude: Device signature = 0x1e950f
avrdude: NOTE: FLASH memory has been specified, an erase cycle will be 
performed
         To disable this feature, specify the -D option.
avrdude: erasing chip
avrdude: warning: cannot set sck period. please check for usbasp 
firmware update.
avrdude: reading input file "ff_mega.hex"
avrdude: input file ff_mega.hex auto detected as Intel Hex
avrdude: ERROR: address 0x3de10 out of range at line 2 of ff_mega.hex
avrdude: read from file 'ff_mega.hex' failed

avrdude done.  Thank you.


Man beachte, dass sich die Meldung geändert hat.
Gast #3868770
Lesenswert?

> Man beachte, dass sich die Meldung geändert hat.

Ja, nämlich auf

> avrdude: ERROR: address 0x3de10 out of range at line 2 of ff_mega.hex
> avrdude: read from file 'ff_mega.hex' failed

Falsches format?
Moderator Persönliche Seite #3868886
Lesenswert?

R. Freitag schrieb:
> Using Port                    : /dev/usb

Falsch.
1
-P usb

benutzen (ohne „/dev“!).

Den USB kann man nicht einfach über irgendein Gerät in /dev zugreifen,
sondern man muss mit der libusb den Bus sequenziell absuchen, bis man
sein passendes Gerät gefunden hat.  Das wird durch das „-P usb“
bewirkt.  (Wie dann der Zugriff über irgendwas in /dev erfolgt, das
abstrahiert die libusb ohnehin, sodass es die Details des jeweiligen
OS versteckt.)

Zumindest in aktuellen AVRDUDE-Versionen ist die Benutzung des USB
für USBasp passend voreingestellt, sodass du die -P-Option komplett
sparen kannst.  Deine Version ist schon etwas, hüstel, angestaubt …
#3868955
Lesenswert?

R. Freitag schrieb:
> Ergebnis:
>
> root@LinuxMaster

Ok, das geht also als root. Nun tue folgendes:


* erzeuge eine neue leere Datei /etc/udev/rules.d/usbasp.rules
* fülle sie mit folgendem Inhalt (eine Zeile):
1
SUBSYSTEMS=="usb", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="05dc", MODE="0666"

Danach wirds ohne root gehen (möglicherweise vorher einmal abstöpseln 
und anstöpseln, bin mir nicht sicher, evtl sogar Neustart, glaub aber 
eher nicht).


Bezüglich der Warnung über "unable to set SCK-period" kannst Du statt 
der existierenden modifizierten Chinesen-Firmware die orginale 
Fischl-Firmware auf den China-Programmer flashen (wenn Du noch einen 
zweiten ISP übrig hast), dannach ist die Warnung weg und Du kannst in 
avrdude die -B Option verwenden. Du kannst es aber auch so lassen, dann 
versucht der Programmer selbst die richtige SCK Taktrate zu finden und 
die -B option wird ignoriert (und avrdude meckert kurz), geht meistens, 
soll aber auch schonmal Probleme gemacht haben.

Die andere Fehlermeldung besagt daß Du das falsche hex file erwischt 
hast, wahrscheinlich hast Du es verwechselt.
Gast #3870096
Lesenswert?

>> Wo auch immer du diese HEX Datei her hast:
>>
>> Sie ist nicht für einen ATMEGA.

Naja, sie ist nicht für einen ATMega328.

>woher nimmst du diese Erkenntnis?

Die Adressen in der Hex-Datei zeigen auf Speicherbereiche die
dein kleiner ATMega328 nun mal nicht hat.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren