Forum: Mikrocontroller und Digitale Elektronik Probleme mit usbprog am Macbook Air


von Stefan S. (kami)


Lesenswert?

Hi,

ich habe hier einen USBprog von Benedikt Sauter, der mit als AVR ISP
mkII geflasht ist. Unter Windows 7 klappt das super, alles läuft und ich
kann programmieren mit AVRStudio und so weiter also der Device
funktioniert.

Nun schliesse ich das an das Macbook an, dann kriege ich nur diesen
Output im Systemprofiler:

Composite-Gerät:

  Produkt-ID:  0x2104
  Hersteller-ID:  0x03eb  (Atmel Corporation)
  Version:   2.00
  Geschwindigkeit:  Bis zu 12 MBit/s
  Standort-ID:  0x06200000
  Verfügbare Stromstärke (mA):  500
  Erforderliche Stromstärke (mA):  Unbekannt (Gerät wurde nicht
konfiguriert)

Vielleicht kann mir ja jemand dabei weiterhelfen?

Gruß kami

von Klaus T. (gauchi)


Lesenswert?

Und was ist das Problem? Das ist nur die Aussage, dass das Teil 
eingesteckt und erkannt ist.

von Stefan S. (kami)


Lesenswert?

Okay aber es läuft nicht am Mac. Avrdude findet es nicht?

Oder wie soll ich das machen?

Gruß kami

von Klaus T. (gauchi)


Lesenswert?

Ich hab leider kein Mk2 (nur Mk1 + usb-seriell-wandler), aber bisher 
hatte ich mit avrdude keine Probleme - ist es mit libusb kompiliert 
(könnte sein dass man das abschalten kann)?

>Okay aber es läuft nicht am Mac. Avrdude findet es nicht?

Wie äussert sich das ?

von Stefan S. (kami)


Lesenswert?

Wie kriege ich das raus libusb? Wie führst du avrdude aus?

Ich sehe halt im Systemprofiler nur den output und weiß nicht wie ich 
den ISP ansprechen soll.

Gruß kami

von Klaus T. (gauchi)


Lesenswert?

was hast du denn dem avrdude gegeben (kommandozeile) und was hat er 
zurückgegeben?

Der Systemprofiler ist dafür erst mal unerheblich, ich geh davon aus, 
dass bereits das avrdude einiges an Fehlermeldungen ausspuckt. Wenn 
nicht kann man vielleicht mit -v ein wenig nachhelfen.

von Stefan S. (kami)


Lesenswert?

hi,

habe das mal getestet:

avrdude -c avrispv2 -P usb -p m8 -v -F -v

avrdude: Version 5.8cvs, compiled on Jan 15 2010 at 17:27:01
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2009 Joerg Wunsch

         System wide configuration file is 
"/usr/local/CrossPack-AVR-20100115/etc/avrdude.conf"
         User configuration file is "/Users/kami/.avrduderc"
         User configuration file does not exist or is not a regular 
file, skipping

         Using Port                    : usb
         Using Programmer              : avrispv2
avrdude: usbdev_open(): did not find any USB device "usb"

gruß kami

von Klaus T. (gauchi)


Lesenswert?

Also prinzipiell sieht das in Ordnung aus, ich verwende normalerweise -t 
zum testen, -F würde ich bleiben lassen solange man sich nicht sicher 
ist das alles in Ordnung ist.

Wie gesagt: ich habe leider kein avrisp Mk2, aber einen dragon und der 
geht mit avrdude, woraus ich schließe, dass die usb-Verbindung 
prinzipiell klappt.

Wo hast du denn den avrdude her? Hast du den selbst kompiliert? Ich kann 
mich dunkel erinnern, dass ich mal libusb und libusb-compat aus macports 
installiert hab um irgendwas zum laufen zu kriegen.

von Stefan S. (kami)


Lesenswert?

jo,

das habe ich auch schon probiert. Ich habe libusb aber auch schon selber 
kompiliert. Wie finde ich raus welche Version mein System gerade selber 
verwendet, und wie kann ich es vielleicht verändern?

gruß kami

von Klaus T. (gauchi)


Lesenswert?

probier mal
1
otool -L $(which avrdude)

bei mir ergibt das
1
/usr/local/bin/avrdude:
2
  /usr/local/lib/libusb-0.1.4.dylib (compatibility version 9.0.0, current version 9.4.0)
