PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Asuro flashen unter Linux mit USB - keine Verbindung?



desenfrenada
04.01.2006, 19:09
Hallo,

ich möchte meinen Asuro unter Linux (Gentoo Linux, Gentoo kernel 2.6.14-gentoo-r2) via USB flashen. Laut diesem Thread hier

https://www.roboternetz.de/phpBB2/zeigebeitrag.php?t=11536

habe ich mir die Sourcen für eine abgespeckte Version (Flasher) vom Flashtool geholt, wie angegeben PosixSerial.cpp abgeändert und das kompiliert. Außerdem habe ich


modprobe usbserial vendor=0x0403 product=0x6001
(mit usbview ausgelesen)

geladen.

dmesg

usb 1-2: new full speed USB device using uhci_hcd and address 5
usbserial_generic 1-2:1.0: Generic converter detected
usb 1-2: Generic converter now attached to ttyUSB0


Wenn ich nun in der Konsole z.B.
./flasher -0 ../../sources/ASURO_src_c/test.hex
ausführe, passiert folgendes



ASURO Flash Tool
Version 1.1
Author: Jan Grewe
Copyright(c) 2003 DLR
Linux Version

.
Open Serial Port --> OK !
Bulding RAM --> OK !.
Connect to ASURO --> ...........................................Timeout !


Mein user ist in den Gruppen uucp und tty, aber auch als Root läßt sich keine Verbindung zum Roboter herstellen.

Ich wäre für eure Ratschläge dankbar.

lg desenfrenada

PS: Nein, an den Batterien liegts auch nicht :) er hängt an einem 6V-
Stromanschluß.

stochri
04.01.2006, 20:26
Vorschlag:
nimm erst mal minicom und schau, ob Du vom USB-Adabter das echo bekommst. Dann siehst Du schon mal, ob auch das Senden und Empfangen mit Infrarot beim USB-Adapter funktioniert.

Gruss,
stochri

desenfrenada
04.01.2006, 22:25
Das werde ich probieren, danke.

desenfrenada
05.01.2006, 10:42
*verlegen schaut* ich muß nochmal was fragen: ich habe minicom installiert, mir das dt. Asuro-Manual durchgelesen, was Linux anbelangt.



alesia epona # cat /proc/tty/driver/usbserial
usbserinfo:1.0 driver:v2.0
0: module:usbserial name:"Generic" vendor:0403 product:6001 num_ports:1 port:1 path:usb-0000:00:1d.1-1

Und eine minicom-config nach bestem Wissen für den USB-IR-Anschluß erstellt.



# Machine-generated file - use setup menu in minicom to change parameters.
pr port /dev/ttyUSB0
pu baudrate 2400
pu bits 8
pu stopbits 1
pu parity N
pu minit
pu mreset
pu mdialpre
pu mdialsuf
pu mdialpre2
pu mdialsuf2
pu mdialpre3
pu mdialsuf3
pu mconnect
pu rtscts No


Wenn ich jetzt den Adapter über weißes Papier halte und
minicom asuro.dfl
aufrufe, sieht das Terminal so aus



Welcome to minicom 2.1

OPTIONS: History Buffer, F-key Macros, Search History Buffer, I18n
Compiled on Jan 4 2006, 19:21:17.

Press CTRL-A Z for help on special keys

ñ`ñ`ñ`ñ`ñ`ñ`ñ`ñ`ñ`ñ`ñ`ñ`ñ`ñ`ñ`ñ`ñ`ñ`ñ`ñ`ñ`ñ`ñ`ñ`ñ` ñ`ñ`ñ`ñ`ñ`ñ`ñ`ñ`ñ`ñ`ñ`ñ`ñ`ñ`ñ`ñ`ñ`


Bei Tastendruck blinkt D1, es wird also vermutlich was gesendet, aber es werden keine Zeichen vom Receiver empfangen, oder sie werden im Terminal nicht ausgegeben.

Ich habe jetzt das Problem, daß ich zuwenig über minicom weiß, um zu sagen, daß es definitiv richtig konfiguriert ist und die Schuld daher beim USB-Teil lliegen muß.

Im Hyperterminal konnte man gestern auf einem W2000-Rechner anstandslos Daten empfangen. Unter einem XP ging das wiederum nicht, das Flashen mit dem Flashtool 1.4 funktionierte aber. Zwischen diesen beiden Versuchen hab ich die Hardware von der Uni nachhause transportiert, aber das wird eher keine Rolle spielen.
EDIT: ich habe grad gesehen, daß im Flashtool zur Auswahl stehen: com 3 und usb (und daß usb der richtige Port ist und das Flashen funktioniert). Im Hyperterminal Private Edition 6.3 gibt es nur aber com3 zur Auswahl, und darum gehts sicher auch nicht. Treiberversion ist übrigens 1.6.20.0, ich habe die Treiber von der Arexx-Seite runtergeladen. Mal googlen...

Momentan kann ich also weder unter Linux noch unter Windows Daten vom Roboter auslesen, und das ist ungut.

Vielleicht kann mir wer weiterhelfen.

lg Melitta

stochri
05.01.2006, 11:35
Hallo Melitta,
/dev/ttyUSB0 im minicom geht bei mir. Wo liegt denn das config file für minicom? Dann könnte ich es kopieren und hier posten.

