Forum: Mikrocontroller und Digitale Elektronik mehrere usbasp betreiben


von Thomas S. (tom23)


Lesenswert?

Hallo,
ich hab mir zwei USBASP Programmer besorgt. Sie funktionieren auch 
beide.
Jeder hängt per ISP an einem Mega8. Ich habe Suse Linux als 
Betriebssystem und benutze avrdude.
Den programmern habe ich die neuste version von fischel aufgespielt.
Wie kann ich die Programmer einzeln ansprechen?
Ich hab schon viel probiert mit -P aber ich spreche immer den zuerst an 
usb eingesteckten programmer an.....

avrdude  -c usbasp -P usb:003:014 -p atmega8 -v -U signature:r:-:m
oder
avrdude  -c usbasp -P usb:16c0:05dc -p atmega8 -v -U signature:r:-:m
bringen nichts.
D.H. ich muss immer wild rumstecken wenn ich einen anderen M8 
programieren will.



Hier die letzen zwei Zeilen von lsusb:

tom@linux-:~/delme>lsusb
Bus 003 Device011: ID 16c0:05dc VOTI shared ID for use with libusb
Bus 003 Device009: ID 16c0:05dc VOTI shared ID for use with libusb

Auch wenn ich einen an einem anderem Bus hänge, komme ich mit -P nicht 
zurecht.
Bus 003 Device 011: ID 16c0:05dc VOTI shared ID for use with libusb
Bus 004 Device 002: ID 16c0:05dc VOTI shared ID for use with libusb


Kann mir bitte einer(e) helfen
rene

von g457 (Gast)


Lesenswert?

Haben die USBASPs eine Seriennummer? Falls ja (rauszubekommen mit ein 
paar '-v' beim avrdude) dann wäre es denkbar, dass es möglich ist, 
selbige Seriennummern analog zum ICE mkII beim 'usb' mit anzugeben.

von g457 (Gast)


Lesenswert?

Ergänzung: die Liste der erkannten Seriennummbern bekommt man indem man 
eine ungültige welche angibt (zusammen mit '-v') [0].

HTH

[0] http://www.nongnu.org/avrdude/user-manual/avrdude_6.html

von Thomas S. (tom23)


Lesenswert?

Danke für die schnelle Antwort.

beide programmer haben die ser.nr.
avrdude: Device signature = 0x1e9307

übrigens die A8 an den die Programmer hängen haben die auch.
Ich bin kein Experte, aber muss das nicht die signature sein?
Denn wenn ich
avrdrdude -c usbasp -p m128 -P usb:xx -v

eingebe beschwert er sich, das das kein M128 ist:

avrdude: Device signature = 0x1e9307
avrdude: Expected signature for ATMEGA128 is 1E 97 02
         Double check chip, or use -F to override this check.

Ich hab die angabe mit -P aus der selben Doc wie du, das steht bei
Troubleshooting:
Problem: Multiple USBasp or USBtinyISP programmers connected 
simultaneously are not found.
.....
......
Examples:


avrdude -c usbtiny -p atmega8 -P usb:003:025 (Linux)
avrdude -c usbtiny -p atmega8 -P usb:/dev/usb:/dev/ugen1.3 (FreeBSD 8+)
avrdude -c usbtiny -p atmega8 \
  -P usb:bus-0:\\.\libusb0-0001--0x1781-0x0c9f (Windows)



rene

von g457 (Gast)


Lesenswert?

> avrdude: Device signature = 0x1e9307

Das ist die Signatur vom ∗Ziel∗ (nicht die Seriennummern vom 
Programmer).

> Problem: Multiple USBasp or USBtinyISP programmers connected
> simultaneously are not found.

Cool, das Problem ist also bekannt. Was spuckt Dein System denn für
Bus-IDs aus?

von Thomas S. (tom23)


Lesenswert?

Es sind die Sig nr. vom Programmer UND vom Ziel da beide gleich sind.
Ich hab´s nochmal geprüft!
Gibt die signr denn nicht einfach an das es sich um ein Mega8 handelt?
Dann darf ich ihn auch nicht ändern. (wie???)

In der HTML-MANUAL ist nur die rede von AVR-TINY-Programmer, gilt das da 
gesagte auch für USBASP ?

BUS-ID ? Meinst du:
Bus 003 Device 011: ID 16c0:05dc VOTI shared ID for use with libusb

oder etwas anderes?

von g457 (Gast)


Lesenswert?

> Gibt die signr denn nicht einfach an das es sich um ein Mega8 handelt?

Im Wesentlichen ja.

> Dann darf ich ihn auch nicht ändern. (wie???)

Das willst Du auch gar nicht.

> In der HTML-MANUAL ist nur die rede von AVR-TINY-Programmer, gilt das da
> gesagte auch für USBASP ?

Der Troubleshooting-Teil der Doku klingt zumindest so. Die Hoffnung 
stirbt zuletzt.

> BUS-ID ? Meinst du:
> Bus 003 Device 011: ID 16c0:05dc VOTI shared ID for use with libusb

Möglicherweise. Relevant ist die Ausgabe von avrdude (so wie in der Doku 
angegeben). Achja, welche Version vom avrdude nutzt Du? Falls der zu alt 
ist kann er das noch gar nicht.

von Thomas S. (tom23)


Lesenswert?

Hier die Ausgabe bei USBASP -> ATMega8

