Quote:
Originally Posted by sustmi";p="
Summary of the problem:
- after update to wrong firmware the capacity went from 2GB to 1GB.
- only 1GB firmware booted well
- with 1GB firmware only one of two NAND chips was accessible
whole problem description:
http://www.mympxplayer.org/image-vp49144.html#49144
|
SOLUTION:
The problem was that the second NAND flash chip contained wrong data.
But I found the way how to erase both chips and load the firmware to the clean memory.
The chip can be erased by special SCSI command.
1.) Get the
SCSI Utility from
http://logix4u.net/.
2.) Connect the player to PC and initiate the Recovery Mode with updater.sb that works (in my case it was 1GB firmware v006.003.260)
3.) Run the
SCSI Utility and press F5 to refresh list of connected devices
4.) Right-click on the player in the list and choose "Execute Custom CDB"
5.) Then fill the table with these values:
Code:
BYTE 0: c0
BYTE 1: 7
BYTE 2: 0
BYTE 3: 0
BYTE 4: 0
BYTE 5: 0
Other cells leave blank, so the CDB Size will be 6.
(Values are in the hexadecimal form.)
6.) Then press Execute, accept the warning and wait a moment (10 sec.).
Now the first chip is clean.
The problem is that when you have 2 chips.
You must do a "reconnection" in order to access the second chip. But don't worry, it isn't so hard as it sounds. :wink:
1.) You must disassemble the player
2.) Check the NAND chip (there is only one physical flash chip, but it consists of 2 separate logical chips)
3.) Google the datasheet for you memory chip.
4.) Now you must short-cut (make a connection) the CE1 (Chip Enable 1) pin to Vcc=3.3V (if it is the specific voltage for 'logical one') to disable the first chip.
5.) Short-cut the CE2 (Chip Enable 2) pin to Vss=0V (GND) to enable the second chip.
6.) Do the erase process with the
SCSI Utility again, now with the second chip.
7.) Remove the wires (the shortage).
Now you can boot (initiate Recovery Mode) with the 2GB uploader.sb and flash the 2GB firmware (select the Format Data Area in the flasher utility).
This is how I did it. Now I have whole 2GB of capacity back.
Maybe it should be enough to erase only the first chip. I have erased both and it works.
[hr:d06de38292]
Example NAND flash datasheet:
http://www.datalabs.ru/files/HY27UH08AG(5_D)(Rev0.6).pdf
Complete list of SCSI commands:
Code:
byte 0:
SCSI_OPCODE_SIGMATEL_READ_COMMAND 0xc0
SCSI_OPCODE_SIGMATEL_WRITE_COMMAND 0xc1
byte 1:
GET_PROTOCOL_VERSION 0x00
GET_STATUS 0x01
GET_LOGICAL_MEDIA_INFO 0x02
GET_LOGICAL_MEDIA_NUM 0x03
GET_ALLOCATION_TABLE 0x05
ALLOCATE_MEDIA 0x06
ERASE_LOGICAL_MEDIA 0x07
GET_LOGICAL_DRIVE_INFO 0x12
READ_LOGICAL_DRIVE_SECTOR 0x13
SET_LOGICAL_DRIVE_INFO 0x20
WRITE_LOGICAL_DRIVE_SECTOR 0x23
ERASE_LOGICAL_DRIVE 0x2f
GET_CHIP_ID 0x30
CHIP_RESET 0x31
If you have any questions, please ask. If you really want I can take some photos of the process.