First post, by feipoa
- Rank
- l33t++
Does anyone know how to force or restrict DMA/UDMA modes on a Promise Ultra 66/100/133 TX2/TX4 PCI card (PDC20268 chipset)? This host adaptor doesn't have a BIOS that I'm aware of, but runs a firmware that isn't adjustable on the front-end.
The problem I've been running into is with respect to CF card adaptors which plug directly into the Promise card (no cable).
I am using a CF-IDE adaptor which has two CF card slots on the same adaptor. One CF card is Master, the other is Slave. When I boot up, sometimes the Promise firmware sets UDMA 5 mode for both cards, sometimes it sets UDMA 2 mode for both cards. If it sets UDMA 2, everything works fine, but if it decides the cards are UDMA 5, I am unable to boot the system and receive a "disk error".
The Primary CF card is a Lexar 8 GB with "UDMA 7" written on it. The Slave is a Transcend Industrial 64 GB.
If I boot with only the Lexar, it always detects as UDMA 2 ("you don't have an 80-pin cable"). If I try to boot with only the Transcend Industrial card, it always detects as UDMA 5.
If I use a different CF-IDE adaptor, that is, one which uses a cable, the Lexar (Transcend not connected) will detect as UDMA 2 if using a 40-pin cable, and will detect as UDMA 5 if using an 80-pin cable. If it detects/sets as UDMA 5, I will get disk error at boot. Note, it will detect as UDMA 6 if used in a Promise Ultra133 card.
If I use a 40-pin cable with only the Transcend Indistrual, Promise sets it to UDMA 5. If I use a 80-pin cable, Promise sets it to UDMA 5. Something is clearly wrong here. The Transcend is forcing UDMA 5 always?
Ideally, I was hoping there was a simple means to tell the Promise controller to always use UDMA 2 mode, regardless of what is detected in pin 34. Is pin 34 only used to identify what the CF card's speed capabilities are, or is it also utilised for other activities when there are, both, Master, and Slave cards on one IDE port? My understanding is if 3V/5V is detected on pin 34 of the IDE port of the Promise controller, it should set UDMA 2 or lower. If it detects GND on pin 34, it should set UDMA 4 or higher.
Looking at this cable detection scheme, and using a cable-less dual-port CF-IDE adaptor:
1) In a power off state, should it be possible to measure 15 K-ohm between pin 34 on the Promise card and GND? I do not measure anything here. It was either open circuit, or in the mega ohms. What about a power-on state?
2) In a power off state, should it be possible to measure 10 K-ohm between pin 34 on the CD-IDE adaptor and 5 V, that is, assuming the CF card is plugged into the adaptor? I do not measure anything here. It was either open circuit, or in the mega ohms. What about a power-on state?
3) If I connect a 10 K-ohm resistor between IDE pin 34 on the Promise and 5V, will the Promise card always assign UDMA 2 mode or lower?
My workaround so far has been to use the two CF cards in two distinct [cable-less] CF-IDE adaptors and on different IDE ports of the Promise card. This sets the Lexar to UDMA 2 and Transcend to UDMA 5. The Transcend is not the boot drive and it seems to otherwise work at UDMA 5 speeds within Windows. Because I'm using a socket 3, there is no discernable difference in benchmarks between UDMA 2 and UDMA 5.
4) If I had been using a faster motherboard, I would be concerned that the Lexar was not able to boot at UDMA 5/6 speeds. Any idea why I am getting disk error when it is set to UDMA 5 on a socket 3 board?
Thanks everyone!
Plan your life wisely, you'll be dead before you know it.