devb-ncr8 doesn't seem to recognize "ncr8 pci=0" option

Hello,

I have 2 Symbios (or LSI Logic) PCI cards in my PC. When I type the
following:

devb-ncr8 cam verbose ncr8 pci=0

I get:

scsi_interpret_sense: path=0, target=1, lun=0, cam_status=4a, scsi_status=0
scsi_interpret_sense: path=0, target=2, lun=0, cam_status=4a, scsi_status=0
scsi_interpret_sense: path=0, target=3, lun=0, cam_status=4a, scsi_status=0
scsi_interpret_sense: path=0, target=4, lun=0, cam_status=4a, scsi_status=0
scsi_interpret_sense: path=0, target=5, lun=0, cam_status=4a, scsi_status=0
scsi_interpret_sense: path=0, target=6, lun=0, cam_status=4a, scsi_status=0
scsi_interpret_sense: path=0, target=7, lun=0, cam_status=79, scsi_status=0
scsi_interpret_sense: path=0, target=8, lun=0, cam_status=4a, scsi_status=0
scsi_interpret_sense: path=0, target=9, lun=0, cam_status=4a, scsi_status=0
scsi_interpret_sense: path=0, target=10, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=0, target=11, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=0, target=12, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=0, target=13, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=0, target=14, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=1, target=0, lun=0, cam_status=4a, scsi_status=0
scsi_interpret_sense: path=1, target=1, lun=0, cam_status=79, scsi_status=0
scsi_interpret_sense: path=1, target=2, lun=0, cam_status=4a, scsi_status=0
scsi_interpret_sense: path=1, target=3, lun=0, cam_status=4a, scsi_status=0
scsi_interpret_sense: path=1, target=4, lun=0, cam_status=4a, scsi_status=0
scsi_interpret_sense: path=1, target=5, lun=0, cam_status=4a, scsi_status=0
scsi_interpret_sense: path=1, target=6, lun=0, cam_status=4a, scsi_status=0
scsi_interpret_sense: path=1, target=7, lun=0, cam_status=4a, scsi_status=0
scsi_interpret_sense: path=1, target=8, lun=0, cam_status=4a, scsi_status=0
scsi_interpret_sense: path=1, target=9, lun=0, cam_status=4a, scsi_status=0
scsi_interpret_sense: path=1, target=10, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=1, target=11, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=1, target=12, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=1, target=13, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=1, target=14, lun=0, cam_status=4a,
scsi_status=0
[00] SIM="" HBA=“53C875+”
[00,0,0] type=00 ver=02 resp=02 SEAGATE ST32550N 0016
[01] SIM="" HBA=“53C875+”
scsi_interpret_sense: path=0, target=0, lun=0, cam_status=c4, scsi_status=2
scsi_interpret_sense: error=70, sense=6, asc=29, ascq=0
scsi_interpret_sense: ASC_BUS_RESET
scsi_interpret_sense: path=0, target=0, lun=0, cam_status=c4, scsi_status=2
scsi_interpret_sense: error=70, sense=5, asc=24, ascq=0
scsi_interpret_sense: SK_ILLEGAL command 1a in commandbyte

If I type the following:

devb-ncr8 cam verbose ncr8 pci=1

I get the same results as above.

This shows that devb-ncr8 is scanning both cards regardless of the pci
option.
Can someone at QSSL please look into this?

We are writing a target mode driver that needs exclusive access to one card.
Right now, what I am forced to do is:

  1. slay devb-ncr8
  2. taspi devid=1 (Start my driver, which properly attaches to the
    specified card on its command line, in this case devid=1)
  3. devb-ncr8 cam verbose

Only now do I get the desired result:

