SD2IEC tut nicht recht

There are 18 replies in this Thread which has previously been viewed 2,624 times. The latest Post (May 23, 2009 at 4:00 PM) was by DorkVonWaterfal.

  • Hallo,

    ich habe für einen anderen user ein SD2IEC zusammengebaut und bevor ich es zurückschicke wollte ich es ausprobieren, ob es denn auch funktioniert.
    Nach der beseitigung einiger kalter Lötstellen habe ich dann auch eine Kommunikation hinbekommen. Ich konnte z.B. nach dem Einschalten eine Statusmeldung lesen.
    Allerdings hatte ich keinerlei Zugriff auf die Speicherkarte. Dabei habe ich verschiedene Karten benutzt, mit verschiedenen images (sowohl .d64 als auch .m2i.
    Die Firmware die ich per SD-Karte programmiert habe war die 0.8.0-sw2-m644.
    Heute wollte ich die Firmware wechseln und habe ein downgrade durchgeführt (-sw2). Es hat sich etwas getan (grüne LED), aber es endete im abwechselnden Blinken der roten und grünen LED. Seitdem kann ich die karte auch nicht mehr ansprechen, aber anscheinend auch nicht mehr neu programmieren.
    Wird durch das downgraden auch der bootloader gekillt?

    Hardware:SD2IED (Shadowolf) AtMega644. Auf der Platinenunterseite steht neben dem Logo noch 1.2.
    Oder brauche ich evtl die sw1?

    Vielen Dank für Eure Hilfe,
    zorro

  • Allerdings hatte ich keinerlei Zugriff auf die Speicherkarte.


    Welche Fehlermeldungen? Welcher Status im Fehlerkanal?

    Quote

    Heute wollte ich die Firmware wechseln und habe ein downgrade durchgeführt (-sw2). Es hat sich etwas getan (grüne LED), aber es endete im abwechselnden Blinken der roten und grünen LED.


    Das ist der Code aus der "Downgrader"-Firmware, die lässt nur die LEDs blinken und macht sonst nichts. Der Bootloader sollte die mit einer beliebigen anderen von Karte überschreiben, man sollte aber vorher das "Downgrader"-Binary von der Karte löschen.

    Quote

    Oder brauche ich evtl die sw1?


    sw2 ist richtig, unpassende bin-Dateien werden vom Bootloader ignoriert.

    10 x=rnd(-1963):fori=1to81:y=rnd(1):next
    20 forj=1to5:printchr$(rnd(1)*16+70);:next
    30 printint(rnd(1)*328)-217

    Please login to see this link. - Please login to see this link. - Please login to see this link.

  • Natürlich habe ich immer nur das jeweilig erforderliche binary auf der Karte gehabt. Aber seltsamerweise konnte ich heute das Firmwareupdate (0.8.1) ohne Probleme aufspielen. Anscheinend ist mir da gestern irgendein Fehler unterlaufen.
    Aber jetzt sind wieder die gleichen Fehler wie zuvor da.

    Also geneu wie bei der Firmware 0.8.0 kann ich den Status des Laufwerkes abfragen (Verbindung zum controller ist also ok).
    Also nach einschalten: 73 SD2IEC V0.8.1 00 00
    Nach Abfrage des Directorys kommt jedoch immer: 74 DRIVE NOT READY 12 00
    Auch Programme wie DC64 zeigen keine Information an.
    Den UI, UJ und U<Shift-J> Befehl (Reset) kann ich z.B. ausführen.
    Der Befehl I bringt aber wieder einen Fehler (da ja keine Disk vorhanden ist): 21 READ ERROR 18 00

    Auf der Flashkarte ist ein .d64 image (174.848 bytes) was sich auch am PC mit entsprechendem Programm öffnen läßt. Also scheint es ok zu sein.Ich habe auch ein zweites Diskimage probiert, aber keine Chance.

    Was kann das sein? :help:

  • Was kann das sein? :help:


    Probleme bei der Kartenerkennung - zB ungeeignet formatiert (Panasonic-Tool versuchen), inkompatible Karte (sollte nur noch sehr selten auftauchen, lässt sich evtl. beseitigen wenn mir die Karte vorliegt), Karten-Erkennungs-Signal funktioniert nicht wie es soll (zB schlecht/gar nicht verlötete seitliche Kontakte des SD-Slots oder schlecht verlöteter Pin am Controller)

    10 x=rnd(-1963):fori=1to81:y=rnd(1):next
    20 forj=1to5:printchr$(rnd(1)*16+70);:next
    30 printint(rnd(1)*328)-217

    Please login to see this link. - Please login to see this link. - Please login to see this link.

  • Also an der Karte selber dürfte es nicht liegen. Mit dem Panasonic Programm ist sie formatiert. Abgesehen davon wird ja die Firmware vom Bootloader angenommen. Und gestern habe ich drei verschiedene Karten probiert. Als vergleich hatte ich ein MMC2IEC und an diesem liefen alle drei.
    Ich habe auch schon auf eine Verbindung zwischen Controller und SD-card leser getippt, aber warum kann ich dann die firmware neu flashen?

  • Also an der Karte selber dürfte es nicht liegen. Mit dem Panasonic Programm ist sie formatiert. Abgesehen davon wird ja die Firmware vom Bootloader angenommen. Und gestern habe ich drei verschiedene Karten probiert. Als vergleich hatte ich ein MMC2IEC und an diesem liefen alle drei.
    Ich habe auch schon auf eine Verbindung zwischen Controller und SD-card leser getippt, aber warum kann ich dann die firmware neu flashen?


    Der Bootloader kümmert sich nicht um das Signal ob eine Karte eingelegt ist sondern versucht eine vereinfachte Initialisierung. Wenn eine Antwort kommt wird auf die Karte zugegriffen, wenn nicht wird die normale Firmware gestartet.

    sd2iec prüft dagegen erstmal den Kartenstatus weil die vollständige Karteninitialisierung darin deutlich länger braucht als die des Bootloaders (einige Noname-Karten sind _sehr_ langsam) und der Benutzer sich so nicht darüber wundern muss wieso unter Umständen alle Laufwerke kurz "hängen".

    10 x=rnd(-1963):fori=1to81:y=rnd(1):next
    20 forj=1to5:printchr$(rnd(1)*16+70);:next
    30 printint(rnd(1)*328)-217

    Please login to see this link. - Please login to see this link. - Please login to see this link.

  • Daran sollte es auch nicht liegen. Ich habe eine Toshiba und eine Kingston Karte (war bei 1541U+ dabei). Die dritte die ich gestern probiert hatte war eine Transcend. Aber wenn die am MMC2IEC fonktioniert, sollte das doch am SD2IEC auch gehen. Soweit ich weiss ist doch der einzige Unterschied ein paar leitungen, die an einem anderen Port herausgeführt sind.
    Ich habe eben mal durchgemessen und es scheinen alle Verbindungen zwischen controller und SD-Leser ok zu sein.

  • Daran sollte es auch nicht liegen.


    Schauen wir doch mal... Spiel bitte mal die Firmware auf die anhängt und erzähl was die LEDs anzeigen wenn keine Karte eingelegt ist und wenn eine Karte eingelegt (und eingerastet) ist.

  • Also wenn ich das versuche als upgrade aufzuspielen, power off, karte rein, power on.
    0sek: Rote LED geht an
    1sek: Grüne LED geht an
    2sek: grüne LED geht aus
    4sek: Rote LED geht aus

    Ob danach eine Karte eingelegt ist (eingerastet oder nicht) juckt das teil wohl nicht, jedenfalls keinerlei Aktion an den LED's.

    Power cycle habe ich auch probiert, aber das bringt auch nix. Teste ich da was falsch?

  • Power cycle habe ich auch probiert, aber das bringt auch nix. Teste ich da was falsch?


    Nein, ich habe nur vergessen ein Tool auf das .bin-File anzusetzen damit der Bootloader es überhaupt erkennen kann. =( Neue Version hängt an diesem Posting.

  • jetzt meldet sich auch nicht mehr software 0.8.1, sondern device not ready.
    Wenn ich keine Karte drin habe und einen power cycle mache, dann geht die rote LED für ca. 2sek an und verlöscht dann wieder. Sonst passiert nichts.
    Mit Karte passiert dasselbe (mit .d64 images), es sei denn ich habe die sockettest.bin datei drauf, dann versucht der bootloader wohl wieder upzugraden.

  • jetzt meldet sich auch nicht mehr software 0.8.1, sondern device not ready.


    Gut.

    Quote

    Wenn ich keine Karte drin habe und einen power cycle mache, dann geht die rote LED für ca. 2sek an und verlöscht dann wieder.


    Auch gut. Leg in dem Zustand mal eine Karte ein bis sie einrastet und beschreibe was die LEDs nach dem Einrasten anzeigen.

    10 x=rnd(-1963):fori=1to81:y=rnd(1):next
    20 forj=1to5:printchr$(rnd(1)*16+70);:next
    30 printint(rnd(1)*328)-217

    Please login to see this link. - Please login to see this link. - Please login to see this link.

  • nichts tut sich :(


    Prima. Dann leg mal die Platine mit dem Chip nach oben so vor dich, dass der SD-Sockel nach links zeigt und der rote IEC-Anschluss bzw. die Lötpunkte dafür (falls nicht bestückt) rechts oben ist.

    Dann löte am SD-Sockel die drei Kontakte nach, die links unten, links oben und rechts oben an den Seiten sind sowie den obersten Anschluss der Kontaktleiste (der, der ziemlich genau auf das Befestigungsloch über dem Spannungsregler zeigt).

    Die sockettest-Firmware zeigt auf den beiden LEDs einfach den Zustand der beiden Taster im SD-Sockel an, die zur Erkennung von Karte und Kartenschreibschutz dienen, wenn beide LEDs dabei ständig dunkel sind ist wohl mindestens deren gemeinsamer Anschluss nicht ok. Da du eh den Lötkolben anheizen musst kann man aber auch gleich alle Kontakte die damit zusammenhängen nachlöten.

    10 x=rnd(-1963):fori=1to81:y=rnd(1):next
    20 forj=1to5:printchr$(rnd(1)*16+70);:next
    30 printint(rnd(1)*328)-217

    Please login to see this link. - Please login to see this link. - Please login to see this link.

  • so, also nochmals Kontakte nachgelötet. Obwohl ich das schon vorher gemacht hatte.
    Ergebnis das gleiche. Keine Anzeige der LEDs.

    Dann habe ich mal mein Messgerät genommen und durchgemessen. Also Card Detect und Write Protect sind bei eingelegter Karte (ohne Schreibschutz) kurzgeschlossen und das sowohl an den Pins am Kartenslot, als auch am Controller (11,15).
    Zu keiner Zeit ist einer der beiden gegen Masse geschaltet.

    Ich weiss jetzt nicht, wie das Dingen geschaltet ist, aber ich denke entweder der cardslot ist defekt oder der controller hat einen schuss. Kann das?

  • Ich weiss jetzt nicht, wie das Dingen geschaltet ist, aber ich denke entweder der cardslot ist defekt oder der controller hat einen schuss. Kann das?


    Denkbar. Die Kontakte sollten jeweils gegen Masse schalten wenn eine Karte eingelegt ist und der Schreibschutz aus ist.

    10 x=rnd(-1963):fori=1to81:y=rnd(1):next
    20 forj=1to5:printchr$(rnd(1)*16+70);:next
    30 printint(rnd(1)*328)-217

    Please login to see this link. - Please login to see this link. - Please login to see this link.

  • Also wenn ich einen Kontakt 'von Hand' auf Masse lege (dann mache ich das ja mit dem zweiten auch), dann leuchten beide LED's auf, der controller scheint also ok zu sein.

  • ICH HABE FERTIG

    Hurra! Dank der Hilfe von Unseen konnte ich gestern abend (nacht) das Problem eingrenzen und lösen. :juhu:
    Vielen Dank nochmals auch im Namen von DorkVonWaterfal, dem das Teil eigentlich gehört.
    Und jetzt: :bia

    Problem erkannt, Problem gebannt. So einfach kann das sein. Es war eine verdammte Lötstelle vom SD-card Sockel.