Reparation av skrivare Samsung CLX-6260FW - NAND-fel, uboot

Elektronikrelaterade (på komponentnivå) frågor och funderingar.
Användarvisningsbild
Klas-Kenny
Inlägg: 11292
Blev medlem: 17 maj 2010, 19:06:14
Ort: Växjö/Alvesta

Re: Reparation av skrivare Samsung CLX-6260FW - NAND-fel, uboot

Inlägg av Klas-Kenny »

JimmyAndersson skrev: 18 september 2022, 00:09:17 Kul att du klurar vidare. :tumupp: :tumupp:

Jag vet för lite om hur såna här minnen funkar nere på djupet, men det verkar ju variera var det blir läsfel.
Så jag funderar på om man kan göra som med mekaniska hårddiskar och läsa minnet flera gånger. Tillslut har man lyckats läsa av all data och när flera avläsningar gett samma data på samma ställen så vet man att ettorna och nollorna är rätt.

Har du lyckats se vad linuxen startar för script mm vid boot? Eller om det finns något mountat (hah vilket ord.. ok ”monterat”).


Jag är fortfarande lika fascinerad över att den har Linux och att du kommer åt det! :)
Vid felen som du beskrev vid första inlägget bad skrivaren om att bli moddad. Nu efter papperspåfyllningen verkar det som att den har kommit med krav om det.. :mrgreen:

Har också lite för dålig koll på NAND-flash och dess ECC-funktioner..

Jo, jag kikade lite på uppstartsscript och den startar som förväntat upp GUI-applikationen osv. Lyckades dock aldrig hitta varifrån de sista utskrifterna kommer, som brukar komma innan den kraschar.
"NFM_LibEntry Initialized ......"
Det var det jag letade efter när den kraschade. Om man skulle stoppa den ifrån att starta just det kanske man åtminstone kunde få den att starta varje gång, även om risken såklart är stor att någonting då inte fungerar.
Användarvisningsbild
rvl
Inlägg: 5721
Blev medlem: 5 april 2016, 14:58:53
Ort: Helsingfors

Re: Reparation av skrivare Samsung CLX-6260FW - NAND-fel, uboot

Inlägg av rvl »

Om minnet är på gränsen mellan att fungera och icke fungera, så kanske en rejäl nedkylning kunde få det på rätt sida om gränden för att få innehållet dumpat.
Användarvisningsbild
Klas-Kenny
Inlägg: 11292
Blev medlem: 17 maj 2010, 19:06:14
Ort: Växjö/Alvesta

Re: Reparation av skrivare Samsung CLX-6260FW - NAND-fel, uboot

Inlägg av Klas-Kenny »

Bra idé, skulle haft kylspray...
Kan ju testa att lägga hela kortet i frysen en stund.




La in rootfilsystemet från TI's utvecklingskort på minneskortet men det verkar inte stämma så bra överens med kärnans konfiguration.
Linuxkärnan letar efter ett initscript i /init, vilket inte fanns i TI's rootfs. Provade att lägga en symlänk som pekar ut /sbin/init, men då fallerade den snabbt med "Warning: unable to open an initial console." varpå den inte kom vidare. Tror det fattas saker i kärnan för att det initscriptet ska fungera.

Skulle ju kunna testa att boota TI's kärna, men hårdvarukonfigurationen lär väl inte stämma så bra att det fungerar.

Tror enda förhoppningen är att få den till att boota från NAND-flashet en gång till och att då försöka flytta så mycket filer som möjligt över till minneskortet, förhoppningsvis då tillräckligt för att få någonting bootbart.
Användarvisningsbild
rvl
Inlägg: 5721
Blev medlem: 5 april 2016, 14:58:53
Ort: Helsingfors

Re: Reparation av skrivare Samsung CLX-6260FW - NAND-fel, uboot

Inlägg av rvl »

rvl skrev: 18 september 2022, 09:32:58 på rätt sida om gränden
Blev lite typo där, men det fungerar väl sådär också. :)
Användarvisningsbild
Klas-Kenny
Inlägg: 11292
Blev medlem: 17 maj 2010, 19:06:14
Ort: Växjö/Alvesta

Re: Reparation av skrivare Samsung CLX-6260FW - NAND-fel, uboot

Inlägg av Klas-Kenny »

Kyla var ett genidrag! :bravo:
Efter en stund i frysen så startar den.