scsi_interpret_sense: path=0, target=2, lun=0, cam_status=4a, scsi_status=0
scsi_interpret_sense: path=0, target=3, lun=0, cam_status=4a, scsi_status=0
scsi_interpret_sense: path=0, target=4, lun=0, cam_status=4a, scsi_status=0
scsi_interpret_sense: path=0, target=5, lun=0, cam_status=4a, scsi_status=0
scsi_interpret_sense: path=0, target=6, lun=0, cam_status=4a, scsi_status=0
scsi_interpret_sense: path=0, target=7, lun=0, cam_status=79, scsi_status=0
scsi_interpret_sense: path=0, target=8, lun=0, cam_status=4a, scsi_status=0
scsi_interpret_sense: path=0, target=9, lun=0, cam_status=4a, scsi_status=0
scsi_interpret_sense: path=0, target=10, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=0, target=11, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=0, target=12, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=0, target=13, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=0, target=14, lun=0, cam_status=4a,
scsi_status=0
[00] SIM="" HBA=“53C875+”
[00,0,0] type=00 ver=02 resp=02 SEAGATE ST32550N 0016
scsi_interpret_sense: path=0, target=0, lun=0, cam_status=c4, scsi_status=2
scsi_interpret_sense: error=70, sense=6, asc=29, ascq=0
scsi_interpret_sense: ASC_BUS_RESET
scsi_interpret_sense: path=0, target=0, lun=0, cam_status=c4, scsi_status=2
scsi_interpret_sense: error=70, sense=5, asc=24, ascq=0
scsi_interpret_sense: SK_ILLEGAL command 1a in commandbyte

This work-around is causing us a lot of problems, and I appreciate if a fix
can be found.
Thank you!
Alain Achkar

Hi Alain,

I am going to see if I can reproduce this here. Does it matter what
cards you used?

E.


Alain Achkar <aachkar@storagequest.com> wrote:

Hello,

I have 2 Symbios (or LSI Logic) PCI cards in my PC. When I type the
following:

devb-ncr8 cam verbose ncr8 pci=0

I get:

scsi_interpret_sense: path=0, target=1, lun=0, cam_status=4a, scsi_status=0
scsi_interpret_sense: path=0, target=2, lun=0, cam_status=4a, scsi_status=0
scsi_interpret_sense: path=0, target=3, lun=0, cam_status=4a, scsi_status=0
scsi_interpret_sense: path=0, target=4, lun=0, cam_status=4a, scsi_status=0
scsi_interpret_sense: path=0, target=5, lun=0, cam_status=4a, scsi_status=0
scsi_interpret_sense: path=0, target=6, lun=0, cam_status=4a, scsi_status=0
scsi_interpret_sense: path=0, target=7, lun=0, cam_status=79, scsi_status=0
scsi_interpret_sense: path=0, target=8, lun=0, cam_status=4a, scsi_status=0
scsi_interpret_sense: path=0, target=9, lun=0, cam_status=4a, scsi_status=0
scsi_interpret_sense: path=0, target=10, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=0, target=11, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=0, target=12, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=0, target=13, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=0, target=14, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=1, target=0, lun=0, cam_status=4a, scsi_status=0
scsi_interpret_sense: path=1, target=1, lun=0, cam_status=79, scsi_status=0
scsi_interpret_sense: path=1, target=2, lun=0, cam_status=4a, scsi_status=0
scsi_interpret_sense: path=1, target=3, lun=0, cam_status=4a, scsi_status=0
scsi_interpret_sense: path=1, target=4, lun=0, cam_status=4a, scsi_status=0
scsi_interpret_sense: path=1, target=5, lun=0, cam_status=4a, scsi_status=0
scsi_interpret_sense: path=1, target=6, lun=0, cam_status=4a, scsi_status=0
scsi_interpret_sense: path=1, target=7, lun=0, cam_status=4a, scsi_status=0
scsi_interpret_sense: path=1, target=8, lun=0, cam_status=4a, scsi_status=0
scsi_interpret_sense: path=1, target=9, lun=0, cam_status=4a, scsi_status=0
scsi_interpret_sense: path=1, target=10, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=1, target=11, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=1, target=12, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=1, target=13, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=1, target=14, lun=0, cam_status=4a,
scsi_status=0
[00] SIM="" HBA=“53C875+”
[00,0,0] type=00 ver=02 resp=02 SEAGATE ST32550N 0016
[01] SIM="" HBA=“53C875+”
scsi_interpret_sense: path=0, target=0, lun=0, cam_status=c4, scsi_status=2
scsi_interpret_sense: error=70, sense=6, asc=29, ascq=0
scsi_interpret_sense: ASC_BUS_RESET
scsi_interpret_sense: path=0, target=0, lun=0, cam_status=c4, scsi_status=2
scsi_interpret_sense: error=70, sense=5, asc=24, ascq=0
scsi_interpret_sense: SK_ILLEGAL command 1a in commandbyte

