Forum: Mikrocontroller und Digitale Elektronik engbedded ruinierte meinen Chip


von Vladimir R. (insummary)


Lesenswert?

Hallo Leute,

Ich arbeitete den ganzen Tag an meinem Chip, um die Fuse Einstellungen 
und die Firmware zu installieren, bis er kaputt ging.

Also ich habe dieses spezielle Board mit einem AT90USB1286 Chip und 6 
Pin ISP, das ich mit einem USBtinyISP verbinde um die Fuse Einstellungen 
zu ändern und die Firmware zu flashen.

Ich habe nur diese 2 Boards, sonst nichts, ich wollte nur die Fuses auf 
die Standardwerte ändern, nachdem ich erfolgreich damit gearbeitet habe. 
Also habe ich die Webseite engbedded.com besucht, meinen Chip 
ausgewählt, mit dem Namen: AT90USB1286.
Dann habe die default Werte für den Chip übernommen, welche sind:

-U lfuse: w: 0x41: m-U hfuse: w: 0x99: m-U efuse: w: 0xff: m

lud diese über meinen USBtinyISP und avrdude an den Chip.

Und was ist passiert?

Board tot, Chip tot. Nicht erreichbar.

Was ist passiert?

Da ich neu bin mit nicht viel Erfahrung, schaute ich nach mehr 
Informationen. Und dann vor einigen Jahren, sagte ein erfahrener 
Techniker hier einmal, dass diese engbeddded.com Standardwerte völlig 
nutzlos sind, weil es die Werte setzt: CKSEL = 0000 und SUT = 00

Also habe ich mich jetzt mit diesen Default Werten selbst aus meinem 
Chip ausgesperrt?

Ich kann nicht glauben, dass das wahr ist, ich bin dermaßen sauer.

Aber ich glaub nicht, dass der Chip völlig tot ist, er atmet noch sehr 
langsam, läuft also mit einer sehr niedrigen Frequenz.

Also habe ich versucht die SCK Werte meines USBtinyISP zu ändern:

avrdude-c-p usbtiny AT90USB1286-P Port_ # 0004.Hub_ # 0001-TUF

Jetzt bin ich in den Einstellungen des USBtinyISP, um:

SCK 1000

einzugeben und dann

quit

Mit SCK 1000, ändere ich die Frequenz, mit die der USBtinyISP arbeitet, 
aber nichts, ich kann nicht auf den Chip zugreifen.

Ok, was als nächstes? Ich versuchte auch, die Fuse Einstellungen laden, 
indem ich:

-B250


Am Ende jeder Fuse Setting gesetzt habe, um die Bitrate zu ändern. Aber 
auch das hat nicht geklappt.

Also weiß jemand von euch, wie ich mit meinem USBtinyISP und meinem 
speziellen Board nun an den Chip komme? Vielleicht mit ändern der SCK 
Werte oder der -B Werte?

Freue mich über jede hilfreiche Antwort!

von Dennis (Gast)


Lesenswert?

Und was lernst du jetzt aus der ganzen Geschichte:

RTFM!!!!!

Nicht umsonst geben die Hersteller Datenblätter raus. Wenn man diese 
liest, so passieren solche Sachen nicht...

(Dort kann man übrigens auch nachlesen, wie man den Chip "zurückholt")

von K. D. (deka)


Lesenswert?

Wer AVR verwendet ist selbst schuld. Unglaublich, dass Atmel es in 25 
Jahren nicht geschafft hat diesen Bug zu entfernen. Rennitenz ist das 
...

von Vladimir R. (insummary)


Lesenswert?

Danke Dennis,

aber hast du schonmal nen klitzekleinen Blick auf das Datenblatt 
geworfen?

http://www.atmel.com/Images/doc7593.pdf

RTFM ist NUR 456 Seiten lang!!!!!!!!! Dabei wollte ich NUR eben mal die 
Fuse Settings abändern und nicht Atmel-Chip-Logik studieren! Und 
nichtmal in diesen bescheuerten 456 Seiten stehen die Fuse Settings im 
avrdude Stil!! Unglaublich!

Deka, da gebe ich dir völlig Recht!!! Ich dachte nur wie bescheuert muss 
diese Logik sein, sich selbst aus dem Chip auszuschließen?? Ohne eine 
kleine Sicherung!! Das ist schlimmer als Rennitenz!!

