Sprzęt > Inne urządzenia
Problem z uruchomieniem systemu (Data CRC != calculated CRC)
pilo611:
Problem dotyczy systemu wbudowanego:
Linux version 2.6.16.19_15 (michele@micheleubuntu) (gcc version 3.4.1) #1 PREEMPT Fri Apr 20 11:20:09 CEST 2012
CPU: ARM922Tid(wb) [41029220] revision 0 (ARMv4T)
Machine: ECS Arm 9 LH7A404 SHARP
Z góry przepraszam jestem osobą słabo zorientowaną raczej elektronikiem więc moje pytania mogą wydawać się trywialne.
Trafił do mnie do naprawy piec posiadający panel operatorski oparty na w.w. systemie który się nie uruchamia. Po podłączeniu się do portu RS TTL otrzymuję następujący log:
APEX Boot Loader 097.0_VER097REV009 -- Copyright (c) 2004,2005,2006 Marc Singer - ECS Arm Copyright (c) 2006 ECS srl
APEX comes with ABSOLUTELY NO WARRANTY. NEW Version for ECS ARM - FLASH AMD/SPANSION It is free software and you
are welcome to redistribute it under certain circumstances.
For details, refer to the file COPYING in the program source.
apex => mem:0xc1400000+0xef08 (61192 bytes)
env => nor:256k+64k (empty)
Use the command 'help help' to get started.
# copy nor:0x80000+1536k 0xc0008000
|
/
-
\
1572864 bytes transferred
# wait 15 Type ^C key to cancel autoboot.
Type ^C key to cancel autoboot.
|
/
-
\
|
/
-
\
|
/
-
\
# boot
Booting kernel at 0xc0008000...
Uncompressing Linux....................................................................... done, booting the kernel.
Linux version 2.6.16.19_15 (michele@micheleubuntu) (gcc version 3.4.1) #1 PREEMPT Fri Apr 20 11:20:09 CEST 2012
CPU: ARM922Tid(wb) [41029220] revision 0 (ARMv4T)
Machine: ECS Arm 9 LH7A404 SHARP
Memory policy: ECC disabled, Data cache writeback
CPU0: D VIVT write-back cache
CPU0: I cache: 8192 bytes, associativity 64, 32 byte lines, 4 sets
CPU0: D cache: 8192 bytes, associativity 64, 32 byte lines, 4 sets
Built 1 zonelists
Kernel command line: console=ttyAM1,57600 root=/dev/mtdblock2 rootfstype=jffs2 mtdparts=phys_mapped_flash:512k(boot)ro,1536k(kernel),14336k(root)
PID hash table entries: 256 (order: 8, 4096 bytes)
Console: colour dummy device 80x30
Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
Memory: 32MB = 32MB total
Memory: 30140KB available (1488K code, 310K data, 440K init)
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
CLCD: registering amba devices
0 -> 0
SCSI subsystem initialized
usbcore: registered new driver usbfs
usbcore: registered new driver hub
NetWinder Floating Point Emulator V0.97 (double precision)
JFFS2 version 2.2. (NAND) (C) 2001-2003 Red Hat, Inc.
io scheduler noop registered
io scheduler cfq registered (default)
CLCD: PG6 Display on-off
CLCD: LCD setup fb virt 0xffc00000 phys 0xc1c00000 l bc000 io 0xf8003000
CLCD: pixclock 33331200
CLCD: lh7a40x FB hardware, TFT 800x480 5in display
Console: switching to colour frame buffer device 100x30
lcd_light: lcd_light-lh Sharp LH7xxxx LCD_LIGHT driver 1.6
lcd_light: PWM Normale (0)
csc_lh: csc-lh Sharp LH7xxxx CSC control driver 1.2
shutdown: shutdown-lh Sharp LH7xxxx Shutdown driver
watchdog_lh: watchdog-lh Sharp LH7xxxx watchdog driver 1.2
flash_seriale: flash_seriale-lh Sharp LH7xxxx flash_seriale driver
CR0: 87
RX8025... Detect chip (v2)
serial: LH7A40X serial driver
ttyAM0 at MMIO 0x80000600 (irq = 38) is a LH7A40X
ttyAM1 at MMIO 0x80000700 (irq = 40) is a LH7A40X
ttyAM2 at MMIO 0x80000800 (irq = 42) is a LH7A40X
Set DTR Pin on ttyAM2
loop: loaded (max 8 devices)
physmap flash device: 4000000 at 0
phys_mapped_flash: Found 1 x16 devices at 0x0 in 16-bit bank
Amd/Fujitsu Extended Query Table at 0x0040
phys_mapped_flash: CFI does not contain boot bank location. Assuming top.
number of CFI chips: 1
cfi_cmdset_0002: Disabling erase-suspend-program due to code brokenness.
3 cmdlinepart partitions found on MTD device phys_mapped_flash
Creating 3 MTD partitions on "phys_mapped_flash":
0x00000000-0x00080000 : "boot"
0x00080000-0x00200000 : "kernel"
0x00200000-0x01000000 : "root"
add_serial_flash: W25Q16 detected [spi0] (2097152 bytes)
sfparts partition parsing not available
Creating 1 MTD partitions on "W25Q16.spi0":
0x00000000-0x00200000 : "sf 2M"
usbmon: debugfs is not available
lh7a404-ohci lh7a404-ohci.0: LH7A404 OHCI
lh7a404-ohci lh7a404-ohci.0: new USB bus registered, assigned bus number 1
lh7a404-ohci lh7a404-ohci.0: irq 56, io mem 0x80009000
usb usb1: configuration #1 chosen from 1 choice
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 2 ports detected
Initializing USB Mass Storage driver...
usbcore: registered new driver usb-storage
USB Mass Storage support registered.
usbcore: registered new driver usbhid
drivers/usb/input/hid-core.c: v2.6:USB HID core driver
input: adc-lh7 as /class/input/input0
input: adc-lh7 Sharp LH7xxxx ADC touchscreen driver
input: enc-lh7 Sharp LH7xxxx encoder driver
input: keys-lh7 Sharp LH7xxxx Input Keys driver
VFS: Mounted root (jffs2 filesystem).
Freeing init memory: 440K
Data CRC eedcc18c != calculated CRC daebc83a for node at 007b4a4c
Data CRC eedcc18c != calculated CRC daebc83a for node at 007b4a4c
Data CRC eedcc18c != calculated CRC daebc83a for node at 007b4a4c
Data CRC eedcc18c != calculated CRC daebc83a for node at 007b4a4c
Data CRC eedcc18c != calculated CRC daebc83a for node at 007b4a4c
Data CRC eedcc18c != calculated CRC daebc83a for node at 007b4a4c
Data CRC eedcc18c != calculated CRC daebc83a for node at 007b4a4c
Data CRC eedcc18c != calculated CRC daebc83a for node at 007b4a4c
Data CRC eedcc18c != calculated CRC daebc83a for node at 007b4a4c
Data CRC eedcc18c != calculated CRC daebc83a for node at 007b4a4c
Data CRC eedcc18c != calculated CRC daebc83a for node at 007b4a4c
Data CRC eedcc18c != calculated CRC daebc83a for node at 007b4a4c
Data CRC eedcc18c != calculated CRC daebc83a for node at 007b4a4c
Data CRC eedcc18c != calculated CRC daebc83a for node at 007b4a4c
Data CRC eedcc18c != calculated CRC daebc83a for node at 007b4a4c
Data CRC eedcc18c != calculated CRC daebc83a for node at 007b4a4c
Data CRC eedcc18c != calculated CRC daebc83a for node at 007b4a4c
Data CRC eedcc18c != calculated CRC daebc83a for node at 007b4a4c
Data CRC eedcc18c != calculated CRC daebc83a for node at 007b4a4c
Data CRC eedcc18c != calculated CRC daebc83a for node at 007b4a4c
Data CRC eedcc18c != calculated CRC daebc83a for node at 007b4a4c
Data CRC eedcc18c != calculated CRC daebc83a for node at 007b4a4c
Data CRC eedcc18c != calculated CRC daebc83a for node at 007b4a4c
Data CRC eedcc18c != calculated CRC daebc83a for node at 007b4a4c
Data CRC eedcc18c != calculated CRC daebc83a for node at 007b4a4c
Data CRC eedcc18c != calculated CRC daebc83a for node at 007b4a4c
Data CRC eedcc18c != calculated CRC daebc83a for node at 007b4a4c
Data CRC eedcc18c != calculated CRC daebc83a for node at 007b4a4c
Data CRC eedcc18c != calculated CRC daebc83a for node at 007b4a4c
Data CRC eedcc18c != calculated CRC daebc83a for node at 007b4a4c
Data CRC eedcc18c != calculated CRC daebc83a for node at 007b4a4c
Data CRC eedcc18c != calculated CRC daebc83a for node at 007b4a4c
Data CRC eedcc18c != calculated CRC daebc83a for node at 007b4a4c
Data CRC eedcc18c != calculated CRC daebc83a for node at 007b4a4c
Data CRC eedcc18c != calculated CRC daebc83a for node at 007b4a4c
Data CRC eedcc18c != calculated CRC daebc83a for node at 007b4a4c
Data CRC eedcc18c != calculated CRC daebc83a for node at 007b4a4c
Data CRC eedcc18c != calculated CRC daebc83a for node at 007b4a4c
Data CRC eedcc18c != calculated CRC daebc83a for node at 007b4a4c
Data CRC eedcc18c != calculated CRC daebc83a for node at 007b4a4c
Data CRC eedcc18c != calculated CRC daebc83a for node at 007b4a4c
Data CRC eedcc18c != calculated CRC daebc83a for node at 007b4a4c
Data CRC eedcc18c != calculated CRC daebc83a for node at 007b4a4c
Data CRC eedcc18c != calculated CRC daebc83a for node at 007b4a4c
Data CRC eedcc18c != calculated CRC daebc83a for node at 007b4a4c
i tak aż do ponownego restartu.
Wygląda to na uszkodzenie danych w pamięci flash.
Moje pytanie to czy są jakieś szanse na uratowanie tego systemu?
Może wgranie nowej kompilacji. Liczę na jakąkolwiek pomoc. Ze strony producenta tylko nowy panel cena zaporowa.
1709:
AI podpowiada
--- Cytuj ---CRC danych eedcc18c nie równa się obliczonemu CRC daebc83a dla węzła o adresie 007b4a4c. Oznacza to, że wystąpiła uszkodzenie danych lub błąd w transmisji lub przechowywaniu danych w tym konkretnym miejscu w pamięci. Prawdopodobnie wystąpił błąd podczas procesu transmisji danych lub przechowywania, co spowodowało obliczenie lub zapisanie niepoprawnej wartości CRC.
Aby rozwiązać ten problem, należy zbadać źródło uszkodzenia danych i zidentyfikować potencjalne przyczyny, takie jak wadliwe oprogramowanie, błędy sprzętowe lub błędy transmisji. Dodatkowo, należy zweryfikować integralność danych i rozważyć zastosowanie technik wykrywania i korekcji błędów, takich jak użycie kodów korekcji błędów lub algorytmów sumy kontrolnej, aby zapewnić poprawność danych.
--- Koniec cytatu ---
Ze swej strony mogę zasugerować sprawdzenie pamięci ulotnej, np. RAM lub coś podobnego jeśli istnieje.
W teorii samą pamięć flash też da się sprawdzić, kopiując dla bezpieczeństwa dane wcześniej.
Tu masz przykład z badblocks
https://www.tecmint.com/check-linux-hard-disk-bad-sectors-bad-blocks/
https://www.cyberciti.biz/faq/linux-check-the-physical-health-of-a-usb-stick-flash-drive/
Paweł Kraszewski:
--- Cytuj ---AI podpowiada
--- Koniec cytatu ---
Generalnie w tej dziedzinie bajania AI można wsadzić sobie...
Padła zawartość pamięci FLASH. Albo softwarowo (czyli jakiś glicz zasilania/programu uszkodził strukturę) albo fizycznie (kość się "zajechała" zapisami - system plików JFFS sugeruje gołą kość SPI-FLASH, nie nośnik wysokopoziomowy typu eMMC).
Tak czy siak trzeba by ukraść zawartość z innego pieca (chyba że da się ściągnąć obraz/update od producenta) i albo po prostu nagrać na nowo (jak był soft-glicz) albo wymienić pamięć i nagrać (jak padła kostka).
Gdybym miał sam nad tym siedzieć:
1 Wylutować flasha
2 Zrobić dump programatorem
3 Spróbowac naprawić obraz z poziomu normalnego Linuksa
4 Zaflashować naprawiony obraz
5 Wlutować flasha z powrotem do pieca.
Jak 2 albo 3 pokażą palec, spróbować pozyskać dobry obraz z sieci.
pilo611:
Dziękuję bardzo za odpowiedź.
Jako że nigdy nie próbowałem naprawiać obrazu ze zgranej pamięci flash to prosiłbym o jakieś info jakich narzędzi trzeba do tego użyć ?
Wasza podpowiedź pozwoliła by mi zaoszczędzić sporo czasu na szukanie w necie 🙂 Z góry dziękuję !
Paweł Kraszewski:
Wzdeh... Niestety odpowiedź to "standardowe narzędzia systemowe Linuksa plus kilkanaście lat doświadczenia".
Ten flash ma chyba tylko 2MB, mogę w wolnym czasie rzucić okiem bez zobowiązań. Kontakt do mnie jest pod moim nickem z lewej strony tej odpowiedzi.
Nawigacja
[#] Następna strona
Idź do wersji pełnej