If I type the following:

devb-ncr8 cam verbose ncr8 pci=1

I get the same results as above.

This shows that devb-ncr8 is scanning both cards regardless of the pci
option.
Can someone at QSSL please look into this?

We are writing a target mode driver that needs exclusive access to one card.
Right now, what I am forced to do is:

  1. slay devb-ncr8
  2. taspi devid=1 (Start my driver, which properly attaches to the
    specified card on its command line, in this case devid=1)
  3. devb-ncr8 cam verbose

Only now do I get the desired result:

scsi_interpret_sense: path=0, target=2, lun=0, cam_status=4a, scsi_status=0
scsi_interpret_sense: path=0, target=3, lun=0, cam_status=4a, scsi_status=0
scsi_interpret_sense: path=0, target=4, lun=0, cam_status=4a, scsi_status=0
scsi_interpret_sense: path=0, target=5, lun=0, cam_status=4a, scsi_status=0
scsi_interpret_sense: path=0, target=6, lun=0, cam_status=4a, scsi_status=0
scsi_interpret_sense: path=0, target=7, lun=0, cam_status=79, scsi_status=0
scsi_interpret_sense: path=0, target=8, lun=0, cam_status=4a, scsi_status=0
scsi_interpret_sense: path=0, target=9, lun=0, cam_status=4a, scsi_status=0
scsi_interpret_sense: path=0, target=10, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=0, target=11, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=0, target=12, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=0, target=13, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=0, target=14, lun=0, cam_status=4a,
scsi_status=0
[00] SIM="" HBA=“53C875+”
[00,0,0] type=00 ver=02 resp=02 SEAGATE ST32550N 0016
scsi_interpret_sense: path=0, target=0, lun=0, cam_status=c4, scsi_status=2
scsi_interpret_sense: error=70, sense=6, asc=29, ascq=0
scsi_interpret_sense: ASC_BUS_RESET
scsi_interpret_sense: path=0, target=0, lun=0, cam_status=c4, scsi_status=2
scsi_interpret_sense: error=70, sense=5, asc=24, ascq=0
scsi_interpret_sense: SK_ILLEGAL command 1a in commandbyte

This work-around is causing us a lot of problems, and I appreciate if a fix
can be found.
Thank you!
Alain Achkar

Hi Alain,

If you pass the device ID of the controller along with the PCI Index
you will be able to start the driver for the the controller specified.

E.g. devb-ncr8 cam verbose ncr8 pci=0,did=h

I did this with two 53C875 cards and when I would specify the device id
then only the specified controller would start.

Erick.


Alain Achkar <aachkar@storagequest.com> wrote:

Hello,

I have 2 Symbios (or LSI Logic) PCI cards in my PC. When I type the
following:

devb-ncr8 cam verbose ncr8 pci=0

I get:

