release
dev builds
extras
themes manual
wiki
device status forums
mailing lists
IRC bugs
patches
dev guide



Search | Go
Wiki > Main > CFModGuide (r91)

This is a guide for those wishing to replace the HDD in their Rockboxed DAPs with Compact Flash.


Introduction

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.


Considerations

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.


Prerequisites

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

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

No adapter

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


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     DONE  
Apple iPod 1st Gen DONE      
2nd Gen DONE      
3rd Gen DONE      
4th Gen DONE      
Color/Photo DONE      
Video 5G   DONE    
Video 5.5G   DONE    
Mini 1st Gen       DONE
Mini 2nd Gen       DONE
Cowon Iaudio X series DONE      
M series DONE      
Iriver H1x0 DONE      
H3x0 DONE      
H10 (large)   DONE    
MPIO HD200       DONE
HD300 DONE      
Olympus M:Robe MR-500 DONE      
Toshiba Gigabeat F series DONE      
X series   DONE    
S series   DONE    


Bootloader procedure

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. wink
  • Issues:
    • 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!!!


Compatibility Chart

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?

Incompatibility Chart

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.


Rockbox install

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
identify dump file identify[0] identify[7] identify[8] identify[82] identify[83] pwrmgt fails soft rst fails
A-Data 2GB x266 044A 003D 5EA0 7008 400C ? ?
A-Data 8GB x266 044A 005F 7E70 7008 400C Yes Yes
A-Data 16GB 'speedy' 044A 01E3 FE0D? 0000 0000 ? ?
A-Data 32GB 'speedy' 044A 03C8 0000 0001 0000 ? ?
Apacer 200x 8GB CF Card 848A 00F0 7EC0 0001 0000 ? ?
Kingston Elite Pro 133X 16GB (CF/16GB-S2) ? ? ? ? ? unsupported unsupported
Lexar 128MB 12x 848A 0003 D800 0000 0000 ? ?
Lexar 512MB 40x 848A 000F 49E0 0000 0000 ? ?
Memory Corp industrial 512MB 044A 000F B040 0000 0000 ? ?
Sandisk 1GB 848A 001E 8BE0 0000 4004 ? ?
Sandisk Ultra II 2GB 848A 003D 0FE0 0000 4004 ? ?
SimpleTech 256MB 848A 0007 CA00 0000 0000 ? ?
Toshiba 512MB Xtra 848A 000F 45F0 0000 0000 ? ?
Toshiba industrial 512MB 044A 0007 A400 0000 0000 ? ?
Transcend 2GB 133x 044A 003B BD40 7009 400C ? ?
Hitachi HMS360604D5CF00 HDD 848A 007A 1000 7069 500C ? No
IBM IC25N020ATCS04 HDD 045A 0000 0000 746B 49A8 ? No
IBM IC25N080ATMR04 HDD 045A 0000 0000 746B 7FE8 ? No
Seagate ST660211FX HDD 0C5A 00B2 D160 7069 500D ? No
Toshiba MK1003GAL HDD 0040 0000 0000 7C6B 5908 ? No
Toshiba MK2003GAH HDD 0040 0000 0000 7C6B 5908 ? No
Toshiba MK2004GAL HDD 0040 0000 0000 7C6B 5908 ? No
Toshiba MK4004GAH HDD 0040 0000 0000 7C6B 5908 ? No
Toshiba MK2006GAL HDD 0040 0000 0000 746B 7D09 ? No
Toshiba MK8007GAH HDD 0040 0000 0000 746B 7F09 ? No
Toshiba MK8011GAH HDD 0040 0000 0000 306B 5000 ? No


I Attachment Action Size Date Who Comment
TOPRAM_CF_32GB.binbin TOPRAM_CF_32GB.bin manage 0.5 K 03 Mar 2009 - 20:56 StephaneAubert TOPRAM Compact Flash 32GB (~150x / NAND FLASH SAMSUNG)
ata.c.diffdiff ata.c.diff manage 1.3 K 15 Feb 2008 - 17:37 FrankOtto experimental patch to ata.c, workaround for ATA error -80
ata.c.diff2diff2 ata.c.diff2 manage 1.5 K 16 Feb 2008 - 22:38 FrankOtto another experimental, less intrusive patch for the ATA -80 issue
Edit | Attach | Print version | History: r94 | r92 < r91 < r90 < r89 | Backlinks | View wiki text | More topic actions...
r91 - 28 Feb 2011 - 12:02:25 - MarcinBukat
Copyright by the contributing authors.