Ich hab hier kein Equipment, keine Quarze oder Oszillatoren, nichts!! 
Und 0 Ahnung wie sowas funktioniert, geschweige denn aufgebaut wird!! 
Weil ich nur mal die Fuse settings ändern musste!!

von g457 (Gast)


Lesenswert?

> -U lfuse:w:0x41:m

Laut Datenplatt (das Du unbedingt mal lesen solltest!) setzt das 
CKSEL3:0 auf einen 'reservierten' Wert.

Da er aber augenscheinlich noch 'läuft' (wenngleich langsam) kannst Du 
ihn problemarm zurückholen, einfach(tm) den ISP-Takt runterdrehen (wie 
steht im rtfm). Falls Dein Nachbau-ISP-Adapter das nicht beherrscht 
gibts immernoch den Weg die Fuses 'manuell' zu setzen (auf dem Brotbrett 
echt händisch oder per hardcoded-Resetter, beides zu finden im stfw).

> RTFM ist NUR 456 Seiten lang!!!!!!!!!

Jepp. Und da passen alle relevaten Informationen rein.

> Und nichtmal in diesen bescheuerten 456 Seiten stehen die Fuse Settings
> im avrdude Stil!! Unglaublich!

Doch, einfach mal lesen (nicht nur so tun). Schließlich orientiert sich 
avrdude an den Datenplättern (und macht nicht komische 
Invertierspielchen wie so manche anderen Tools).

HTH und nix für ungut

von Dennis (Gast)


Lesenswert?

Vladimir Rostock schrieb:
> Danke Dennis,
>
> aber hast du schonmal nen klitzekleinen Blick auf das Datenblatt
> geworfen?

Ja, habe ich :-) Vielleicht auch etwas mehr als einen...

Vladimir Rostock schrieb:
> RTFM ist NUR 456 Seiten lang!!!!!!!!!

Ja und??

Vladimir Rostock schrieb:
> Dabei wollte ich NUR eben mal die
> Fuse Settings abändern und nicht Atmel-Chip-Logik studieren!

Na ja, dafür brauchst du das ganze Dokument nicht zu lesen, die gesuchte 
Information ist auf wenigen Seiten gut beschreiben...

Mal eine Gegenfrage: bist du echt so  .......   intelligent, dass du 
grundsätzlich jedes Dokument von Anfang bis Ende durchliest???

Vladimir Rostock schrieb:
> Und
> nichtmal in diesen bescheuerten 456 Seiten stehen die Fuse Settings im
> avrdude Stil!!

Was hat Atmel jetzt nochmal genau mit avrdude zu tun??? Deine Aussage 
ist in etwa wie: wieso passt mein BMW Ansaugstutzen nicht auf mein 
Audi?? Was für eine Frechheit!!!

Tue dir und deiner Umwelt einen Gefallen: lass diese ganze 
Mikrocontrollergeschichte einfach.... Wenn du schon bei einem Fuse 
cholerisch wirst, dann male ich mir schon im Geiste aus, wie du bei 
komplexeren Problemen reagieren wirst.

von STK500-Besitzer (Gast)


Lesenswert?

Vladimir Rostock schrieb:
> Deka, da gebe ich dir völlig Recht!!! Ich dachte nur wie bescheuert muss
> diese Logik sein, sich selbst aus dem Chip auszuschließen?? Ohne eine
> kleine Sicherung!! Das ist schlimmer als Rennitenz!!

Komisch. Das passiert immer nur bei Basteltools von Drittanbietern, wie 
z.B. Ponyprog.
Wer billig haben will, bekommt billg.
Ich hatte noch nie Probleme, dass ich mich aus dem Chip ausgesperrt 
habe.
Dafür konnte ich jemanden schon helfen, dem das aufgrund eine 
SParprogrammers passiert ist.

von wasser (Gast)


Lesenswert?

STK500-Besitzer schrieb:
> Dafür konnte ich jemanden schon helfen, dem das aufgrund eine
> SParprogrammers passiert ist.

Fehlende Investitionsbereitschaft wird leider nur manchmal durch 
größere geistige Fähigkeiten kompensiert.

von Dennis (Gast)


Lesenswert?

wasser schrieb:
> Fehlende Investitionsbereitschaft wird leider nur manchmal durch
> größere geistige Fähigkeiten kompensiert.