scsi_interpret_sense: path=0, target=1, lun=0, cam_status=4a, scsi_status=0
scsi_interpret_sense: path=0, target=2, lun=0, cam_status=4a, scsi_status=0
scsi_interpret_sense: path=0, target=3, lun=0, cam_status=4a, scsi_status=0
scsi_interpret_sense: path=0, target=4, lun=0, cam_status=4a, scsi_status=0
scsi_interpret_sense: path=0, target=5, lun=0, cam_status=4a, scsi_status=0
scsi_interpret_sense: path=0, target=6, lun=0, cam_status=4a, scsi_status=0
scsi_interpret_sense: path=0, target=7, lun=0, cam_status=79, scsi_status=0
scsi_interpret_sense: path=0, target=8, lun=0, cam_status=4a, scsi_status=0
scsi_interpret_sense: path=0, target=9, lun=0, cam_status=4a, scsi_status=0
scsi_interpret_sense: path=0, target=10, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=0, target=11, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=0, target=12, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=0, target=13, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=0, target=14, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=1, target=0, lun=0, cam_status=4a, scsi_status=0
scsi_interpret_sense: path=1, target=1, lun=0, cam_status=79, scsi_status=0
scsi_interpret_sense: path=1, target=2, lun=0, cam_status=4a, scsi_status=0
scsi_interpret_sense: path=1, target=3, lun=0, cam_status=4a, scsi_status=0
scsi_interpret_sense: path=1, target=4, lun=0, cam_status=4a, scsi_status=0
scsi_interpret_sense: path=1, target=5, lun=0, cam_status=4a, scsi_status=0
scsi_interpret_sense: path=1, target=6, lun=0, cam_status=4a, scsi_status=0
scsi_interpret_sense: path=1, target=7, lun=0, cam_status=4a, scsi_status=0
scsi_interpret_sense: path=1, target=8, lun=0, cam_status=4a, scsi_status=0
scsi_interpret_sense: path=1, target=9, lun=0, cam_status=4a, scsi_status=0
scsi_interpret_sense: path=1, target=10, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=1, target=11, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=1, target=12, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=1, target=13, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=1, target=14, lun=0, cam_status=4a,
scsi_status=0
[00] SIM="" HBA=“53C875+”
[00,0,0] type=00 ver=02 resp=02 SEAGATE ST32550N 0016
[01] SIM="" HBA=“53C875+”
scsi_interpret_sense: path=0, target=0, lun=0, cam_status=c4, scsi_status=2
scsi_interpret_sense: error=70, sense=6, asc=29, ascq=0
scsi_interpret_sense: ASC_BUS_RESET
scsi_interpret_sense: path=0, target=0, lun=0, cam_status=c4, scsi_status=2
scsi_interpret_sense: error=70, sense=5, asc=24, ascq=0
scsi_interpret_sense: SK_ILLEGAL command 1a in commandbyte

If I type the following:

devb-ncr8 cam verbose ncr8 pci=1

I get the same results as above.

This shows that devb-ncr8 is scanning both cards regardless of the pci
option.
Can someone at QSSL please look into this?

We are writing a target mode driver that needs exclusive access to one card.
Right now, what I am forced to do is:

  1. slay devb-ncr8
  2. taspi devid=1 (Start my driver, which properly attaches to the
    specified card on its command line, in this case devid=1)
  3. devb-ncr8 cam verbose

Only now do I get the desired result:

scsi_interpret_sense: path=0, target=2, lun=0, cam_status=4a, scsi_status=0
scsi_interpret_sense: path=0, target=3, lun=0, cam_status=4a, scsi_status=0
scsi_interpret_sense: path=0, target=4, lun=0, cam_status=4a, scsi_status=0
scsi_interpret_sense: path=0, target=5, lun=0, cam_status=4a, scsi_status=0
scsi_interpret_sense: path=0, target=6, lun=0, cam_status=4a, scsi_status=0
scsi_interpret_sense: path=0, target=7, lun=0, cam_status=79, scsi_status=0
scsi_interpret_sense: path=0, target=8, lun=0, cam_status=4a, scsi_status=0
scsi_interpret_sense: path=0, target=9, lun=0, cam_status=4a, scsi_status=0
scsi_interpret_sense: path=0, target=10, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=0, target=11, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=0, target=12, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=0, target=13, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=0, target=14, lun=0, cam_status=4a,
scsi_status=0
[00] SIM="" HBA=“53C875+”
[00,0,0] type=00 ver=02 resp=02 SEAGATE ST32550N 0016
scsi_interpret_sense: path=0, target=0, lun=0, cam_status=c4, scsi_status=2
scsi_interpret_sense: error=70, sense=6, asc=29, ascq=0
scsi_interpret_sense: ASC_BUS_RESET
scsi_interpret_sense: path=0, target=0, lun=0, cam_status=c4, scsi_status=2
scsi_interpret_sense: error=70, sense=5, asc=24, ascq=0
scsi_interpret_sense: SK_ILLEGAL command 1a in commandbyte

