Ripper's Chinese MP3/MP4 player - Hacked Memory
My wife bought one of these off Ebay. I'm trying to fix it. It is the same item that user Ripper has posted pictures for.
H2testw results: The media is likely to be defective. 1.7 GByte OK (3575776 sectors) 13.0 GByte DATA LOST (27346976 sectors) Details:12.6 GByte overwritten (26492384 sectors) 0 KByte slightly changed (< 8 bit/sector, 0 sectors) 417.2 MByte corrupted (854592 sectors) 31.5 KByte aliased memory (63 sectors) First error at offset: 0x000000006d1fc000 Expected: 0x000000006d1fc000 Found: 0x000000006d1f4000 H2testw version 1.3 Writing speed: 5.60 MByte/s Reading speed: 8.34 MByte/s H2testw v1.4 So it is is about 2 GB hacked to appear as 16 GB. lsusb -v in linux gives: Bus 001 Device 002: ID 10d6:1101 Actions Semiconductor Co., Ltd D-Wave 2GB MP4 Player / AK1025 MP3/MP4 Player Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 0 (Defined at Interface level) bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 64 idVendor 0x10d6 Actions Semiconductor Co., Ltd idProduct 0x1101 D-Wave 2GB MP4 Player / AK1025 MP3/MP4 Player bcdDevice 1.00 iManufacturer 1 actions iProduct 2 media player iSerial 3 ???K bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 32 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 4 Self-powered bmAttributes 0xc0 Self Powered MaxPower 2mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 2 bInterfaceClass 8 Mass Storage bInterfaceSubClass 5 SFF-8070i bInterfaceProtocol 80 iInterface 5 Mass Storage Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x82 EP 2 IN bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0200 1x 512 bytes bInterval 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x01 EP 1 OUT bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0200 1x 512 bytes bInterval 1 Device Qualifier (for other device speed): bLength 10 bDescriptorType 6 bcdUSB 2.00 bDeviceClass 0 (Defined at Interface level) bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 64 bNumConfigurations 1 Device Status: 0x0001 Self Powered I'm trying to low level format to correct size. List of tried but didn't work: MP3 Player Utilities 4.05 - Disk Manager HDDGURU 2.36 Build 1181 Check Flash 1.15.1 Low level initialization Any other suggestions? Thanks |
I have the player working for now. Hopefully the file system will remain stable. In other howto's some have put partition tables on these kind of devices and then added a partition that matches the device size. However, my wife's player had a "bare" FAT32 file system (i.e. floppy format) on the memory device. So here is what I did to hopefully make it work.
The first thing to notice, that will hopefully prevent others much frustration, is that whenever the device is disconnected without a file system, the firmware automatically reformats it. So forget all those instructions that tell you to disconnect and then reconnect. Before I did anything, I went into Linux and used "dd" to make an image of the original contents. After plugging the device in, I issued a "dmesg" to find what device was issued to it. You could also use "cat /proc/partitions" to find which one it is. My computer connected it as "/dev/sdd". So the backup image was done as "dd if=/dev/sdd of=fake_backup". GET THE RIGHT DEVICE NAME. OR YOU CAN ERASE YOUR HARD DRIVE BY MISTAKE. After using a hexdump along with wikipedia's FAT32 information, I was able to figure out the filesystem parameters. Knowing the true number of (512 byte) blocks from H2testw, I was able to write a corrected files system on the device using "mkdosfs" from the "mtools" package. It may also be "mkfs.vfat". I used this: "mkdosfs -b 6 -f 2 -F 32 -i 00000000 -I -r 512 -R 32 -s 16 - S 512 /dev/sdd 1787888" Of course, you will need to replace "/dev/sdd" with whatever the device is on your computer. The first time I used a block size of 3575776 but it came out twice as big as I wanted. Apparently, H2testw is reporting ins 512 byte blocks and the mkdosfs is using 1024 byte blocks. So I had to half the number of blocks. I'm not sure which of the options are required, but I wanted to make sure that all available options matched what the original player file system had, except for total size. Then I booted into windows, plugged the player in, and did a right click, properties, tools, check file system for errors. It did find some and fixed them. Now when I turn on the player, go to system settings, and click on player information, the memory shows as 1745 MB instead of about 15000 MB. Caution, if you reformat the player using the built in formatter, it will revert back to the false amount of 15000 MB. |
| All times are GMT -7. The time now is 11:21 am. |
Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2015, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO 3.6.0 RC 2