Repair of Kaon satellite/terrestrial receiver

J

Jeroni Paul

Guest
Hello

I was given a Kaon KVR-1000TS+, a set top box with satellite +
terrestrial digital tuner, hard disk, USB + Ethernet and analog video
input recording capability. It works great but with a small problem
and there appears to be very little info for this model on the net. I
already updated the firmware to the latest available (V01.01.25).
It is like this one but mine does not have S7 in the model number:
http://www.kaonmedia.com/eng/product/view.php?org_num=196

When turned on from stand-by it goes through its initialization
procedure that usually takes around 30 seconds, sometimes starts right
away and is fine until turned off. But most times it keeps rebooting
several times until finally starts fine. What annoys me about this is
that it keeps turning on and off the harddisk and this is a good way
to damage it. It has nothing to do with temperature or cold start.

I have removed the ethernet card and harddisk to discard possible
culprits and the problem is exactly the same, checked all
electrolytics with my ESR meter, found none suspicious. I have scope
and logic analyzer (PC based) available.
I have been using it for a year without harddisk to see if the
"failing" component would finally fail completely but nothing has
changed.

I have identified the cause of the reboots. The box has two
microprocessors, one is the main MPEG decoder that controls tuners,
memories, etc and the other is at the front panel controlling the
buttons, remote sensor, VFD display and more importantly the power
supply. At turn on within the first second the front processor
receives a burst of digital data from the main processor (a two wire
interface, not I2C) and from that moment the front processor waits 11
seconds for some activity on the bus, if it sees nothing performs a
reboot. The problem is that the main processor sends something at
approximately 10 seconds but sometimes it will take an additional
second to reach that point so causing that random reboot problem. When
the reboot happens it is almost about to send that "I am alive" signal
as seen in the log output in its serial port.

My feeling is the front processor has a very tight time-out and there
could be something delaying slightly the main processor startup
procedure. My suspect is around the 27 MHz oscillator maybe starting
slow or drifting in frequency. But no erratic operation can be seen
once it has started properly. Also, I have disconnected the bus to the
front processor and found that if it does not receive the first burst
of activity it waits indefinitely, so it is that burst that triggers
the 11 seconds time-out.

Since there is a buffer driver with output enable (OE) capability in
the main processor to front processor bus I was thinking in a
workaround to delay the OE activation some seconds at power up with a
resistor and capacitor to stop the initial burst to reach the front
processor and then have it wait indefinitely. I have tested this
solution by disconnecting manually the bus wire and it works but this
seems a hack rather than a repair. I would like to hear of some
opinion or past experience about this.

I have logged the messages that come out of its serial port with
timestamps and identified where the main processor sends the "I am
alive" data to the front processor. It is in one of the following
lines (see the complete log at the end of this message):
40544,0508402,[P10046] firmware download O.K !!!
40544,0508411,MC_RxStart!!!!!!
40544,0508415,size = 676, addr = 1280

Note that the reboot occurs just before these lines, a few hundred
milliseconds before. P10064 refers to the DVB-T tuner and sometimes it
reboots after this message so errors with uploading the tuner firmware
are discarded.

Here follows the complete log of serial port messages where it has
rebooted two times and started fine at the third attempt. The left
column is a timestamp with 0.01 seconds accuracy. Some of the I2C
devices I have identified:
0xA0 - EEPROM 24C16
0x10 - DVB-T tuner (chip TDA10046A)
0xC0 - DVB-S tuner (chip STV0299B)
It seems to try to detect some DVB-S tuners before finding the right
one and then randomly gives errors writing to the DVB-S tuner but
these errors have no relation at all with the reboots, I have seen
these errors appear with no reboot involved and the satellite tuner
always works fine. Note that the harddisk is not plugged, so it gives
an error in the log.

40544,0505136,Loader v3.1.3 Loader Built:Nov 11 2004, 14:15:06
40544,0505136,Uncompress Flash Application...
40544,0505393,Launch Flash Application...
40544,0505409,-------------------------- START
----------------------------------
40544,0505409,Build Date : Jun 7 2007 , 21:15:26
40544,0505452,[FE] Version : 03.00.02 Last Update : 2006.12.29
40544,0505454,STI2C_Write(addr = 0xA0, bytes=1, timeout=10, ret=8) err
40544,0505454,E2PROM 1 check error :::
40544,0505454,E2PROM 0 check OK :::
40544,0505454,EMMA_FE_GPIO_Initialize :: eBRD_TYPE_NO_ASIC
40544,0505503,DUO_DetectChannel(0-0, 19, LG-T, 1):DVB_T_13 = OK
40544,0505503,fe_check_tuner(11) = 1
40544,0505503,DUO_DetectChannel(1-0, 2, ZL10,
1):DVB_S_3STI2C_WriteNoStop(Handle=0x1C) Write err
40544,0505505,STI2C_Read(addr=0x1C, timeout=10, ret=8) err
40544,0505505, = N.G
40544,0505505,DUO_DetectChannel(1-0, 4, LG10,
1):DVB_S_5STI2C_WriteNoStop(Handle=0x1E) Write err
40544,0505507,STI2C_Read(addr=0x1E, timeout=10, ret=8) err
40544,0505507, = N.G
40544,0505507,DUO_DetectChannel(1-0, 5, LG11,
1):DVB_S_6STI2C_WriteNoStop(Handle=0x10) Write err
40544,0505507,STI2C_Read(addr=0x10, timeout=10, ret=8) err
40544,0505508, = N.G
40544,0505508,DUO_DetectChannel(1-0, 0, SHRP1, 0):DVB_S_1 = OK
40544,0505514,fe_check_tuner(12) = 1
40544,0505863,


40544,0506393,Loader v3.1.3 Loader Built:Nov 11 2004, 14:15:06
40544,0506393,Uncompress Flash Application...
40544,050665,Launch Flash Application...
40544,0506666,-------------------------- START
----------------------------------
40544,0506666,Build Date : Jun 7 2007 , 21:15:26
40544,0506711,[FE] Version : 03.00.02 Last Update : 2006.12.29
40544,0506711,STI2C_Write(addr = 0xA0, bytes=1, timeout=10, ret=8) err
40544,0506711,E2PROM 1 check error :::
40544,0506711,E2PROM 0 check OK :::
40544,0506713,EMMA_FE_GPIO_Initialize :: eBRD_TYPE_NO_ASIC
40544,050676,DUO_DetectChannel(0-0, 19, LG-T, 1):DVB_T_13 = OK
40544,050676,fe_check_tuner(11) = 1
40544,050676,DUO_DetectChannel(1-0, 2, ZL10,
1):DVB_S_3STI2C_WriteNoStop(Handle=0x1C) Write err
40544,0506762,STI2C_Read(addr=0x1C, timeout=10, ret=8) err
40544,0506762, = N.G
40544,0506762,DUO_DetectChannel(1-0, 4, LG10,
1):DVB_S_5STI2C_WriteNoStop(Handle=0x1E) Write err
40544,0506764,STI2C_Read(addr=0x1E, timeout=10, ret=8) err
40544,0506764, = N.G
40544,0506764,DUO_DetectChannel(1-0, 5, LG11,
1):DVB_S_6STI2C_WriteNoStop(Handle=0x10) Write err
40544,0506765,STI2C_Read(addr=0x10, timeout=10, ret=8) err
40544,0506765, = N.G
40544,0506765,DUO_DetectChannel(1-0, 0, SHRP1, 0):DVB_S_1 = OK
40544,0506773,STI2C_Write(addr = 0xC0, bytes=1, timeout=10, ret=7) err
40544,0506774,STI2C_Write(addr = 0xC0, bytes=1, timeout=10, ret=8) err
40544,0506774,STI2C_Write(addr = 0xC0, bytes=1, timeout=10, ret=8) err
40544,0506774,STI2C_Write(addr = 0xC0, bytes=1, timeout=10, ret=8) err
40544,0506794,STI2C_Write(addr = 0xC0, bytes=1, timeout=10, ret=7) err
40544,0506794,STI2C_Write(addr = 0xC0, bytes=1, timeout=10, ret=8) err
40544,0506794,STI2C_Write(addr = 0xC0, bytes=1, timeout=10, ret=8) err
40544,0506796,STI2C_Write(addr = 0xC0, bytes=1, timeout=10, ret=8) err
40544,0506814,STI2C_Write(addr = 0xC0, bytes=1, timeout=10, ret=7) err
40544,0506816,STI2C_Write(addr = 0xC0, bytes=1, timeout=10, ret=8) err
40544,0506816,STI2C_Write(addr = 0xC0, bytes=1, timeout=10, ret=8) err
40544,0506816,STI2C_Write(addr = 0xC0, bytes=1, timeout=10, ret=8) err
40544,0506829,fe_check_tuner(12) = 0
40544,0507136,


40544,0507666,Loader v3.1.3 Loader Built:Nov 11 2004, 14:15:06
40544,0507666,Uncompress Flash Application...
40544,0507923,Launch Flash Application...
40544,0507939,-------------------------- START
----------------------------------
40544,0507939,Build Date : Jun 7 2007 , 21:15:26
40544,0507984,[FE] Version : 03.00.02 Last Update : 2006.12.29
40544,0507984,STI2C_Write(addr = 0xA0, bytes=1, timeout=10, ret=8) err
40544,0507984,E2PROM 1 check error :::
40544,0507984,E2PROM 0 check OK :::
40544,0507984,EMMA_FE_GPIO_Initialize :: eBRD_TYPE_NO_ASIC
40544,0508033,DUO_DetectChannel(0-0, 19, LG-T, 1):DVB_T_13 = OK
40544,0508033,fe_check_tuner(11) = 1
40544,0508033,DUO_DetectChannel(1-0, 2, ZL10,
1):DVB_S_3STI2C_WriteNoStop(Handle=0x1C) Write err
40544,0508035,STI2C_Read(addr=0x1C, timeout=10, ret=8) err
40544,0508035, = N.G
40544,0508035,DUO_DetectChannel(1-0, 4, LG10,
1):DVB_S_5STI2C_WriteNoStop(Handle=0x1E) Write err
40544,0508037,STI2C_Read(addr=0x1E, timeout=10, ret=8) err
40544,0508037, = N.G
40544,0508037,DUO_DetectChannel(1-0, 5, LG11,
1):DVB_S_6STI2C_WriteNoStop(Handle=0x10) Write err
40544,0508039,STI2C_Read(addr=0x10, timeout=10, ret=8) err
40544,0508039, = N.G
40544,0508039,DUO_DetectChannel(1-0, 0, SHRP1, 0):DVB_S_1 = OK
40544,0508044,fe_check_tuner(12) = 1
40544,0508402,[P10046] firmware download O.K !!!
40544,0508411,MC_RxStart!!!!!!
40544,0508415,size = 676, addr = 1280
40544,0508523,EEPROM DATA Version:: 0xffff
40544,0508523,Read New EEPROM DATA
40544,0508632,size : 676, 676
40544,0508686,MC_TxStart!!!!!!
40544,0508699,RMS_RxStart!!!!!!
40544,0508738,GUI_Init !!!!!!
40544,050874,FE_Start!!!!!!
40544,050874,TTXOSD_Init !!!!!!
40544,050874,[TTXOSD] Version:02.03.11, Last Update:07.02.01
40544,0508742,PSI_Init_Start !!!!!!
40544,0508742,[PSI] Version:10.00.01, Last Update:04.09.07
40544,0508742,[DB] 8000CH, 32FAV, EPG_WEEK:ON, NEW_COLOCK:ON,
(93,7544)
40544,0508782,[DB1] NS1:1, NB:2, NT:8, NS2:82
40544,0508782,[DB2] OB1:204, OT:340, OS:92
40544,0508782,[DB3] XB:408, XT:2720, XS:7544
40544,0508784,[DB4] SS1:44, SB:20, ST:12, SS2:44
40544,0508784,[DB5] AS1:91000, AB:92000, AT:94000, AS2:9c000,
AD:ee000, AM:fc000
40544,0508798,STT_init !!!!!!
40544,05088,[DVB-SUBTITLE] Version:02.03.04, Last Update:06.11.23
40544,05088,GUI_Start !!!!!!
40544,05088,TIME_Init!!!!!!
40544,05088,PVR_FileSystemInit!!!!!!
40544,0508896,MMI_TYPE :: MMI_N1
40544,0508896,MMI_API_VERSION :: 0.0.1
40544,0508896,MMI_FLASH_VERSION :: 1.0.0
40544,0508896,MMI_E2PROM_VERSION :: 2.0.3
40544,050988,PVR_OpenFileSystem 0003. Cannot find HDD Drive...(retry
= 3, error = 0x1)
40544,0509881,MP3_TaskStart!!!!!!
40544,0509881,Script_Init!!!!!!
40544,0509881,PVR_Init!!!!!!
40544,0509881,DVR_Initialize!!!!!!
40544,0509881,[A/DVR] Version:01.00.00, Last Update:04.07.17
40544,0509885,PROMPT>ciMain !!!!!!
40544,0509887,[CI] Version : 02.07.07 Last Update : 2007.05.04
40544,0510543,Now not used ProtectViewable slot
 
Since there is a buffer driver with output enable (OE) capability in
the main processor to front processor bus I was thinking in a
workaround to delay the OE activation some seconds at power up with a
I found out the initial burst is used to tell the front processor the
last st-by status, probably stored in EEPROM, so if unplugged while it
was on it will turn on when plugged. This points out these initial
bursts are there by design.

This leaves the 27MHz crystal as suspect or some sort of unidentified
reset circuit it seems to have associated with the oscillator built
around a small 8 pin SMD chip with markings (MUAC A10). I'm scoping
the crystal output and see nothing strange in it.
 

Welcome to EDABoard.com

Sponsor

Back
Top