Forum: Mikrocontroller und Digitale Elektronik Unbrick JMicron JMS567


You were forwarded to this site from EmbDev.net. Back to EmbDev.net
von Mssm (mssm)


Angehängte Dateien:

Lesenswert?

Hallo, ich habe ein 5-fach SATA Gehäuse auf USB3, Orico DS500U3.
Weil UAS nicht unterstützt wurde, habe ich versucht, eine neue Firmware 
zu flashen:
https://www.station-drivers.com/index.php/en/component/remository/Drivers/Jmicron/JMS567-Sata-USB-3.0-Controller/Jmicron-JMS-567-Firmware-Version-20.06.00.01/lang,en-gb/
Danach sieht man das Gerät gar nicht mehr über USB.

Ich habe gelesen, dass wenn man auf dem Flash-Baustein den CS-Pin auf 
Ground kurzschließt, dass dann eine Rom Firmware geladen wird und das 
flashen wieder möglich sein sollte.

Auf dem Board sehe ich 2 Bausteine "fm25f01":
https://www.fmsh.com/nvm/FM25F01_ds_eng.pdf
Bei beiden habe ich versucht, Pin 1 (markiert) und Pin 4 zu verbinden, 
dann das Gerät zu starten. Man sieht trotzdem nichts per USB.
Seltsamerweise gibt es von Pin 1 auf Pin 4 eine negative Spannung -3V. 
Ist das richtig?

von Mssm (mssm)


Angehängte Dateien:

Lesenswert?

Foto

von Εrnst B. (ernst)


Angehängte Dateien:

Lesenswert?

Mssm schrieb:
> Ich habe gelesen, dass wenn man auf dem Flash-Baustein den CS-Pin auf
> Ground kurzschließt,

Wäre seltsam. Der CS-Pin ist Low-Aktiv, d.H. damit aktivierst du den 
Flash-Chip.

Ohne den JMS-Chip zu kennen würde ich vermuten:
CS-Pin auf VCC verbinden, dann Strom einschalten --> der Controller 
findet seine firmware nicht, startet Bootloader-Modus.
Dann die Brücke entfernen, damit ist der Flash-Chip wieder erreichbar.
Jetzt neue Firmware aufspielen.


Beachten: Damit schließt du das CS-Signal, was der JMS-Chip ausgeben 
will, kurz. Ob und wie lange der das aushält steht in den Sternen... 
Evtl. ist ein Widerstand auf der CS-Leitung zwischen Flash und µC? Dann 
geht das länger gut.

Mssm schrieb:
> Bei beiden habe ich versucht, Pin 1 (markiert)

Schau nochmal in das von dir verlinkte Datenblatt, welches der Pin 1 
ist.
Markiert ist auf deinem Foto Pin 4. Das erklärt auch die negative 
Spannung, die du gemessen hast.

: Bearbeitet durch User
von Mssm (mssm)


Lesenswert?

Genau, angeblich sollte durch das Kurzschließen das Laden der Firmware 
fehlschlagen.
1
So you should always be able to unbrick it by erasing the flash, even if somehow it doesn't recognise any of the USB commands then you could program the flash chip directly on the board.
2
3
Even simpler, it seems that if you short the flash chip CS pin to ground and then power on, the boot-time verification will fail and it will boot the mask ROM firmware. The ROM firmware can then be used to flash a new firmware over USB.

Wie kommst du darauf, dass der markierte Pin nicht Pin 1 ist? In dem PDF 
sind für alle 3 Packaging Types immer Pin 1 (CSS) markiert. Nur welches 
ist nun die "Markierung"? Unten links ist eine Kerbe zu sehen, unten 
rechts ist eine farbige Markierung. Ich ging bisher von der 
Farbmarkierung als Pin 1 aus. Wenn die Kerbe den Pin 1 markiert, dann 
wäre die Spannung positiv. Ok.
In jedem Fall wäre der Kurzschluss von 1 und 4 aber richtig.
Damit habe ich aber leider keinen Erfolg gehabt. Meist mache ich den 
Kurzschluss, indem ich zuerst das Multimeter auf Voltmeter 10V stelle 
und zu schauen, ob ich guten Kontakt habe. Dann schalte ich die Platine 
wieder aus, stelle auf Amperemeter um und schalte nochmal ein. Es 
fließen irgendwas um die 0,03mA

von Mssm (mssm)


Lesenswert?

Eine Alternative wäre, den Flashbaustein zu löschen. Das traue ich mir 
nicht zu, den feinen Flash-Baustein auszulöten, und ein Flashgerät habe 
ich auch nicht. Welche andere Möglichkeit habe ich, den Controler am 
Laden des Flash zu hindern? Zumindest war diese Methode CS auf Ground 
bei anderen schon erfolgreich gewesen. Da sahen die Platinen aber meist 
auch anders aus. Bei meiner Platine ist schon anders, dass es 2 
Flashbausteine gibt. Ich habe es mit beiden versucht, es ist aber 
eigentlich recht sicher, dass der obere nahe dem JMS567 der richtige 
sein müsste.

von Εrnst B. (ernst)


Angehängte Dateien:

Lesenswert?

Mssm schrieb:
> Wie kommst du darauf, dass der markierte Pin nicht Pin 1 ist?

Die Delle im Gehäuse, die da ab Fabrik drinnen ist, zählt. Nicht das was 
irgendjemand irgendwann später mal auf das Gehäuse gepinselt hat.

Mssm schrieb:
> In jedem Fall wäre der Kurzschluss von 1 und 4 aber richtig.

Das wäre CS->GND, damit schaltest du den Chip dauerhaft AN. zum 
AUSSCHALTEN muss CS auf VCC (+3.3V), das wäre Pin8.

Kann gut sein, dass das dauerhafte Selektieren vom Flash-Chip den 
Controller auch soweit verwirrt, dass er in den Bootloader geht.
Hat vielleicht mal jemand durch wildes Rumprobieren herausgefunden.
Laut Datenblatt und "SPI-Grundwissen" wäre die Brücke nach VCC während 
des Power-On aber die richtige.

von Mssm (mssm)


Lesenswert?

Hm, ich brauche ein bisschen Nachhilfe. Für das aktivieren des Flash 
muss der Controler den CS Pin auf low bringen, also auf GND level? 
Standardmäßig hat CS bereits den high level, also +3,3V. Du meinst also, 
wenn ich da nochmal 3,3V durch Verbindung mit CS auf VCC bringe, 
verhindere ich den Übergang nach Low durch den Controler und damit das 
Aktivieren des  Flash-Speichers?
Wenn ich CS auf GND ziehe, wie ich es gemacht habe, dann würde ich damit 
den Flash-Speicher bereits selbst einschalten?
Ich versuche es...

von Mssm (mssm)


Lesenswert?

Du bist der Größte, das hat funktioniert.
Ich weiß zwar nicht, welche was diese Firmware nun kann, aber das Gerät 
meldet sich wieder am USB-Port. Damit komme ich weiter.

von Michael X. (Firma: vyuxc) (der-michl)


Lesenswert?

Im product brief ist ein Schaubild, dein Flash ist das NVram:
https://www.jmicron.com/file/download/1023/JMS576_Product+Brief.pdf

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.