This work-around is causing us a lot of problems, and I appreciate if a fix
can be found.
Thank you!
Alain Achkar

I only have SYM8751SP cards which are based on the 53C875 controller.

“Hardware Support Account” <hw@qnx.com> wrote in message
news:9rmhi9$ob$1@nntp.qnx.com

Hi Alain,

I am going to see if I can reproduce this here. Does it matter what
cards you used?

E.


Alain Achkar <> aachkar@storagequest.com> > wrote:
Hello,

I have 2 Symbios (or LSI Logic) PCI cards in my PC. When I type the
following:

devb-ncr8 cam verbose ncr8 pci=0

I get:

scsi_interpret_sense: path=0, target=1, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=0, target=2, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=0, target=3, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=0, target=4, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=0, target=5, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=0, target=6, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=0, target=7, lun=0, cam_status=79,
scsi_status=0
scsi_interpret_sense: path=0, target=8, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=0, target=9, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=0, target=10, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=0, target=11, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=0, target=12, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=0, target=13, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=0, target=14, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=1, target=0, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=1, target=1, lun=0, cam_status=79,
scsi_status=0
scsi_interpret_sense: path=1, target=2, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=1, target=3, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=1, target=4, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=1, target=5, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=1, target=6, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=1, target=7, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=1, target=8, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=1, target=9, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=1, target=10, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=1, target=11, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=1, target=12, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=1, target=13, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=1, target=14, lun=0, cam_status=4a,
scsi_status=0
[00] SIM="" HBA=“53C875+”
[00,0,0] type=00 ver=02 resp=02 SEAGATE ST32550N 0016
[01] SIM="" HBA=“53C875+”
scsi_interpret_sense: path=0, target=0, lun=0, cam_status=c4,
scsi_status=2
scsi_interpret_sense: error=70, sense=6, asc=29, ascq=0
scsi_interpret_sense: ASC_BUS_RESET
scsi_interpret_sense: path=0, target=0, lun=0, cam_status=c4,
scsi_status=2
scsi_interpret_sense: error=70, sense=5, asc=24, ascq=0
scsi_interpret_sense: SK_ILLEGAL command 1a in commandbyte

If I type the following:

devb-ncr8 cam verbose ncr8 pci=1

I get the same results as above.

This shows that devb-ncr8 is scanning both cards regardless of the pci
option.
Can someone at QSSL please look into this?

We are writing a target mode driver that needs exclusive access to one
card.
Right now, what I am forced to do is:

  1. slay devb-ncr8
  2. taspi devid=1 (Start my driver, which properly attaches to the
    specified card on its command line, in this case devid=1)
  3. devb-ncr8 cam verbose

Only now do I get the desired result:

