[lkml]   [2004]   [Oct]   [31]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: HP C2502 SCSI card (NCR 53C400A based) not working
Alan Cox wrote:
> On Sul, 2004-10-31 at 12:22, Ondrej Zary wrote:
>>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.
> It should work in 2.4 providing you use the loading options for
> ncr53c400a and set a port and no IRQ (read mine did). What options are
> you trying ?

I forgot to say that I'm trying this in 2.6.9. I've tried options like this:
ncr_53c400a=1 ncr_addr=0x350 ncr_irq=255
also tried ncr_53c400=1 (without the 'a'), various addresses and IRQs.
It never worked. I always get "scsi0: bus busy, attempting abort", etc.
and even Oops sometimes.

>>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.
> The 53c400a can be programming to an address by software - either by
> magic sequences or I believe according to pin strapping by ISAPnP.

My card has no jumpers - only solder points for two 3-pin jumpers and it
doesn't look like it can do ISAPnP.
I've made a simple test program in pascal to test the magic sequences in
DOS. The card ignores the magic sequences that the g_NCR5380 driver
uses. When I use the sequences obtained from MINI400I.SYS using DOSemu,
it "works" - I can read/write the card's registers at the configured
base address. The IRQ (2,3,4,5 and 7) can be configured by the magic
sequence too (by setting the high-order bits in the last number in the
So I know how to configure my card, maybe I should try to add it to the
driver (e.g. by adding ncr_53c400a_hp=1 parameter). If I only could get
the register mapping correctly (I think that this is the problem now).

The g_NCR5380 driver moves the base address by +8 bytes for 53C400 chips
(but not for 53C400A) and defines the 53C400 specifis register offsets
negative. This looks weird to me - either the 53C400A does not have
these additional registers or the driver is broken and is trying to
access these registers outside the I/O range on 53C400A.

> Its been a long time since I touched such junk however and if you want
> to do anything useful with your computer while scanning (like waving the
> mouse point around) get something else!

I know it's old, cheap and bad - I just want to make it work. I remember
that it worked in DOS/Windows 3.1. I was not successful in Windows 98 -
although there is an official driver from HP.

P.S. I've removed the Ingmar Baumgart's e-mail address from CC as it
does not work.

Ondrej Zary

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at
Please read the FAQ at

 \ /
  Last update: 2005-03-22 14:07    [W:0.035 / U:16.232 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site