Gruss,
stochri

desenfrenada
05.01.2006, 11:37
Hallo Stochri,

meins liegt unter /etc/minicom/

Vielen Dank!

(wär so kuhl, wenns auch bei mir unter Linux gehen tät :)

stochri
05.01.2006, 11:45
Bei mir steht das drin:

# Machine-generated file - use "minicom -s" to change parameters.
pr port /dev/ttyUSB0
pu baudrate 2400
pu bits 8
pu parity N
pu stopbits 1

Wenn die LED blinkt, wenn Du eine Taste drückst, dann glaube ich, stimmen die Einstellungen. Wäre es vielleicht möglich, dass es da einen Wackelkontakt auf dem Adapter gibt? Vielleicht hast Du ja noch den Standart RS232 Adapter und kannst mit dem den Gegentest machen.

Gruss,
stochri

stochri
05.01.2006, 11:47
Allerdings fällt mir auf, das mein minirc.dfl wesentlich kürzer als Deines ist. Vielleicht kopierst Du ja einfach mal da obige.

desenfrenada
05.01.2006, 11:48
*reboot ins Linux und test*

Ich hab deine Config übernommen. Auf den ersten Versuch hin geht es mal nicht, leider. Blinkt zwar wie wild, aber kein Verbindungsaufbau... *hmm*

Wackelkontakt: glaub ich nicht, weil unter Windows das Flashen funktioniert, und da werden doch auch Daten vom Roboter übertragen (Checksum errors und so), oder?

Den seriellen Adapter kann ich nicht verwenden, weil ich auf meinem Laptop keinen Anschluß habe.

ich könnte noch ein Knoppix/Ubuntu live testen... vielleicht werd ich dann schlauer.

stochri
05.01.2006, 12:13
Schade, dass es nicht klappt.
Ich verwende den USB-Adapter unter Linux nicht zum tlaschen, sonderen für die Kommunikation. Mein System ist Suse 10.0.
Als grundsätzlicher Test sollte das mit minicom eigentlich schon klappen, sonst geht ja irgendwas auf dem Datenpfad verloren.
Ein anderer test wäre auch folgender ( setzt allerdings vorraus, das die Baudrate auf 2400 eingestellt ist, stimmt aber, wenn minicom vorher schon mal gestartet war )

linux:/home/ww # ll > /dev/ttyUSB0
linux:/home/ww # cat /dev/ttyUSB0 ( schnell sein, damit ll noch sendet )

Ansonsten weiß ich leider auch nicht mehr weiter.

Gruss,
stochri

desenfrenada
05.01.2006, 12:18
Und du verwendest zum Flashen den seriellen Adapter?

Meiner hat nie funktioniert, der Selbsttest war zwar erfolgreich (mit dem Blatt Papier und Hyperterminal), aber Flashen hat nicht funktioniert (ev. wegen der schwachen Batterien, damals hatte ich noch keinen Stromanschluß). Da es mit dem USB dann ging, habe ich das nicht weiter verfolgt. Hier am Laptop könnte ich ihn eh nicht verwenden. Egal... falls ich auf etwas draufkomme, post ich es hier.

Danke jedenfalls für deine Hilfe!

PS: zum cat /dev/ttyUSB0 ohne ll vorher:
es wird konstant irgendein Zeichen gesendet. So in etwa
ñ`ñ`ñ`ñ`ñ`ñ`ñ`ñ`ñ`ñ`ñ`ñ`ñ <etc>

Das wird der Übertragung sicher nicht förderlich sein! Nur, woher kommt das?

stochri
05.01.2006, 16:27
PS: zum cat /dev/ttyUSB0 ohne ll vorher:
es wird konstant irgendein Zeichen gesendet. So in etwa
ñ`ñ`ñ`ñ`ñ`ñ`ñ`ñ`ñ`ñ`ñ`ñ`ñ <etc>

Das wird der Übertragung sicher nicht förderlich sein! Nur, woher kommt das?

Blinkt dann die LED auch ?
Als ich neige ja immer noch zur Vermutung, dass da was hardwareseitig mit Deinem USB-Adapter nicht stimmt. Hat keiner Deiner Mitstudenten einen Adapter, damit Du vergleichen kannst?
Bei mir kommt bei cat nichts, solange nicht irgendwas gesendet wird. Wenn ich z.B. meine Yamaha-Verstärker-IR-Fernstuerung auf den USB Empfänger halte und auf den Tasten rumdrücke, kommen ab und zu mal ein paar Zeichen, die Diode blinkt dann.
Den selben Test könntest Du unter XP mit Hyperterminal machen. Ich weiß nicht, ob man bei XP nicht auch die Treiber von der Asuro-CD installieren muss. Bei Linux musste man das nicht.

Gruss,
stochri

desenfrenada
06.01.2006, 16:36
Status: die Hardware ist ok. Unter Windows hab ich es jetzt auch geschafft, damit Zeichen zu empfangen:
https://www.roboternetz.de/phpBB2/viewtopic.php?t=12435

Anscheinend kann Hyperterminal nicht mit dem neuesten Treiber... ich hab gar nit länger geguckt, sondern war froh, daß es geht.

Eine Teillösung also. Wenn ich mal mehr Zeit habe, werd ich mit mit dem ganzen unter Linux befassen.

lg
Melitta