This is a guide for those wishing to replace the HDD in their Rockboxed DAPs with Compact Flash.
There are several reasons to want to replace the magnetic and moving parts of an HDD with solid state equivalents. There exist SSD drop-in replacements for the 1.8" HDDs but they are still very expensive. A much cheaper alternative is to use a Compact Flash card with an adapter.
Not all CF cards work as ATA-IDE replacements, but most recent and higher capacity (1GB+) cards seem to work fine. Cheaper cards are often slow and lead to very long data transfer times, going for a faster card (x120 or more) is a solution. A x266 card gives the same feel as a HDD in combination with dircache (but of course boots faster!). Beware h1x0 and h3x0 original iriver firmware does not like the CF cards. The same applies to MPIO firmware.
You will need a supported HDD player, a Compact Flash card and a suitable adapter (see below).
50-Pin HDD -> CF Adapters
The 50-Pin bilateral adapter can be found on eBay or at various online retailers. Some examples are this and this, but this one seems to be the cheapest available (as of June 11 2009 it's $2.50 with free shipping). Be sure when you use these, if they aren't able to slide fully onto the player's ATA plug, shave off the little plastic tabs at the side of the adapter's plug. The pins should seat fully, completely enveloped by the adapter's plug.
Devices that are candidates for this modification using this are any of the "50 Pin" devices found on the HardDriveReplacement page. These include:
- iPod 1st Gen
- iPod 2nd Gen
- iPod 3rd Gen
- iPod 4th Gen
- iPod Color/Photo
- Iaudio X series
- Iaudio M series
- Iriver H1x0 series
- Iriver H3x0 series
- Gigabeat F series
- M:Robe 500
- MPIO HD300
- Philips GoGear HDD63x0
The adapter (from eBay) sported two protrusions on the actual ATA-connector (the black plastic part). These collided with the two connector guides (next to the connector pins) which are used to make inserting the original hard disk fool-proof. I had to wittle down the plastic protrusions on the adapter (using a sharp knife) in order to insert it fully onto the ATA pins. -- FrankOtto - 14 Feb 2008
ZIF 40 HDD -> CF Adapters
iPod generation 5 and 5.5 units can be converted with iFlash. There is a cheaper Taiwanese adapter, the PA-CF18Z, which can be bought for as low as CNY 25 in mainland China, and also sold on Ebay for a few dollars. Note that the iFlash is easier to install than the PA-CF18Z.
Deal Extreme SKU 11814 (the green one) is said to work in 5g and 5.5g ipods, while SKU 19675 (the black one) reportedly does not work in ipods.These have a Hitachi style ribbon connector which requires the thicker plastic tab on the end of the ribbon cable - or a bit of tape on the ribbon cable to thicken the end, or the cable will be loose. Additionally, these adapters have ribbon connectors that only have contacts on one side - they will not work in DAPs where the metallic side of the ribbon cable faces away from the drive, such as the Gigabeat S.
Devices that are candidates for this modification using this are any of the "ZIF 40" devices found on the HardDriveReplacement page. These include:
- iPod Video 5G
- iPod Video 5.5G
- Iriver H10 (large)
- Gigabeat X series
- Gigabeat S series
44-Pin HDD -> CF Adapters
Units that use a standard laptop-style PATA 2.5" HDD (e.g., the Archos JBR) can be converted with this type of adapter - e.g. the StarTech IDE441CF?, available from various places, e.g. http://www.newegg.com/Product/Product.aspx?Item=N82E16812200154
iPod Mini generation 1 and 2 as well as MPIO HD200 can be converted without using an adapter, as they use CF-II microdrives originally:
- iPod Mini 1st Gen
- iPod Mini 2nd Gen
- MPIO HD200
- Philips GoGear HDD16x0
DAP vs. Adapter type
| || Model || 50-Pin HDD -> CF Adapters || ZIF 40 HDD -> CF Adapters || 44-Pin HDD -> CF Adapters || No Adapter |
| Archos || All except Ondio || || || |
| Apple iPod || 1st Gen || || || |
| 2nd Gen || || || |
| 3rd Gen || || || |
| 4th Gen || || || |
| Color/Photo || || || |
| Video 5G || || || |
| Video 5.5G || || || |
| Mini 1st Gen || || || |
| Mini 2nd Gen || || || |
| Cowon Iaudio || X series || || || |
| M series || || || |
| Iriver || H1x0 || || || |
| H3x0 || || || |
| H10 (large) || || || |
| MPIO || HD200 || || || |
| HD300 || || || |
| Olympus M:Robe || MR-500 || || || |
| Toshiba Gigabeat || F series || || || |
| X series || || || |
| S series || || || |
It is probable that not all currently supported DAPs will require the same exact procedure to implement this mod. This page should take those differences into account as opposed to the MiniCF page. Now that support is in SVN, new bootloaders will not require the hacks described below.
Those of you who have had success please post detailed procedures here!
Current bootloader install procedure for iRiver H120
This procedure worked for me (FrankOtto). It is considered experimental and not for general use (yet). There is no guarantee that it will work for you! On the other hand, variations of the following will probably work too, as long as you understand what you are doing...
- Install latest current build.
- Read IriverFlashing carefully, so you understand what you will be doing in the next steps.
- Update the bootloader to V7-pre4 (or later). This is the most critical part! If this succeeds, the rest of the procedure is unlikely to result in a bricked player.
- Flash rockbox.iriver (RAM image) and rombox.iriver (ROM image) to ROM, replacing the original iRiver firmware.
- If you have a CF card reader, unzip your
new rockbox.zip to the CF card now.
- Turn device off, finally replace HD with Adapter/CF card.
- If you already copied your rockbox build to the CF card, go to the next step. If not, connect the iriver to USB, then turn it on, so that you are in bootloader USB mode. Open the iriver on the PC and copy your rockbox build over. After disconnecting USB, the iriver will probably again show ATA -80, and you need to reset the device (with the hidden reset button). Two resets might actually be necessary. (see note in red)
- Turn the iriver on with HOLD enabled to enter the bootloader configuration, and proceed to boot the RAM or ROM image.
(If you boot the ROM image, you again get ATA -80, of course). You can also make booting the RAM image default. (For me (DavidAJohnston) both RAM and ROM booting work -- booting from disk is the only one that produces ata -80. Since this doesn't seem to be consistent, my best suggestion would be to use whichever one (RAM or ROM) works for you)
- That's it.
- Using only
ata.c_01-ata80+freeze.patch, my disk access LED (that of the iriver, not that of the adapter) comes on when the disk enters "sleep" mode (for the HD, this is the mode where the disk spins down and the head is parked), and stay on until the next real disk access. I found that applying
ata.c_02-diskled.patch on top of the first patch solves this issue for me. Most people don't experience this disk LED issue, so I recommend to try first with the first patch only. (Additional info: I see this behaviour with two different adapters (though they are the same model), so probably it's an issue with the CF card.)
- When the bootloader USB mode is used, the device tries afterwards to boot from disk (I think), not from ROM. This of course yields ATA error -80, and one has to reset the device (twice, actually). "Normal" USB mode seems to work fine, however.
Note: On iRiver H1x0 targets, if a CFMod has been performed, returning from USB disk mode is not fully supported from the bootloader. Disk mode works to and from Rockbox (after RB has booted) but to Rockbox from bootloader USB disk mode. In other words, if a user plugs in the USB cable with the player turned off, then boots the player they will get into a working USB disk mode but will be unable to get out of this mode without seeing the dreaded "ATA error: -80". A reset is then required. See Flyspray Bug here: http://www.rockbox.org/tracker/task/9642
Current bootloader install procedure for iRiver H3x0
There is no bootloader in pre-release that can be of use. I have patched a bootloader that also outputs some debugging info. No warranty is given except that the binary was flashed in my h320 and works fine: H300.zip.
Gigabeat F results so far...
- I used an adapter module similar to the one suggested above (bought off ebay from Linux Begineer)
- I used A-data 16GB "speedy" brand CF card.
- I compiled custom build from current source and modified ata.c by commenting out the section delimited by #ifdef NANO as was suggested for the ipod mini. This may not be necessary with all CF cards and I have not tried just using an 'off the shelf' build (it might even work).
- I copied the system files from the original HD to my pc first and then swapped out the HD with the CF and adapter
- I then connected the player to my PC and copied the system file folder and files to the CF disk
- I installed rockbox as usual using my custom build
- I had some disk read error messages and file not found error messages at random times but the player mostly worked.
- Setting the disk spin down time to 255 seems to have helped
- I tried mounting the player on a windows PC (my install was done from Linux) and ran scandisk. Operation has been error free so far since doing this. (maybe the CF had some bad sectors).
- The only problem is that every time I mount the player on my PC to add files I have to cycle the battery switch after unmounting it or it won't power down or reboot rockbox. After cycling the battery switch everything seems back to normal. Perhaps some extra modification of the ata.c file is required.
- BREAKING NEWS - latest build R16592 doesn't seem to have the above problem!!!
NOTE: CF support was added to SVN on 2008-03-09, most results below are from before that version.
|User Name||DAP||Card Type||Success w/o Modification to Bootloader?||Bootloader Rockbox versions||Notes|
|DavideGentile|| iRiver H120 || A-Data 2GB 266x || Yes || V7pre4 w custom build || following instructions above, I applied This and booted from RAM |
|DavideGentile|| iRiver H120 || Lexar 128MB 12x || Yes || V7pre4 w custom build || following instructions above, I applied This and booted from RAM |
|DavideGentile|| iRiver H120 || Lexar 512MB 40x || Yes || V7pre4 w custom build || following instructions above, I applied This and booted from RAM |
|PeterDHoye|| iRiver H320 || A-Data 8GB 266x Turbo || No || 'devcon07' r12547-070727, SVN || ATA error -80 |
|PeterDHoye|| iRiver H320 ||SanDisk 1GB (slow/cheap) || No || 'devcon07' r12547-070727 || I05:DivX0 at 003F67B8 |
|PeterDHoye|| iRiver H320 || Toshiba Xtra speed 512MB || No || 'devcon07' r12547-070727 || I05:DivX0 at 003F67B8 |
|PeterDHoye|| iRiver H320 || A-Data 8GB 266x Turbo || Yes || patched SVN || SVN patched similar as ata.c_01-ata80+freeze.patch |
|LarsMoeller|| iRiver H320 || Kingston Elite Pro 133X 16GB (CF/16GB-S2) || Yes || standard v5 bootloader, standard r19041-081108 || Works well, extremely fast navigation, slow copying: 5,5 mb/sek write and 11,5 read although the card is much faster. |
|MatthiasLarisch|| iRiver H320 || Kingston Elite Pro 133X 32GB (CF/32GB-S2) || ? || above h300.zip bootloader, standard builds from early march || Really nice in rockbox, fast copying (look for UDMA Patch), heavy bootup problems! (Cold boot always leads to hangup, maybe bootloader problem? After reset every thing is superfine) |
|TomKazimiers|| iRiver H320 || hama 1 GB CompactFlash? Card (slow/cheap) || Yes || standard v5 bootloader, modified (wikipedia patch) r19302M-081202 || Works very well, considerably faster |
|FrankOtto|| iRiver H120 || Transcend 2GB 133x || No || V6 || ATA error -80 |
|FrankOtto|| iRiver H120 || Transcend 2GB 133x || Yes || V7pre4 r16316M || needs modified rockbox booted from ROM |
|KennethScharf|| Gigabeat F10 || A-Data 16GB "speedy" || Yes || any current build || ata.c modified as for ipod mini CF |
|MosheBraner|| Archos JBR v1 20G USB2 || RiData Lightning 233x 4GB || Yes || r16734-080321 || adapter: StarTech IDE441CF |
|MosheBraner|| Archos JBR v1 20G USB2 || RiData Lightning 233x 16GB || Yes || r16734-080321 || adapter: StarTech IDE441CF |
|MosheBraner|| Archos JBR v1 20G USB2 || A-Data Speedy 16GB || No || r16734-080321 || won't boot |
|MosheBraner|| Archos JBR v1 6G USB1 || Transcend 8GB TS8GCF133?|| No || r16734-080321 || won't boot |
|MosheBraner|| Archos JBR v1 6G USB1 || Kingston CF/2GB || No || r16734-080321 || won't boot, even after FAT32 reformat |
|StephaneAubert|| iriver H320 || CF "TOPRAM" 32GB || Yes || r16446M-080228 || Works fine with the patched bootloader "H300.zip" ;o) [ VIDEO => http://minilien.com/?RjiXXPATiK ] |
|BobPanesar|| iriver H320 || A-Data 32GB Speedy || Yes || r17428M || Works quite well, however OF does not work |
|BobPanesar|| 1st gen ipod mini || A-Data 32GB Speedy || Yes || r17428M || Works quite well, OF works too |
|BobPanesar|| iaudio X5 || A-Data 32GB Speedy || No || r17428M || X5 Bootloader updated to current build. Shortly after bootup, reports no .rockbox folder found eventhough it's on the CF card. Some attempts would fully load but navigating the folders shows truncated filenames as though corrupted. Overall, all attemps failed with A-DATA 32GB card |
|AntonioThomas|| iaudio X5 || A-Data 32GB Speedy || Yes || r18154-080730 || Works great, OF does not work. See my guide for details. |
|WilliamPoetra|| iPod 5.5g 80GB || Sony CompactFlash 66x 1GB (NCFB1G?) || No || r17671M-080531 || This card is too small, so the data partition is formatted as FAT16. I need to "#define HAVE_FAT16SUPPORT" in firmware/exports/config-ipodvideo.h or Rockbox won't be able to mount the partition. |
| AlexG || iriver h3x0 || Lexar 8GB || Yes || ? || |
| AlexG || iriver h3x0 || PNY 8GB || Yes || ? || |
| AlexG || iriver h3x0 || Ridata 4GB || Yes || ? || |
| Jeff || iriver h1x0 ||A-DATA 32GB|| Yes || ? || |
|NicolasMathias|| iriver h1x0 || Speedy 16GB A-DATA || Yes || ? || |
|NicolasMathias|| iriver h3x0 || Speedy 16GB A-DATA || No || ? || Works with patched bootloader |
|WilliamPoetra|| iPod 5.5g 80GB || Apacer Photo Steno Pro III CF 200X Card 8GB (AP8GCF200?-8) || Yes || r17705M-080609 || Works well "out of the box". |
|HumbertoSantana|| 2nd gen ipod mini || Transcend 133x 32GB || Yes || r19569 || Works with current SVN bootloader |
|MichaelConner|| 2nd gen iPod mini || aData Speedy 32GB || No || r17671 || Works with current SVN bootloader as found in FS#8901 |
|MichaelConner|| iPod 5.5g 30GB || aData Speedy 32GB || Yes || r18310 || Works with modified system-pp502x.c file (DEV_RS = 0x3ffffef8 statement commented out.) Better battery life with current SVN bootloader. |
|RobertMenes|| 2nd gen iPod mini || aData Speedy 16GB || Yes || ? || Works with new iPodpatcher built as part of FS#9369 |
|RobertMenes|| iPod 5.5G 30GB || aData Speedy 4GB || Yes || ? || Works after modifying firmware/target/arm/system-pp502x.c and commenting line 320 out. I suspect that this particular card may be too slow. |
|RobertMenes|| iPod 5.5G 30GB || Transcend 133x 32GB || Yes || r19412 || Works perfectly with plain SVN build. The OF also works well. |
|BrianRowe|| Gigabeat F20 || Lexar 133x 8GB || Yes || Any current build || Used Dealextreme adapter, and needed recent bootloader file (I used 10/08 version). A recent vanilla build or the 11/30/08 Simple build worked. |
|JoelGarske|| iPod mini 1G || Transcend 133x 32GB || Yes || Any current build || Works just fine. You need the original Micro Drive-Partition table to write the rb-loader. Repartitioning, reformatting and even the OF works like before. (writing this with r20000 installed) |
|DavidAJohnston|| iRiver h120 || TOPRAM 32GB || Yes || Daily build (post-3.2), bootloader v7pre4 || Installed without a problem. One slight weirdness is that my CF card actually showed up internally as a Kingston Elite Pro 133x card. So perhaps you can take this as a confirmation that that brand also works? |
|SaschaLuedecke|| iRiver H120 || Transcend 32GB 133x || Yes || V7pre4 || followed instructions above, I can boot from both RAM and ROM (but not from disk, this will give methe ATA: -80 error) |
This table lists CF cards which are positively incompatible with certain Rockbox-supported devices.
|User Name||DAP||Card Type||Notes|
|WilliamPoetra|| iPod 5.5g 80GB || Transcend 133x CompactFlash 8GB (TS8GCF133?) || This card can flash the iPod but doesn't even boot the OF. |
|WilliamPoetra|| iPod 5.5g 80GB || Lexar Professional 80x CompactFlash 1GB || With this card inside the iPod, disk mode doesn't even work. |
|WilliamPoetra|| iPod 5.5g 80GB || Kingston CompactFlash Elite Pro 45x 4GB (CF/4GB-SFE) || This card can flash the iPod but doesn't even boot the OF. |
As of 2008-03-09 (r16591), support for CF cards has been added to Rockbox, no patches or workarounds are required (except when using non-SVN bootloader - see above). However, in some cases some extra options have to be compiled in, for example the definition of HAVA_FAT16SUPPORT when using smaller cards in some devices.
CF card and HDD identify data collection
Rockbox contains an entry in the debug menu to dump the identify info to disk. Invoke the entry and it will create a bin file in the root of your drive. Please attach the file here and clearly state brand/speed/capacity
Copyright © by the contributing authors.