3
  /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 550.42.0)
4
  /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit (compatibility version 1.0.0, current version 275.0.0)
5
  /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 125.2.1)
6
  /usr/lib/libedit.2.dylib (compatibility version 2.0.0, current version 2.11.0)
7
  /usr/lib/libncurses.5.4.dylib (compatibility version 5.4.0, current version 5.4.0)

von Stefan S. (kami)


Lesenswert?

Hi,

sorry das ich mich erst jetzt wieder melde aber war bis abend auf der 
Arbeit sorry.

Hier mein Output:

otool -L $(which avrdude)
/opt/local/bin/avrdude:
  /opt/local/lib/libusb-0.1.4.dylib (compatibility version 9.0.0, 
current version 9.4.0)
  /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFound 
ation  (compatibility version 150.0.0, current version 550.42.0)
  /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit 
(compatibility version 1.0.0, current version 275.0.0)
  /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current 
version 125.2.1)
  /opt/local/lib/libreadline.6.1.dylib (compatibility version 6.0.0, 
current version 6.1.0)
  /opt/local/lib/libncurses.5.dylib (compatibility version 5.0.0, 
current version 5.0.0)
  /usr/lib/libncurses.5.4.dylib (compatibility version 5.4.0, current 
version 5.4.0)


irgendwas stimmt da nicht?

Gruß kami

von Klaus T. (gauchi)


Lesenswert?

ne, eigentlich sieht das alles in Ordnung aus. Das einzige was mir jetzt 
noch einfällt ist, avrdude mal die neueste Version runterzuladen und 
selbst zu kompilieren (die deine scheint aus macports zu kommen)

von Stefan S. (kami)


Lesenswert?

Hi,

also ich habe das gerade mal neukompiliert. Jetzt sieht der Output so 
aus:

./avrdude -c avrispv2 -P usb -p m8 -v -F -v

avrdude: Version 5.10, compiled on Dec 22 2010 at 21:27:23
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2009 Joerg Wunsch

         System wide configuration file is "/usr/local/etc/avrdude.conf"
         User configuration file is "/Users/kami/.avrduderc"
         User configuration file does not exist or is not a regular 
file, skipping

         Using Port                    : usb
         Using Programmer              : avrispv2
avrdude: usbdev_open(): did not find any USB device "usb"

otool -L $(which /usr/local/bin/avrdude)
/usr/local/bin/avrdude:
  /usr/local/lib/libusb-0.1.4.dylib (compatibility version 9.0.0, 
current version 9.5.0)
  /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFound 
ation  (compatibility version 150.0.0, current version 550.42.0)
  /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit 
(compatibility version 1.0.0, current version 275.0.0)
  /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current 
version 125.2.1)
  /usr/lib/libedit.2.dylib (compatibility version 2.0.0, current version 
2.11.0)
  /usr/lib/libncurses.5.4.dylib (compatibility version 5.4.0, current 
version 5.4.0)

von Nik (Gast)


Lesenswert?

Bei mir handelt es sich zwar um einen usbASP, aber vielleicht klappt es 
bei deinem Programmer ja auch.
avrdude: usbdev_open(): did not find any USB device "usb"

scheint mir als wuerde er einen einen Port / Device mit Namen "usb" 
suchen (evt aber waere der Name in wirklichkeit /dev/usb0...irgendwas?)

Bei mir funktionierts wenn ich  die explizite Angabe des Ports "-P usb" 
einfach weglasse.

von Stefan S. (kami)


Lesenswert?

Ja das ist ja mein Problem ich finde unter dev den device gar nicht.

Wie kann ich den rausfinden?

Gruß kami

P.S.: mit cat /dev ist so nix zu finden.

von Nik (Gast)


Lesenswert?

Das ist bei mir leider auch so; ich kenne nur die befehle ioreg und den 
Systemprofiler.

ioreg produziert eine irrsinnige Liste, aber alles was ich dort z.B. zu 
meinem usbasp rausfinden kann ist "USBasp@4100000", welches ich genau 
auch ueber den Systemprofiler rauskriege.
Die 41 wiederum finde ich aber nicht in /dev .. trotzdem funktioniert 
bei mir avrdude wenn ich den -P parameter weglasse. Was ist bei dir die 
Ausgabe ohne -P ?

