Changing the ID of the SCSI controller

SGI hardware problems, solutions, tips, hacks, etc.
Forum rules
Any posts concerning pirated software or offering to buy/sell/trade commercial software are subject to removal.
User avatar
jan-jaap
Posts: 4007
Joined: Thu Jun 17, 2004 11:35 am
Location: Wijchen, The Netherlands

Changing the ID of the SCSI controller

Unread postby jan-jaap » Tue Jan 17, 2012 2:37 pm

In wanted to attach a DELL PowerVault 220S (dual Ultra 320 SCSI enclosure) to my SGI's. The PowerVault assigns ID 0 ... 5 to disks, 6 to the SES controller, and 8 ... 15 to disks again.

SGI hardware typically reserves ID0 for the SCSI controller, so I was afraid I would be able to use only 13 of the 14 disk slots.

Turns out you can change the ID of the SCSI host controller from the PROM:

Code: Select all

setenv scsihostid 7

The result, with the array configured as a single bus attached to my Tezro:

Code: Select all

Integral SCSI controller 1: Version QL12160, low voltage differential
  Disk drive: unit 0 on SCSI controller 1 (unit 0)
  Disk drive: unit 1 on SCSI controller 1 (unit 1)
  Disk drive: unit 2 on SCSI controller 1 (unit 2)
  Disk drive: unit 3 on SCSI controller 1 (unit 3)
  Disk drive: unit 4 on SCSI controller 1 (unit 4)
  Disk drive: unit 5 on SCSI controller 1 (unit 5)
  Scanner: unit 6 on SCSI controller 1
  Disk drive: unit 10 on SCSI controller 1 (unit 10)
  Disk drive: unit 11 on SCSI controller 1 (unit 11)
  Disk drive: unit 12 on SCSI controller 1 (unit 12)
  Disk drive: unit 13 on SCSI controller 1 (unit 13)

(Currently running with 10 disks; I'm 4 disk brackets short)

I'm curious about the performance when fully populated with 72GB 15K.3 disks, in two groups of 7 disks and attached to a dual Ultra320 controller (LSI1030). In theory it should peak at 640MB/s 8-)

Changing the SCSI host ID this way is a bit of a hack: it changes the host ID of all controllers in the system
Now this is a deep dark secret, so everybody keep it quiet :)
It turns out that when reset, the WD33C93 defaults to a SCSI ID of 0, and it was simpler to leave it that way... -- Dave Olson, in comp.sys.sgi

Currently in commercial service: Image :Onyx2:(2x) :O3x02L:
In the museum: almost every MIPS/IRIX system.
Wanted: GM1 board for Professional Series GT graphics (030-0076-003, 030-0076-004)

hamei
Posts: 9983
Joined: Tue Feb 24, 2004 5:10 pm
Location: over the rainbow

Re: Changing the ID of the SCSI controller

Unread postby hamei » Tue Jan 17, 2012 7:30 pm


That's a pretty cool trick, j-j. Could occasionally be useful. Thank you for mentioning it.

User avatar
miod
Posts: 308
Joined: Fri Oct 09, 2009 2:44 am
Location: Orgerus (France)
Contact:

Re: Changing the ID of the SCSI controller

Unread postby miod » Thu Jan 19, 2012 8:35 am

jan-jaap wrote:Changing the SCSI host ID this way is a bit of a hack: it changes the host ID of all controllers in the system

I saw one Fuel with this environment variable declared with the value 00. Since the Fuel has two on-board controllers, it is likely possible to specify an id per controller. In your case, trying 07 ought to keep id 0 for the internal controller, and use 7 for the external controller... or maybe the opposite ;)
:Indigo:R4000 :Indigo:R4000 :Indigo:R4000 :Indigo2:R4400 :Indigo2IMP:R4400 :Indigo2:R8000 :Indigo2IMP:R10000 :Indy:R4000PC :Indy:R4000SC :Indy:R4600 :Indy:R5000SC :O2:R5000 :O2:RM7000 :Octane:2xR10000 :Octane:R12000 :O200:2xR12000 :O200: - :O200:2x2xR10000 :Fuel:R16000 :O3x0:4xR16000 :A350:
among more than 150 machines : Apollo, Data General, Digital, HP, IBM, MIPS before SGI, Motorola, NeXT, SGI, Solbourne, Sun...

User avatar
jan-jaap
Posts: 4007
Joined: Thu Jun 17, 2004 11:35 am
Location: Wijchen, The Netherlands

Re: Changing the ID of the SCSI controller

Unread postby jan-jaap » Tue Feb 28, 2012 6:52 am

jan-jaap wrote:Changing the SCSI host ID this way is a bit of a hack: it changes the host ID of all controllers in the system

This is wrong. Or at least it is incomplete.

Changing the scsihostid variable in PROM changes the hostid of the standard onboard scsi controllers.

I added an LSI dual Ultra320 controller to improve the transfer rates of my PowerVault, and it was completely unaffected by the scsihostid variable.

But /var/sysgen/system/irix.sm lists a variety of tunables for the LSI driver ('ls'). One of them is:

Code: Select all

ls_scsi_hostid (valid for controller only)
   (valid range 0-15, default is 0)

The syntax is a little involved, but you can (no, you must) set it per controller, like this

Code: Select all

* Set the SCSI ID to 7 for the LSI dual U320 card to make the PowerVault 220S work
DEVICE_ADMIN: /hw/module/001c01/IXbrick/xtalk/11/pci-x/1/1a/scsi_ctlr/0 ls_scsi_hostid=7
DEVICE_ADMIN: /hw/module/001c01/IXbrick/xtalk/11/pci-x/1/1b/scsi_ctlr/0 ls_scsi_hostid=7

The dual U320 scsi controller shows up in 'hinv' like this:

Code: Select all

Integral SCSI controller 5: Version LS1030, low voltage differential
Integral SCSI controller 6: Version LS1030, low voltage differential

The full device path for controllers 5 & 6 can then be found like this:

Code: Select all

tezro 12# ls -l /hw/scsi_ctlr/
total 0
lrw-------    1 root     sys           57 Feb 28 14:43 0 -> /hw/module/001c01/IXbrick/xtalk/15/pci-x/0/3/scsi_ctlr/0
lrw-------    1 root     sys           57 Feb 28 14:43 1 -> /hw/module/001c01/IXbrick/xtalk/15/pci-x/0/3/scsi_ctlr/1
lrw-------    1 root     sys           57 Feb 28 14:43 2 -> /hw/module/001c01/IXbrick/xtalk/15/pci-x/0/1/scsi_ctlr/0
lrw-------    1 root     sys           58 Feb 28 14:43 3 -> /hw/module/001c01/IXbrick/xtalk/11/pci-x/0/1a/scsi_ctlr/0
lrw-------    1 root     sys           58 Feb 28 14:43 4 -> /hw/module/001c01/IXbrick/xtalk/11/pci-x/0/1b/scsi_ctlr/0
lrw-------    1 root     sys           58 Feb 28 14:43 5 -> /hw/module/001c01/IXbrick/xtalk/11/pci-x/1/1a/scsi_ctlr/0
lrw-------    1 root     sys           58 Feb 28 14:43 6 -> /hw/module/001c01/IXbrick/xtalk/11/pci-x/1/1b/scsi_ctlr/0
lrw-------    1 root     sys           58 Feb 28 14:43 7 -> /hw/module/001c01/IXbrick/xtalk/11/pci-x/1/2a/scsi_ctlr/0
lrw-------    1 root     sys           58 Feb 28 14:43 8 -> /hw/module/001c01/IXbrick/xtalk/11/pci-x/1/2b/scsi_ctlr/0

After a quick '/etc/autoconfig -fv' & reboot, the PowerVault 220S shows up:

Code: Select all

Integral SCSI controller 5: Version LS1030, low voltage differential
  Disk drive: unit 0 on SCSI controller 5 (unit 0)
  Disk drive: unit 1 on SCSI controller 5 (unit 1)
  Disk drive: unit 2 on SCSI controller 5 (unit 2)
  Disk drive: unit 3 on SCSI controller 5 (unit 3)
  Disk drive: unit 4 on SCSI controller 5 (unit 4)
  Disk drive: unit 5 on SCSI controller 5 (unit 5)
  Scanner: unit 6 on SCSI controller 5
  Disk drive: unit 8 on SCSI controller 5 (unit 8)
Integral SCSI controller 6: Version LS1030, low voltage differential
  Scanner: unit 6 on SCSI controller 6
  Disk drive: unit 9 on SCSI controller 6 (unit 9)
  Disk drive: unit 10 on SCSI controller 6 (unit 10)
  Disk drive: unit 11 on SCSI controller 6 (unit 11)
  Disk drive: unit 12 on SCSI controller 6 (unit 12)
  Disk drive: unit 13 on SCSI controller 6 (unit 13)
  Disk drive: unit 14 on SCSI controller 6 (unit 14)
  Disk drive: unit 15 on SCSI controller 6 (unit 15)

Notice the disk at SCSI ID 0 on controller 5

Each channel of the Powervault contains a management module which shows up as a scanner in IRIX :roll:
Now this is a deep dark secret, so everybody keep it quiet :)
It turns out that when reset, the WD33C93 defaults to a SCSI ID of 0, and it was simpler to leave it that way... -- Dave Olson, in comp.sys.sgi

Currently in commercial service: Image :Onyx2:(2x) :O3x02L:
In the museum: almost every MIPS/IRIX system.
Wanted: GM1 board for Professional Series GT graphics (030-0076-003, 030-0076-004)


Return to “SGI: Hardware”

Who is online

Users browsing this forum: Google [Bot] and 2 guests