Pages: [1] 2   Go Down
Author Topic: Wenn Arduino mit dem Rechner nicht mehr redet....  (Read 2001 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 40
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hallo zusammen!!!

Es ist so…
2010 kaufte ich meine erste Arduino 2009, mit deren Hilfe  ich über 2 Jahre lange ganz zufrieden Programme und eingebettete Systeme entwicklt habe.
Eines Tages, letzten Sommer, wollte ich nochmal meine Platine programmieren und plötzlich erkannte mein System keine USB Anschluss mit  Platine… Komisch dachte ich, da sie immer funktioniert hat und ich keine Treiber (neue oder alte) uminstalliert habe.
Dennoch stellte ich bald fest, dass die USB Verbindung nicht mehr erkannt wird. Ganz gleich ob Linux oder Windows, einfach stecke ich das Kabel USB rein und das System reagiert einfach nicht. Unter Linux liefert zum beispiel ein lsusb nur den Anschluss der Maus.
Jedenfalls dachte ich mir…es ist der kleine FT232 auf bestimmt „durchgebrannt“. So kaufte ich mir noch eine 2009 letzte Woche um meine  Programme nach langer zeit weiter zu schreiben.
Die Platine konnte ich nur 2 male programmieren, bevor plötzlich nochmal Fehlermeldungen bezüglich der USB Verbindung nochmal auftaten. Wieder das gleiche Problem, die Platine wird vom System nicht mehr erkannt!!!
Also…2 Platine, gleiches Modell, und gleiches Problem.. Wie kann sein dass ich so viel Pech habe? Woran kann es umsonst liegen? Wie kann ich überprüfen, dass alle Komponente auf der Platine (insbesondere die USB Schnittstelle richtig funktioniert!?!?)

Ich verwende als Umgebung Debian 6, mein Laptop ist immer der selbe geblieben und die rxtx.org sind die letzte installiert. Ich habe weder ein neues Betriebssystem installiert noch mein altes formattiert…
Ich hatte beispielsweise NIE Probleme mit Arduino NANO 3.0 gehabt. Die verwendeten IDEs sind 1.0.1 und 1.0.3, dennoch erkennen beide nicht die Verbindung.
Kann es sein, dass der Strom aus der USB meine beiden 2009 zerstört hat!?!?

Danke euch allen.

Schönen Tag noch
Gruß
Logged

Offline Offline
Edison Member
*
Karma: 21
Posts: 1419
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hast Du die betroffenen Arduinos mal an einem anderen Rechner getestet? Evtl. ist ja der USB-Anschluss das Problem. Funktionieren denn andere Geräte am gleichen USB-Anschluss?
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 40
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hast Du die betroffenen Arduinos mal an einem anderen Rechner getestet? Evtl. ist ja der USB-Anschluss das Problem. Funktionieren denn andere Geräte am gleichen USB-Anschluss?

Ja...und habe Knoppix auf CD Live und nun Kubuntu auf USB Stick installiert und trotzdem das gleiche Problem...
Die USB Ausgänge funktionieren mit anderen Geräte perfekt, zudem kann ich sowieso immer noch meine Arduino NANO programmieren.
Damit hatte ich nie (bisher) ein problem gehabt...
Logged

Forum Moderator
BZ (I)
Offline Offline
Brattain Member
*****
Karma: 269
Posts: 21826
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ist vieleicht der USB-Kabel kaputt?
Grüße Uwe
Logged

Chemnitz/Saxony/Germany
Offline Offline
Full Member
***
Karma: 0
Posts: 107
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Ist vieleicht der USB-Kabel kaputt?
Grüße Uwe

Wäre auch meine Frage gewesen. Ich hab neulich ein neues USB-Kabel (50cm) gehabt, was am Drucker ohne Mucken lief. Der angeschlossene Arduino war damit nicht zum Arbeiten zu bewegen.
Logged

Germany S-H
Offline Offline
Faraday Member
**
Karma: 157
Posts: 3138
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Wie kann sein dass ich so viel Pech habe? Woran kann es umsonst liegen?

Auch die USB-Schnittstelle am PC kann ja inzwischen defekt geworden sein.

Kannst Du mal an einer anderen USB-Schnittstelle probieren?
Oder gleich an einem anderen PC?

Du hast das Arduino-Board beim Testen nicht zufällich kurzschlußträchig auf Metall oder auf leitfähigem Kunststoff liegen? Manchmal kommen Arduino-Boards zwischen zwei Lagen aus meist schwarzem "leitfähigen Kunststoff" und manch einer hat sich schon gedacht "oh Plastik, da lege ich meinen Arduino zur Isolierung drauf", und das ist natürlich genau falsch, weil leitfähiger Kunststoff eben nicht isoliert sondern leitet und man die Platinenrückseite natürlich nicht darauf ablegen darf, wenn der Arduino in Betrieb ist.
Logged

Offline Offline
Full Member
***
Karma: 5
Posts: 193
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Funktioniert denn noch das Programm, was du früher draufgeladen hast(evt. über Strombuchse anschließen)?

Addi
Logged

  / \    _|  _| o
 /--\ (_| (_| |

Offline Offline
Newbie
*
Karma: 0
Posts: 40
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hallo zusammen!
                         danke für eure Antworten.
Also...ich habe mit einem anderen Kabel versucht und nun wird die Platine erkannt!!!

Ein
Code:
#lsusb
liefert die richtige Verbindungen.
Dennoch wenn ich versuche ein irgendwelches Programm zu uploaden kriege ich ständig diese Fehlermeldung:



Code:
wilhem@SR-71:~$ arduino
Experimental:  JNI_OnLoad called.
Stable Library
=========================================
Native lib Version = RXTX-2.1-7
Java lib Version   = RXTX-2.1-7
RXTX Warning:  Removing stale lock file. /var/lock/LCK..ttyUSB0
Binäre Sketchgröße: 1.084 Bytes (von einem Maximum von 30.720 Bytes)
processing.app.SerialException: Fehler beim Öffnen des seriellen Ports '/dev/ttyUSB0'.
        at processing.app.Serial.<init>(Serial.java:178)
        at processing.app.Serial.<init>(Serial.java:77)
        at processing.app.debug.Uploader.flushSerialBuffer(Uploader.java:77)
        at processing.app.debug.AvrdudeUploader.uploadViaBootloader(AvrdudeUploader.java:174)
        at processing.app.debug.AvrdudeUploader.uploadUsingPreferences(AvrdudeUploader.java:67)
        at processing.app.Sketch.upload(Sketch.java:1671)
        at processing.app.Sketch.exportApplet(Sketch.java:1627)
        at processing.app.Sketch.exportApplet(Sketch.java:1599)
        at processing.app.Editor$DefaultExportHandler.run(Editor.java:2380)
        at java.lang.Thread.run(Thread.java:662)
Caused by: gnu.io.UnsupportedCommOperationException: Invalid Parameter
        at gnu.io.RXTXPort.setSerialPortParams(RXTXPort.java:171)
        at processing.app.Serial.<init>(Serial.java:163)
        ... 9 more
processing.app.debug.RunnerException: Fehler beim Öffnen des seriellen Ports '/dev/ttyUSB0'.
        at processing.app.debug.Uploader.flushSerialBuffer(Uploader.java:101)
        at processing.app.debug.AvrdudeUploader.uploadViaBootloader(AvrdudeUploader.java:174)
        at processing.app.debug.AvrdudeUploader.uploadUsingPreferences(AvrdudeUploader.java:67)
        at processing.app.Sketch.upload(Sketch.java:1671)
        at processing.app.Sketch.exportApplet(Sketch.java:1627)
        at processing.app.Sketch.exportApplet(Sketch.java:1599)
        at processing.app.Editor$DefaultExportHandler.run(Editor.java:2380)
        at java.lang.Thread.run(Thread.java:662)


Woran kann es liegen?!?!
Also ein Problem an der USB Schnittstelle würde ich ausschließen. Es funktioniert alles, was ich da reinstecke. Ich habe eben die Spannungen an der USB gemessen und sehen in Ordnung aus.

Gruß
Logged

Germany S-H
Offline Offline
Faraday Member
**
Karma: 157
Posts: 3138
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Woran kann es liegen?!?!

Nur ein paar Ideen:

Die Software versucht auf /dev/ttyUSB0 zuzugreifen. Bist Du sicher, dass da auch der Arduino dranhängt? Ggf. mal unter "Tools - Serieller Port" nachsehen, welche seriellen Ports einstellbar sind.

Wenn es früher laut Deinen Angaben funktioniert hat: Kann es sein, dass Du Deinen Arduino früher als "root" User programmiert hast und heute unter einem Usernamen, der auf die serielle Schnittstelle an /dev/ttyUSB0 keinen Zugriff hat?

Ggf. mit dem Befehl:
sudo chown username /dev/ttyUSB0
die richtigen Userrechte zum Zugriff auf die serielle Schnittstelle setzen.

Und ggf. auch mit
dmesg
überhaupt zuerst mal kontrollieren, ob und als welche serielle Schnittstelle der FTDI-Seriell-Chip eingebunden wird und ob das tatsächlich /dev/ttyUSB0 ist. Nicht dass es bei Dir vielleicht /dev/ttyUSB1 oder /dev/ttyUSB2 ist.
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 40
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ja also...

ich habe die von dir aufgelisteten Befehle ausgeführt und dazu nochmal das in dem Playground beschriebene Verfahren durchgeführt.
Ich verwende Debian 6.0 und nach den obigen Änderungen habe ich den Rechner rebootet.
Das Problem besteht immer noch.Ich kann zwar die Platine "sehen" als USB Verbindung, aber werden keine Programme darauf installiert.
Ich habe nochmal angeschaut und tatsächliuch habe ich unter Tools.... nur '/dev/ttyUSB0' und keine andere.

Die Einstellungen meines Systems sind nun:
Code:
wilhem@SR-71:~$ ls -al /dev
insgesamt 1

brw-rw----   1 root disk      8,   0 28. Jan 23:22 sda
brw-rw----   1 root disk      8,   1 28. Jan 23:22 sda1
brw-rw----   1 root disk      8,   2 28. Jan 23:22 sda2
brw-rw----   1 root disk      8,   3 28. Jan 23:22 sda3
brw-rw----   1 root disk      8,   4 28. Jan 23:22 sda4
brw-rw----   1 root disk      8,   5 28. Jan 23:22 sda5
brw-rw----   1 root disk      8,   6 28. Jan 23:22 sda6
brw-rw----   1 root disk      8,   7 28. Jan 23:22 sda7
brw-rw----   1 root disk      8,   8 28. Jan 23:22 sda8
drwxr-xr-x   4 root root          80 28. Jan 23:22 serial
crw-------   1 root root     21,   0 28. Jan 23:22 sg0
crw-rw----   1 root cdrom    21,   1 28. Jan 23:22 sg1
drwxrwxrwt   2 root root          60 28. Jan 23:22 shm
crw-------   1 root root     10, 231 28. Jan 23:22 snapshot
drwxr-xr-x   3 root root         180 28. Jan 23:22 snd
lrwxrwxrwx   1 root root          24 28. Jan 23:22 sndstat -> /proc/asound/oss/sndstat
brw-rw----+  1 root cdrom    11,   0 28. Jan 23:22 sr0
lrwxrwxrwx   1 root root          15 28. Jan 23:22 stderr -> /proc/self/fd/2
lrwxrwxrwx   1 root root          15 28. Jan 23:22 stdin -> /proc/self/fd/0
lrwxrwxrwx   1 root root          15 28. Jan 23:22 stdout -> /proc/self/fd/1
crw-rw-rw-   1 root root      5,   0 28. Jan 23:22 tty
crw-------   1 root root      4,   0 28. Jan 23:22 tty0
crw-------   1 root root      4,   1 28. Jan 23:22 tty1
crw-------   1 root root      4,  10 28. Jan 23:22 tty10
crw-------   1 root root      4,  11 28. Jan 23:22 tty11
crw-------   1 root root      4,  12 28. Jan 23:22 tty12
crw-------   1 root root      4,  13 28. Jan 23:22 tty13
crw-------   1 root root      4,  14 28. Jan 23:22 tty14
crw-------   1 root root      4,  15 28. Jan 23:22 tty15
crw-------   1 root root      4,  16 28. Jan 23:22 tty16
crw-------   1 root root      4,  17 28. Jan 23:22 tty17
crw-------   1 root root      4,  18 28. Jan 23:22 tty18
crw-------   1 root root      4,  19 28. Jan 23:22 tty19
crw-------   1 root root      4,   2 28. Jan 23:22 tty2
crw-------   1 root root      4,  20 28. Jan 23:22 tty20
crw-------   1 root root      4,  21 28. Jan 23:22 tty21
crw-------   1 root root      4,  22 28. Jan 23:22 tty22
crw-------   1 root root      4,  23 28. Jan 23:22 tty23
crw-------   1 root root      4,  24 28. Jan 23:22 tty24
crw-------   1 root root      4,  25 28. Jan 23:22 tty25
crw-------   1 root root      4,  26 28. Jan 23:22 tty26
crw-------   1 root root      4,  27 28. Jan 23:22 tty27
crw-------   1 root root      4,  28 28. Jan 23:22 tty28
crw-------   1 root root      4,  29 28. Jan 23:22 tty29
crw-------   1 root root      4,   3 28. Jan 23:22 tty3
crw-------   1 root root      4,  30 28. Jan 23:22 tty30
crw-------   1 root root      4,  31 28. Jan 23:22 tty31
crw-------   1 root root      4,  32 28. Jan 23:22 tty32
crw-------   1 root root      4,  33 28. Jan 23:22 tty33
crw-------   1 root root      4,  34 28. Jan 23:22 tty34
crw-------   1 root root      4,  35 28. Jan 23:22 tty35
crw-------   1 root root      4,  36 28. Jan 23:22 tty36
crw-------   1 root root      4,  37 28. Jan 23:22 tty37
crw-------   1 root root      4,  38 28. Jan 23:22 tty38
crw-------   1 root root      4,  39 28. Jan 23:22 tty39
crw-------   1 root root      4,   4 28. Jan 23:22 tty4
crw-------   1 root root      4,  40 28. Jan 23:22 tty40
crw-------   1 root root      4,  41 28. Jan 23:22 tty41
crw-------   1 root root      4,  42 28. Jan 23:22 tty42
crw-------   1 root root      4,  43 28. Jan 23:22 tty43
crw-------   1 root root      4,  44 28. Jan 23:22 tty44
crw-------   1 root root      4,  45 28. Jan 23:22 tty45
crw-------   1 root root      4,  46 28. Jan 23:22 tty46
crw-------   1 root root      4,  47 28. Jan 23:22 tty47
crw-------   1 root root      4,  48 28. Jan 23:22 tty48
crw-------   1 root root      4,  49 28. Jan 23:22 tty49
crw-------   1 root root      4,   5 28. Jan 23:22 tty5
crw-------   1 root root      4,  50 28. Jan 23:22 tty50
crw-------   1 root root      4,  51 28. Jan 23:22 tty51
crw-------   1 root root      4,  52 28. Jan 23:22 tty52
crw-------   1 root root      4,  53 28. Jan 23:22 tty53
crw-------   1 root root      4,  54 28. Jan 23:22 tty54
crw-------   1 root root      4,  55 28. Jan 23:22 tty55
crw-------   1 root root      4,  56 28. Jan 23:22 tty56
crw-------   1 root root      4,  57 28. Jan 23:22 tty57
crw-------   1 root root      4,  58 28. Jan 23:22 tty58
crw-------   1 root root      4,  59 28. Jan 23:22 tty59
crw-------   1 root root      4,   6 28. Jan 23:22 tty6
crw-------   1 root root      4,  60 28. Jan 23:22 tty60
crw-------   1 root root      4,  61 28. Jan 23:22 tty61
crw-------   1 root root      4,  62 28. Jan 23:22 tty62
crw-------   1 root root      4,  63 28. Jan 23:22 tty63
crw-------   1 root root      4,   7 28. Jan 23:22 tty7
crw-------   1 root root      4,   8 28. Jan 23:22 tty8
crw-------   1 root root      4,   9 28. Jan 23:22 tty9
crw-rw----   1 root dialout   4,  64 28. Jan 23:22 ttyS0
crw-rw----   1 root dialout   4,  65 28. Jan 23:22 ttyS1
crw-rw----   1 root dialout   4,  66 28. Jan 23:22 ttyS2
crw-rw----   1 root dialout   4,  67 28. Jan 23:22 ttyS3
crw-rw----   1 root dialout 188,   0 28. Jan 23:22 ttyUSB0


anscheinend ist es mir nicht gelungen die Rechte auch für mein User freizuschalten...
Obwohl ich mein User zur richtigen Gruppen hinzugefügt habe, besitze ich nach dem Start keine Rechte...

Wisst ihr, wie ich es lösen kann?

Gruß
Logged

Chemnitz/Saxony/Germany
Offline Offline
Full Member
***
Karma: 0
Posts: 107
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Hast Du in der Arduino-IDE unter Tools mal geschaut ob der Schnittstellen-Port ausgewählt ist?

Ich sitze gerade am anderen Rechner, aber bei mir ist es auch oftmals so, das ich den Port nochmal auswählen muss, vor allem wenn ich den Arduino erst nach Start der IDE angesteckt habe.
Logged

northern germany
Offline Offline
Jr. Member
**
Karma: 2
Posts: 94
Ausbildung: Funkmechaniker, Systemadministrator
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Das Interface sollte stimmen, da die Fehlermeldung des IDE ja ttyUSB0 als Interface anmeckert.
Code:
#groups
als Befehl sollte dir zurückgeben, in welchen Gruppen du Mitglied bist, wenn da "dialout" mit auftaucht, sollte das eigentlich passen.

Ansonsten kannst du mit
Code:
sudo chmod 666 /dev/ttyUSB0
auch die Rechte so setzen, das jeder darauf lesen und schreiben kann.

Und nach dem Einstecken des Boards per USB mal mit
Code:
dmesg
evtl wieder mit "sudo" davor, mal nachsehen, ob die Hardware sauber erkannt und das Device ordnungsgemäß zugeordnet wird.

Dirk
Logged

using arduino leonardo
--
tomorrow today will only be yesterday, so live your life today!

Offline Offline
Newbie
*
Karma: 0
Posts: 40
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
Hast Du in der Arduino-IDE unter Tools mal geschaut ob der Schnittstellen-Port ausgewählt ist?

Ja!!! Und trotzdem habe ich immer noch das Problem.

Quote
Das Interface sollte stimmen, da die Fehlermeldung des IDE ja ttyUSB0 als Interface anmeckert.
Code:

#groups

als Befehl sollte dir zurückgeben, in welchen Gruppen du Mitglied bist, wenn da "dialout" mit auftaucht, sollte das eigentlich passen.

Quote
Ansonsten kannst du mit
Code:

sudo chmod 666 /dev/ttyUSB0

auch die Rechte so setzen, das jeder darauf lesen und schreiben kann.

Also...alles schon gemacht.Ich bekomme zwar die Rechte, ABER wenn ich das Kabel raus und wieder reinstecke, dann "verliere" ich die Rechte und muss nochmal über root die Rechte freischalten.
Mein User gehört anscheined zu tty und dialout.

Irgendwie stimmt nicht in meinem Debian....
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 2
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ich habe exakt die selben Probleme. Das Arduino erscheint immer kurzzeitig unter /dev/ttyACM0 oder  /dev/ttyACM1, sobald ich aber den Upload eines Programms machen will, geht das nicht. Die serielle Schnittstelle ist dann nicht mehr verfügbar unter Tools. Dmseg liefert nur: cdc_acm 2-1:1.0: ttyACM1: USB ACM device
und ls -al /dev liefert: drwxr-xr-x   4 root root          80 Nov 22 23:09 serial

Hast du eine Lösung gefunden wilhem?

Bin zwar noch relativ neu, aber wir haben in der Uni eine Vorlesung mit Arduino und das ist jetzt schon das vierte mal, dass ich das sehe (auch bei anderen, aber trotzdem). Immer Arduino Uno, aber an vielen verschiedenen PCs. Jetzt gerade habe ich es bei zweien hintereinader geschafft. Kann es am Code liegen, den man an Arduino schickt? Kann man ein Arduino ganz auf "Null" zurücksetzen?

Meine Unterlage war übrigens Holz... Davor haben beide wunderprächtig funktioniert. Echt doof. Wenn ich mit zwei Arduinos in die Uni komme, die beide nicht mehr funktionieren wird sich mein Prof freuen...
« Last Edit: November 22, 2013, 05:35:38 pm by karl_tae » Logged

Forum Moderator
BZ (I)
Offline Offline
Brattain Member
*****
Karma: 269
Posts: 21826
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
Kann es am Code liegen, den man an Arduino schickt? Kann man ein Arduino ganz auf "Null" zurücksetzen?
Manchmal passiert es wenn man die serielle Schnittstelle initialisisert und sofort etwas schickt daß der Arduino nicht mehr den Upload macht. Abhilfe ist den Uploadvorgang manuell mittels des Resettasters inizieren. (resettaster drücken und halten, IDE upload starten und loslassen wenn die IDE schreibt daß upgeloadet wird). Meist muß mann öfters probieren um den richtigen Zeitpunkt zu finden. Am besten ist es als Sketch den einfachen Blink zu verwenden wei dieser kurz ist.

Mit einem ISP-Programmierer kannst Du den hochgeladenen Sketch überschreiben und auch den Bootloader neu brennen. Du kannst einen Arduino als ISP-Programmierer benutztn:
http://arduino.cc/en/Tutorial/ArduinoISP
 
Grüße Uwe
Logged

Pages: [1] 2   Go Up
Jump to: