Ich konnte neulich einem defekten Xelos46 in Kleinanzeigen für 15€ nicht widerstehen mit dem Ziel ihn vom Container zu bewahren.
Beim Einschalten ging die LED immer auf orange und das Bild blieb schwarz.
Dank der Tipps und SW in diesem Board hab ich es geschafft das Teil wieder ans Laufen zu bringen.
Der Weg war nicht ganz einfach und deshalb sind meine Erfahrungen vielleicht auch Anderen behilflich.
Im ersten Versuch habe ich es beim Broadcom Chip mit Nachlöten versucht, aber das hat leider nicht funktioniert.
Als nächstes habe ich im Schaltplan nach einer potentiellen seriellen debug Schnittstelle gesucht und bin an der SCART-Buchse fündig geworden. Die Signale sind BCM_TX_DEBUG und BCM_RX_DEBUG und sind an den Testpunkten TP41 und TP39. Mit einem TTL-Konverter bei 115200,8 konnte ich die startup messages sehen.
Code: Alles auswählen
:::::::::::::::::::::::::::::::::::::::
:: ::
:: initializing hardware settings ::
:: ::
:::::::::::::::::::::::::::::::::::::::
expanding allocatable memory...
sh: Execute elf file...
rmmod: bcmdriver: No such file or directory
rmmod: nexus: No such file or directory
BCMDRV: Initializing bcmdriver version $ 18 $
BCMDRV: Total intc words=2,Total Irqs=65
BCMDRV: Global Interrupt Mask 0:0xBF7CFFFE,1:0x0FE62F78,2:0x00000000,3:0x00000000
BCMDRV: Initialization complete...
JFFS2 error: (50) jffs2_get_inode_nodes: can not read 120 bytes from 0x00446f88, error code: -77.
JFFS2 error: (50) jffs2_do_read_inode_internal: cannot read nodes for ino 10, returned error is -77
>>> Enable Uart Rx
testtool >
#*### Console Started ###
Load file /opt/langprofile/toros_langprofile.bin
Loaded from /opt/langprofile/toros_langprofile.bin, size 4913449
Load file /mnt/settings/profile/toros_hwprofile.bin
Loaded from /mnt/settings/profile/toros_hwprofile.bin, size 29460
Load file /mnt/settings/profile/toros_swprofile.bin
Loaded from /mnt/settings/profile/toros_swprofile.bin, size 19037
#############SW VERSION:V.2.5.5##############
=> Stored Patch Level : 2
ICE CFE ERROR: ice_CfeIsUartRxEnabled() Could not get UART_RX_ENABLED value
sw profile version_number 252
@@@@Tuning data version info (pre initialize): @@@@
Panel:
Product name in xls: 46_SAMHJ14_169FHD__E_P_F1_L_NO_ER_XX_71_ Ver ID: v00006
JFFS2 error: (50) jffs2_get_inode_nodes: can not read 48 bytes from 0x00446fd0, error code: -77.
JFFS2 error: (50) jffs2_do_read_inode_internal: cannot read nodes for ino 11, returned error is -77
Checked all inodes but still 0x1ef0d4 bytes of unchecked space?
Checked all inodes but still 0x1ef0d4 bytes of unchecked space?
Checked all inodes but still 0x1ef0d4 bytes of unchecked space?
Daten im NAND korrupt --> das sollte sich doch mit SW update beheben lassen?
Aus dem Download Bereich hab ich mir die 316 geholt. Hat aber leider nicht installiert weil der Fernseher ja gar nicht läuft und deshalb auch kein update menue anzeigen kann.
Also habe ich die autorun-disabled.sh Datei in autorun.sh umbenannt und den stick vor dem Einschalten gesteckt.
An der Konsole konnte ich sehen, dass der Update gestartet wurde aber leider gab es folgenden Fehler:
Code: Alles auswählen
start services
telnetd: starting
port: 23; interface: any; login program: /bin/login
start user services
Usb update....
SCSI subsystem initialized
VESTEL : Initializing USB Mass Storage driver...
scsi0 : SCSI emulation for USB Mass Storage devices
usbcore: registered new driver usb-storage
USB Mass Storage support registered.
Waiting for USB
Waiting for USB
Waiting for USB
Waiting for USB
Vendor: Generic Model: STORAGE DEVICE Rev: 9407
Type: Direct-Access ANSI SCSI revision: 00
SCSI device sda: 3862528 512-byte hdwr sectors (1978 MB)
sda: Write Protect is off
sda: assuming drive cache: write through
SCSI device sda: 3862528 512-byte hdwr sectors (1978 MB)
sda: Write Protect is off
sda: assuming drive cache: write through
sda: sda1
sd 0:0:0:0: Attached scsi removable disk sda
yaffs: dev is 8388609 name is "sda1"
yaffs: Attempting MTD mount on 8.1, "sda1"
yaffs: dev is 8388609 name is "sda1"
yaffs: Attempting MTD mount on 8.1, "sda1"
STARTING UPDATE
Updating Kernel [mtd2]
Kernel update complete
Updating Kernel Initrd [mtd3]
Kernel initrd update complete
Updating RootFS [mtd4]
RootFS update complete with squashfs file sytem
JFFS2 doesn't use OOB.
Copy ExtraPictureSettings files to tmpfs.
"default_settings.img" not found - settings will not be updated
JFFS2 doesn't use OOB.
Copy tmpfs ExtraPictureSettings file to [mtd6]
Splash will not be updated
Discretix DRM Data will not be updated
[mtd5] : erase all...
JFFS2 doesn't use OOB.
p8[9]=00
JFFS2 error: (333) jffs2_get_inode_nodes: can not read 120 bytes from 0x00446f88, error code: -77.
JFFS2 error: (333) jffs2_do_read_inode_internal: cannot read nodes for ino 10, returned error is -77
p8[9]=00
JFFS2 error: (398) jffs2_get_inode_nodes: can not read 48 bytes from 0x00446fd0, error code: -77.
JFFS2 error: (398) jffs2_do_read_inode_internal: cannot read nodes for ino 11, returned error is -77
Returned error for crccheck of ino #11. Expect badness...
Checked all inodes but still 0x1ef0d4 bytes of unchecked space?
Break instruction in kernel code[#1]:
Cpu 0
$ 0 : 00000000 10008700 00000043 802fdbd4
$ 4 : 802fdbd0 10008700 00000001 00002e29
$ 8 : 00000000 80300000 00000000 00000000
$12 : 805f0d72 00000006 805f1150 00000000
$16 : 00000000 00000001 8038d400 8038d530
$20 : 8038d434 8038d510 802b7e00 802d0000
$24 : ffffffff 802b8b64
$28 : 8034e000 8034feb8 805ef5c0 801590a0
Hi : 000001ff
Lo : 5c28f782
epc : 801590a8 jffs2_garbage_collect_pass+0x338/0xd70 Not tainted
ra : 801590a0 jffs2_garbage_collect_pass+0x330/0xd70
Status: 10008703 KERNEL EXL IE
Cause : 00800024
PrId : 0002a044
Modules linked in: nls_iso8859_1 nls_cp437 udf isofs usb_storage vfat fat nls_base sr_mod sd_mod scsi_mod cdrom
Process jffs2_gcd_mtd7 (pid: 398, threadinfo=8034e000, task=80570e18)
Stack : 805eb088 00000012 001ef0d4 00000000 00000000 8038d400 00000000 80570e18
80029830 00100100 00200200 8002c05c 800291c8 80029178 00000000 8002aac4
80571154 00000000 80570e18 8038d400 8034ff30 00000000 00000000 00000000
00000000 8015b428 802ac838 00000007 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
...
Call Trace:
[<801590a8>] jffs2_garbage_collect_pass+0x338/0xd70
[<8015b428>] jffs2_garbage_collect_thread+0xb4/0x168
[<80007c34>] kernel_thread_helper+0x10/0x18
Im Nächsten Schritt habe ich mir autorun.sh angesehen und die Stelle gesucht an der der update fehlschlägt. In meinem Fall war das bei:
Code: Alles auswählen
mount -t jffs2 /dev/mtdblock${DB_BLOCK:3} /mnt/tmp_db > /dev/null
if [ $? -eq 0 ]
then
if [ -f /mnt/tmp_db/nvblock_0.bin ]
then
echo -e "\nCopy database files to tmpfs.\n"
cp -rf /mnt/tmp_db/nvblock_*.bin /mnt/tmp
fi
fi
sync
umount -l /mnt/tmp_db > /dev/null
sleep 1
echo -e "\n[$DB_BLOCK] : erase all...\n"
eraseall -q /dev/$DB_BLOCK
Als pragmatischen workaround habe ich einfach die eraseall Zeile copiert und vor dem mount Befehl zusätzlich eingefügt und das update nochmal ausgeführt und diesmall ist er komplett durchgelaufen.
Seitdem läuft das Teil wieder und hoffentlich bleibt es auch so.
Danke an alle die schon Zeit investiert haben und passende Tips im Forum hinterlassen haben und somit dazu beigetragen haben dass wieder ein Gerät nicht entsorgt wird.
Anbei noch zwei Bilder vom mainboard und testpunkten für die serielle Schnittstelle.
Grüße
afiftyp