Hi everybody! this procedure may help to those who are willing to jtag their dead receiver by themselves especially if they are encountering errors using Jkeys. Thanks to guy who made this clear instructions and I owe it to him the knowledge which I gain from this jtag business. My only advise if you really want to learn this is to read and read.... and do more search on the net.
JTAG is an interface that you can buy or make, which allows you to completely erase and reprogram the Flash chip in the receiver in case your receiver becomes unusable when you make a software upgrade with the wrong software, or if you upgrade badly by the wrong method.
It needs special software to use it, and you also need a copy of the whole original image of your receiver's flash chip.
It is a dangerous tool if you don't know what you are doing, it can destroy your receiver completely. So it is not something you should make and use unless you really need to play with many receivers and don't mind destroying one or two while you learn.
Unlike the “dummy” chip in your pocket calculator, STi55xx is a very serious microprocessor and the management is sort of complicated.
When an MPU (Micro Processor Unit) is power up, it doesn’t worth a dime without its BOOT record. The BOOT tells the MPU the very basics characteristics of the system. In our case: a 29LV160 flash chip and 24LC16 EEPROM are attached. So, you plug the power cord, the STi55xx does internal reset, then enters in READ_FROM_ROM mode, reads the BOOT sector of 29LV160 (in THIS moment the MPU writes in to the register the physical characteristics of the hardware attached: the manufacturer codes (do you remember "The flash codes returned are not recognized by jKeys. Mfg/Device codes are FFFFFFF/FFFFFFF (JEDEC) and FFFFFFF/FFFFFFF (FlashFile)." Next, the MPU checks if the EEPROM is empty and is yes, writes some information – channels, TP, keys etc… If the EEPROM has this information already, the receiver goes to the last channel watched before turning off. It is VERY important to understand the following:
1. Since the STi5512 and STi5518 are two DIFFERENT MPUs, the BOOT RECORDS are different! This why NEVER flash your receiver with firmware written for another receiver! It will overwrite the current BOOT and you might end up with a trouble.
2. STB WIZARD and FUN EDITOR read and write the EEPROM. Never use .bin file created with those programs in conjunction with SENDER you are using to upload new software because it will overwrite the current BOOT record.
3. If after uploading new software the receiver says STBY, DO NOT TURN OFF THE POWER! Immediately send the last known GOOD file you have. Keep in mind once the correct BOOT is loaded, it stays in the MPU register until power down. ************ down the power in this moment and… you got “ON” on the display.
JTAG is utility for flashing (writing) in the flash chip attached to STi55xx via the very same MPU.
DCU stands for Diagnostic Controller Unit. This is utility for sending commands to STi55xx from outside… As we mentioned before normally the MPU enters in BOOT_FROM_ROM (29LV160) mode. However, via DCU we can write new BOOT record, flash the 29LV160 via JTAG etc. Here is the MAIN PROBLEM: if the BOOT record does not exist, our STi chip DOES NOT KNOW what the DCU is in the first place. This is the reason for "Error reading from DCU (DCU Peak)" message.
What we can do to bring back to life our receiver that we have f***ed up already?
First, we have to resurrect the BOOT record. Funny isn’t it? To do so we need to enter in DCU mode, but without proper BOOT record, our STi doesn’t know what DCU is… We are going to use program named Wall.exe. Keep in mind: When STi55xx detects that BOOT record is available it IMMEDIATELY REPLACES THE OLD BOOT (if any) WITH THE NEW! All Metabox receivers are based on STi5518, so in conclusion: you can use the dump I have uploaded no matter is for Metabox III.
PLEASE, READ THIS DOCUMENT TO THE END BEFORE JUMPING ACTION! WHEN YOU FINISH READING, GO BACK TO THE BEGINNING AND READ IT AGAIN IF NECESSARY.
1. Run wall.exe
2. It will say:"Warning! The ID is code is incorrect" IGNORE THIS MESSAGE. JUST CLICK "OK".
3. Click “REFRESH”
4. Click button "SELECT" and navigate to your .bin file
5. Do not change “Flash Base Address” and “Length(Hex)” fields
6. Form "ACTION" menu select "PROGRAM FLASH"
7. Click "OK" to confirm the operation
8. Wait until the operation is completed.
9. Do not close Wall. exe
Those steps are necessary ONLY to force STi5518 to overwrite its BOOT record with the proper one.
What happened so far: Since Wall doesn’t care so much as jKeys for errors, it simply sends the data no matter will be they written or not. However, our STi5518 detects the new BOOT and take it!
Once having the new BOOT, the MPU knows all about the hardware, including the manufacturers flash codes: 20/224. Now we are ready to use jKeys. Again, do not close Wall.exe because we need it to HOLD the MPU in DCU mode.
1. Open jKeys
2. Select 4900 from “IRD Model” menu
3. Click “Flash Programming”
4. Click “Erase Flash”
5. Click “Program Flash”
6. Select THE CORRECT complete dump.bin FILE FOR YOUR RECEIVER
7. Wait until process is completed. At this point disconnect the JTAG device from the computer. Start Sender utility and select APPROPRIATE FILE FOR YOUR RECEIVER
Select the file, click “SEND”. If the code transmit start – you are ok. If not, now is the time to turn “OFF’ and then “ON’ (from the power cord) your receiver. The code transmit should start. You know the rest…
tomultra, boknoy, saed and others,
i am using jtag on our old PC windows 98 there is no problem. but, when i try it on windows XP i got this I/O error "could not acquire I/O. windows NT/2k users not have administrative rights."
boknoy suggest here to change the compatibility mode which i did . still the Jkeys can't detect the receiver the Jtag info shows :
Device ID: 00000
Device: unknown device.
kindly help me on this set-up because i want to use this Jtag on our XP base computer and not on W98 PC.
thanks in advance.
There are currently 1 users browsing this thread. (0 members and 1 guests)