Moin Zusammen,
Ich erzaehle euch mal wie man mindestens einen Panasonic TX50-AXW804 TV
repariert, sehr wahrscheinlich noch ein paar weitere Panasonic,
ausserdem vermutlich auch ein paar Sony.
Vor zwei Wochen begab es sich das mein TV unzuverlaessig wurde. Er liess
sich nicht immer einschalten, manchmal brauchte man mehrere Versuche.
Irgendwann ging er garnicht mehr.
Eigentlich so ein Verhalten wo man zuerst an das Schaltnetzteil denkt.
Also erst mal bei der elektronischen Tanya das Servicemanual besorgt.
Leider ist die Scanqualitaet des Manuals nicht besonders hoch. Da hilft
aber ein Trick. Man kann auf der ersten Seite lesen das der Fernseher
ein Chassis LA53 hat. Sucht man danach so findet man noch ein Manual zu
einem TH-55AS800S dessen Scanqualitaet hoeher ist.
Das Netzteil selbst ist eigentlich ein klassisches Schaltnetzteil mit
zwei Ausgangsspannungen. 16V und 24V. Die anderen Spannungen stellen
sich die Platinen vor Ort her. Eigentlich ein super Design. Ueberhaubt
merkt
man das Panasonic noch eine andere Qualitaet ist als so eine billige
Schroedelkiste.
Interessanterweise verwendet Panasonic in seinem Netzteil keine Elkos
von Panasonic sondern von Rubycon. Dagegen gibt es aber nichts zu sagen,
die sind auch gut. Ich hab sie trotzdem alle durchgemessen, Kapazitaet
und ESR in Ordnung.
Ich hab darauf verzichtet die zu ersetzen weil es relativ ungewoehnliche
Bauformen sind damit der TV sehr flach sein kann. Elkos mit 18 oder 27V
findet man vermutlich nicht einfach so mal eben. Und dicker ist doof!
Sonst hat man eine Beule in der Rueckwand.
Okay, was kann es also noch sein? Recherche im Internet ergab das dieser
TV und auch diverse andere darunter leiden das ihre eMMC-Karte Alzheimer
bekommt.
Dazu muss man wissen das diese TVs im Prinzip Linuxrechner sind:
2014-12-12 02:08:31, image size: 25176414 bytes, Data Address:
0x68000000, Entry Point: 0x680 00000, data CRC: 0x5208A692,
OS: Linux, CPU: ARM, image type: OS Kernel Image, compression
type: gzip, image name: "ARM Linux Kernel"
Die Main-CPU verwendet dann eine eMMC H26M310036GMR als Festplatte von
der sie bootet. Das Teil hat die Bauform eines BGA mit 153balls.
(4GByte)
Erstaunlich wenn man bedenkt das 90% der Anschluesse N.C sind!
Der Schaltplan zeigt netterweise (siehe PDF) das saemtliche Leitungen
zum MainController ueber Widerstaende oder Ls laufen. Man kann die alle
abloeten und hat so die eMMC vom System abgetrennt. Dafuer wird man ein
Mikroskop brauchen. Die Bauteile sind 0201 oder 0401. Jedenfalls
deutlich kleiner wie
603 und sie sehen neben meiner 0.2mm Loetspitze recht winzig aus.
Ich habe dann RST auf Vcc gelegt, und VCC, GNC, CMD, SCK, D0 bis D4 auf
einen MicroSD-SD Adapter geloetet. (siehe Anhang) Dabei habe ich auf die
eMMC ein Stueck Lochraster mit UHU (geht wieder ab) geklebt. In jede
Leitung kommt ein 68R Widerstand. Sieht wild aus, aber funktioniert.
Den Schreibschutz aktiviert und am PC angesteckt und ausgelesen.
dd if=/dev/sdg of=daten01.img
7569408+0 Datensätze ein
7569408+0 Datensätze aus
3875536896 Bytes (3,9 GB) kopiert, 157,288 s, 24,6 MB/s
Ich empfehle das unter Linux zu machen da manch andere Betriebsysteme
die unselige Tendenz haben auf Karten rumzuschreiben und das wollt ihr
auf keinen Fall!
Ich hab die eMMC mehrfach gelesen und die Images miteinander verglichen.
Dazu war es notwendig ein kleines Programm zu schreiben das immer einen
Block von 1024Bytes vergleicht.
Dabei kam es bei jedem vergleich zu 10-16 unterschiedlichen Bloecken mit
insgesammt 600-1500 unterschiedlichen Bytes. Nicht reproduzierbar.
Das sieht dann z.B so aus:
1
Vergleich[Vorher1.img]und[Vorher2.img]
2
054a3f:Errors:18
3
0aaac2:Errors:31
4
0aaac3:Errors:48
5
0aaac5:Errors:360
6
0aaac7:Errors:52
7
0aaac8:Errors:55
8
0aaaca:Errors:52
9
0aaacd:Errors:419
10
0aaace:Errors:391
11
102e74:Errors:11
12
14de6a:Errors:22
13
14de6b:Errors:19
14
23af72:Errors:28
15
24ec57:Errors:137
16
1643Fehlerin14Blöckenvon1024Byte
17
Fehlerrate:14von3784704
Mit anderen Worten die eMMC ist wirklich kaputt, oder besser sie hat
Alzheimer. Was tun? Man bekommt ja nirgendwo ein neues Image, zumal das
genau zum TV passen muss. Da sind Verschluesselungscodes auf der Karte
die mit der CPU geteilt werden. (Widevine, Netflix, HD, usw) Von
Panasonic bereitgestellte Firmwareupdates sind verschluesselt.
Also probiert die Karte bei verschiedenen Temperaturen auszulesen
(GEfrierschrank, Kaeltespray, Heissluftpistole) Es faellt auf das zwei
direkt hintereinander ausgelesene Images bei Kaelte sich viel extremer
unterscheiden. Waerme ist besser!
Also einen Foen drueber gehaengt, Thermometer danaben und jeweil alle
drei Grad von 20Grad bis 80Grad und wieder zurueck gelesen.
Grosse Platte notwendig. :-D
Beim vergleich der Images faellt auf das die welche so bei 40-50Grad
gelesen werden die wenigsten Fehler haben. Das geht bis auf nur 6
defekte Bloecke mit 240Fehler runter.
Immer noch eine Menge, aber der TV hat ein komplettes Linux mit
bergeweise HTML-Seiten und PNGs auf der Platte. Wenn da irgendwo ein
falsche Pixel sein sollte wird man das nicht merken. Wichtig ist nur der
eine entscheidende Fehler der den Kernel vom booten abhaelt.
Und das ist der juengste Fehler wo die Elektronen im Flash noch knapp an
der Grenze sind. Da also wo man die meiste Hoffnung haben kann die
Ladung in den Arbeitsbereich der Comparatoren zu schieben.
Jetzt die Karte einmal komplett mit 0xff beschrieben.
dd if=0xff_file.img of=/dev/sdg (30min!)
Ausgelesen und verglichen. 0Fehler!
Dann alles mit 0x00 vollgeschrieben. (40min!)
Wieder gelesen und verglichen, alles super.
Dann alles mit meinem besten Image beschrieben (53min!)
Vergleich [Golden04.img] und [read_back.img]
0 Fehler in 0 Blöcken von 1024Byte
Fehlerrate: 0 von 3784704
Strike!
Den Adapter abgeloetet, die Widerstaende und Ls wieder drauf und
eingebaut. TV laeuft wieder.
Interessant ist die Frage ob er nun wieder 7-8Jahre haelt oder ob das
Problem schneller wieder kommt. Aber ich hab jetzt ja ein
funktionierendes Images und koennte notfalls die eMMC auswechseln.
Olaf
Ganz vergessen, hier noch das kleine Programm das ich in 10min
zum vergleich der Images zusammengehackt habe.
Dokumentation = Source. :-D
Sollte sich aber dafuer auch auf jeder Distribution uebersetzen
lassen...
Olaf
Danke für den interessanten Bericht!
Ich hatte vor einigen Jahren einen ähnlichen Fall: Ein Iiyama Prolite
B2274HDS TFT-Monitor schaltete sich knapp nach Ablauf der Gewährleistung
in unregemläßigen Abständen, wenige Minuten nach dem Einschalten
selbststätig ab.
Nachdem die Überprüfung aller erdenklichen Fehlerquellen, wie Elkos,
Temperaturprobleme, Optokoppler, Lötverbindungen nicht zum Erfolg
führten, lötete ich das Flash-ROM A25L020CO-F aus. Ich hatte es bereits
einige Wochen zuvor ausgelötet und ausgelesen. Der Bereich
0x03F000—0x03FFFF hatte sich gegenüber des älteren Dumps teilweise
geändert und wurde daraufhin von mir komplett gelöscht. Anschließend
wurde der Code in ein neu beschafftes Flash programmiert und dieses in
den Monitor gelötet.
Seit fünf Jahren funktioniert der Monitor nun problmemlos. Ich vermute,
dass der Monitor seine Konfigurationsdaten in besagtem Bereich des
Flashs speichert, denn es findet sich auf dem Board kein EEPROM, auf
welches die MCU Zugriff hätte.
Auch habe ich die Benutzung des Monitors verändert: In kurzen
Arbeitspausen wird er nun nicht mehr hart vom Netz getrennt sonden nur
über seinen "Hauptschalter" deaktiviert. Es wäre möglich, dass der
Monitor diese Stand-by-Pausen nutzt, um das Flash "aufzuräumen".
Grüßle,
Volker
> Ich hatte vor einigen Jahren einen ähnlichen Fall:
Ich vermute mal das mein Problem eine ganze Reihe von TVs treffen wird.
Wie schon erwaehnt hab ich dazu auch Meldungen von Sonykisten im Netz
gefunden. Und ich denke mal das einem mit anderen Geraeten aehnliches
passieren kann!
Im Prinzip sind das Linuxrechner wie ein Raspberry-Pi die immer auf
ihrer Speicherkarte rumschreiben. Die Besonderheit ist halt nur das sie
diese Karte mit dem Prozessor verknueppert haben weil da die Codes zum
entschluesseln drauf sind.
Man denkt sich nur eigentlich das dieses Karten/BGAs irgendeine Form
Defektmanagement haben, also im Zweifel auf Ersatzsektoren ummappen.
Oder wenn die ausgehen dann halt wirklich defekt sind. Von daher fand
ich es interessant das ich die Fehler einfach durch neu beschreiben
wegbekommen habe.
Es war vorher ja so das ich dreimal hintereinander das Image auslesen
konnte, dann dreimal sagen wir mal 12 defekte 1k grosse Sektoren hatte,
also immer dieselben 12, aber die Bytefehler zwischen den Auslesungen
wechseln immer. Da sind also wohl wirklich die Ladungen in den
Speicherzellen gerade an der Grenze dessen was man lesen kann. Daher
habe ich erstmal die Hoffnung das loeschen und neubeschreiben fuer viele
Jahre funktioniert.
> Flashs speichert, denn es findet sich auf dem Board kein EEPROM, auf> welches die MCU Zugriff hätte.
DAfuer hat meiner auch noch ein extra SPI-Flash. Da musste ich aber
nicht ran.
> In kurzen Arbeitspausen wird er nun nicht mehr hart vom Netz> getrennt sonden nur über seinen "Hauptschalter" deaktiviert.
Da kann man auch lange fabulieren, und zwar geraeteabhaengig. :-)
Meinen hatte ich immer nur in Standby geschaltet. Das heisst der
Stromverbrauch geht von 250W auf 50W runter. Oder anders gesagt auch
wenn der TV behauptet aus zu sein, der Linuxrechner da drin laeuft
immer. Muss er ja eigentlich auch weil der TV dauernd das Programm
empfangen muss um auf Wunsch Sendungen auf seiner Festplatte zu
speichern. Erst wenn man ihn auf der Rueckseite am Schalter ausschaltet
geht der Verbrauch auch unter 1W.
Stellt sich natuerlich die Frage ob das fuer die Lebensdauer besser
waere!
Aber angesichts der aktuellen Situation bin ich jetzt auch eher fuer
richtiges abschalten.
Ich hab mir bei Alieexpress mal drei von den eMMC bestellt. Bin mal
gespannt ob die original sind. :-D
Die Chinesen haben auch einen ganzen Zoo an Zusatztool. Es gibt z.B
Platinen fuer dieses eMMC BGAs nach USB. Oder spezielle Programmer mit
Adaptern:
https://de.aliexpress.com/item/32770360490.html
Oder ein Teil das heisst UFI-Box. Es haben wohl gerade viele Leute
dieses Problem. Aber natuerlich meine Methode mit dem dranloeten von 10
Draehten ist einfacher als ein BGA zu wechseln.
Olaf
Hier noch der Adapter:
https://de.aliexpress.com/item/33005566932.html
Alleine die Existenz von so einer Platine zeigt ja das es offensichtlich
gerade einige Leute mit Bedarf gibt. :-D
Olaf
Danke für den coolen Bericht! Davon sollte es hier gerne mehr geben.
Ich hatte mir letztlich auch mal den Schaltplan eines Consumergeräts mit
eMMC angesehen und war ebenfalls überrascht, dass vom BGA Bauteil so
viele Pins "NC" sind. Man möchte meinen, da soll es extra erschwert
werden, das Bauteil auszulöten / auszulesen.
Ein ähnliches Problem mit korrupten Daten (allerdings im NAND-Flash -
wimre) gab es auch mal mit Samsung TVs die nicht mehr starten wollten.
Da war der Trick, den Flash runter zu kühlen beim Starten, so dass er
dann irgendwie neu initialisiert wurde. Jedenfalls konnte ich so schon
einen TV retten, der jetzt mehrere Jahre wieder läuft.
http://www.hifi-forum.de/viewthread-151-32721.html
> Man möchte meinen, da soll es extra erschwert werden, das Bauteil> auszulöten / auszulesen.
Das glaube ich nicht. Interessantweise hat Panasonic das Flash und auch
die CPU mal sogar als Ersatzteil verkauft. Machen sie aber nicht mehr.
Es war also zumindest mal vorgesehen das dies gewechselt werden sollte.
Aber ja, ich finde dieses Gehaeuse auch echt bizarr. Aber man kennt es
ja von USB-Sticks auf denen mal viel schreibt das die danach sehr warm
sind. Vielleicht ist das wirklich zum kuehlen gedacht.
> Da war der Trick, den Flash runter zu kühlen beim Starten, so dass er> dann irgendwie neu initialisiert wurde.
Ich denke mal das ist etwas zufaellig. Bei mir war es bei Kaelte
deutlich schlechter. Im Zweifel muss man beides ausprobieren. Was bei
mir interessanterweise nichts gebracht hat war das aendern der
Versorgungsspannung. Ich hatte mal eine Shottky-Diode in die Zuleitung
geloetet und es hat die Lage weder verbessert noch verschlechtert.
Olaf
olaf schrieb:> Man denkt sich nur eigentlich das dieses Karten/BGAs irgendeine Form> Defektmanagement haben, also im Zweifel auf Ersatzsektoren ummappen.> Oder wenn die ausgehen dann halt wirklich defekt sind.
Da ist es dann wie bei microSD/SD-Karten: die Wearlevelling-Software
bestimmt, ob die Karten gut oder schlecht sind. Such mal nach Xmore hier
im Forum.
> Von daher fand ich es interessant das ich die Fehler einfach durch neu> beschreiben wegbekommen habe.
Die Flashzellen werden durch Lösch- und Schreibvorgänge an physikalisch
benachbarten Zellen jedesmal ein wenig "mitgelöscht":
* Beitrag "Re: zuverlässige SD-Karte für Raspberry Pi"
* Beitrag "Re: Eure Erfahrungen mit SD-Karten"
Diesen Effekt sollte ein brauchbarer Levelling-Algorithmus kennen und
können. Leider ist das auch bei Speichern mit "Industriequalität" oft
nicht der Fall.
olaf schrieb:> Interessant ist die Frage ob er nun wieder 7-8Jahre haelt> oder ob das Problem schneller wieder kommt.
Ich würde auf eine spürbar kürzere Zeit wetten. Bei mir waren microSD,
die solche Effekte zeigten, nach dem "Neubeschreiben" recht schnell
wieder korrupt.
olaf schrieb:> Shottky-Diode
Walter schrieb sich Schottky mit 'c' ;-)
* https://de.wikipedia.org/wiki/Walter_Schottky
Was im uebrigen auch noch interessant ist, wenn man das Image schon mal
auf der Platte hat dann lohnt auch ein Blick da rein.
Erste Erkenntnis. Es ist nicht verschluesselt! Die koennen auch keine
Pruefsummen abchecken weil sonst der TV vermutlich schon vor Jahren
beim ersten defekten Bit ausgestiegen waere.
Wie schon gesagt, da laeuft ein Linuxkernel drauf. Die eigentliche
Bedienoberflaeche liegt als HMTL-Seiten vor. (in dreiunddroelfzig
Sprachen)
Und ploetzlich liesst man dann sowas wie: Maria findet endlich ihre
grosse Liebe, aber auf dem Bauernhof....
WHAT? Mein TV treibt es mit Maria? :-D
Das ist das EPG. Der TV beschreibt also seine eMMC dauerhaft mit neuen
Daten. Das erklaert vielleicht auch wieso die Teile irgendwann ableben.
Oh..und man koennte bei zuviel Langeweile natuerlich auf den Gedanken
kommen das System mal auf links zu drehen wo man schon mal Zugriff drauf
hat. .-)
Olaf
olaf schrieb:> Das ist das EPG. Der TV beschreibt also seine eMMC dauerhaft mit neuen> Daten. Das erklaert vielleicht auch wieso die Teile irgendwann ableben.
Wenn man den TV nur als HDMI Monitor mit externen Receiver betreibt,
sollte er dann viel weniger schreiben ?
Oder malt das Linux trotzdem dauernd im Flash herum ?
> Wenn man den TV nur als HDMI Monitor mit externen Receiver betreibt,
Ich haette sogar noch einen DVI Anschluss. :)
Oh..und auf dem Board war sogar noch 15pol VGA vorgesehen, wurde
aber nicht bestueckt.
> Oder malt das Linux trotzdem dauernd im Flash herum ?
Tja, wer weiss das schon. Vermutlich noch nicht mal Panasonic selber.
ICh meine 4GB FLash! Da kennen die garantiert nicht mehr jede
Programmzeile die sie uns verkaufen. Die verwenden ja Linux weil es
denen Arbeitszeit einspart.
Was mir allerdings aufgefallen ist, einmal den TV neu starten und man
hat sofort an hunderten Stellen beabsichtigte Aenderungen im Flash.
Aber vielleicht brauchen auch manche eMMC es wenn gelegentlich etwas in
ihnen geschrieben wird damit sie auf die Idee kommen wearlevelung zu
betreiben und andere nicht. Es ist ja auch nicht gut wenn so ein
Speicher lange ungenutzt in der Ecke rumliegt.
Letztlich ist das nur raten. Ich bin jedenfalls mal sehr gespannt wie
lange die Kiste noch mit dem alten eMMC haelt!
Olaf
Hab gerade mal ein bisschen das Internet quer gelesen zum Thema eMMC.
Ist ja vielfach diskutiert und keiner weiss genaues.
Man darf vermuten das SD-Karten kein WearLeveling haben, ausser es sind
industrial-karten.
eMMC haben immer irgendeine Form von WearLeveling, allerdings stellt
sich die Frage wie gut das ist da es wohl unterschiedlich implementiert
werden kann.
Es gibt Register woraus man den Status einer solchen Karten auslesen
kann. ISt aber wohl optional und wird wohl vermutlich auch nicht
zwangsweise von einem SD-Kartenleser zum auslesen unterstuetzt.
Alles in allem ein sehr interessantes Thema!
https://source.android.com/docs/core/perf/flash-wear
Falls euer Auto nach 5-10Jahren stehen bleibt koennte das auch daran
liegen. (vgl:Tesla) Ist aber nicht so schlimm wie es klingt weil heute
die Motoren ja nur noch 5Jahre halten. :-D
Olaf
olaf schrieb:
Der jährliche Wiedergänger:
> Man darf vermuten das SD-Karten kein WearLeveling haben, ausser es sind> industrial-karten.
Das mag für Noname Billigkarten gelten. Zitiere ich mich mal wieder
selbst aus
Beitrag "Re: SD Karte shutdown"> Ernstzunehmende Hersteller haben das Feature schon seit gefühlt einer> Ewigkeit. Datenblätter für SD-Karten sind ja eher selten, daher aus> einem allgemeinen Dokument von Sandisk aus 2010!: "Wear leveling is an> intrinsic part of the erase pooling functionality of cards in the> SanDisk microSD Card Product Family using NAND memory."> Alles in allem ein sehr interessantes Thema!>> https://source.android.com/docs/core/perf/flash-wear
Naja, da stehen jetzt aber auch nur Allgemeinplätze, die eigentlich
sowieso jeder, der mit Flashspeicher umgeht, kennen sollte.
olaf schrieb:> Man darf vermuten das SD-Karten kein WearLeveling haben, ausser es sind> industrial-karten.
Jede SD-Karte muss Wearlevelling haben. Sonst ist die FAT nach 100
kopierten Dateien hinüber und die Karte kaputt.
Das "Basis-Wearlevelling" ist beim passenden Controller (z.B. den von
Hyperstone) schon im Entwicklungspaket enthalten. Und dann kommt es
drauf an, wie gut die kundenspezifischen Anpassungen gemacht werden.
olaf schrieb:> Es gibt Register woraus man den Status einer solchen Karten auslesen> kann. ISt aber wohl optional
Nennt sich ugs. S.M.A.R.T und wird leider nur von ganz wenigen Karten
unterstützt.
> Das mag für Noname Billigkarten gelten. Zitiere ich mich mal wieder> selbst aus
Werfen wir mal einen Blick auf Kingston:
https://media.kingston.com/pdfs/MKF_283.1_Flash_Memory_Guide_DE.pdf
Da steht unter eMMC:
Die eMMC-Architektur emuliert eine Festplatte für den Hostprozessor und
aktiviert Lese- und Schreibfunktionen, die identisch mit denen einer
Festplatte auf Sektorenbasis sind. Zu dem verwendet Kingstons
eMMC-Controller virtuelles Abbilden, dynamisches Wear-Leveling,
statisches Wear-Leveling und automatische Blockverwaltung, um höchste
Datenzuverlässigkeit und eine maximale Lebensdauer zu garantieren.
Bei SD-Karten steht genau garnichts darueber. Was sagt einem die
allgemeine Lebenserfahrung dazu? Wuerden sie nicht auch dort die
Vorzuege ihrer Karten anpreisen wenn dies sowas koennten?
> Jede SD-Karte muss Wearlevelling haben. Sonst ist die FAT nach 100> kopierten Dateien hinüber und die Karte kaputt.
Das Problem ist wohl das WL ein sehr weiter Begriff ist. Es mag ja sein
das die Karten speziell ein bisschen WL im Bereich der FAT machen.
Immerhin gibt es ja einige Leute die mit SD-Karten in einem Raspberry so
ihre Probleme haben. (ich allerdings bisher nicht) Andererseits lief die
eMMC in meinem TV immerhin so 7-8Jahre Dauerbetrieb an einem
Linuxrechner.
Und bei SD-Karten im Vergleich zu MMC preist man ja die Vorteile des
"secures" an. Man sollte doch meinen das dies gerade fuer einen TV der
dort diverse Schluessel ablegt, sagen wir mal interessant, sein koennte.
Aber ging wohl nicht.
Ich wuerde jedenfalls nur annehmen das SD dies kann wenn der Hersteller
das in seinem Datenblatt reinschreibt.
Olaf
Habt ihr eigentlich die Zeiten gesehen die ich oben fuer das
Beschreiben der gesamten eMMC angegeben habe?
dd if=0xff_file.img of=/dev/sdg (30min!)
dd if=0x00_file.img of=/dev/sdg (40min!)
dd if=golden04.img of=/dev/sdg (53min!)
Nach den ersten beiden Vorgaengen dachte ich noch, hm...0xff geht
bestimmt schneller weil nur loeschen einfacher ist.
Beim dritten mal kam ich dann aber ins gruebeln. Sieht so aus als
wenn es jedesmal langsamer wird.
Hoffen wir mal das bedeutet nix boeses. TV geht jedenfalls noch. :)
Olaf
olaf schrieb:> Das ist das EPG. Der TV beschreibt also seine eMMC dauerhaft mit neuen> Daten. Das erklaert vielleicht auch wieso die Teile irgendwann ableben.
M.E. ein klarer Fall entweder von Dummheit oder Absicht, um RAM zu
sparen. Jeder Linuxanfänger weiss, das man solche Daten nicht ins Flash,
sondern in eine RAM Disk schreibt. Ich befürchte sogar, das die Herren
Programmierer sowas wie /var ins Flash packen.
olaf schrieb:> Werfen wir mal einen Blick auf Kingston:>> https://media.kingston.com/pdfs/MKF_283.1_Flash_Memory_Guide_DE.pdf>> Da steht unter eMMC:
.
> Zu dem verwendet Kingstons eMMC-Controller virtuelles Abbilden,> dynamisches Wear-Leveling, statisches Wear-Leveling ..
Möglich, daß das sonst nicht als typische Eigenschaft angesehen wird.
> Bei SD-Karten steht genau garnichts darueber.
Da steht doch auf Seite 3 allgemein zu Kingston Flashspeicherprodukten:
"Wear-Leveling-Technologie: In Kingston Flashspeichern sind Controller
integriert,.."
Ich habe hier übrigens Dokument MKF_185_Flash_Memory_Guide von 2009
und da steht der gleiche Satz drin und zu der Zeit waren in dem Dokument
weder eMMC noch SSD beschrieben.
> Was sagt einem die> allgemeine Lebenserfahrung dazu? Wuerden sie nicht auch dort die> Vorzuege ihrer Karten anpreisen wenn dies sowas koennten?
Das Sandisk bereits 2010 Wear leveling für alle microSD reklamiert, wird
wohl kaum ein Alleinstellungsmerkmal sein.
Abgesehen davon wurde Wear Leveling als eigenständiger Begriff noch nie
besonders beworben. Lexar hatte das ehemals bei USB-Sticks dabeistehen.
Von Cosair hab ich noch ein PDF von 2007, daß dynamisches WL für
angebotene USB-Sticks als typisch reklamiert.
>> Jede SD-Karte muss Wearlevelling haben. Sonst ist die FAT nach 100>> kopierten Dateien hinüber und die Karte kaputt.> Das Problem ist wohl das WL ein sehr weiter Begriff ist. Es mag ja sein> das die Karten speziell ein bisschen WL im Bereich der FAT machen.
Unwahrscheinlich. Bei heutigen Eraseblockgrößen kann man dann gleich die
ganze Karte entsprechend behandeln. Eher ist noch vorstellbar, daß für
definierte Bereiche "haltbarerer" Flashspeicher wie SLC verwendet wird.
> Immerhin gibt es ja einige Leute die mit SD-Karten in einem Raspberry so> ihre Probleme haben. (ich allerdings bisher nicht) Andererseits lief die> eMMC in meinem TV immerhin so 7-8Jahre Dauerbetrieb an einem> Linuxrechner.
Wenn man nachgräbt, handelt es sich entweder um Karten reiner
"Handelsmarken" oder um Karten aus zweifelhafter Quelle. Den ein oder
anderen großen Onlinehändler, der seine Ware aus dem Regal zieht, ohne
sich anzuschauen, wer die da hingelegt hat, zähle ich mit dazu.
> Ich wuerde jedenfalls nur annehmen das SD dies kann wenn der Hersteller> das in seinem Datenblatt reinschreibt.
Für professionellen Einsatz sehe ich das ebenso.
M.M.M schrieb:> Eher ist noch vorstellbar, daß für definierte Bereiche "haltbarerer"> Flashspeicher wie SLC verwendet wird.
Da ist der Controller drin und das NAND-Flash. Mehr nicht. Und weil der
Controller natürlich schon seit vielen Jahren zusammen mit der
Flashtechnik weiterentwickelt wird, kommt er auch mit üblichem M/T/Q-LC
zurecht, ohne noch extra SLC zu brauchen:
https://www.hyperstone.com/de/eMMC-SD-Controller-NAND-Flash-1897,12751.html
Lothar M. schrieb:> Nennt sich ugs. S.M.A.R.T und wird leider nur von ganz wenigen Karten> unterstützt.
Interessant. Hast Du ein Beispiel, bei welchen Karten (Hersteller) dies
der Fall ist?
Ich Wahnsinniger sichere nämlich auch auf SD-Karten, allerdings
rollierend, d.h. Datensicherung auf erster Karte, dann auf nächster
Karte, auf dritter Karte und danach wieder auf der ersten Karten. Bisher
ging es gut.
Aber S.M.A.R.T wäre wahrhaftig eine hilfreiche Info über den Zustand der
SD-Card, ich habe davon nie gehört.
Danke für die Links. Das sind sogar Karten mit SLC-Speicher,
Donnerwetter.
Die Preise für die XMore-Karte sind leider entsprechend. Verkäufer sind
schwer zu finden, einer hier:
https://www.mercateo.com/p/115-30172451/SDHC_Karte_4GB_30MB_s_25MB_s.html?ViewName=live~secureMode
Euronics wirbt mit XMore-Karten und 10 Jahren Garantie, ist aber keine
"industrial"-Ausführung, also sicher kein SLC und vermutlich nicht
einmal MLC. Muss mich ja leider selbst bei SSD's schon mit TLC abfinden,
seitdem es die Samsung 860 Pro nicht mehr gibt. :(
https://www.euronics.de/markenwelt/xmore/
> Ihre Freude zu früh. Speicherchip ist am Ende und muss ersetzt werden.> In kürze werden Sie es erfahren müssen.
Bis jetzt geht er noch, aber ist doch kein Problem. Ich hab
schon 3Stueck von dem Speicher als Ersatz hier liegen. .-)
Olaf
olaf schrieb:> Von daher fand> ich es interessant das ich die Fehler einfach durch neu beschreiben> wegbekommen habe.
Da ist dann "ein Bit ranzig geworden", wie ich immer zu sagen pflege.
Bei älteren Steuergeräten (Gabelstapler), wo ab und an merkwürdige
Fehler auftreten, mache ich das auch so. Und dann ist das meistens weg
und für lange Zeit.
> Da ist dann "ein Bit ranzig geworden", wie ich immer zu sagen pflege.
Nicht eins! Mehrere Tausend ueber einen laengeren Zeitraum!
Aber irgendwann erwischt es dann halt ein Bit das fuer das System
wichtig
ist und nicht nur irgendein Pixel in einem Bild das nie aufgerufen wird
weil es nur in der schwedischen Spracheversion genutzt wird.
Bemerkenswert ist aber, eMMC hat auf jedenfall irgendeine Form von
WearLeveling, egal wie ausgebufft auch immer! Man wuerde also erwarten
das der eMMC da selber etwas erkennt und macht. Wenn dann trotzdem noch
nach aussen hin sichtbar deutliche Fehler auftreten, ich also bei
zweimal direkt hintereinander auslesen jedesmal erhebliche, niemals
identische, Unterschiede finde, dann liegt der Verdacht SEHR nahe das
die Karte am Ende ihre Lebens ist.
Von daher ist also die Annahme das dieses Problem wieder auftaucht sehr
berechtigt. Aber wie gesagt, ich habe mir bei AlieExpress mal drei
Bausteine bestellt, die sehen soweit auch gut aus und koennte notfalls
wechseln. Wechseln koennte ich deshalb weil ich durch meine Methode des
beschreibens sichergestellt habe das ich ein funktionierendes Image habe
das ich in den neuen Chip reinflashen koennte.
Daher sehe ich ganz entspannt in die Zukunft und schaue mal wie lange
das nun haelt. Sollte es am 1.1.2024 immer noch funktionieren werde ich
das hier kundtun... :-D
Olaf
Moin!
Leider sind die echten Details bei SK-Hynix im restricted Bereich, aber
als eMMC sollte das H26M31003 wear-levelling unterstützen. Die Frage ist
aber, in wie fern das Dateisystem im Linux ihm eine Chance gelassen hat.
Viele Produkte nutzen zwar ein durchaus brauchbares ext Dateisystem,
aber eben ohne die unnötigen Zeitstempel abzuschalten. So würde jeder
Lese-Zugriff auch einen Schreibzugriff erzeugen, der das letzte
"Anfassen" einer Datei in der Verwaltung ablegt. Ein leider häufig
gemachter Fehler. Aber wenn Ihr das Image schon auf der Platte habt,
könnt Ihr ja mal in der /etc/fstab nachsehen, ob da zusätzliche
Parameter abgelegt wurden.
Wir haben in einem Projekt mal die geringsten Schreibzugriffe auf einem
System mit eMMC durch die Verwendung von ext2 mit abgeschalteten
Time-Stamping erreicht. Das kann man aber nicht immer machen, wenn man
z.B. im Hintergrund aktualisierte Daten in einen Cache lädt, dann muss
man ja wissen, welche die letzten aktuellen Daten sind.
Das SPI Flash macht mich Neugierig... Ich kenne das bei solchen
Produkten eher so, dass die das uboot enthalten und maximal noch das
boot-Environment. Im SPI ist das vor dem verlöten schon drauf, das eMMC
ist gerne mal komplett leer bei der Verarbeitung. Nach dem Bestücken
bekommen die Platinen eine Test-Firmware um die Hardware zu checken und
danach laufen sie durch einen Programmer, der das aktuelle Release
aufspielt.
Ob man das uboot Environment auf dem SPI oder dem eMMC ablegt ist
Geschmackssache. Die SPI Flash sind aber i.d.R. SLC Flash oder sogar NOR
Flash und daher eher nicht für häufiges Überschreiben geeignet. Daher
werden Sachen wie die "der letzte Kanal" und "die letzte Lautstärke"
eher nich im SPI Flash landen, sondern als Datei in normalen Linux Pfad.
Bei den ganzen NAND Flash werden keine Nachbarzellen "angelöscht"
sondern die Erase-Blocks sind immer aus mehreren Write-Blocks zusammen
gesetzt. Man kann also Sektoren von z.B. 4096 Bytes schreiben, aber
Löschen muss man immer Blöcke von 32k oder 64k.
So lange eine Datei einfach anwächst, ist das kein Problem, denn dann
schreibt man sequenziell die Daten in diese 4096 Byte Sektoren. Werden
daten aber ungültig, müsste man sie ja löschen, das markiert man aber
nur.
Man versucht so lange leere Sektoren zu beschreiben, bis kaum noch
welche übrig sind. Dann hat man entweder Glück und findet einen
Erase-Block, der komplett aus ungültigen Sektoren besteht, oder man muss
eben die noch gültigen Sektoren aus einem zu löschenden Block in einen
noch freien Bereich kopieren und da dann due neuen Daten hinzufügen.
Dann kann der nun veraltete Erase-block gelöscht werden.
Bei Löschen werden massiv Elektronen bewegt und manchmal verklemmen die
sich dann in der falschen Schicht. Das sind dann Stuck-Bits und
dauerhaft 1. Das ist der häufigste Fehler und daher versucht man eben
auch so selten wie möglich zu löschen.
Um ein Betriebssystem zu schützen, hat man sich was schlaues einfallen
lassen. Man kann Partitions definieren. Wear-Levelling findet dann nur
innerhalb einer Partition statt. Was mir schon untergekommen ist, war
ein System bei dem die Entwickler dachten, es wäre Schlau uboot, Linux,
das Rootfs und das data-fs in 4 separate Partitionen zu setzen, da in
den ersten drei nie geschrieben wird, außer bei einem Firmware-Update,
kann diesen Systemen nie was passieren. Leider bestand dann das data-fs
nur noch aus webiger als 1/4 des Flashes, und dem stand dann auch nur
1/4 der Wear-Levelling Kapazität zur Verfügung und es war dann auch 4x
schneller hin, als das datenblatt des Flashes es vermuten ließ.
Daher wäre es mal spannend zu sehen, wie die Partitionen des Panasonic
aufgeteilt sind, falls vorhanden. Oder wie das Kernel Bootlog aussieht.
Tatsache ist aber, wenn das FLASH bereits angeschossen ist, dann wird es
in immer kürzeren Abständen wieder failen. Denn durch die Analyse und
vorübergehende Reparatur wurde weder der Wear-Levelling Mechanismus
ausgetauscht noch die (wenn vorhanden) Partions-Größen aufgehoben.
Ich weiss nicht was du mit SPI-Flash hast? Den gibt es zwar auch noch im
TV, aber damit gibt es keine Probleme. Ich rede hier immer
ausschliesslich
von der eMMC. Und da ist auch der Linuxkernel drin.
Um zu mounten muesste ich erstmal die Anfaenge der Partitionen finden.
Aber so wichtig das jetzt zu machen war mir das nicht. Den das groesste
Probleme bei einem TV besteht letztlich darin das es ein TV ist. Man
steckt einen gewissen Aufwand rein, repariert die Kiste und denkt,
hmm...geht wieder, was kucke ich jetzt? Ach so, lohnt eigentlich nicht.
:-D
ICh sehe das Teil eher als Dialeinwand fuer 2D und 3D Fotos. Besonders
wegen letzterem war es mir wichtig den zu reparieren. Es gibt ja keine
neuen 3D-Kisten mehr.
Olaf
Ach der SPI Flash war nur der Vollständigkeit wegen. Irgendwo oben ist
geschrieben, dass da die laufenden Settings gespeichert würden und das
halte ich eben für unwahrscheinlich. Es ist eher so, dass darin das
uboot sitzt, das dann aus dem von Dir gesicherten eMMC das darin
befindliche linux lädt und startet.
Wenn Panasonic das Image nicht als RAW Image abgespeichert hat, kannst
Du in einem Linux Rechner das Image auch mal mit "sudo fdisk -L
/path/to/image.img" analysieren. Eventuell hast Du da die
Partitionierung schon auf dem Bildschirm. Dann muss man die
Block-Nummern noch in Sektoren umrechnen und kann das rootfs mit offset
mounten.
Aber musst Du nicht. Ich habe keinen Panasonic, und Dein TV läuft
wieder. Daher war das nur etwas Zusatz-Wissen drum herum.
olaf schrieb:> Meinen hatte ich immer nur in Standby geschaltet. Das heisst der> Stromverbrauch geht von 250W auf 50W runter. Oder anders gesagt auch> wenn der TV behauptet aus zu sein, der Linuxrechner da drin laeuft> immer. Muss er ja eigentlich auch weil der TV dauernd das Programm> empfangen muss um auf Wunsch Sendungen auf seiner Festplatte zu> speichern. Erst wenn man ihn auf der Rueckseite am Schalter ausschaltet> geht der Verbrauch auch unter 1W.
AUTSCH! Bei den aktuellen Strompreisen verdaddelt die Kiste im Jahr 200€
im Standby. Auch wenn ich eigentlich für Reparatur und Nachhaltigkeit
bin - einen solchen Stromfresser sollte man eigentlich austauschen oder
immer per Schalter oder Schaltsteckdose abschalten. Ein Kollege hat
seinen Sony Bravia mit 22W im Standby gemessen, scheint also auch andere
Hersteller zu betreffen.
Unser 55" Philips, Soundbar, Edision Receiver und Wii brauchen zusammen
8W im Ruhezustand. Gerade noch ok, wobei der Edision den größten Anteil
brauchen dürfte.
> einen solchen Stromfresser sollte man eigentlich austauschen oder
Das geht nicht weil man keine modernen TVs mit 3D kaufen kann.
Ausserdem so um die 2000Euro muss man dann schon rechnen. Das sind
schon ein paar Jahre Stromkosten oder?
> immer per Schalter oder Schaltsteckdose abschalten.
Das mach ich auch, geht halt mit dem Schalter auf der Rueckseite.
Das Problem mit dem Stromverbrauch kommt wohl daher das das Linux
immer laufen muss wenn man diverse Luxusfunktionen nutzen will.
Also z.B die Aufnahme von TV-Sendungen, oder Sat-IP Streaming auf ein
Handy.
> Unser 55" Philips, Soundbar, Edision Receiver und Wii brauchen zusammen> 8W im Ruhezustand.
Hatte letzte Woche auf Dienstreise im Hotel einen Philips. Der war so
extrem grottenlahm das ich das kaum glauben konnte. Da tuckert
vermutlich noch immer ein MCS51 als Hauptprozessor drin rum. :)
Bisher laeuft er uebrigens noch....
Olaf
olaf schrieb:> Der war so> extrem grottenlahm das ich das kaum glauben konnte.
Dann hast du noch keinen moderneren Loewe unter der Fernbedienung
gehabt. Der hat noch einen Intel 4004 :-P
Ich habe hier einen TX-42ASN658 mit vermutlich diesem Problem. Manchmal
läßt er sich noch starten, alle Ubs sind in Ordnung.
In einem Panasonic Manual wird ein Prozeß beschrieben, der die Daten auf
einen USB Stick ausliest und diese (gerade für den Ersatz des
Mainboards!) wieder zurück schreibt. Das geht mit diversen Passwörtern
und auch nur einmal.
Würde das dieses Problem nicht auch lösen solange vor dem Auslesen der
TV sauber gestartet ist? Oder schreibe ich mir dieselben Fehler wieder
ins Memory zurück???
> Würde das dieses Problem nicht auch lösen solange vor dem Auslesen der> TV sauber gestartet ist?
Nein, das sind andere Daten. Dabei geht um die Systemeinstellungen, also
z.B programmierte Sender, WLAN-Passwort usw.
Die Probleme macht aber die Firmware selber. Im schlimmsten Falle also
sogar der Linuxkernel.