Does this site look plain?

This site uses advanced css techniques

In a recent project for a customer, we were faced with having to swap IDE devices around on a fairly regular basis. This constant moving of the power and data cables plus moving the master/slave drive jumper was getting very old very fast, but we have found a great solution.

All IDE drives have jumpers that select the "master" or "slave" role on the controller, but modern drives also have a "CS" or "Cable select" pin. This allows the IDE cable itself to select the drive's role: all the drives have the CS jumper set, and the cable chooses the master and the slave.

Pin 28 on the IDE ribbon cable is used for cable select. If a drive sees this signal as grounded, it's the master, but if it floats (unconnected), it is the slave. Since modern IDE controllers simply ground pin 28 at the interface, making one of these cables requires no external signal wires or touching the motherboard in any way.

It turns out that CS cables can be used for all IDE purposes, because drives jumpered for Master or Slave simply ignore the CS line anyway. The only reason why all IDE cables aren't CS cables is that it probably costs a bit more to manufacture, and so few people care. Too bad.

Modifying an IDE cable - the "easy" way

It's possible to easily make a CS cable by modifying a "regular" one. Lay out the IDE cable on a work surface, and consider the ribbon area between the two drive connectors (farthest away from the motherboard connector). Starting with pin one - the edge with the red stripe -- count to the 28th wire and mark it with a pen. For safety, we also start from the far side and count backwards to pin 40 to make sure we didn't skip one.

With a small, sharp knife (such as an X-Acto blade), cut out a small section of the 28th wire, leaving a "hole" in the cable. Be careful not to cut the other wires! Use a marker pen to mark "M" (master) near the middle drive connector and "S" (slave) near the far drive connector to keep them straight. The resulting cable should look something like this:

[IDE cable diagram]

This cable will work fine in two-drive configurations, but there is a drawback: it's suboptimal for one-drive installations. These high-speed disk cables really should always have a drive on the physical far end of the cable to reduce noise on the bus, but this cable puts the single drive in the middle. In practice this will probably work most of the time, but it's not the best way to run a computer system.

Modifying an IDE cable - the "hard" way

Modifying an IDE cable to properly put the master on the far end means that the far end pin 28 is grounded and the middle connector pin 28 has to float. This is quite a bit more work and requires soldering skills. But we'll try to describe it.

Similar to the previous cable, we need to cut the 28th wire on the ribbon cable, but this time it's on the other side of the middle connector. This effectively cuts pin 28 off from both connectors. We need to somehow ground this line, and fortunately the IDE cable has several of these. We'll borrow a ground from pin 40.

Between the two drive connectors cut pin 28 near the middle connector and release about two inches of this wire towards the far connector. Strip about one centimeter of insulation from this wire, exposing the conductor. Twist the exposed wire to keep the strands together.

Then separate the 40th wire (opposite end from the red stripe) from the 39th wire by carefully cutting the plastic between the two. But do not cut the wire itself. Very carefully strip away about 2 cm of insulation from the 40th wire, exposing the metal conductor. Again, do not cut the conductor itself. Solder the pin-28 wire to the exposed pin-40 wire, grounding the CS line to the master connector on the end.

Cover the exposed soldered connection with tape or hot glue, then mark both connectors with Master and Slave indicators. The resulting cable should look roughly like this:

[IDE cable diagram]

We've had a suggestion to use Star Brite's "Liquid Electrical Tape", and it looks perfect for this application. It's available at most home centers, and certainly via Google.

Building your own CS cable from scratch

This section presumes that those building their own IDE cables already have the tools and connectors and cabling: those without these items will probably find it easier to just modify an existing cable.

Before crimping the slave connector (the middle one), simply use needle-nosed pliers to physically remove pin 28 from the connector. In our experience this is done very easily, and this prevents the ground on this wire from reaching the drive itself, leaving it floating as a slave. The ground DOES reach the far connection, making it a master. No pins should be pulled from the master connector.

Mark the far connector as M (master) and the middle connector S (slave).

80-conductor Ultra DMA cables

Standard IDE/ATA cables are made from the same 40 pin ribbon cables that have been used in PCs for years, but the high-speed Ultra drives require a higher quality cable. These are the 80-character cables that apparently have some kind of extra grounding.

But we understand that these cables -- which are quite a bit more expensive than the "regular" kind -- are already compatible with CS. They are typically marked with "Master" and "Slave" ends (in the optimal positions), and we believe they have done this by pulling pin 28 from the middle connector. These cables can be used in CS environments or in "regular" environments. Thankfully, no cutting or soldering is required.

Changes to the motherboard / BIOS

None required - it just works. As long as the IDE connector on the motherboard grounds pin 28, there is no software configuration required to enable the cable select mechanism. The IDE controller still requests "master" or "slave" transactions, and the drives simply know which role they play. It's just delightful.

Using removable drive bays

This entire cable-select adventure was prompted by our need to move drives around a lot, and the first thing we found were these great removable drive bays from InClose. Retailing for about $25, their "PMD-96i Kit" fits in a 5.25" drive bay and has a 3.5" carrier. It has a small fan built in for cooling, and the carrier slides in and out with the turn of a key.

The carriers take normal 3.5" drives, ZIP drives, plus have mounting holes for even smaller 2.5" drives (though we've not yet tried the latter). Spare "P-96i-T" carriers alone without the drive bay are about $15. These units are all compatible with Ultra 100 IDE, and we presume that they have lower-cost units that support the lower-speed units as well. The vendor can be found at www.inclose.com [site no longer valid]

These are NOT hot swap bays -- they're very clear on this -- but trying to use these in multiple machines really requires that you use the CS mechanism lest you have to remove the drives from the carrier to change the jumper every time they move. In our testbed configuration, we typically hot-glue a pair of these carriers together, build a CS cable, and mark the front of the carrier with "M" and "S" designations so we know which position is the master and which is the slave.

So far this entire arrangement has worked exceptionally well, and we're happy to recommend it to anybody.

Update - 2002/09/10 - It has been suggested that when using removable drive bays, it's possible to just physically pull out pin 28 from the external connector on the outside of the "middle" drive bay, which obviates mucking with the cable. Of course, this approach prevents the drive bay from working as an end bay, but for some applications the couple of minutes with a pair of needle-nosed pliers might be preferable to the more labor-intensive solutions. Thanks to Ole Knudsen for this tip.

References

We learned most of what we know about CS from the ATA spec plus the PC Guide web site at http://www.pcguide.com/ref/hdd/if/ide/confCS-c.html. We're grateful for their overview of CS that allowed us to prepare the information here.