Hiermit beantrage ich obenstehenden Text als "Spruch des Tages" zu 
kennzeichen :-)

von STK500-Besitzer (Gast)


Lesenswert?

Dennis schrieb:
> Hiermit beantrage ich obenstehenden Text als "Spruch des Tages" zu
> kennzeichen :-)

dito!

von Cyblord -. (cyblord)


Lesenswert?

Das hat mit Basteltools einfach nichts zu tun. Man kann auch im Atmel 
Studio den Chip verfusen. Passiert hier doch andauernd. Manche Tools 
zeigen halt nur die Bits direkt an, ohne Klartext des ganzen (wie z.B. 
Ponyprog), wieder andere erwarten lediglich die Zahlenwerte der 
Fuse-Bytes, wie avrdude. Wer damit nicht umgehen kann, nimmt ein anderes 
Tool, für Batchaufgaben ist avrdude optimal, für händisch Fuses setzen 
eher nicht. Beim billig ISP "mySmartUSB light" ist ebenfalls ein recht 
gutes Tool dabei um die Fuses zu setzen, auch alles Klartext, wie im 
Atmel Studio. Die Unterschiedung nach Billigtool und grafischen Original 
Tool vom Hersteller ist hier wenig sinnvoll.

In diesem Fall hat sich der TE einfach nicht die Mühe gemacht, a.) die 
Fuses korrekt nachzuschauen oder b.) ein Tool zu verwenden welches dies 
für ihn übernimmt.

gruß cyblord

von axelr. (Gast)


Lesenswert?


von axelr. (Gast)


Lesenswert?

mein post überschnitt sich mit dem von cyblord. Dem ist nichts 
inzuzufügen.

von Mike (Gast)


Lesenswert?

g457 schrieb:
>> -U lfuse:w:0x41:m
>
> Laut Datenplatt (das Du unbedingt mal lesen solltest!) setzt das
> CKSEL3:0 auf einen 'reservierten' Wert.

Ich glaube du hast hier noch "Note: 1. For all fuses 1 means 
unprogrammed
while 0 means programmed." übersehen (Anfängerfehler ;).

Sprich der Wert wird auf 1110 gesetzt (=default). Damit sollte der 
Controller eigentlich laufen.

Was mich an AVRdude etwas stört ist, dass die Liste der unterstützten 
AVRs inzwischen etwas veraltet ist (praktisch keine -A Typen).

von Cyblord -. (cyblord)


Lesenswert?

Mike schrieb:

> Was mich an AVRdude etwas stört ist, dass die Liste der unterstützten
> AVRs inzwischen etwas veraltet ist (praktisch keine -A Typen).

Was nichts ausmacht, da die A-Typen sogar dieselbe Signatur haben wie 
die Nicht-A-Typen und somit ganz normal funktionieren und mit dem Profil 
für die Nicht-A-Typen programmiert werden können.

gruß cyblord

von g457 (Gast)


Lesenswert?

> Ich glaube du hast hier noch "Note: 1. For all fuses 1 means
> unprogrammed
> while 0 means programmed." übersehen (Anfängerfehler ;).

Den Anfängerfehler gebe ich gerne Zurück - avrdude nutzt (natürlich!) 
das was im Datenplatt steht - 0 ist 0 und 1 ist 1 (im Gegensatz zu 
machen anderen Programmierschnittstellen, die 0 für 1 halten und 1 für 
0.. ∗brrrrr∗). Und dann evaluiert 0x41 für die lfuse (u.a.) zu CHSEK3:0 
== 0001 und das ist laut Tabelle 7-1 "Device clocking options select" 
'reserved'.

Nix für ungut.

von Vladimir R. (insummary)


Lesenswert?

@ Dennis & wasser

wie behindert seid ihr eigentlich? Leute fertig zu machen die von der 
Materie gerade keine Ahnung haben und grad eingestiegen sind, fühlt ihr 
euch jetzt toll oder was? Eure beschissenen Bevormundungen und 
Kommentare braucht hier niemand.

Wie gesagt ich kenne mich mit all den Chipsachen nicht aus, der Chip ist 
nur dafür da um etwas in Bewegung zu halten mehr nicht, und wurde auch 
nicht von mir ausgesucht. Und alle weitere Kommentare sind hier von euch 
nicht mehr erwünscht.

@ alex