scsi_interpret_sense: path=0, target=2, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=0, target=3, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=0, target=4, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=0, target=5, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=0, target=6, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=0, target=7, lun=0, cam_status=79,
scsi_status=0
scsi_interpret_sense: path=0, target=8, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=0, target=9, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=0, target=10, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=0, target=11, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=0, target=12, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=0, target=13, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=0, target=14, lun=0, cam_status=4a,
scsi_status=0
[00] SIM="" HBA=“53C875+”
[00,0,0] type=00 ver=02 resp=02 SEAGATE ST32550N 0016
scsi_interpret_sense: path=0, target=0, lun=0, cam_status=c4,
scsi_status=2
scsi_interpret_sense: error=70, sense=6, asc=29, ascq=0
scsi_interpret_sense: ASC_BUS_RESET
scsi_interpret_sense: path=0, target=0, lun=0, cam_status=c4,
scsi_status=2
scsi_interpret_sense: error=70, sense=5, asc=24, ascq=0
scsi_interpret_sense: SK_ILLEGAL command 1a in commandbyte

This work-around is causing us a lot of problems, and I appreciate if a
fix
can be found.
Thank you!
Alain Achkar

Hi Erick,

  1. Can you please clarify what you mean by specifying the device id?
    The online docs do not explain anything about the ‘did’ option. Can I get
    its proper syntax?

  2. It seems that devb-ncr8 does not have proper command-line argument
    parsing. It seems to accept any invalid option that is passed to it,
    without displaying any errors, so I never know when it has accepted a valid
    option, and when it has simply ignored my option either because it is not
    supported, or because I made a typing mistake.

  3. Having said all the above, I tried your command with 2 pci indices:

devb-ncr8 cam verbose ncr8 pci=0,did=h
devb-ncr8 cam verbose ncr8 pci=1,did=h

and none of them worked.

I guessed that maybe what you meant is to specify did=f (and not did=h),
since the output of my ‘pci’ command is the following:

Class = Mass Storage (SCSI)
Vendor ID = 1000h, LSI Logic
Device ID = fh, 53C875, 53C876 Ultra-Wide SCSI (53C876 is dual-channel)
PCI index = 0h
IO Address = e800h enabled
Mem Address = ea004000h enabled
Mem Address = ea000000h enabled
Expansion ROM = e8000000h disabled
PCI Int Pin = INT A
Interrupt line = 9

Class = Mass Storage (SCSI)
Vendor ID = 1000h, LSI Logic
Device ID = fh, 53C875, 53C876 Ultra-Wide SCSI (53C876 is dual-channel)
PCI index = 1h
IO Address = ec00h enabled
Mem Address = ea002000h enabled
Mem Address = ea003000h enabled
Expansion ROM = e9000000h disabled
PCI Int Pin = INT A
Interrupt line = 10

which means that my device id is 0x0F (or 15 decimal), so I tried:

slay devb-ncr8

devb-ncr8 cam verbose ncr8 pci=0,did=f

and I got:

scsi_interpret_sense: path=0, target=1, lun=0, cam_status=4a, scsi_status=0
scsi_interpret_sense: path=0, target=2, lun=0, cam_status=4a, scsi_status=0
scsi_interpret_sense: path=0, target=3, lun=0, cam_status=4a, scsi_status=0
scsi_interpret_sense: path=0, target=4, lun=0, cam_status=4a, scsi_status=0
scsi_interpret_sense: path=0, target=5, lun=0, cam_status=4a, scsi_status=0
scsi_interpret_sense: path=0, target=6, lun=0, cam_status=4a, scsi_status=0
scsi_interpret_sense: path=0, target=7, lun=0, cam_status=79, scsi_status=0
scsi_interpret_sense: path=0, target=8, lun=0, cam_status=4a, scsi_status=0
scsi_interpret_sense: path=0, target=9, lun=0, cam_status=4a, scsi_status=0
scsi_interpret_sense: path=0, target=10, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=0, target=11, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=0, target=12, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=0, target=13, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=0, target=14, lun=0, cam_status=4a,
scsi_status=0
[00] SIM="" HBA=“53C875+”
[00,0,0] type=00 ver=02 resp=02 SEAGATE ST32550N 0016
scsi_interpret_sense: path=0, target=0, lun=0, cam_status=c4, scsi_status=2
scsi_interpret_sense: error=70, sense=6, asc=29, ascq=0
scsi_interpret_sense: ASC_BUS_RESET
scsi_interpret_sense: path=0, target=0, lun=0, cam_status=c4, scsi_status=2
scsi_interpret_sense: error=70, sense=5, asc=24, ascq=0
scsi_interpret_sense: SK_ILLEGAL command 1a in commandbyte

which seems ok. Then I followed it with:

devb-ncr8 cam verbose ncr8 pci=1,did=f

Resulting in the following strange output:

scsi_interpret_sense: path=0, target=0, lun=0, cam_status=4a, scsi_status=0
scsi_interpret_sense: path=0, target=1, lun=0, cam_status=4a, scsi_status=0
scsi_interpret_sense: path=0, target=2, lun=0, cam_status=4a, scsi_status=0
scsi_interpret_sense: path=0, target=3, lun=0, cam_status=4a, scsi_status=0
scsi_interpret_sense: path=0, target=4, lun=0, cam_status=4a, scsi_status=0
scsi_interpret_sense: path=0, target=5, lun=0, cam_status=4a, scsi_status=0
scsi_interpret_sense: path=0, target=6, lun=0, cam_status=4a, scsi_status=0
scsi_interpret_sense: path=0, target=7, lun=0, cam_status=79, scsi_status=0
scsi_interpret_sense: path=0, target=8, lun=0, cam_status=4a, scsi_status=0
scsi_interpret_sense: path=0, target=9, lun=0, cam_status=4a, scsi_status=0
scsi_interpret_sense: path=0, target=10, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=0, target=11, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=0, target=12, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=0, target=13, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=0, target=14, lun=0, cam_status=4a,
scsi_status=0
[00] SIM="" HBA=“53C875+”

When I checked with my driver what was going on, it told me that the 2 PCI
indices 0 and 1 were “IN USE”.

So now I tried:

/root# slay devb-ncr8
slay: sbin/devb-ncr8 811034 on (tty not known) (y/N)? Y
slay: sbin/devb-ncr8 823325 on (tty not known) (y/N)? Y

followed by:

/root# devb-ncr8 cam verbose ncr8 pci=1,did=f
/root# scsi_interpret_sense: path=0, target=0, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=0, target=1, lun=0, cam_status=4a, scsi_status=0
scsi_interpret_sense: path=0, target=2, lun=0, cam_status=4a, scsi_status=0
scsi_interpret_sense: path=0, target=3, lun=0, cam_status=4a, scsi_status=0
scsi_interpret_sense: path=0, target=4, lun=0, cam_status=4a, scsi_status=0
scsi_interpret_sense: path=0, target=5, lun=0, cam_status=4a, scsi_status=0
scsi_interpret_sense: path=0, target=6, lun=0, cam_status=4a, scsi_status=0
scsi_interpret_sense: path=0, target=7, lun=0, cam_status=79, scsi_status=0
scsi_interpret_sense: path=0, target=8, lun=0, cam_status=4a, scsi_status=0
scsi_interpret_sense: path=0, target=9, lun=0, cam_status=4a, scsi_status=0
scsi_interpret_sense: path=0, target=10, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=0, target=11, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=0, target=12, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=0, target=13, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=0, target=14, lun=0, cam_status=4a,
scsi_status=0
[00] SIM="" HBA=“53C875+”


When I checked with my driver, it said that pci index=1 was “IN USE”.

So, I suspect that the proper syntax should be:

devb-ncr8 cam verbose ncr8 pci=1,did=f

however, your verbose output is reporting that “path=0” in both cases for
pci=0 and pci=1. What is not clear to me is whether ‘path’ actually means
the same as ‘pci index’ or not? And how come I get path=0 and path=1 when I
don’t specify the pci index.
Can you clarify that as well?

Thanks a lot!
Alain.

