Krautkanal.com

Veröffentlicht am 2017-04-01 23:05:18 in /t/

/t/ 31223: SPI Flash

crhysdave Avatar
crhysdave:#31223

Hallo Bernd,

dieser Bernd möchte den ROM eines Routers mit neuer Weichware flashen.
RouterOS -> LEDE
Eigentlich unwichtig denn es geht um folgendes:

Habe einen billigen Programmierer vom Chinamann gekauft und den direkt an den Chip gelötet.
Auf dem Brett gibt es zwar Anschlüsse die mit "SPI Prog" beschriftet sind, aber die Leiterbahnen gehen nicht auf den Chip sondern verschwinden in den Weiten der mehrschichtigen Platine und haben auch mehr Anschlüsse als die acht des Chips.
Aufgrund akuter Verwirrung habe ich mich zum Direktanschluss entschieden.

Als Flashneuling will ich nun nicht einfach drauf los flashen sondern erst mal sehen, ob da was funktioniert.
Hab dann den Speicher zu Testzwecken mehrmals ausgelesen und bekomme jedes Mal ab ca. der Hälfte des Speichers immer andere Werte.

Ist der Programmierer doof?
Die automatische Chiperkennung funktioniert aber zuverlässig und die erste Hälfte ist immer identisch.

Sollte ich den Chip nicht auf dem Brett lassen?

Kann es sein, dass der Chip ab der Hälfte nicht "richtig" beschrieben ist und die Werte kommen je nachdem wie das Bit gerade kippt?

Verständlicherweise will ich nicht flashen solange ich noch nicht mal einen Lesevorgang fehlerfrei hinbekomme.
Ich hoffe Bernd kann mit meiner Beschreibung was anfangen. Programmierer ist übrigens ein CH341A. Das Board ein Mikrotik RB750G v3.

Hab Dank im Vorraus.

juaumlol Avatar
juaumlol:#31231

Eigentlich unwichtig

moynihan Avatar
moynihan:#31232

>>31231
Danke für diesen kreativen Beitrag.

Hat niemand eine Idee was sein könnte?

p_kosov Avatar
p_kosov:#31233

>>31232
Hat niemand eine könnte?

remiallegre Avatar
remiallegre:#31238

Vielleicht mal mit einer anderen Geschwindigkeit probieren? Vielleicht bist du ja zu schnell für den Flash.

vigobronx Avatar
vigobronx:#31239

Der Heißkleber-Verhau sieht auch sehr abenteuerlich aus, würde die Kabel lieber nur anlöten, dann siehst du wenigstens ob sich eines gelöst hat.

keyuri85 Avatar
keyuri85:#31240

>>31238
Geht das bei SPI überhaupt?
Das Programm des Programmers lässt mir leider keine Wahl.

>>31239
Dachte ich auch und hab auf Verdacht auch schon zwei mal runter und wieder nachgelötet.
So labil wie die Lötstelle auf den kleinen Füßchen ist würde ich das nur ungern ohne Heißkleber handhaben.

Ich habe inzwischen übrigens Bitmuster draufgeflasht um zu sehen was passiert.
Hat in diesem Zustand ja auch keinen Nutzen das Ding.
Die erste Hälfte wird zuverlässig geschrieben und gelesen.
Die Zweite Hälfte ist tatsächlich unbrauchbar, denn wenn ich eines der ausgelesenen ROMs flashe funktioniert die Original-Weichware nicht mehr.

Ich gehe davon aus, dass der Programmer kein 128mbit kann, sondern nur 64.
Das würde die Hälfte erklären.
In der Theorie reicht mir das für U-Boot (den Bootloader) und der Rest geht über UART.

kinday Avatar
kinday:#31241

Hast du diese Software hier schon probiert:
https://github.com/setarcos/ch341prog

sawalazar Avatar
sawalazar:#31242

>>31223
Versuche mal Pin 8 (Vcc) anzuheben. Vielleicht versucht die restliche Elektronik zu stiefeln und versaut das Auslesen.
Allgemein lötet Bernd die Speicher lieber komplett aus, damit hatte er bisher keine Probleme. Bei deinem 8Pin WSOIC reicht einfach Fädeldraht unter einer Reihe von Pins und dann mit einem dicken Klecks Lötzinn erst die eine, dann die andere Seite anheben.

joshkennedy Avatar
joshkennedy:#31243

>>31241
>>31242
Danke sehr!
Kann das leider erst Sonntag oder Montag probieren, werde aber definitiv Rückmeldung geben.

Bernd Avatar
Bernd:#31253

>>31223
Das hört sich so an als wenn der Chip mit dem Programmer nicht kompatibel wäre.
Möglichkeit 2 wäre die Anwesenheit von mehreren Flash-Speichern

lightory Avatar
lightory:#31254

>>31242
zum sauberen Entlöten von SMD-Chips die man hinterher wiederverwerten möchte empfehle ich diesen ChipQuick hier. Das ist ein ziemlich brüchiger Lötzinn der bei 180 Grad anfängt zu schmelzen und dann sehr lange flüssig bleibt. Schonender kann man nicht mal mit Heissluft einen Chip ablöten.

murrayswift Avatar
murrayswift:#31256

>>31254
So ein brüchiges Lötzinn bekommt man auch selbst einfach hergestellt, indem man bleifreies mit nicht bleifreiem Lötzinn mischt.

yassiryahya Avatar
yassiryahya:#31257

>>31256
Bleibt das dann auch 40-50 Sekunden flüssig? Das ist nämlich der Clou an der Sache. Du kannst damit auch sehr grosse SMD-Chips ablöten ohne dass du das PCB oder den Chip damit zerfickst.

Hab damit SMD-Atmels auf Arduinos ausgetauscht und dann die Programmierten in Schaltungen eingebaut ohne die Platine des Arduinos zu zerficken, waren rund 20 Stück die ich so über einen Arduino beschrieben hatte. Es hat sich kein Pad gelöst und der Arduino selbst ist mittlerweile im Dauereinsatz.

Das Projekt von dmaals war eine Jalosiesteuerung in einer Schule mit einem eigens konstruierten 2 Draht Bus damit sich die 20 Jalosien absprechen. War billiger als Ersatzteile für die alte Steuerung zu besorgen. Ja kein Scheiss, ich hab damals gedacht die verarschen uns als die ankamen dass die Platine pro Steuerung so 400 Euro kosten sollte. Da hab ich dann mal eben schnell an einem Abend den Prototypen entwickelt und einen Vormittag an der Anpassung der Software gesessen, danach noch ein halber Tag um die Platne zu entwerfen. Wir konnten die dann zum halben Preis fertigen und machten dabei noch Gewinn.

andychipster Avatar
andychipster:#31259

>>31257
>40-50 Sekunden flüssig

Nee, eher 10. Reicht in den meisten Fällen aber auch schon.

jodytaggart Avatar
jodytaggart:#31284

Bernd verwendet zum dumpen und programmieren immer einen Raspberry Pi und Flashrom.
Würde auch empfehlen, den Käfer vorher von der Platine runter zu holen.

sava2500 Avatar
sava2500:#31287

>>31284
Kannte ich noch gar nicht, interessant
https://www.flashrom.org/RaspberryPi

ankitind Avatar
ankitind:#31288

Wieso lötest du nicht einfach an die ungenutzten Pins der größeren Bestückungsvariante?

Neuste Fäden in diesem Brett: