AT90USB, Flip und Linux

Gast #1423920
Lesenswert?

Hi, ich habe mir einen AT90USB162 auf eine Platine gelötet und versuche 
jetzt, mit dem internen Bootloader zu kommunizieren.

Ich habe die Platine schonmal an einen Windows Rechner angeschlossen, da 
wurde sofort der AT90USB162 erkannt und Windows hat versucht, einen 
Treiber zu installieren. Mangels Java kann ich Flip aber unter Windows 
nicht testen.

ich kann auch via ISP auf den Controller zugreifen. Soweit scheint also 
alles zu funktionieren.

Jetzt versuche ich das unter Linux. Der Controller wird wohl auch 
erkannt. lsusb liefert mir

> Bus 002 Device 009: ID 03eb:2ffa Atmel Corp.

Die Schaltung sollte also völlig korrekt sein und funktionieren, sonst 
würde die ID nicht erkannt werden.

Wenn ich jetzt Flip starte und versuche, eine USB Verbindung zu öffnen, 
sagt er mir in der Konsole

> AtLibUsbDfu: 3EB 2FFA no device present.

Ich habe jetzt nach der Anleitung im Elektronik-Projekt.de Wiki 
versucht, für udev eine Datei anzulegen, weil ich weiß, dass ohne diese 
Datei ein AVRISP mkII nur als Root funktioniert

http://www.wiki.elektronik-projekt.de/mikrocontroller/avr/avrdude#ubuntudebian_und_opensuse

Ich hab diese Zeile eingetragen

> ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2ffa", GROUP="plugdev", MODE="0660"

So langsam weiß ich nicht mehr weiter. Ach ja, ich habe natürlich einen 
Taster nach GND an HWB und an den Fusebits habe ich nichts verstellt 
sondern hab die Werkseinstellungen unverändert gelassen. Einen Chip 
Erase habe ich auch nicht ausgeführt. Ich habe lediglich mit avrdude zum 
Testen den Inhalt des Flash via ISP gelesen. Der Bootloader sollte 
also noch drin sein und funktionieren.

Könnt ihr mir weiterhelfen? Bin mit meinem Latein am Ende
Gast #1424021
Lesenswert?

Ja, der User ist Mitglied von plugdev.

Ich habe auch mal versucht, Flip als Root zu starten. Aber man muss zwei 
Variablen mit export anlegen, nur gibt es unter Root anscheinend den 
Export Befehl nicht.

Ich verwende im übrigen Ubuntu 9.04
#1424030
Lesenswert?

Jones schrieb:
> Ja, der User ist Mitglied von plugdev.
>
> Ich habe auch mal versucht, Flip als Root zu starten. Aber man muss zwei
> Variablen mit export anlegen, nur gibt es unter Root anscheinend den
> Export Befehl nicht.
>
> Ich verwende im übrigen Ubuntu 9.04

Kommt auf die verwendete Shell an.

csh/tcsh: setenv VARIABLE=wert
bash/ksh: export VARIABLE=wert
sh: VARIABLE=wert; export VARIABLE

Findet lsusb den Adapter?
Gast #1424041
Lesenswert?

export - klein geschrieben - gibt es auch für root. (Systembefehl)

Das flip-Programm ist so klein das Du es ja schnell noch mal zum Test im 
root Homeverzeichnis installieren kannst. Mit eigenen Variablen.

Beobachte mal die Konsolen Ausgabe von ./flip.sh im Hintergrund.

Für mehr Infos gibt es noch die Möglichkeit:

strace ./flip.sh

Dann sollte das Problem zu sehen sein...
Gast #1424061
Lesenswert?

Verwende die Standard Shell, glaube bash. Als User gibt es den export 
Befehl ja auch, sonst könnte ich Flip gar nicht starten. Nur als Root 
geht es nicht.

lsusb findet ihn, siehe erster Post

Ich kann mir jetzt nur noch vorstellen, dass der Bootloader nie 
vorhanden war oder avrdude ihn irgendwie gelöscht hat, als ich das Flash 
gelesen habe. Einen Chip Erase hab ich wie gesagt nie absichtlich 
durchgeführt
Gast #1424069
Lesenswert?

@ hp-freund: wenn ich sudo export eingebe kommt

> sudo: export: command not found

Habe gerade mal mit sudo su eine root Shell erstellt. Dann geht export. 
Werd das nachher mal so probieren, ob das was ändert
Gast #1424094
Lesenswert?

Sollte er:

"The 8bits mega AVR with USB interface devices are factory configured 
with a
USB bootloader located in the on-chip flash boot section of the 
controller."

Auf Fehler ab Werk würde ich erst ganz zuletzt tippen ;)

Na dann...
...einen schönen Bürotag


...
hp-freund
#1424949
Lesenswert?

Jones schrieb:
> @ hp-freund: wenn ich sudo export eingebe kommt
>
>> sudo: export: command not found
>
> Habe gerade mal mit sudo su eine root Shell erstellt. Dann geht export.
> Werd das nachher mal so probieren, ob das was ändert