von Stefan S. (kami)


Lesenswert?

das bei mir der output:

./avrdude -c avrispv2 -p m8 -v -F -v

avrdude: Version 5.10, compiled on Dec 22 2010 at 21:27:23
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2009 Joerg Wunsch

         System wide configuration file is "/usr/local/etc/avrdude.conf"
         User configuration file is "/Users/kami/.avrduderc"
         User configuration file does not exist or is not a regular 
file, skipping

         Using Port                    : unknown
         Using Programmer              : avrispv2
avrdude: ser_open(): can't open device "unknown": No such file or 
directory

von Lukas K. (carrotindustries)


Lesenswert?

Stefan S. schrieb:
> das bei mir der output:
>
> ./avrdude -c avrispv2 -p m8 -v -F -v
>
> avrdude: Version 5.10, compiled on Dec 22 2010 at 21:27:23
>          Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
>          Copyright (c) 2007-2009 Joerg Wunsch
>
>          System wide configuration file is "/usr/local/etc/avrdude.conf"
>          User configuration file is "/Users/kami/.avrduderc"
>          User configuration file does not exist or is not a regular
> file, skipping
>
>          Using Port                    : unknown
>          Using Programmer              : avrispv2
> avrdude: ser_open(): can't open device "unknown": No such file or
> directory

es fehlt das -P usb
Stimmen die Berechtigungen? Mal probehalber als root ausführen?

von Stefan S. (kami)


Lesenswert?

Hi,

auch als root habe ich das selbe Problem :

sh-3.2# ./avrdude -c avrispv2 -p m8 -v -F -v -P usb

avrdude: Version 5.10, compiled on Dec 22 2010 at 21:27:23
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2009 Joerg Wunsch

         System wide configuration file is "/usr/local/etc/avrdude.conf"
         User configuration file is "/var/root/.avrduderc"
         User configuration file does not exist or is not a regular 
file, skipping

         Using Port                    : usb
         Using Programmer              : avrispv2
avrdude: usbdev_open(): did not find any USB device "usb"

von Nik (Gast)


Lesenswert?

Hmm ich kenne mich mit dem internen Unixzeugs ehrlichgesagt nicht 
wirklich gut aus, aber vielleicht klappts mit einer neueren Version? 
Aktuell ist ja schon 5.10, ich habe auf OSX direkt mit Version 5.8 
angefangen, kenne die Verhaltensweise der aelteren Versionen also nicht.
Moeglicherweise wurde der Parameter -P erst nach der 5.1 optional?

von Nik (Gast)


Lesenswert?

Mist, jetzt habe ich nicht recht hingeschaut! Sorry, dachte du haettest 
die 5.01 schaem.
Wie gesagt, bei mir klappts mit der V 5.8 vom 10.7.2009.

von Stefan S. (kami)


Lesenswert?

Hi,

ja okay ich habe jetzt mal 5.8 und 5.1 getestet klappt beides nicht. 
Aber vielleicht liegt es an einer anderen STelle. Ich glaube ja immer 
noch der Rechner erkennt den ISP noch nicht richtig. vielleicht kann mir 
ja jemand erklären an welchem Treiber das vielleicht liegen kann? Oder 
wie ich rausfinde, ob das vielleicht an libusb liegt?

Gruß kami

von Jörg H. (dr_coolgood)


Lesenswert?

Ich hatte das gleiche Problem: Im Systemprofiler und ioreg wird das USB 
Device angezeigt, in /dev allerdings nicht.

Ich habe dann die Standardtreiber von FTDI und Silicon Labs installiert, 
und finde nun in /dev einen seriellen Port mit unterschiedlichem Namen, 
je nachdem, welcher Chip wo angesteckt ist. Diesen wiederum gebe ich als 
Port in avrdude an und alles funzt - zumindest mit den myAVR und 
tuxgraphics Proggern.

Ob es für den auf dem USBprog verwendeten Chip einen Mac Treiber gibt, 
müsste Stefan herausfinden.
Viel Erfolg und schöne Weihnachten!

von Klaus T. (gauchi)


Lesenswert?

So wie ich das sehe hat USBProg keine USB->Seriell konverter, sollte 
also auch nicht in /dev auftauchen.