Danke, leider nichts zu machen, da diese nicht von mir gekauft bzw. 
eingesetzt wurden. Kann ich nun auch ohne weitere Materialien, nur 
anhand des USBtinyISP und dem defekten Chip arbeiten?


@ cyblord

Danke für deinen konstruktiven Beitrag, ich hab auch gelesen, dass 
ponyprog am anfang zu nichts taugt. Das wäre dann doch eher für Leute 
die sich mit den Fuses besser auskennen.

Ich habe folgendes Gerät (USBtinyISP):

http://thumbs1.ebaystatic.com/d/l225/m/mDIYNQ_ywzVzHHGfjy0Gn5Q.jpg

Und meinen bereits im Board verbauten Chip mit den falschen Fuse 
settings:

-U lfuse:w:0x41:m -U hfuse:w:0x99:m -U efuse:w:0xff:m

was bedeutet im einzelnen:
CKSEL=0000 SUT =0

Ist es jetzt möglich mit dem USBtinyISP ohne weitere Materialien, nur 
anhand des ISP 6 pin den kaputten Chip zu reparieren (mit avrdude, oder 
auch anderen Softwares)?

von Michael H. (michael_h45)


Lesenswert?

Vladimir Rostock schrieb:
> was bedeutet im einzelnen
> CKSEL=0000 SUT =0

steht im datenblatt

von Vladimir R. (insummary)


Lesenswert?

Hallo Michael,

das war keine Frage, das war eine Klarstellung und ist mir bereits 
bewusst.

von F. F. (foldi)


Lesenswert?

cyblord ---- schrieb:
> In diesem Fall hat sich der TE einfach nicht die Mühe gemacht, a.) die
> Fuses korrekt nachzuschauen oder b.) ein Tool zu verwenden welches dies
> für ihn übernimmt.
>
> gruß cyblord

Doch, dem ist noch etwas hinzuzufügen.
Wenn man sich aus Unwissenheit die Controller verfused, dann sollte das 
Ansporn sein die wieder hinzukriegen.
Hatte ich im Anfang auch gemacht. Dann hab ich mir ein HV Shield für den 
Arduino gebaut und die Controller liefen wieder. Danach hab ich mir 
einen Drachen zugelegt und da ist der HV schon drauf.

Hatte jetzt ein ähnliches Problem mit dem Beaglebone black. Alles 
gemacht wie in der Anleitung, aber nach dem Update ging nichts mehr. 
Erst nach weiterem suchen im Internet fand ich einen Hinweis, dass die 
Spannung, gerade vom Laptop, über USB nicht reicht um den neu zu 
flashen.
Also den Hub mit Strom dran, neu geflasht und alles lief.
Entweder man will das lernen, da gehören solche Rückschläge einfach 
dazu, oder man will das alles fertig haben. Dann muss man sich fertige 
Elektronik kaufen.
Ärgerlich war das mit dem "Hundeknochen" auch, aber dafür macht man 
nicht so einen Aufstand.

von g457 (Gast)


Lesenswert?

> -U lfuse:w:0x41:m -U hfuse:w:0x99:m -U efuse:w:0xff:m
> was bedeutet im einzelnen:
> CKSEL=0000 SUT =0

Das steht im Datenplatt (wirklich, tu Dir selbst einen Gefallen und lies 
die relevanten Abschnitte - hier gehts los in Kabpitel 30.2 "Fuse bits" 
das dann (u.a.) weiter verweist auf (u.a. und im Wesentlichen) das 
Kapitel 7 "System clock and clock options"). Und CKSEL3:0 == 0000 hast 
Du gar nicht gesetzt, sonder wie schon geschrubt 0001, das ist 
'reserved' (siehe oben und lies das Datenplatt).

Wenn ich Dich richtig verstanden habe läuft der µC aber noch, allerdings 
sehr langsam. D.h. Du musst im Wesentlichen die ISP-Geschwindigkeit 
gedrosselt bekommen, und zwar auf < (echt kleiner!) clk_CPU /4. Dazu 
gibt es hier im Wesentlichen zwei  Möglichkeiten: avrdude drosseln 
lassen mit '-B' oder '-i' (Details im rtfm; abhängig vom Programmer, 
manche Nachbauten unterstützen nicht alle Geschwindigkeiten oder lügen 
einem das Blaue vom Himmel) oder gleich vom Brotbrett aus das 
Programmieren (der Fuses) selbst übernehmen. Ersters ist die 
einfachere(tm) Variante, muss aber (abhängig vom Programmieradapter, 
insbesondere Nachbauten sind da anfällig) nicht funktionieren. Zweitere 
Variante funktioniert immer(tm), ist aber aufwendiger. Eine 
Vereinfachung der zweiten Variante (die Du hier aber kategorisch 
ausgeschlossen hast) sind diverse 'AVR-Resetter'-Projekte, auch die 
gibts wie Sand am Meer, benötigen aber einen weiteren µC.