Kunde montera minneskortet och börja kopiera över filer till det.
Har inte lyckats kopiera över alla filer trots kylan dock, men kommit en bit på vägen. Har hittat en fil där det kraschar så fort man försöker läsa den. Verkar vara en del av GUI-applikationen, så det bådar ju inte jättegott. Men vi får se..
Får bli några omgångar till och se om man kan få över det mesta.
Användarvisningsbild
säter
Inlägg: 32514
Blev medlem: 22 februari 2009, 21:16:35
Ort: Säter

Re: Reparation av skrivare Samsung CLX-6260FW - NAND-fel, uboot

Inlägg av säter »

Roligt att det verkar gå lite framåt.
Användarvisningsbild
Klas-Kenny
Inlägg: 11292
Blev medlem: 17 maj 2010, 19:06:14
Ort: Växjö/Alvesta

Re: Reparation av skrivare Samsung CLX-6260FW - NAND-fel, uboot

Inlägg av Klas-Kenny »

Ja, lite framåt i alla fall...


Men nu börjar det bli lite trögt igen.
Efter ett antal cykler med frysen har jag kopierat ut ganska mycket, men ännu inte allt.
Ett antal filer som orsakar krasch när man läser dem;
/usr/local/GUI/GV3_linux
/usr/local/GUI/g_ether.ko
/bin/qdbuscpp2xml
/bin/qdbuscpp2xml4
/bin/uic3
/bin/uic34
/lib/libc-2.8.so
/lib/libc.so.6
/lib/libdl-2.8.so
/lib/libdl.so.2
/lib/libm-2.8.so
Lite småjobbigt med libc och liknande, lär vara svårt att klara sig utan.
Visst, det skulle såklart gå att bygga på nytt eftersom det är öppna grejer, men en del jobb att leta rätt på källkod till rätt version och mata igenom rätt byggkedja för denna processorn.
Sen inte minst GV3_linux, som jag tror är "hela" GUI-applikationen. Utan den är man ju rätt så rökt.

Jag har även kopierat init-filerna och provat att boota "mitt" rootfilsystem. Tyvärr fallerar init alltid på "Warning: unable to open an initial console."
Förstår inte varför det blir så. Letade dessutom upp källkoden för just den varningen, där står det rent av:

Kod: Markera allt

	/* Open the /dev/console on the rootfs, this should never fail */
	if (ksys_open((const char __user *) "/dev/console", O_RDWR, 0) < 0)
		pr_err("Warning: unable to open an initial console.\n");
Men nog fallerar det. :mrgreen:
Förvisso står inte den kommentaren i denna gamla Linux-versionen (2.32), kanske ändrats något...





Synd att det kraschar när man läser vissa saker, vore trevligt om man kunde bara läsa ut allt som går, och få veta vad som inte gick.
Eller rent av läsa ut allt och när det är icke-reparerbara ECC-fel så bara skit i det och ge mig vad som finns, typ.

Jag tror det fungerar som så att minnet är uppdelat i ett antal sektorer. Varje sektor har fått skrivet en checksumma. Om checksumman inte stämmer med vad som läses ifrån sektorn så görs ett försök att rätta till det (ECC-algoritmerna ska klara att återskapa ett visst antal bitfel i en sektor).
Tror dessutom det är ganska vanligt med bitflippar i NAND-flash, så enstaka bitfel är helt normalt att det förekommer.

Men problemen uppstår alltså här när det är för många bitfel i en sektor så det inte går att reparera. Då går det helt åt skogen istället.
Saken är ju dock den att beroende på sektorns storlek så kan det man är intresserad av faktiskt vara oskadat, att det är någon annan del som är skadad men det behöver ju inte vara ett problem om man inte behöver just den delen. Men just nu svårt/omöjligt att veta vad som är skadat och inte. Man skulle ju gärna vilja veta vad som skulle hända om man bara fick köra..
Användarvisningsbild
mankan
EF Sponsor
Inlägg: 905
Blev medlem: 18 juli 2015, 11:23:22
Ort: Linköping

Re: Reparation av skrivare Samsung CLX-6260FW - NAND-fel, uboot

Inlägg av mankan »

Libc skulle jag inte hänga upp mig på för tillfället utan försöka köra med det TI har även det inte är samma versioner. glibc är ju världsmästare i bakåtkompabilitet :D

