Hallo zusammen,
unter Mac OS X 10.7 (Lion) gibt es offensichtlich Probleme mit avrdude.
Auch google wirft mittlerweile einiges aus. Es scheint mit libusb zu tun
zu haben.
In meinem Fall (siehe System unten) kann ich kleine hex-Files
übertragen. Größere Dateien funktionieren nicht. Nebenbei führt das
dazu, das OS X nicht mehr sauber runter fährt (hängt sich der Treiber
auf?).
Habe den aktuellen avrdude aus den Quellen erzeugt und mehrere Patches
ohne Erfolg getestet.
Hat von Euch schon jemand eine Lösung gefunden?
Vinz
System :
OSX 10.7.2
avrdude 5.8cvs und 5.11.1 und 5.11svn-20111019
Programmer mySmartUSB firmware 2.5 mit
OSX-Treiber CP210x silabs.com (v2.9)
Test verschiedene Versionen von avrdude:
Vinz Vinz schrieb:> Habe den aktuellen avrdude aus den Quellen erzeugt und mehrere Patches> ohne Erfolg getestet.
Hat libusb und AVRDude denn schon jemals auf deinem MAC funktioniert?
Hallo Rudof,
das ist eine gute Frage:
Auf dem selben Mac war es noch nie installiert. Auf einem anderen mit
10.6 hat avrdude funktioniert (auf libusb hab ich da nicht geachtet).
Dort war es ganz einfach:
http://www.obdev.at/products/crosspack/index.html
Vinz Vinz schrieb:> Dort war es ganz einfach:
Und warum machst du es dann nicht mit der Softwareversion von dem
System, wo es funktioniert hat? Nicht alles, was neu ist, glänzt - nicht
mal Jahr, Version 2012 :-)
Weil mein neuer Rechner OS X 10.7 hat und (sorry) es mir zu mühsam ist,
den "downzugraden".
Du hast schon recht, aber lass mich doch nach einer Lösung für 10.7
suchen ;-).
Erstmal nen guten Rutsch!
Hallo Brumbaer,
kanst Du bitte mal "avrdude" im Terminal eingeben und mir ganz unten die
Version schicken? Welche OSX Version hast Du? Hast Du auch einen
mySmartUSB? danke ;-)
Hallo Frank,
Ist der Atmel AVRISP mkII der "absolut basic, standart, must-have"
Programmer? Ich habe leider keinen Zugriff auf einen zum testen und in
der Schweiz ist es nicht so einfach mit bestellen wie in DE. Aber danke
für den Tip - ist die nächste Anschaffung.
Dass es am Silabs Treiber liegt kann ich mir persönlich nicht
vorstellen:
Stelle ich den Programmer auf UART-Bridge und brücke dort TX und RX, so
kann ich weit mehr als 512 Byte in beide Richtungen übertragen. Auch
mehrfaches schliessen und öffnen der Verbindung ist kein Problem.
Für den Treiber ist dieser Fall genau gleich wie Programmieren:
Serielles Tx-Rx.
Ich denke eher, avrdude hat Probleme.
Eine weitere vielleicht interessante Beobachtung:
1) bis 376 Bytes -- alles OK (Programm läuft)
2) ab 382 Bytes -- schreiben OK (genau wie oben) -- lesen bricht ab
(Programm läuft)
3) ab 512 Bytes -- schreiben bricht bei 512 Bytes ab (Programm läuft
nicht)
Interessant deshalb, weil avrdude meldet:
Found programmer: Id = "AVR ISP"; type = S
Software Version = 2.5; Hardware Version = 2.0
Programmer supports auto addr increment.
Programmer supports buffered memory access with buffersize = 512 bytes
Gruss,
Vinz
bis 376 Bytes -- alles OK
Vinz Vinz schrieb:> Hallo Frank,>> Ist der Atmel AVRISP mkII der "absolut basic, standart, must-have"> Programmer? Ich habe leider keinen Zugriff auf einen zum testen und in> der Schweiz ist es nicht so einfach mit bestellen wie in DE. Aber danke> für den Tip - ist die nächste Anschaffung.
Ja, ist er. Die Referenz sozusagen. Und man müsste ihn auch hinter den
sieben Bergen bei den sieben Zwergen bekommen. distrelec.ch, farnell.ch,
conrad.ch existieren zumindest.
Plus: er verwendet natives USB, also ohne internen USB-Seriell-Wandler.
Meine Erfahrungen mit solchen Chips sind durchwachsen, und auch in
eigenen Projekten baue ich mein Gerät lieber als HID- oder CDC-Device,
denn dann läuft das überall sofort ohne Treiber - auch am Mac.
fchk
Das gibt avrdude mit -v aus.
avrdude: Version 5.4-arduino, compiled on Oct 9 2007 at 11:20:31
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Ich verwende den AVR ISP MKII - ist nicht wirklich teuer, so gut wie
überall erhältlich und wird eigentlich immer von allem unterstützt.
Sozusagen der "kleinste gemeinsame Nenner" aller AVR-Programmsoftware.
MfG
SH
Hi,
ich habe OSX 10.7.2 auf meinem iMac 27" laufen. Crosspack ist
"CrossPack-AVR-20090415" also nicht das Neuste. Ich habe auch den
MySmartUSB-Programmer und keinerlei Probleme.
Gruß
Frank
Danke Brumbaer, einen AVR ISP MKII werde ich mir bestellen.
Hallo FrankH,
jetzt wird's interessant. :-) Gleichen Computer und OS habe ich auch.
Ich habe alles vollständig deinstalliert - bis auf den silabs-Treiber.
Und CrossPack-AVR-20090415 installiert. Bringt mit: avrdude: Version
5.6, compiled on Apr 15 2009 at 17:54:59
Nur leider mit genau den gleichen Problemen wie vorher: Abbruch nach 512
Byte. :(
1) Welchen silabs Treiber hast Du installiert? Das ist der Treiber um
einen virtuellen ComPort anzulegen.
2) Hast Du Änderungen gemacht in:
/usr/local/CrossPack-AVR-20090415/etc/avrdude.conf
3) Mit welcher avrdude Kommandozeile kannst Du übertragen?
Vielen Dank,
Vinz
Hallo Brumbaer,
hoppla, Deinen Post habe ich gar nicht gesehen.
Weisst Du noch, welche Probleme Du bei avrdude 5.8cvs
(Crosspack_20100115) hattest?
Du bist jetzt zurück auf Version 5.4-arduino. Bei FrankH funktioniert es
mit avrdude 5.6 (Crosspack_20090415).
Vinz
Hi Vinz,
zu 1) Silabs Treiber Version ? Über USB-Prober kann ich die Version
nicht einsehen.
zu 2) Avrdude ist das gleiche und ich habe keine Änderungen vorgenommen.
zu 3) Ich benutze das Makefile von Crosspack, bzw.
PROGRAMMER = -c avr911 -P /dev/cu.SLAB_USBtoUART
ich hatte auch mal vor einigen Jahren ein Tut hierzu geschrieben. Ging
um das Programmieren von AVR-µC auf einem Mac mit der Konsole und mit
Xcode.
Ich kann normal flashen und als RS232 funzt das auch wunderbar, habe
sogar mal ein Programm geschrieben mit dem ich von Programmmodus auf den
Datenmodus umschalten kann, damit ich nicht immer den DIP-Schalter
vergewaltigen muss ;-)
Gruß
Frank
Hallo Frank,
ich reduziere mal auf die Kommandozeile - habe diese möglichst nah an
Deines angepasst.
Um ein "blink.hex" (> 512 Byte) auf einen Mega8 zu übertragen verwende
ich vergeblich:
Ist in der Zeile irgendwas falsch?
Sorry sorry, aber kannst Du das mal probieren?
Vinz
So,
ich habe gerade mal mein Kram wieder rausgeholt. Das letzte Projekt
hatte ich vor knapp 6 Monate kompiliert und erfolgreich auf den µC
gebracht, weiß nicht ob ich da schon den Lion hatte, zumindest bekomme
ich jetzt auch Probleme meinen µC zu flashen... Sorry
Gruß
Frank
upps, zu spät. Hatte gerade schon den neuen Treiber drübergebügelt.
Das ist ja wie verhext, hatte schon einmal mit dem Programme
Schwierigkeiten. Die waren aber nach einem Treiberupdate geklärt
(SILAB). Stehe da jetzt auch ein wenig auf dem Schlauch. Vllt. mal
ältere Treiber für den Cp2102 ausprobieren.
Gruß
Frank
@ FrankH
Oh shit :-/ und ja, es ist seit OS X 10.7
http://www.google.com/search?q=avrdude+%22os+x%22+%2810.7+OR+Lion%29
Mit dem "Atmel AVR ISP mkII" gibt es seit dem offensichtlich auch
Probleme ...
By the way :-) :-O
http://cp-siliconlabs.kb.net/display/2/kb/article.aspx?aid=311431
Aber wichtig ist noch:
Im UART-Modus funktioniert es mit dem Treiber beliebig lange - auch mit
mehrfachem Verbindungsaufbau. -> Der Treiber sieht keinen Unterschied ob
der Programmer im UART- oder Programmer-Modus ist. -> Der Treiber sollte
nicht das Problem sein.
Meiner Meinung nach ist es die Kombination avrdude und OS X 10.7.
P.S: ich wollt Dir nicht das neue Jahr versauen.
P.P.S: gut's Neus! ;-)
@ Brumbaer
Ich habe mittlerweile auch die "avrdude: Version 5.4-arduino" getestet.
Leider an meinem Programmer das gleiche Problem wie schon oben
beschrieben.
Hast Du noch irgendwelche Besonderheiten eingetragen?
Vinz
Ich konnte nicht flashen.
Mit der Version habe ich gepfuscht.
Die 5.4 ist alt, aber funktioniert.
Die Crosspack Version hatte ich ausprobiert, um einen XMega zu
programmieren. Die 5.4 unterstützt ihn nämlich nicht. Flashen ging mit
der Crosspackversion nicht, auch nicht bei einem Mega328.
Die Version, die ich mit dem XMega verwende ist 5.11.1
Tut mir leid wegen der Konfusion.
MfG
SH
Hi,
nein du hat mir das neue Jahr nicht versaut und dito.
Vllt. könnten wir das Problem eingrenzen wenn jeder mit OSX10.7.x seine
Programmer mal ausprobiert. Sollte einer funktionieren, müsste avrdude
aus der Schusslinie sein.
Zumindest könnten wir mal herausfinden, ob irgendein Programmer unter
10.7.x noch funktioniert.
Gruß
Frank
bei mir wäre es auch ein
1. mySmartUSB MK2 (CP2102) (Firmware 2.5)
Uups, meinen siliconlabs-Link muss man zwei mal öffnen, wegen einem
Session-Cookie. Hast Du gehsehen, da steht nur was von 10.6 !
@ Brumbaer
Sorry, ich hab's noch nicht verstanden:
Das bedeutet, Dein originaler Programmer AVR ISP MK2 USB läuft jetzt
aktuell unter Mac OS X 10.7.2 mit avrdude 5.11.1 - und ohne weitere
Treiber.
avrdude 5.11.1 überträgt bei mir das Programm zwar komplett - aber das
Rücklesen meldet Fehler und auf dem Controller läuft nix.
Vinz
Um den Fehler ein zu grenzen bin ich weg von avrdude und OSX.
Ich habe mal auf dem Mac mit Parallels Windows 7 gestartet.
Jetzt habe ich bein USB anstecken von mySmartUSB-Programmer zwei
Möglichkeiten:
1) ich gebe den USB Programmer an Windows
-> OSX gibt nur den USB-Anschluss weiter
-> der Silabs-Treiber unter OS X läuft nicht, auch kein Com-Port
-> Windows muss sich selber kümmern, virtueller Com-Port, ...
2) ich gebe den USB Programmer an OS X
-> der Silabs-Treiber erzeugt einen Com-Port
-> diesen Com-Port reiche ich an Windows weiter
-> es muss also der Silabs-Treiber unter OS X laufen
-> Windows weiss gar nichts von Silabs und USB
Mit dem Programm myAVR ProgTool kan man flashen.
Variante 1, völlig problemlos, mehrmals getestet.
Variante 2, Probleme, übertragung bricht ab.
*avrdude 5.10 Windows*, installiert von WinAVR-20100110
C:\>avrdude -pm8 -c avr910 -P COM3 -v -e -b 19200 -U flash:w:blink.hex:i
Variante 1, völlig problemlos, mehrmals getestet.
Variante 2, Probleme, übertragung bricht ab.
und das schlimmste, avrdude zeigt den gleichen Fehler wie unter OS X
Für sich allein ist mein Test natürlich blöd. Er verkompliziert ja nur
alles.
Aber, zusammen mit dem was wir vorher beobachtet haben, spricht es
relativ klar für:
* Der Treiber von silabs ist unter OS X 10.7 wohl das Problem.
* Brumbaer braucht den Treiber nicht, mit avrdude und AVR ISP MK2 USB
klappt es.
* Wäre avrdude das Problem, warum geht dann auch das ProgTool nicht.
* Sobald der Treiber im Spiel ist, gibt es das Übertragungsproblem.
* silabs.com dokumentiert den Treiber nur bis 10.6
Komisch aber, dass er für rein serielle Kommunikation "von Hand"
einwandfrei funktioniert.
Vinz
Vinz Vinz schrieb:> C:\>avrdude -pm8 -c avr910 -P COM3 -v -e -b 19200 -U flash:w:blink.hex:i
Oben schriebst du aber:
Vinz Vinz schrieb:> $ …/avrdude -pm8 -c avr911 -P /dev/cu.SLAB_USBtoUART -b 19200 -U
flash:w:blink.hex:a -vvv
-c avr910 und -c avr911 sind nicht dasselbe. avr911 ist ein Alias
für `butterfly', und das wiederum ist ein Bootloader. AVR910 dagegen
beschreibt einen externen standalone programmer.
Beide Protokolle sind zwar sehr ähnlich (das Bootloader-Protokoll des
AVR Butterfly wurde nach dem bereits bekannten AVR910-Protokoll
konzipiert), aber es gibt geringfügige Unterschiede in manchen Details.
p.s.: AVRDUDE ist mittlerweile bei Version 5.11 angekommen.
Hallo Jörg,
danke für die Hinweise.
> -c avr910 und -c avr911 sind nicht dasselbe.
Da hast Du recht, ich habe jeweils beides ausprobiert, da der Programmer
beides unterstützen soll. avr911 habe ich dann im speziellen von FrankH
übernommen, weil er von Erfolg berichtet hat. Das war leider ein Irrtum.
Die Probleme bei avr910 und avr911 sind die gleichen.
> p.s.: AVRDUDE ist mittlerweile bei Version 5.11 angekommen.
Ja das stimmt, siehe oben. Getestet habe ich 5.11svn und sogar 5.11.1.
Wenn ich sie nicht über ein Setup gefunden habe, so habe ich die Version
von den Quelen erzeugt.
Siehe oben:
>> avrdude 5.11.1 überträgt bei mir das Programm zwar komplett - aber das>> Rücklesen meldet Fehler und auf dem Controller läuft nix.
Im Moment denke ich, es liegt am Silabs Treiber -- so wie Frank K.
(fchk) das schon am Anfang vermutet hat. Habe ein AVR ISP MKII bestellt
und warte auf Silabs. Zwischenzeitlich progge ich mit Windows.
Vinz
Vinz Vinz schrieb:> Im Moment denke ich, es liegt am Silabs Treiber -- so wie Frank K.> (fchk) das schon am Anfang vermutet hat.
Kannst du das nochmal mit -vvvv laufen lassen? Aber am besten dann
die Ausgabedatei hier als Anhang posten, die wird ziemlich groß.
Hallo Jörg,
gemein, Du hast ein DL bekommen. Bei mir gab's damals ein DG, weil ich
nicht morsen konnte... ;-)
Dateien wie gewünscht anbei. Von welcher weiteren Version möchtest Du
Protokolle?
So - und wie sagt man; ich fress jetzt nen Besen:
"avrdude: Version 5.4-arduino". Diese Version in Kombination mit avr910
funktioniert jetzt.
Die Versionen 5.6, 5.8cvs, 5.11svn-20111019 und 5.11.1 haben nicht
funktioniert (siehe oben), von 5.4-arduino hab ich kein Protokoll
gespeichert.
Hab auch noch mal getestet (andere Progs, auch mit EEPROM), es
funktioniert nur die 5.4-arduino-Version.
Ratlos,
Vinz
Vinz Vinz schrieb:> gemein, Du hast ein DL bekommen. Bei mir gab's damals ein DG, weil ich> nicht morsen konnte... ;-)
Das wäre damals an der Klubstation DM3PL gar nicht anders interessant
gewesen, denn UKW hat dort zu der Zeit, da ich da angefangen habe
(1978) keiner gemacht. Allerdings gebe ich zu, dass ich es mit dem
Morsen einfach hatte: das habe ich mir als kleiner Junge mit einer
Spielzeugmorsetaste praktisch selbst beibebracht (ja, so'n billiges
ekliges Teil, mit dem man eigentlich nicht wirklich morsen kann ;-),
im Afu-Lehrgang musste ich das mehr oder weniger nur noch auffrischen.
Etwas schwerer getan habe ich mich damals mit den anderen
Randbedingungen, die man in der DDR formal für die Prüfung vorweisen
musste, vor allem damit, dass man eigentlich hätte als SWL an einem
Contest teilnehmen sollen und ein Diplom erwerben. Den Contest habe
ich dann als 2-Stunden-Contest (des Bezirks Halle, würde man wohl
heute als Distrikts-Contest bezeichnen) "abgedrückt", ein Diplom habe
ich aber nie erworben. Irgendwann habe ich mich doch entschlossen,
trotzdem zur Prüfung zu gehen, und siehe da, diese Formalien haben
keinen interessiert. Allerdings gab's dann 1980 schon keine DM-Calls
mehr, also habe ich Y43TL bekommen … Das durfte ich aber im
vereinheitlichten Deutschland nicht mehr behalten, obwohl dieses Land
durchaus den Block Y2 … Y9 nach wie vor nicht wieder rausgerückt hat.
> Dateien wie gewünscht anbei. Von welcher weiteren Version möchtest Du> Protokolle?
Die Arduino-5.4 gegen die aktuelle 5.11, allerdings bitte -vvvv, also
viermal ein 'v'.
Hallo Jörg,
hoppla, ich hab den Schein erst 1996 in Nürnberg gemacht. War nicht
leicht, weil ich überhaupt keinen OM im Bekanntenkreis hatte...
Seit her haben sie das Verfahren ja deutlich vereinfacht.
Anbei wieder wie gewünscht: Arduino-5.4 gegen 5.11.
Jetzt weiss ich auch, was Du mit "viel" meinst.
Die 5.11 habe ich kompiliert.
Habe extra einen 5.11er Test gemacht, in dem ich die Arduino-Config
lade. Gleiches negatives Ergebnis.
Btw: Es gibt mehrere 5.11 Versionen.
avrdude-5.11.tar.gz 27-Aug-2011 21:22
avrdude-5.11.1.tar.gz 16-Sep-2011 11:12
avrdude-5.11svn-20111019.tar.gz 19-Oct-2011 09:20
Vinz
Hallo Frank,
entschuldige bitte, dass es noch keine Antwort gab.
Bei mir läuft es (wie oben beschrieben) weiterhin mit dem aktuellen
CrossPack-AVR, bei dem ich den avrdude ersetzt habe durch die Version
5.4-arduino.
Sonst nichts Neues von mir. Demnächst probiere ich hier noch einen
AVRDragon aus.
Vinz
Vinz Vinz schrieb:> Spielt das hier (beim kompilieren) eine Rolle?> $ ./configure | grep lusb> checking for usb_get_string_simple in -lusb... no> checking for libusb_init in -lusb-1.0... no> checking for libusb_init in -lusb... no
Wenn du einen USB-Programmer wie usbasp oder usbisp oder avrisp mkII
benutzt, ja. Kann aber auch sein, dass der Build dann eben nicht
durchläuft oder versehentlich eine verbuggte Version erzeugt wird.
Ich hab mir hier eine astreine 5.11.1er Version mit USB-Unterstützung
bauen können. Die hab ich mir über MacPorts rein geholt, der erledigt
mir dann auch die ganze "Dependency Hell". Damit schonmal probiert?
mfg mf