Weitere mögliche Alternativen gäbs auch noch, aber auch die hast Du 
bereits ausgeschlossen (z.B. jtag).

HTH

von Vladimir R. (insummary)


Lesenswert?

Danke g457

sehr hilfreiche Antwort, ich denke der Jtag ist hier am besten 
angewendet.

Um genau zu sein hat der Chip grad:

Ext. Clock; Start-up time: 6 CK + 0ms

So wies ausschaut ist der USBtinyISP nicht imstande das hinzubekommen.

Welchen Wert muss ich denn für -B benutzen?

-B 6
?

Und woher weiß ich wieviel -B mein USBtinyISP fähig ist zu produzieren?

Danke

von MiWi (Gast)


Lesenswert?

Vladimir Rostock schrieb:
> @ Dennis & wasser
>
> wie behindert seid ihr eigentlich? Leute fertig zu machen die von der
> Materie gerade keine Ahnung haben und grad eingestiegen sind, fühlt ihr
> euch jetzt toll oder was? Eure beschissenen Bevormundungen und
> Kommentare braucht hier niemand.
>

> Und alle weitere Kommentare sind hier von euch nicht mehr erwünscht.

Oho - ist das Glashaus bissi zu warm geworden so daß Du doch noch mit 
Steinen werfen mußt um einen kühlen Kopf zu bekommen?

Oder eine übliche Entgleisung?

Grüße

MiWi

von Axel R. (Gast)


Lesenswert?

schwiearig ohne zus. Equipment...

Am Pin 13 deiner vga_buchse kommt die Zeilenfrequenz mit 95kHz raus ( 
wenn da was drann hängt ) könntest Du probieren. Von dort ein Draht nach 
XTAL1 deines AVR.
Bekloppte Idee, ich weiss. Zumal die Sync-Impulse auch bei jedem 
Bildwechsel unterbrochen sind.

Aber sonst fiele mir nur noch die Soundkarte ein. Hat der USBTinyISP 
keinen einzigen PIN, wo es im Mhz Bereich "wackelt"? Was sit mit Port D2 
deines USB Adapters? kommt da nicht raus?

von Paul Baumann (Gast)


Lesenswert?

@Vladimir

Ich war eben (das erste Mal überhaupt) auf der Seite von Engbedded.com

Die Fuse-einstellungen dort sind NICHT die Werkswerte! Da steht unter
"Current Settings" d.h. "augenblickliche Einstellungen"

Zitat:
These fields show the actual hexadecimal representation of the fuse 
settings from above.

(Die Felder zeigen die aktuelle Fuse-Bit Einstellung von WEITER OBEN auf
der Seite in hexadezimaler Form.)

Du mußt oben auf der Seite selber gucken, ob die Fuse-Bits so stehen,
wie Du es haben willst oder sie eben selbst verändern. Dann siehst Du
unten, wie sich die Werte ändern.



MfG Paul

von Hannes L. (hannes)


Lesenswert?

Vladimir Rostock schrieb:
> Ext. Clock; Start-up time: 6 CK + 0ms

Dann hilft ein externer Taktgenerator mit einer Frequenz um die 1 MHz. 
Dies kann ein fertiges Bauteil (Quarzoszillator) sein, ein MC mit einem 
Miniprogramm, ein NE555, ein CD4093 mit einem Widerstand und einem 
Kondensator (plus Abblock-Kondensator), der auf Versorgungsspannung des 
AVRs begrenzte Ausgang eines Funktionsgenerators oder was auch immer.

>
> So wies ausschaut ist der USBtinyISP nicht imstande das hinzubekommen.

Den kenne ich nicht, ich verwende original-Equipment von Atmel. Aber 
warum sollte dieser ISP-Programmer das auch können? Wer seine AVRs auf 
externen Takt fust, soll gefälligst auch einen externen Takt anlegen. 
Wer keine Möglichkeit findet, einen externen Takt zu erzeugen, sollte 
mal darüber nachdenken, ob er der richtige Mann für diese Aufgabe ist.

