Discussion:
Enabling CT2290 SoundBlaster IDE interface
(too old to reply)
J. Random
2004-07-19 02:41:31 UTC
Permalink
Greetings group,

I'm attempting to piece together a file server for my home network. I'm
doing the "broke college student" method of stuffing a bunch of hard
drives in an old tower. In an attempt to use the motherboard's onboard
IDE connectors for my faster hard drives, I decided to offload the slower
ATA devices (my CD-ROM and Zip drives) onto my soundcard's IDE port. The
problem is, Linux is having trouble communicating with the drives after
the initial IDE probe. By the way, yes, it *is* a real IDE port, not a
Mitsumi/Panasonic/whatever interface.

A little background info: I'm running Slackware 10.0 on the stock 2.4.26
"bare.i" kernel. It includes all the IDE-related code either built-in the
kernel or as loadable modules. It's pretty much as close to
vanilla as can be expected. The soundcard itself is a Creative
SoundBlaster 16 Pro, model CT2290. It's the non-plug-and-play ISA variety
with everything configured by jumpers. There's a decent layout of the
card here:
http://docs.van-diepen.com/th99/i/C-D/53589.htm

As far as I can tell, Creative has disavowed any knowledge of this
thing existing. I couldn't find anything on their site except a few
generic drivers for DOS. I have no idea how to determine the IDE chipset
on the board, but I'm guessing it is built in the kernel since every
chipset under IDE/ATA/ATAPI block devices is checked using the standard
Slackware .config file.

I've jumpered the card to be the tertiary IDE channel using IRQ 11 and IO
ports 0x1e8-0x1ef. I've doublechecked everything with the card pulled and
the card in place for interrupt and ioport conflicts, but found nothing.
I've even reserved the IRQ in the BIOS for ISA bus use. Just for grins, I
also tried to set it to be the quaternary channel. Same results,
different hdX references. I tried playing with other miscellaneous
jumpers on the board, like IOCHRDY, but that kept my system from booting
at all.

Here's the relevant part of my boot messages with comments
interspersed with elipses.

... skip stuff about hda.
hde: probing with STATUS(0x00) instead of ALTSTATUS(0xFF)
hde: FX600S, ATAPI CD/DVD-ROM drive
hdf: probing with STATUS(0x00) instead of ALTSTATUS(0xFF)
hdf: IOMEGA ZIP 100 ATAPI, ATAPI FLOPPY drive
... This tells me that the kernel is able to communicate with the device
firmware. It can probe and see them. It just has trouble after that.

ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
ide2 at 0x1e8-0x1ef,0x3ee on irq 11
... My IDE channels. ide1 also shows up and performs normally when I
have drives hooked in on that channel.

... Skip some stuff about hda
hde: attached ide-cdrom driver.
... then it sits for a while.
hde: irq timeout: status=0x58 { DriveReady SeekComplete DataRequest }
hde: irq timeout: error=0x00
... These two lines are repeated 3 more times.
hde: ATAPI reset complete
... Both irq timeout lines happen 4 more times, followed by another reset.
... Both irq timeout lines happen 1 more time.
end_request: I/O error, dev 21:00 (hde), sector 0
hde: ATAPI CD-ROM drive, 0kB Cache
Uniform CD-ROM driver Revision: 3.12

hdf: attached ide-floppy driver.
... then it sits more
hdf: irq timeout: status=0x58 { DriveReady SeekComplete DataRequest }
hdf: irq timeout: status=0x08 { DataRequest }
... last line repeated 3 more times
hdf: ATAPI reset complete
ide-floppy: hdf: I/O error, pc = 23, key = 0, asc = 0, ascq = 0
ide-floppy: Can't get floppy parameters

Additionally, ide2 shows up in /proc/ioports and /proc/interrupts, but any
attempt to mount a device on that chain will freeze up mount until I kill
-9 it from a different VT. Trying to mount it will also generate a lot
more irq timeout and ATAPI reset messages in dmesg.

I've tried searching the web and newsgroups for anything I can find about
this card. All I've found so far is that most people are trying (and
failing) to *disable* IDE. Apparently, attempting to disable the card's
IDE interface will cause it to get in a fight with the floppy drive
controller. I've also found that there is also a PnP version of the card
under the same model number that people are getting confused about.
Unfortunately, most topics regarding the card were made by Windows 95
users--not really relevant to my OS.

Anybody have any suggestions, thoughts, experiences, or other experiences?
Bryan Ray
2004-07-25 10:10:05 UTC
Permalink
I don't know exactly what the problem is, but here are a few suggestions
that may shed some light on the problem:

1) Install 'hdparm', and post back the results of
hdparm /dev/hde
hdparm /dev/hdf
hdparm -i /dev/hde
hdparm -i /dev/hdf

2) Check the jumpering of the devices - old interfaces such as the one
you are using won't support cable select.