was mir gerade noch eingefallen ist: Du sagtest, es funktioniere 
problemlos unter Windows7. Hast du das auf einem echten Rechner oder auf 
einer virtuellen Maschine am laufen? Wenn es eine virtuelle Maschine 
ist, kann der Mac vielleicht einfach nicht auf das USB Gerät zugreifen, 
weil es das Windows für sich reserviert hat.

von Lukas K. (carrotindustries)


Lesenswert?

Jörg Hermann schrieb:
> Chip einen Mac Treiber
Ebendiesen brauchst du nicht, da das ganze mittels libusb im Userspace 
abgewickelt wird. Ist jedefalls bei Linux so; ich denke bei OS X wird es 
ähnlich sein.
http://www.arduino.cc/playground/Code/OSXISPMKII
http://www.evilmadscientist.com/article.php/avrmac
http://www.embedded-projects.net//files/admin/projekte/usbprog/AVR_mit_USBprog_am_Mac.pdf
kennst du?

von Klaus T. (gauchi)


Lesenswert?

Um zu prüfen ob die libusb das Gerät überhaupt findet: in der Source 
Distribution von libusb ist ein 'example' lsusb dabei, damit mal gucken 
ob dein usbprog gefunden wird

von Olli (Gast)


Lesenswert?

Hi kami,

ich habe das gleiche Problem. Der usbprog wird bei mir nicht erkannt, er 
wird immer nur als Composite-Gerät erkannt. Getestet auf MacBookPro 
(relativ neu mit i5) und MacMini (Core2Duo), auf meinen altem PowerBook 
G4 (ich glaube es war 10.4) lief alles wunderbar. Ich glaube es liegt an 
OS X 10.6 (Snow Leopard) der erkennt ihn nur als Composite-Gerät und 
genau das hast Du ja auch:

Erforderliche Stromstärke (mA):  Unbekannt (Gerät wurde nicht 
konfiguriert)

und darum sagt AVRDUDE ja auch:
avrdude: usbdev_open(): did not find any USB device "usb"

Das Thema ist aber auch nicht neu:
Beitrag "USBProg am Mac unter VMWare Fusion"
http://forum.embedded-projects.net/viewtopic.php?pid=4512
http://forum.embedded-projects.net/viewtopic.php?id=139

Das hier könnte eine Lösung sein:
http://forum.embedded-projects.net/viewtopic.php?id=1375
(Dann muss man aber Windows nativ starten > Bootcamp)
OK wenn man das will…

Zu der Idee von gauchi: Habe es grade noch unter VMware Fusion mit WinXP 
SP2 probiert und das Tool von embedded-projects.net geladen mit dem man 
neue Firmware aufspielen kann, es wird kein Devise erkannt.

Meine Lösung war/ist:
Nach vielen schlaflosen Nächten und googelen (ich bin auf ähnliche 
Ergebnisse gekommen wie Lukas K.) habe ich es aufgegeben und mir auf 
eBay ein PC für 30 Euro gekauft, Ubuntu drauf gemacht — bis heute ohne 
Probleme - und Rechenpower braucht man hier nun wirklich nicht. Appel 
bzw. OS X ist (leider) nicht umbedingt die Plattform um Mikrocontroller 
zu programmieren, es sei den man holt sich ein Arduino damit geht es 
wunderbar - aber man muss dann auch mit dieser komischen Arduino-IDE 
leben - Bisschen OT aber es geht

Grüße

Olli

von Achim M. (minifloat)


Lesenswert?

Avrmacpack: http://www.obdev.at/products/crosspack/index.html
Fusen und Proggen: http://www.vonnieda.org/software/avrfuses
Debuggen über Serialkabel(PL2303 mit eigenem Treiber, sonst 
Zeichensalat):http://www.furrysoft.de/?page=goserial
Es geht.

mfg mf

PS: Vergessen: mit Xcode Dateien (Makefile für build) verwalten.
Xcode-Template mit Makefile für AVR-GCC ist beim avr mac pack dabei, 
musste in einen Ordner rein schieben->rennt.

von Stefan S. (kami)


Lesenswert?

Hi,