Das kann so nicht funktionieren. export ist ein shell built in Kommando. 
Wenn du "sudo export" tippst dann will der sudo ein Binary namens export 
in deinem Suchpfad ausfuehren, das gibt es aber nicht.

Der richtige Weg zu einer Root shell ist "su - root" oder alternativ ein 
sudo /bin/bash
Gast #1424977
Lesenswert?

Das ist im Moment nicht mein primäres Problem. Viel mehr habe ich 
inzwischen Probleme, überhaupt Verbindung mit dem Controller 
aufzunehmen. Ich habe wohl den Bootloader gelöscht und ich bekomme den 
nicht mehr zum laufen.

Ich habe von der Atmel Homepage den Bootloader runtergeladen (v1.0.5) 
und versuche den jetzt, mittels AVR Studio wieder zum Laufen zu bringen. 
Bisher leider ohne Erfolg. Muss man da etwas bestimmtes beachten?
Gast #1425138
Lesenswert?

Fuse Bits hab ich durch. Habs mit den Standard Einstellungen im 
Datenblatt verglichen. Vier mal. Hab zwischendurch mal, probiert, die 
CDC Demo zum Laufen zu kriegen. Die hat auch wieder funktioniert. Aber 
der Bootloader rührt sich nicht.
Gast #1425229
Lesenswert?

>einen AT90USB162 auf eine Platine gelötet

Es gab ja mal jemanden, der USB mit dem internen Oszillator, also ohne 
Quarz, nutzen wollte. Das geht so gut wie nie. Sonst evtl. mal eines 
dieser billigen Olimex Boards mit AT90USB162 besorgen und damit testen? 
Vielleicht hast Du die USB-Leitungen nicht  gut aufgebaut? Hast du die 
22 Ohm Widerstände drin? Ist schon seltsam wie viele Leute doch mit 
selbst gelöteten AT90USBs Probleme haben.

Hast Du dich halbwegs an die Soll-Impedanzen gehalten? Wobei das wohl 
eher für High-Speed kritisch wird...

http://www.usb.org/developers/docs/hs_usb_pdg_r1_0.pdf
Gast #1425258
Lesenswert?

>Naja, löten kann ich denke ich.

Na so ganz eindeutig ist das nicht immer. Bei meiner ersten Platine für 
den AT90USB1287, Bus-Powered, hatte ich massive Probleme mit längeren 
USB-Kabeln. Übertragungsfehler, auch mit USB-Bootloader usw. Mit Kabeln 
kürzer als 2m ging es aber. War ein dümmlicher Fehler von mir, ich hatte 
legiglich einen 100 nF Stützkondensator für die Versorgungsspannung 
verwendet. Später mit einem 1uF Kondensator lief alles perfekt.

Aber zu deinem Problem: Ich kann dir leider nicht wirklich helfen. Aber 
probiere doch mal dfu-programmer aus. Oder den Lufa-Bootloader. Ich 
weiß, das kostet alles viel Zeit, aber so ist das Leben eben. Sonst von 
Olimex kaufen, da kann man sich dann beschweren.

Dow
Gast #1425345
Lesenswert?

Das hat mich auch gewundert. Ich habe aber auch schon verschiedene 
andere Einstellungen probiert.

Kann es sein, dass ab Werk nicht nur der Bootloader sondern auch eine 
"Demo Application" im Controller liegt? Und sei es nur ein Jump in den 
Bootloader an Adresse 0x0000?

Wie schon gesagt, vor dem Chip Erase hat der Controller zumindest 
Lebenszeichen von sich gegeben.
Gast #1425393
Lesenswert?

Der Bootloader liegt an Word Addr 0x1800. Byte Addr: 0x3000.
Das ist default BOOTSZ0=0,BOOTSZ1=0 passt also.
CKSEL3..1 muß auch angepasst werden.
BOOTRST muß "0" sein.

Also Du mußt wirklich alle fuses durchgehen und möglichst auch 
verstehen.
Die Standard Einstellungen aus dem Datenblatt passen also nicht.

Das Problem hatten auch andere schon:

http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&p=472800
Gast #1425448
Lesenswert?

Ich werde heute ein zweites IC opfern und mir den Originalzustand genau 
anschauen. Ich bin mir aber sicher, dass die Default Werte im Datenblatt 
stimmen.

Hm, ich sollte vielleicht mal den Quarz tauschen. Könnte ne Ursache sein 
fällt mir gerade ein. Ist nämlich ein älterer aus einer Wühlkiste. Wobei 
mich das trotzdem wundern würde, weil es bis zum Chip Erase eigentlich 
immer funktioniert hat.
Gast #1426334
Lesenswert?

So, fragt mich nicht warum, aber ich hab es jetzt wieder hinbekommen. 
Jetzt habe ich drei Platinen am Laufen.

Ich weiß nicht, was ich bisher falsch gemacht habe. Elektrisch habe ich 
nichts geändert.

Ich habe allerdings das AVR Studio upgedated auf 4.17 weil ich irgendwo 
gelesen habe, dass irgendwelche Files nicht stimmen sollen. Möglich, 
dass es der Grund war.

Jetzt kann ich mich endlich um die anderen Probleme kümmern

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren