HP C2502 SCSI card (NCR 53C400A based) not working

From: Ondrej Zary
Date: Sun Oct 31 2004 - 07:23:26 EST


Hello,
I have an old ISA SCSI card that came with HP ScanJet IIP scanner. It's
HP C2502 card based on NCR 53C400A chip. I was unable to get it working
with g_NCR5380 driver so I tried loading the official MINI400I.SYS
driver in DOSemu. I was surprised that the values sent to the ports are not the same as in the g_NCR5380 driver.

The g_NCR5380 driver uses these "magic outbs" to configure the card (this sequence disables the card):
outb(0x59, 0x779);
outb(0xb9, 0x379);
outb(0xc5, 0x379);
outb(0xae, 0x379);
outb(0xa6, 0x379);
outb(0x00, 0x379);

This is the output from DOSemu:
779 < f
379 < 22
379 < f0
379 < 20
379 < 80
379 < 00

The magic numbers are different - so I have a card that is not supported by the driver. I've changed the numbers in the driver to match my card but I'm still unable to get it working.

The g_NCR5380 driver uses this to check if the card is present at a particular base address:

outb(0xc0, ports[i] + 9);
if (inb(ports[i] + 9) != 0x80)
continue;

The MINI400I.SYS uses something different:
(this is failed presence test at base address 0x280)
28e < 25
28f < a5
28f > ff

(this looks like a successful test at base address 0x350)
35e < 25
35f < a5
35f > a5
35f < 5a
35f > 5a
35e < 0
35f < 0
359 < 80
359 < 10
351 < 0
352 < 0
353 < 0
354 < 0
357 > ff
359 < 80
359 < 10
351 < 0
352 < 0
353 < 0
354 < 0
357 > ff
351 < 80
351 < 0
357 > ff

According to this, I think that my card has the 53C400A chip registers mapped to different addresses (offsets) but I'm unable to determine what the mapping is. I was also unable to find the 53C400A datasheet which might help a bit.

--
Ondrej Zary
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/