Angående konsollen, hur ser dev-katalogen ut på ditt rootfilsystem? Och vilka kommandoradsargument skickar du till kärnan? På en så gammal kärna vill jag minnas att man behöver kanske säga nåt i stil med console=/dev/ttyS0 dvs peka om konsollen till en serieport.

När det gäller läsa filer från NAND-flashet så skulle jag göra en avbild mha ddrescue och sedan montera den på en Linuxdator.
Användarvisningsbild
Klas-Kenny
Inlägg: 11292
Blev medlem: 17 maj 2010, 19:06:14
Ort: Växjö/Alvesta

Re: Reparation av skrivare Samsung CLX-6260FW - NAND-fel, uboot

Inlägg av Klas-Kenny »

Ja, det har du i och för sig en poäng i. :)

dev-katalogen, ja den är ju tom ja..
Fipplade in den ifrån TI's rootfs. Då kommer inte längre den varningsutskriften, istället stannar allting bara upp. :humm:
Terminalen ekar tillbaka det man skriver, men inget mer händer.

Bootargumenten ser ut såhär:
Kernel command line: console=ttyS0,115200n8 root=/dev/mmcblk0p1 rw rootfstype=ext3 rootdelay=1 androidboot.console=ttyS0 mem=256M init=/init ip=off mpurate=800 omap_vout.vid1_static_vrfb_alloc=y

ddrescue är ju en idé ja. Då gäller det att få snurr på en fungerande byggkedja i så fall.
guckrum
Inlägg: 1671
Blev medlem: 19 juni 2012, 09:04:27
Ort: Lund

Re: Reparation av skrivare Samsung CLX-6260FW - NAND-fel, uboot

Inlägg av guckrum »

Kolla om inte "vanliga" dd redan ligger där. Mycket bättre att kopiera ut bitarna först, och försöka laga filsystemet sedan.
Användarvisningsbild
Gizmo
Inlägg: 1613
Blev medlem: 8 september 2009, 00:37:45
Ort: Göteborg
Kontakt:

Re: Reparation av skrivare Samsung CLX-6260FW - NAND-fel, uboot

Inlägg av Gizmo »

Intressant projekt och håller tummarna för att det går att reparera. Sånt här är ju faktiskt guld värt om någon har kommit på en lösning på ett fel.
Apropå scanning. Man brukar kunna använda twain-divare för det och styra scannerdelen helt utan nån display utan bara från datorn. I Photoshop gör man "import -> twain". Finns hyggligt stöd i linux för scanners också, antingen via Sane eller eventuellt via twain drivrutiner.
carrolcoo
Inlägg: 4
Blev medlem: 10 januari 2024, 19:01:12
Ort: DE, Traunstein

Re: Reparation av skrivare Samsung CLX-6260FW - NAND-fel, uboot

Inlägg av carrolcoo »