...

von g457 (Gast)


Lesenswert?

> Um genau zu sein hat der Chip grad:
>
> Ext. Clock; Start-up time: 6 CK + 0ms

Nein, hat er nicht. Weil dann hättest Du CKSEL3:0 == 0000 setzte müssen 
(i.e. 0x*0), hast Du aber nicht, Du hast laut obigen Angaben 0001 (von 
0x41) geschrieben.

Und mit externem Takt würde er entweder gar nicht laufen (kein externer 
Takt vorhanden) oder fast so laufen wie vor Deinem Missgeschick (anderes 
Startverhalten oder (kein) Vorteiler 8).

Lies endlich das Datenplatt.

> So wies ausschaut ist der USBtinyISP nicht imstande das hinzubekommen.

Das wäre keiner der (Standard-)ISP-Programmer. Tut aber hier nix zur 
Sache, weil nicht relevant. Da der µC noch läuft spiel wie schon 
geschrieben mit -B und/oder mit -i rum (Nachbau-Brenner, da weiss man 
nie so genau was man bekommt - vermutlich '-B', Größenordnung 1k) um den 
ISP-Takt zu drosseln. Wenn Du Glück hast geht es damit (also Deinem 
Nachbau-Adapter). Wenn nicht dann such Dir eine der Alternativen aus - 
händisches Brennen vom Brotbrett aus, JTAG (ausgeschlossen weil weitere 
Hardware benötigt, kann aufwendiger werden falls die JTAG-Pins 
anderweitig genutzt werden), Austausch der µC (ausgeschlossen weil 
weitere Hardware benötigt), "$AVR-Resetter" (ausgeschlossen weil weitere 
Hardware benötigt), ..

von Axel R. (Gast)


Lesenswert?


von Mike (Gast)


Lesenswert?

g457 schrieb:
>> Ich glaube du hast hier noch "Note: 1. For all fuses 1 means
>> unprogrammed
>> while 0 means programmed." übersehen (Anfängerfehler ;).
>
> Den Anfängerfehler gebe ich gerne Zurück - avrdude nutzt (natürlich!)
> das was im Datenplatt steht - 0 ist 0 und 1 ist 1 (im Gegensatz zu
> machen anderen Programmierschnittstellen, die 0 für 1 halten und 1 für
> 0.. ∗brrrrr∗). Und dann evaluiert 0x41 für die lfuse (u.a.) zu CHSEK3:0
> == 0001 und das ist laut Tabelle 7-1 "Device clocking options select"
> 'reserved'.
>
> Nix für ungut.

Hmm, so wie es aussieht hast du Recht. Asche auf mein Haupt.

Habe mich von dem Werten aus dem Datenblatt (CKSEL = "1110") und aus dem 
Devicefile (= "0001") aufs Glatteis führen lassen. Bei einem anderen 
Fuse-Calc sieht man besser das 0x41 ein ungültiger Wert ist:

http://www.frank-zhao.com/fusecalc/fusecalc.php?chip=at90usb1286

Die 0x41 kommt allerdings von Atmel. Das scheint bei allen USB-AVRs in 
den Devicefiles als Default zu stehen. Die richtige Einstellung wäre 
wohl eher... 0x42 (!).

von Holm T. (Gast)


Lesenswert?

K. D. schrieb:
> Wer AVR verwendet ist selbst schuld. Unglaublich, dass Atmel es in 25
> Jahren nicht geschafft hat diesen Bug zu entfernen. Rennitenz ist das
> ...


Jepp, da hast Du wohl Recht, gibts woanders aber auch:" ich habe nur 
eine Minute das Lenkrad losgelassen und die Karre ist gegen einen Baum 
geknallt!
Ich halte es für unglaublich das es die Autoindustrie nach 100 Jahren 
immer noch nicht geschafft hat, diesen Bug zu beseitigen.."

So long,

Holm

von Malte (Gast)


Lesenswert?

Vladimir Rostock schrieb:
> RTFM ist NUR 456 Seiten lang!!!!!!!!!

Und? Statt idiotisch Ausrufezeichen dahinter zu setzen solltest du 
einfach mit dem Lesen beginnen. Wenn dir das schon zu viel ist, anderes 
Hobby suchen.

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.