3) Finally try one drive at a time.
B. Random
Post by J. Random
Greetings group,
I'm attempting to piece together a file server for my home network. I'm
doing the "broke college student" method of stuffing a bunch of hard
drives in an old tower. In an attempt to use the motherboard's onboard
IDE connectors for my faster hard drives, I decided to offload the slower
ATA devices (my CD-ROM and Zip drives) onto my soundcard's IDE port. The
problem is, Linux is having trouble communicating with the drives after
the initial IDE probe. By the way, yes, it *is* a real IDE port, not a
Mitsumi/Panasonic/whatever interface.
A little background info: I'm running Slackware 10.0 on the stock 2.4.26
"bare.i" kernel. It includes all the IDE-related code either built-in the
kernel or as loadable modules. It's pretty much as close to
vanilla as can be expected. The soundcard itself is a Creative
SoundBlaster 16 Pro, model CT2290. It's the non-plug-and-play ISA variety
with everything configured by jumpers. There's a decent layout of the
http://docs.van-diepen.com/th99/i/C-D/53589.htm
As far as I can tell, Creative has disavowed any knowledge of this
thing existing. I couldn't find anything on their site except a few
generic drivers for DOS. I have no idea how to determine the IDE chipset
on the board, but I'm guessing it is built in the kernel since every
chipset under IDE/ATA/ATAPI block devices is checked using the standard
Slackware .config file.
I've jumpered the card to be the tertiary IDE channel using IRQ 11 and IO
ports 0x1e8-0x1ef. I've doublechecked everything with the card pulled and
the card in place for interrupt and ioport conflicts, but found nothing.
I've even reserved the IRQ in the BIOS for ISA bus use. Just for grins, I
also tried to set it to be the quaternary channel. Same results,
different hdX references. I tried playing with other miscellaneous
jumpers on the board, like IOCHRDY, but that kept my system from booting
at all.
Here's the relevant part of my boot messages with comments
interspersed with elipses.
... skip stuff about hda.
hde: probing with STATUS(0x00) instead of ALTSTATUS(0xFF)
hde: FX600S, ATAPI CD/DVD-ROM drive
hdf: probing with STATUS(0x00) instead of ALTSTATUS(0xFF)
hdf: IOMEGA ZIP 100 ATAPI, ATAPI FLOPPY drive
... This tells me that the kernel is able to communicate with the device
firmware. It can probe and see them. It just has trouble after that.
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
ide2 at 0x1e8-0x1ef,0x3ee on irq 11
... My IDE channels. ide1 also shows up and performs normally when I
have drives hooked in on that channel.
... Skip some stuff about hda
hde: attached ide-cdrom driver.
... then it sits for a while.
hde: irq timeout: status=0x58 { DriveReady SeekComplete DataRequest }
hde: irq timeout: error=0x00
... These two lines are repeated 3 more times.
hde: ATAPI reset complete
... Both irq timeout lines happen 4 more times, followed by another reset.
... Both irq timeout lines happen 1 more time.
end_request: I/O error, dev 21:00 (hde), sector 0
hde: ATAPI CD-ROM drive, 0kB Cache
Uniform CD-ROM driver Revision: 3.12
hdf: attached ide-floppy driver.
... then it sits more
hdf: irq timeout: status=0x58 { DriveReady SeekComplete DataRequest }
hdf: irq timeout: status=0x08 { DataRequest }
... last line repeated 3 more times
hdf: ATAPI reset complete
ide-floppy: hdf: I/O error, pc = 23, key = 0, asc = 0, ascq = 0
ide-floppy: Can't get floppy parameters
Additionally, ide2 shows up in /proc/ioports and /proc/interrupts, but any
attempt to mount a device on that chain will freeze up mount until I kill
-9 it from a different VT. Trying to mount it will also generate a lot
more irq timeout and ATAPI reset messages in dmesg.
I've tried searching the web and newsgroups for anything I can find about
this card. All I've found so far is that most people are trying (and
failing) to *disable* IDE. Apparently, attempting to disable the card's
IDE interface will cause it to get in a fight with the floppy drive
controller. I've also found that there is also a PnP version of the card
under the same model number that people are getting confused about.
Unfortunately, most topics regarding the card were made by Windows 95
users--not really relevant to my OS.
Anybody have any suggestions, thoughts, experiences, or other experiences?
J. Random
2004-07-25 18:14:29 UTC
Permalink
Post by Bryan Ray
I don't know exactly what the problem is, but here are a few suggestions
1) Install 'hdparm', and post back the results of
hdparm /dev/hde
hdparm /dev/hdf
hdparm -i /dev/hde
hdparm -i /dev/hdf
2) Check the jumpering of the devices - old interfaces such as the one
you are using won't support cable select.
3) Finally try one drive at a time.
B. Random
Thanks for the reply, Bryan. I was beginning to wonder if my Usenet
carrier was silently dropping my posts.

I got nothing meaningful from hdparm in any of its permutations. It froze
the VT it was running on. Not even a remote kill -9 would bring hdparm
down. Flipping over to my reference tty showed that it was filling dmesg
with more irq timeout messages and ATAPI resets. After about ten minutes
of being a defunct process, hdparm finally exits.

The drives are hard jumpered. The CD-ROM is the master and the Zip drive
is the slave. Changing the order didn't see improvement, either.

I tried the CD-ROM by itself a while back. Other than a stray
STATUS(0x00) probe at boot time, hdf was not detected (as expected), but
the lone CD-ROM on hde still gave me all the same error messages as before.

I think the IRQ conflict messages are the key. The thing is, there's no
conflict! I've removed or disabled all the high-level IRQ requesting
devices from the system. The only thing that's left is the motherboard's
onboard IDE interfaces on IRQs 14 and 15 and maybe the (disabled) PS/2
mouse on IRQ 12. I've also tried changing the IDE jumper on the soundcard
to other lines. Right now it's on IRQ 11.

I should mention that the drives work perfectly when attached to the
motherboard's IDE ports, so the drive hardware is good. The ISA slot the
card sits in is good--I can load the SoundBlaster ALSA modules and play
audio properly. Hardware-wise, the only thing that's left is the board
itself. I'm hoping it's not bad. The sound-playing capacity works, but
could the IDE controller have been damaged?

Anything else I should try?

J. Random

Loading...