Es ist egal welche Parameter ich unter -P angebe, es wird immer mit dem 
geflasht, der zuerst an den USB-Stecker angeaschlossen wurde.
Oder natürlich, wenn nur einer der zwei Programmer angeschlossen ist, 
mit diesem.


avrdude  -c usbasp -Pusb:003:015 -p atmega8   -v -U signature:r:-:m
avrdude: Version 5.11, (openSUSE Buildservice)
         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/tom/.avrduderc"
         User configuration file does not exist or is not a regular 
file, skipping

         Using Port                    : usb:003:015
         Using Programmer              : usbasp
         AVR Part                      : ATMEGA8
         Chip Erase delay              : 10000 us
         PAGEL                         : PD7
         BS2                           : PC2
         RESET disposition             : dedicated
         RETRY pulse                   : SCK
         serial program mode           : yes
         parallel program mode         : yes
         Timeout                       : 200
         StabDelay                     : 100
         CmdexeDelay                   : 25
         SyncLoops                     : 32
         ByteDelay                     : 0
         PollIndex                     : 3
         PollValue                     : 0x53
         Memory Detail                 :

                                  Block Poll               Page 
Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages 
MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ 
----- ----- ---------
           eeprom         4    20   128    0 no        512    4      0 
9000  9000 0xff 0xff
           flash         33    10    64    0 yes      8192   64    128 
4500  4500 0xff 0x00
           lfuse          0     0     0    0 no          1    0      0 
2000  2000 0x00 0x00
           hfuse          0     0     0    0 no          1    0      0 
2000  2000 0x00 0x00
           lock           0     0     0    0 no          1    0      0 
2000  2000 0x00 0x00
           calibration    0     0     0    0 no          4    0      0 
0     0 0x00 0x00
           signature      0     0     0    0 no          3    0      0 
0     0 0x00 0x00

         Programmer Type : usbasp
         Description     : USBasp, http://www.fischl.de/usbasp/

avrdude: auto set sck period (because given equals null)
avrdude: AVR device initialized and ready to accept instructions

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

avrdude: Device signature = 0x1e9307
avrdude: safemode: lfuse reads as E4
avrdude: safemode: hfuse reads as C9
avrdude: reading signature memory:

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

avrdude: writing output file "<stdout>"
avrdude: fileio: invalid operation=1
avrdude: write to file '-' failed

avrdude: safemode: lfuse reads as E4
avrdude: safemode: hfuse reads as C9
avrdude: safemode: Fuses OK

avrdude done.  Thank you.

von g457 (Gast)


Lesenswert?

> Es ist egal welche Parameter ich unter -P angebe, es wird immer mit dem
> geflasht, der zuerst an den USB-Stecker angeaschlossen wurde.

Auch dann wenn Du bei den IDs was ungültiges angibst? Dem sollte laut 
Doku ja nicht so sein. Oder es wird tatsächlich nur beim USBtinyISP 
unterstützt (was schade wäre).

von Fred (Gast)


Lesenswert?

wie wäre es denn den beiden USB Programmern eine unterschiedliche ID zu
verpassen?
Wie soll das System den sonst die beiden auseinander halten?

ID 16c0:05dc kann der erste bleiben und der zweite dann ID 16c0:05dd.

Sollte doch klappen.

von Thomas S. (tom23)


Lesenswert?

>wie wäre es denn den beiden USB Programmern eine unterschiedliche ID zu
>verpassen?
>Wie soll das System den sonst die beiden auseinander halten?

Das hab ich schon probiert, ich hab den source von fischel mit eine 
neuen ID kompiliert und eingespeilt..............................

ICH MACHE ES NOCHMAL.......................

zwei Programmer verbinden Jumper2 colse
ändern .../Firmware/usbcofig.h  -> id ID 16c0:05dd
flashen....
>lsusb
Bus 003 Device 035: ID 16c0:05dd VOTI BlackcatUSB2
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
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

Geflashten Programmer an Taget mega8......

avrdude  -c usbasp -P usb:16c0:05dd -p atmega8   -v -U signature:r:-:m
avrdude: Version 5.11, (openSUSE Buildservice)
         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/tom/.avrduderc"
         User configuration file does not exist or is not a regular 
file, skipping

         Using Port                    : usb:16c0:05dd
         Using Programmer              : usbasp
avrdude: error: could not find USB device "USBasp" with vid=0x16c0 
pid=0x5dc

avrdude done.  Thank you


Die ID darf ich NICHT ändern da es dann kein usbasp sondern 
ein"BlackcatUSB2" ist!! Oder wie ist das???

Kann mir den damit keinen helfen???

von Fred (Gast)


Lesenswert?

in der avrdude.exe steht:
%s: error: could not find USB device "USBasp" with vid=0x%x pid=0x%x

das heißt, die Adressen sind nicht fest.
Irgendwie funktioniert die Parameterübergabe nicht richtig.

Auch schon mal mit eine ID 05db versucht.

von Fred (Gast)


Lesenswert?

Ist das nicht der Moderator hier?

Copyright (c) 2007-2009 Joerg Wunsch

von Thomas S. (tom23)


Lesenswert?

>Ist das nicht der Moderator hier?
>Copyright (c) 2007-2009 Joerg Wunsch

Ist er es oder nicht??

von Konrad S. (maybee)


Lesenswert?

thomas schneider schrieb:
> Ist er es oder nicht??

Ja, er ist es.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.