wenn ich versuche mein Arduino Uno zu programmieren (IDE 1.0, Ubuntu11.10), bricht der Upload mit der Fehlermeldung “programmer not responding” ab. Ich habe schon diverse Hinweise beim googlen bzw. hier im Forum gefunden, leider führt keiner zum Ziel.
Die IDE ist was Board & Port betrifft richtig konfiguriert - ich habe in der aktuellen Konfiguration auch schon erfolgreich upgeloaded (deutsch?). Ich hatte das Problem kürzlich schon mal, als ich mit geöffnetem Serial Monitor versucht habe das Arduino neu zu programmieren. Ich vermute also es liegt am Arduino, der sich irgendwie der Kommunikation verweigert. Leider weiß ich nicht mehr, wie ich es damals geschafft habe…
Wie kann ich mein Arduino wieder dazu bewegen sich der Kommunikation NICHT mehr zu verweigern?
Oft passiert es daß die Serielle Schnittstelle das Upload blockiert.
Nimm das beispiel Blink aus den Beispielen der IDE und lade dieses hinauf. Während des Upload-Vorgangs drücke die Reset-Taste und lasse sie los sobald der IDE schreibt "Binary sketch size: 1026 bytes (of a 30720 byte maximum)".
Wahrscheinlich klappts nicht beim ersen mal und Du mußt es mehrfach wiederholen.
Um diesem Problem aus dem Weg zu gehen füge ein delay(2000); vor dem serial.begin(); in das setup() ein.
Grüße Uwe
…nachdem ich auf den Arduino erfolgreich einen neuen Bootloader gebrannt habe, geht es leider immer noch nicht. Folgende Fehlermeldung kommt, wenn ich versuche ein Sketch auf den Arduino zu laden:
avrdude: Version 5.11.1, compiled on Oct 30 2011 at 10:37:28
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2009 Joerg Wunsch
System wide configuration file is “/usr/share/arduino/hardware/tools/avrdude.conf”
User configuration file is “/home/christian/.avrduderc”
User configuration file does not exist or is not a regular file, skipping
Using Port : /dev/ttyACM0
Using Programmer : arduino
Overriding Baud Rate : 115200
avrdude: Send: 0 [30] [20]
avrdude: Send: 0 [30] [20]
avrdude: Send: 0 [30] [20]
avrdude: ser_recv(): programmer is not responding
avrdude: stk500_recv(): programmer is not responding
avrdude done. Thank you.
Hat noch jemand eine Idee, woran’s jetzt noch liegen könnte?
gibt es denn ein /dev/ttyACM0 in Deinem System?
mach mal ein "lsusb" bzw. ein "lsusb -v" als root. Was sagt den /var/log/messages wenn Du den Arduino per USB anschliesst? Hier sollten Meldungen auftauchen, das ein neues Gerät gefunden wurde. Ggf. kannst Du auch nach dem Anstecken des Arduino mal ein "dmesg" als root aufrufen, hier sollten auch entsprechende Meldungen auftauchen.
Mario.
christian99:
Sonst könnte ich den ja nicht in der Arduino IDE auswählen, oder?
Da Du nicht geschrieben hast, was Du ausgewählt hast, oder mit welchen Einstellungen Du arbeitest, hätte ich meine Kristallkugel befragen müssen. Leider ist die gerade zur jährlichen Inspektion.
Ein Antwort auf meine anderen Fragen (lsusb / dmesg / var/log/messages) würde die Chancen auf Hilfe sicherlich deutlich verbessern.
christian@christian-desktop:~$ sudo lsusb
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
Bus 001 Device 002: ID 05e3:070e Genesys Logic, Inc. USB 2.0 Card Reader
Bus 006 Device 002: ID 045e:0745 Microsoft Corp. Nano Transceiver v1.0 for Bluetooth
Bus 003 Device 009: ID 2341:0043
...und hier die Logdatei
christian@christian-desktop:/var/log$ tail -f -n 0 /var/log/syslog
May 11 19:20:49 christian-desktop kernel: [ 7768.440023] usb 3-1: new full-speed USB device number 11 using uhci_hcd
May 11 19:20:49 christian-desktop mtp-probe: checking bus 3, device 11: "/sys/devices/pci0000:00/0000:00:1a.0/usb3/3-1"
May 11 19:20:49 christian-desktop kernel: [ 7768.650168] cdc_acm 3-1:1.0: ttyACM0: USB ACM device
May 11 19:20:49 christian-desktop mtp-probe: bus: 3, device: 11 was not an MTP device
Auf ein zweites Arduino lässt sich ohne Probleme Code uploaden. Ich bin mir also recht sicher, es liegt an dem (ersten) Arduino und nicht am Rechner.
Wenn ich die Reset Taste meines Arduino drücke müsste doch bei funktionierendem Bootloader die LED blinken, richtig? Das passiert nämlich leider nicht, was mich zu dem Schluss führt, dass der Bootloader doch nicht fehlerfrei geschrieben wurde - obwohl nichts dafür spricht.
Hier nochmal die Details:
Arduino UNO
mySmartUSB light (in programmers.txt folgendes eingefügt:
Wie Du mit "dmesg" ja sehen kannst, wird Dein Programmer mit diesem device eingebunden, da es dem ACM Standard entspricht.
Wenn Du "serial" einträgst, wird immer "/dev/ttyUSBx" vorausgesetzt, es sei denn, Du installierst einen entsprechenden patch - den es vermutlich nicht für jede Distribution gibt.
christian99:
Wenn ich die Reset Taste meines Arduino drücke müsste doch bei funktionierendem Bootloader die LED blinken, richtig? Das passiert nämlich leider nicht, was mich zu dem Schluss führt, dass der Bootloader doch nicht fehlerfrei geschrieben wurde - obwohl nichts dafür spricht.
Nein. Solange Du die Resettaste drückst passiert gar nichts. Der Controller wird gestopt und wartet auf das Ende des Resets. Sobald Du den Resettaster losläßt wird zuerst der Bootloader abgearbeitet. Dieser macht das L (pin 13) Led 2 mal in schneller folge blinken. Wenn eine Upload anliegt, wird dieses durchgeführt. Ansonsten bzw nach dem Upload wird der geladene Sketch abgearbeitet. Da Du mit einem ISP-Programmer arbeitest, könntest Du den Bootloader entfernt haben und in diesem Fall wird sofort der sketch ausgeführt.
Trage doch mal in programmers.txt ein:
Code: mySmartUSB.communication=/dev/ttyACM0
…das wenn ich mache, funktioniert das Brennen des Bootloaders überhaupt nicht mehr.
Meine grundsätzlichen Fragen sind folgende:
kann trotz der Erfolgsmeldung “Done Burning Bootloader” das Brennen des Bootloaders nicht okay sein?
wenn der Bootloader okay ist, woran kann es dann noch liegen
@Uwe:
Sobald Du den Resettaster losläßt wird zuerst der Bootloader abgearbeitet. Dieser macht das L (pin 13) Led 2 mal in schneller folge blinken.
Aber genau das meine ich doch, bei meinem Arduino blinkt nämlich nix, wenn ich die Taste loslasse - heißt das, es ist kein Bootloader vorhanden, obwohl ich vermeintlich erfolgreich einen gebrannt habe (siehe oben)?