PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Probleme mit dem ISP Programmer "Atmel Corp. AVR ISP mkII" unter ubuntu



Ritchie
19.12.2011, 20:33
Hallo Zusammen,
ich verwende den Programmer von USB All, mit dem Treiber "Atmel Corp. AVR ISP mkII".

Der Programmer arbeitet unter Windows einwandfrei.

Unter Linux habe ich das Problem, das,
wenn ich auf diesen Programmer zugreifen will, dieser plötzlich sich abklemmt.

Der Effekt zweigt sich wie folgt.
- kubuntu gestartet.
- lsusb zeigt den Eintrag "Bus 002 Device 003: ID 03eb:2104 Atmel Corp. AVR ISP mkII"
- Dann starte ich eine VMware für AVR Studio.
Der Treiber wird unter USB korrekt angezeigt.
- Wenn ich AVR Studio starte und auf den Programmer zugreifen will,
ist dieser plötzlich weg.
- lsusb zeigt mir das USB Device nicht mehr.
- Der Treiber wird erst wieder geladen, wenn ich das Gerät ausstrecke und wieder einstecke.

Hat jemand eine Idee woran das liegen kann. "rules nach Wiki" habe ich auch angelegt.
Das ständige Wechseln zwischen Windows und Linux nervt langsam.

Gruss R.

markusj
20.12.2011, 09:46
Ich hätte eher den VMWare-USB-Treiber im Verdacht ... Es ist aber auch so, dass AVR Studio jedes Mal wenn du das Programmerfenster zu machst, die Verbindung zum Gerät schließt. Evtl. gibt VMWare das Gerät dann wieder frei?

mfG
Markus

Ritchie
20.12.2011, 13:50
Eher nicht.
Der Treiber geht flotten, wenn ich unter AVR STudio den Brenner aufrufe.

Er verschwindet dann unter VMware und unter Linux (lsUSB)

Gruss R.

Torrentula
20.12.2011, 16:35
Warum gehst du den Umweg über die virtuelle Maschine / AVRStudio?

Zum flashen kannst du avrdude verwenden und zum C proggen gibts die Pakete von AVR-GCC (gcc-avr, avr-libc). Wenn du in Assembler programmieren willst, dann bist du natürlich auf das AVRStudio (zummindest den Assembler) angewiesen.

Zum flashen empfehle ich immernoch avrdude (ist besonders unter Ubuntu und dergleichen einfach zu installieren, da beriets in den Paketquellen enthalten)

MfG

Torrentula

Ritchie
20.12.2011, 17:47
Hi,

das wird wie folgt von meinem System bedankt. Habe wohl kein Glück oder die falschen Kommandos:


ritchie@ritchie-desktop:/media/Data/Pitbully/PROJEKT/avrs/mpic/AVRGCC1/Debug$ avrdude -p m32 -c avrisp2 -P usb -U flash:w:MotorGen3.hex -v

avrdude: Version 5.10, compiled on Jun 29 2010 at 03:44:14
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/ritchie/.avrduderc"
User configuration file does not exist or is not a regular file, skipping

Using Port : usb
Using Programmer : avrisp2
avrdude: usb_open(): cannot read serial number "error sending control message: Connection timed out"
avrdude: usb_open(): cannot read product name "error sending control message: Connection timed out"
avrdude: usbdev_open(): Found [unnamed product], serno: [unknown]
avrdude: usbdev_open(): error setting configuration 1: could not set config 1: Connection timed out
avrdude: usbdev_open(): did not find any USB device "usb"
ritchie@ritchie-desktop:/media/Data/Pitbully/PROJEKT/avrs/mpic/AVRGCC1/Debug$


Gruss R.

Torrentula
20.12.2011, 19:16
Du hast das falsche Protokoll für den Programmer ausgewählt, nicht avrisp2 sondern avrispmkII also so (vorausgesetzt der Rest stimmt):