ich glaube auch, dass es irgendwie möglich sein muss unter Mac 
vernünftig AVRs zu programmieren. Aber ich vermute auch zur Zeit, das 
mein Problem irgendwie seid Snow Leopard besteht. Ich hoffe, das ich den 
Fehler irgendwie beseitigen kann. Da zur Zeit der Device einfach nicht 
erkannt wird. Vielleicht hat je irgendjemand den AVR ISP MK|| oder den 
usbprog unter MacOSX zum Laufen bekommen. Tipps immer gerne :)

Gruß kami

von Gerhard W. (gewo)


Lesenswert?

Hi Stefan,

ich benutzte den usbprog an einem iMac. Hatte aber die gleichen 
Probleme.
Die Lösung bei mir waren diese beiden Patches

http://forum.embedded-projects.net/viewtopic.php?id=1331
http://forum.embedded-projects.net/viewtopic.php?id=1333


AVRISP mk2 Clone:

  Produkt-ID:  0x2104
  Hersteller-ID:  0x03eb  (Atmel Corporation)
  Version:   2.00
  Seriennummer:  0000A00128255
  Geschwindigkeit:  Bis zu 12 MBit/s
  Hersteller:  B.Sauter
  Standort-ID:  0x04100000
  Verfügbare Stromstärke (mA):  500
  Erforderliche Stromstärke (mA):  50


Gerhard

von udo (Gast)


Lesenswert?

Gerhard hat vermutlich recht. Es liegt am usbprog und nicht am Mac oder 
am Macos, wenn der usbprog nicht geht.

Ich habe mit verschiedenen MacosX Versionen ohne Probleme
das STK-500, das STK-600, usbasp und ICE-MK2 verwendet.

Nur beim usbprog läuft es genau mit einer inoffiziellen irgendwie 
zusammengemixten Firmware. Weder die offizielle noch die neuste aus dem 
svn-Archiv funktioniert. Ich hab' usbprog aufgegeben, da die anderen 
zuverlässiger funktionieren.

von Stefan S. (kami)


Lesenswert?

Hi das klingt ja super kannst du mir vielleicht deine Firmware irgendwo 
hochladen oder an diese Mail schicken kami@nonstop-Party.de wäre Klasse 
vielen dank Gruß kami

von Gerhard W. (gewo)


Angehängte Dateien:

Lesenswert?

> Hi das klingt ja super kannst du mir vielleicht deine Firmware irgendwo
> hochladen oder an diese Mail schicken kami@nonstop-Party.de wäre Klasse
> vielen dank Gruß kami

Ja hier ist sie.


Gerhard

von Stefan S. (kami)


Lesenswert?

Hi,

hast du vielleicht auch eine bin dazu?

Ich habe nämlich leider keinen 2ten programmer.

Wäre klasse.

Vielen Dank nochmal.

Gruß kami

von Gerhard W. (gewo)


Angehängte Dateien:

Lesenswert?

> hast du vielleicht auch eine bin dazu?
>
> Ich habe nämlich leider keinen 2ten programmer.
>

Gerhard

von Stefan S. (kami)


Lesenswert?

Hi,

super Vielen Dank. Also mit der Firmware läuft der Programmer super auch 
unter Mac das Problem lag also nur daran, das die Firmware einen Fehler 
hatte. Ich danke allen vielmals. So klappt es jetzt super.

@gewo: sag mal kannst du mir sagen wo ich den source-code kriege für das 
file? Finde bei embedded-projects zuviele unterschiedliche files.

Vielen Dank.

Gruß kami

von Gerhard W. (gewo)


Lesenswert?

Stefan S. schrieb:

> @gewo: sag mal kannst du mir sagen wo ich den source-code kriege für das
> file? Finde bei embedded-projects zuviele unterschiedliche files.

http://svn.berlios.de/svnroot/repos/usbprog/trunk/

Gerhard

von Stefan S. (kami)


Lesenswert?

Hi,

klappt jetzt alles super. Ich kann mit avrdude programmieren und die 
AVR-Controller werden super erkennt. Ich habe aber nun noch ein Problem 
ich möchte gerne mit Crossover Office den ISP-Programmer mit AVR Studio 
verwenden. Die einzige Hürde ist nur das ich dafür herausfinden muss als 
welcher dev er bei meinem Mac erkannt wird. Wie mache ich das? lsusb 
liefert nur eine 8 Stellige Nummer?

Vielen Dank für die Tipps.

Gruß kami

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.