Hi all. MANY THANKS for this thread! Thanks to it (and a translator, I'm originally from Slovakia ;) ) I was able to repair display on my Xpress C1860FW after unsuccessful firmware update. I purchased another printer with working display and was able to do a backup of the filesystem using tar and move it via serial console and base64 to the not working one. After reboot this booted then like a charm! And as the OPE board seems to be originally from CLX-6260FW (JC92-02505A) it is possible that my tar backup can help you as well. It had originally the version V5.08.51.01 and I was later on able to update it to V5.08.51.05. I have both backups, they are about 40MB each. It boots the ARM linux kernel '2.6.32.002'. If someone is interrested in and can provide me with some cloud space of 100MB I can upload both versions there.
Användarvisningsbild
Glenn
Inlägg: 33668
Blev medlem: 24 februari 2006, 12:01:56
Ort: Norr om Sthlm
Kontakt:

Re: Reparation av skrivare Samsung CLX-6260FW - NAND-fel, uboot

Inlägg av Glenn »

carrolcoo: Really cool!
Användarvisningsbild
Klas-Kenny
Inlägg: 11292
Blev medlem: 17 maj 2010, 19:06:14
Ort: Växjö/Alvesta

Re: Reparation av skrivare Samsung CLX-6260FW - NAND-fel, uboot

Inlägg av Klas-Kenny »

carrolcoo skrev: 10 januari 2024, 19:25:23 Hi all. MANY THANKS for this thread! Thanks to it (and a translator, I'm originally from Slovakia ;) ) I was able to repair display on my Xpress C1860FW after unsuccessful firmware update. I purchased another printer with working display and was able to do a backup of the filesystem using tar and move it via serial console and base64 to the not working one. After reboot this booted then like a charm! And as the OPE board seems to be originally from CLX-6260FW (JC92-02505A) it is possible that my tar backup can help you as well. It had originally the version V5.08.51.01 and I was later on able to update it to V5.08.51.05. I have both backups, they are about 40MB each. It boots the ARM linux kernel '2.6.32.002'. If someone is interrested in and can provide me with some cloud space of 100MB I can upload both versions there.
That's awesome!

I would happily try your backups on my printer, since I still haven't been able to get it running.
I will look up some storage space tomorrow.
Användarvisningsbild
Klas-Kenny
Inlägg: 11292
Blev medlem: 17 maj 2010, 19:06:14
Ort: Växjö/Alvesta

Re: Reparation av skrivare Samsung CLX-6260FW - NAND-fel, uboot

Inlägg av Klas-Kenny »

As a sign of gratitude to carrolcoo, I will write this post in English.
In case any other non-swedes find this thread in the future.
The following is a write-up of my successful result, followed by some guidance for any future readers on how to save your printer (some Linux experience needed..).

I received the two backups, and installed them onto my SD card that I've mounted in my printer and tried booting it. Turns out, it wasn't quite that simple.
It booted, but it did not fully start the GUI application.
It just kept printing this over and over:
UIEW_Entry :: TL is not ready :: Wait 1 seconds
UI Comm Errro :: Count [3]
Then I started analyzing the output prior to that, and found the following:
[PBA] Not PBA Mode: (1, 1) !!!
[ 16.532409] MAA_driver: disagrees about version of symbol module_layout
insmod: can't insert '/etc/drivers/MAA_driver.ko': invalid module format
[ 16.576171] musb_hdrc: disagrees about version of symbol module_layout
insmod: can't insert '/etc/drivers/musb_hdrc_dma.ko': invalid module format
[ 16.607177] g_ether: disagrees about version of symbol module_layout
insmod: can't insert '/etc/drivers/g_ether.ko': invalid module format
ifconfig: SIOCSIFADDR: No such device
Okay, some drivers it did not like. I would guess that the Linux kernel is not identical between our two boards, and the kernel was not included in the backups.
Luckily, I previously spent some time extracting as much as I could from my broken flash memory, and I had successfully extracted these three drivers.
And after switching them out (there were some more drivers in the /etc/drivers folder, I changed them all), it works beautifully! :bravo:

All that was left to do was to modify environment variables in U-boot to always use the SD card. I did that with the following commands:

Kod: Markera allt

setenv mmcargs "setenv bootargs console=\${console} root=/dev/mmcblk0p1 rw rootfstype=ext3 rootdelay=1 androidboot.console=ttyS0 mem=\${mem} init=/init ip=off mpurate=\${mpurate} omap_vout.vid1_static_vrfb_alloc=y"
setenv mmcboot "mmc init; echo Booting from nand ...;run mmcargs; nand read \${loadaddr} 280000 200000; bootm \${looadaddr}"
setenv bootcmd "run mmcboot"
I have attached both backups from Carrolcoo, and the resulting rootfs I used on my printer to this post.
Due to forum limitation, I had to split the archive up in multiple volumes and change the file extension. In order to unpack, download all the files and remove the ".txt" in the end of the files. Then they can be extracted using for example WinRAR.
In the archive, I've also included a raw data dump of all partitions of the NAND flash from my printer for what its worth. May be possible to extract some files or the kernel if needed.

Format an microSD card with EXT3 file format, then extract one of the .tar.gz files from the archive onto the card. This needs to be done using a Linux based OS due to Windows not having ext3 support.

Solder an SD card holder onto the display PCB, and insert the micro SD.
Not sure of the exact model micro SD card holder I used, something I had laying around. But most models with the pins accessible should probably work.
I don't remember for sure, but I assume that I did short the Card Detect pin to ground (not visible when card holder is mounted)
20240112_184900.jpg
Connect a 3.3V USB to UART converter to the debug port. The pinout is (left to right):
1. GND
2. RX
3. TX
4. ?
5. ?
Baud rate is 115200.
20240112_184928.jpg
Stop the boot process in U-boot by pressing any key during the first seconds after powering on the printer. Modify environment as per above (during initial tests, skip the saveenv command).
Then try booting with "run bootcmd".
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Skriv svar