sudo avrdude -p m32 -c avrispmkII -P usb (http://www.rn-wissen.de/index.php/USB) -U flash:w:MotorGen3.hex -v

Außerdem muss ein sudo davor, oder du musst eine neue rule in udev erstellen (da das bei mir nicht richtig funzen wollte, mach ichs einfach mit sudo)

MfG

Torrentula

Ritchie
20.12.2011, 20:22
Er will immer noch nicht. Habe mir jetzt eine Konfigurationsdatei angelegt "/home/ritchie/.avrduderc".



ritchie@ritchie-desktop:/etc/udev/rules.d$ sudo avrdude -p m32 -v

avrdude: Version 5.10, compiled on Jun 29 2010 at 03:44:14
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/ritchie/.avrduderc"

Using Port : usb:2104
Using Programmer : avrispmkII
avrdude: usb_open(): cannot read serial number "error sending control message: Connection timed out"


Ich habe wohl ein zu neues Mainboard. Früher hat das korrekt gearbeitet. Jetzt kann das Mainboard USB 3.0 und die Treiber scheinen hier noch nicht auf dem Stand zu sein.

Ritchie
21.12.2011, 17:52
Hallo Zusammen,

scheint so, das ich nicht der einzige bin, der diesen Programmer nicht ans rennen bekommt.

In diesem Forum hat jemand bis vor einem Monat den gleichen Kampf gehabt und dann aufgegeben:
http://www.mikrocontroller.net/topic/226307

Hat jemand den den Programmer von Reichelt: DIAMEX ALL unter Linux am rennen ?

Edit: Ich habe heute (22.12.2011 / eine eMail an Reichelt geschrieben. Gerade kam die Antwort (2 Stunden später, echt schnell),
Der Hersteller wäre an einem Update des Programmers am arbeiten. Wenn also jemand das gleiche Problem hat,
sollte eine Nachfrage bei Reichelt zeigen, das Linux auch ein Betriebssystem ist, was verwendet wird.

Gruss R.

Ritchie
05.05.2012, 17:58
Hallo Zusammen,

hat in der Zwischenzeit jemand neue Informationen zu diesem Problem.

Ich habe das Bios Update des Herstellers installiert, aber leider scheint das Problem immer noch vorhanden zu sein.
Ich bekomme diesen Programmer nicht linux oder der VM ans rennen. Ein Zugriff auf den Programmer und schon ist der Treiber unter linux weg ...

Gruss R.

trekko
05.05.2012, 18:12
Ich habe das Bios Update des Herstellers installiert, aber leider scheint das Problem immer noch vorhanden zu sein.

Ich weiß nicht, ob es sich lohnt so viel Forschungszeit in dieses Problem zu investieren, wenn es einfache Programmer schon deutlich unter 10 Euro gibt. Vielleicht wär das eine Alternative?

Ritchie
06.05.2012, 09:03
Hi,

im Prinzip gebe ich Dir ja recht, nur wer sagt mir, welcher Programmer in meiner Konfiguration arbeitet.
Ich würde mir ja sogar das "Original" kaufen, wenn ich wüsst, das es geht.

Evtl. scheint meine Konfiguration ein Problem damit zu haben, das der Programmer nur korrekt "USB 1.0" unterstützt.

Gibt es entsprechende Programmer, welche sicher USB 2.0 oder sogar USB 3.0 schon unterstützen ?

Gruss R.

markusj
06.05.2012, 09:38
Evtl. scheint meine Konfiguration ein Problem damit zu haben, das der Programmer nur korrekt "USB 1.0" unterstützt.

Das ist Unfug, USB ist abwärtskompatibel. Der USB-Stack des Programmers ist einfach schlecht. Und USB 3.0 ist schlicht unvernünftig weil der Programmer seine Daten nicht so schnell rausschreiben kann.

mfG
Markus

Der seinen AVR Dragon unter Linux seit einem Jahr ohne Probleme einsetzt.

Ritchie
06.05.2012, 10:39
Hi,

klar ist USB 3.0 übertrieben. Aber scheinbar bin ich nicht der einzige der mit diesem "scheiss" Teil Probleme hat. Würde ich 100% wissen, das dieser

Programmer(AVR Programming Tool AT AVR ISP2 mit USB):
http://www.reichelt.de/Programmer-Entwicklungstools/AT-AVR-ISP/index.html?;ACTION=3;LA=446;ARTICLE=45040;GROUPID= 2969;artnr=AT+AVR+ISP;SID=10T6ZF@X8AAAIAAHQPU1g18b 03b2b5da2704169fb119817889121

unter Linux korrekt arbeiten und hierbei auch innerhalb einer VM dann korrekt arbeitet, würde ich mir Ihn direkt bestellen.
Nur will ich nicht direkt wieder ein Sorgenkind mehr in der Schublade haben.

Gruss R.

markusj
06.05.2012, 11:48
Das ist ein Gerät direkt von Atmel, nach meiner Erfahrung machen die keine Probleme. Aber ich kenne nur den AVR Dragon ...
@VM: Es ist durchaus möglich, dass du dir damit mehr Probleme ins Haus holst. Wenn der Filtertreiber der VM schlecht ist, kann die beste Hardware nichts dagegen tun. VirtualBox funktioniert hier wunderbar mit dem Drachen.

mfG
Markus

Ritchie
06.05.2012, 12:15
Hi,

weisst Du, ob man eine VM-Ware Virtuelle Machine zu einer VirtualBox convertiern kann ?

Gruss R.

markusj
06.05.2012, 13:51
VirtualBox erlaubt es, VMWare-Images zu verwenden, die restlichen Einstellungen wird man vermutlich einfach neu anlegen müssen. Es gibt aber auch ein standarisiertes Austauschformat (OVA), wie gut das von VMWare nach VirtualBox übernommen werden kann, weiß ich aber nicht.

mfG
Markus

schorsch_76
07.05.2012, 07:22
Hi,
ich habe auch meine ersten Versuche mit AVRStudio in einer VM gemacht. Ich denke, dass du das Upgrade der Firmware des Gerätes machen musst. Leider funktioniert das nur vernünftig auf einem Windows "on bare metal". Sprich direkt auf der Hardware. Das Problem ist, dass der Prommer sich beim Update der Firmware kurz vom USB trennt und dann das Gerät nicht direkt wieder im Windows auftaucht bzw auch nicht im Linux sichtbar ist. Genau dein Problem hatte ich damals auch. Als ich auf einem anderen Rechner dann das Firmwareupgrade gemacht habe (AVRStudio 5.1) ging es danach auch von der VM aus.

Diesen Umweg über die VM habe ich allerdings aufgegeben, da avrdude und avr-gcc auf Debian perfekt funktionieren. Auch mein Laptop hat USB 3.0 und der Prommer AVR ISPmkII läuft 1a ;)

Gruß
Georg

markusj
07.05.2012, 07:32
[QUOTE=schorsch_76;548490Leider funktioniert das nur vernünftig auf einem Windows "on bare metal". Sprich direkt auf der Hardware. Das Problem ist, dass der Prommer sich beim Update der Firmware kurz vom USB trennt und dann das Gerät nicht direkt wieder im Windows auftaucht bzw auch nicht im Linux sichtbar istQUOTE]

Ja, der disconnected sich kurz. Nein, es braucht trotzdem kein fest installiertes Windows. Unter VirtualBox kann man Filterregeln anlegen, genau das habe ich für meinen AVR Dragon gemacht. Und siehe da, das Firmware-Upgrade funktionierte (zumindest bei mir) tadellos.

mfG
Markus

Ritchie
08.05.2012, 08:17
Ich habe bereits ein Update der Firmware für den Prommer durchgeführt, da ich noch eine
parallen Installation von Windows habe.
Hierbei habe ich das von Reichelt vorgesehene Update installiert, welches den
DIAMEX ALL auf die Version 1.3 bringt.

Im Netz habe ich noch weitere Updates gesehen, welche von anderen Lieferanten
bereitgestellt werden. Die habe ich aber bis jetzt nicht verwendet.

Welche Bios Version des DIAMEX ist den bei Dir (Georg) installiert, das Du die VM verwenden kannst ?

Hast Du den Player oder die Workstation von der VM ?
Ich verwende derzeit den Player in der letzten Version (4.0.3)


Ich würde ja auch den eigentliche Brennvorgang unter Linux machen, nur hier arbeitet der Prommer ebenfalls nicht. Ich bekomme ständig "Timeout" Fehler (auch nach dem Update).

Gruss R.

schorsch_76
10.05.2012, 13:28
Mein AvrISPMKII hat laut avrdude die Firmware 1.18 (oder war das die Hardwarerevision?? wenn ich mich momentan recht erinnere, kann ich aber heute abend nachkucken). Als Virtualisierungslösung setzte ich Windows 7 x64 in KVM ein unter Debian Squeeze als Host.

Gruß
Georg

Ritchie
10.05.2012, 16:55
Das Updateprogramm bei mir heisst "all-avr_upd_130.exe"
und zeigt das folgende Bild (ich habe nicht den Jumper gesetzt, damit der Programmer in den Update Modus geht, es ist aber diese BIOS Version)

schorsch_76
10.05.2012, 17:50
Hab mal aus einem Atmega168 die Fuses im verbose mode gelesen:


sudo avrdude -p m168 -c avrispmkii -P usb -v

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 "/root/.avrduderc"
User configuration file does not exist or is not a regular file, skipping

Using Port : usb
Using Programmer : avrispmkii
avrdude: usbdev_open(): Found AVRISP mkII, serno: 000200064271
AVR Part : ATMEGA168
Chip Erase delay : 9000 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 65 20 4 0 no 512 4 0 3600 3600 0xff 0xff
flash 65 6 128 0 yes 16384 128 128 4500 4500 0xff 0xff
lfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
hfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
efuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
lock 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
calibration 0 0 0 0 no 1 0 0 0 0 0x00 0x00
signature 0 0 0 0 no 3 0 0 0 0 0x00 0x00

Programmer Type : STK500V2
Description : Atmel AVR ISP mkII
Programmer Model: AVRISP mkII
Hardware Version: 1
Firmware Version Master : 1.14
Vtarget : 4.8 V
SCK period : 12.62 us

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.00s

avrdude: Device signature = 0x1e9406
avrdude: safemode: lfuse reads as FF
avrdude: safemode: hfuse reads as DD
avrdude: safemode: efuse reads as 1

avrdude: safemode: lfuse reads as FF
avrdude: safemode: hfuse reads as DD
avrdude: safemode: efuse reads as 1
avrdude: safemode: Fuses OK

avrdude done. Thank you.



Also ist es die Firmwareversion 1.14

Gruß
Georg

Ritchie
11.05.2012, 08:05
Hallo Georg,

ist doch klar, das ich jetzt die dumme Frage stelle, wie Du Deinen Prommer auf Firmware 1.14 bekommen hast ?

Wir reden aber beide von diesem Programmer (rein optische gesehen):
http://www.reichelt.de/Programmer-Entwicklungstools/DIAMEX-ALL-AVR/3/index.html?;ACTION=3;LA=2;ARTICLE=110345;GROUPID=2 969;artnr=DIAMEX+ALL+AVR;SID=13T6y7BX8AAAIAAG7CbcU b0822fc8557b712471931fce2c802167

Hier gibt es nur das Update auf BIOS Version 1.13, welches ich derzeit verwende.

Gruss R.

schorsch_76
11.05.2012, 11:41
Hallo Ritchie,

ich hab den hier [1]. Im Titel wird ja genau dieser hier Atmel Corp. AVR ISP mkII erwähnt. Das Update hab ich auf einem Windows PC mit dem AVRStudio 5.0 oder 5.1 gemacht.

Gruß
Georg


[1] http://www.shop.robotikhardware.de/shop/catalog/product_info.php?cPath=88&products_id=201