“Hardware Support Account” <hw@qnx.com> wrote in message
news:9rn27l$b12$1@nntp.qnx.com

Hi Alain,

If you pass the device ID of the controller along with the PCI Index
you will be able to start the driver for the the controller specified.

E.g. devb-ncr8 cam verbose ncr8 pci=0,did=h

I did this with two 53C875 cards and when I would specify the device id
then only the specified controller would start.

Erick.


Alain Achkar <> aachkar@storagequest.com> > wrote:
Hello,

I have 2 Symbios (or LSI Logic) PCI cards in my PC. When I type the
following:

devb-ncr8 cam verbose ncr8 pci=0

I get:

scsi_interpret_sense: path=0, target=1, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=0, target=2, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=0, target=3, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=0, target=4, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=0, target=5, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=0, target=6, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=0, target=7, lun=0, cam_status=79,
scsi_status=0
scsi_interpret_sense: path=0, target=8, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=0, target=9, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=0, target=10, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=0, target=11, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=0, target=12, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=0, target=13, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=0, target=14, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=1, target=0, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=1, target=1, lun=0, cam_status=79,
scsi_status=0
scsi_interpret_sense: path=1, target=2, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=1, target=3, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=1, target=4, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=1, target=5, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=1, target=6, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=1, target=7, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=1, target=8, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=1, target=9, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=1, target=10, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=1, target=11, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=1, target=12, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=1, target=13, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=1, target=14, lun=0, cam_status=4a,
scsi_status=0
[00] SIM="" HBA=“53C875+”
[00,0,0] type=00 ver=02 resp=02 SEAGATE ST32550N 0016
[01] SIM="" HBA=“53C875+”
scsi_interpret_sense: path=0, target=0, lun=0, cam_status=c4,
scsi_status=2
scsi_interpret_sense: error=70, sense=6, asc=29, ascq=0
scsi_interpret_sense: ASC_BUS_RESET
scsi_interpret_sense: path=0, target=0, lun=0, cam_status=c4,
scsi_status=2
scsi_interpret_sense: error=70, sense=5, asc=24, ascq=0
scsi_interpret_sense: SK_ILLEGAL command 1a in commandbyte

If I type the following:

devb-ncr8 cam verbose ncr8 pci=1

I get the same results as above.

This shows that devb-ncr8 is scanning both cards regardless of the pci
option.
Can someone at QSSL please look into this?

We are writing a target mode driver that needs exclusive access to one
card.
Right now, what I am forced to do is:

  1. slay devb-ncr8
  2. taspi devid=1 (Start my driver, which properly attaches to the
    specified card on its command line, in this case devid=1)
  3. devb-ncr8 cam verbose

Only now do I get the desired result:

scsi_interpret_sense: path=0, target=2, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=0, target=3, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=0, target=4, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=0, target=5, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=0, target=6, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=0, target=7, lun=0, cam_status=79,
scsi_status=0
scsi_interpret_sense: path=0, target=8, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=0, target=9, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=0, target=10, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=0, target=11, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=0, target=12, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=0, target=13, lun=0, cam_status=4a,
scsi_status=0
scsi_interpret_sense: path=0, target=14, lun=0, cam_status=4a,
scsi_status=0
[00] SIM="" HBA=“53C875+”
[00,0,0] type=00 ver=02 resp=02 SEAGATE ST32550N 0016
scsi_interpret_sense: path=0, target=0, lun=0, cam_status=c4,
scsi_status=2
scsi_interpret_sense: error=70, sense=6, asc=29, ascq=0
scsi_interpret_sense: ASC_BUS_RESET
scsi_interpret_sense: path=0, target=0, lun=0, cam_status=c4,
scsi_status=2
scsi_interpret_sense: error=70, sense=5, asc=24, ascq=0
scsi_interpret_sense: SK_ILLEGAL command 1a in commandbyte

This work-around is causing us a lot of problems, and I appreciate if a
fix
can be found.
Thank you!
Alain Achkar