Updating an LSI 21320 Ultra320 SCSI HBA for use with IRIX

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
recondas
Moderator
Moderator
Posts: 5441
Joined: Sun Jun 06, 2004 5:55 pm
Location: NC - USA

Updating an LSI 21320 Ultra320 SCSI HBA for use with IRIX

Unread postby recondas » Fri Feb 04, 2011 2:31 pm

A few installation notes for anyone else who might be considering the adding a generic LSI21320 to an IP35-based system.

The LSI 21320 is a PCI-X dual-channel Ultra320 SCSI host bus adapter. Beginning with IRIX 6.5.24 the board has native IRIX support on IP35 based hardware platforms - the Fuel, Tezro, O3x0 or O3k.

During the initial boot following installation, the following appeared in boot messages <and was also written to the syslog>:

Code: Select all

ALERT: /hw/module/001c01/IXbrick/xtalk/11/pci-x/0/1a/scsi_ctlr/0:  Old scsi firmware. Download new fw with lsflash
ALERT: /hw/module/001c01/IXbrick/xtalk/11/pci-x/0/1b/scsi_ctlr/0:  Old scsi firmware. Download new fw with lsflash
and the board appeared in an L1 "pci" query as a PCI device running at 33MHz, and was listed in an hinv as a single ended SCSI controller:

Code: Select all

Integral SCSI controller 5: Version LS1030, single ended
Integral SCSI controller 6: Version LS1030, single ended

As suggested, I ran lsflash

Code: Select all

# /usr/sbin/lsflash /usr/firmware/ls/ls1030.fw 6
where "ls1030.fw" is the SGI provided firmware for the 21320 and "6" is the number of the SCSI controller to be flashed <the controller number(s) may differ depending upon system configuration but can be obtained from an hinv>. I'd strongly recommend reading the lsflash man page before proceeding.

The flash process took a few minutes. After receiving notice that the flash had completed successfully, the following appeared in the syslog

Code: Select all

NOTICE: /hw/module/001c01/IXbrick/xtalk/11/pci-x/0/1a/scsi_ctlr/0:  1030 scsi firmware version 1.3.39.16
NOTICE: /hw/module/001c01/IXbrick/xtalk/11/pci-x/0/1b/scsi_ctlr/0:  1030 scsi firmware version 1.3.39.16

The L1 command PCI now identified the board as PCI-X running at 133MHz, and an hinv listed the board as a low voltage differential SCSI controller:

Code: Select all

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


The process described above was successfully done on a Tezro running IRIX 6.5.30. There have been a few reports of lsflash causing system hangs, so I'd recommend reading the following before using the utility. This one regarding an O300: viewtopic.php?f=14&t=16720740&p=7299164&#p7299164 and this one a Fuel: viewtopic.php?f=3&t=14305&start=30&

NOTE: While I'm appreciative of reminders that there are faster methods of disk I/O, my intent wasn't to start yet another performance comparison thread. My post was intended to provide a very basic walk through of the process of updating a generic LSI U320 controller for use with IRIX for anyone facing that task for the first time.
***********************************************************************
Welcome to ARMLand - 0/0x0d00
running...(sherwood-root 0607201829)
* InfiniteReality/Reality Software, IRIX 6.5 Release *
***********************************************************************

ajw99uk
Posts: 261
Joined: Tue Apr 19, 2011 4:59 am
Location: Yorkshire, UK

Re: Updating an LSI 20320 [was 21320]

Unread postby ajw99uk » Thu Oct 13, 2011 7:33 am

LSI 20320-HP in Fuel

Further to the reports of successful implementation of LSI 21320-IS and 20320-IS cards in a Fuel, I thought it worth adding the LSI 20320-HP, not least because there have been some cheap example recently/currently on ebay, though it does lack an external connection (not a problem for my needs, as explained below). Do not be put off by the HP designation, the fact that the controller chip is a (1020 rather than 1030) and warnings on LSI's website against using their firmware updates on OEM cards!

Simply flashing with "lsflash /usr/firmware/ls/ls1030.fw 2" (where 2 was the controller number shown by hinv) had no apparent effect whatsoever - literally, as while the machine did not "hang", the console prompt did not return nor was there any error/success message. At that point, I thought some HP quirk in the card was going to prevent reflashing.

But I wasn't going to give up that easily. Downloaded LSI's firmware "it_1030.fw" (from the package for non-R cards) and ignored the "not for OEM cards" warning. Also updated the hardware graph with "ioconfig -f /hw", which caused the controller number to change from 2 to 3 (I had moved it down a PCI slot).

"lsflash /usr/firmware/ls/it_1030.fw 3" had no apparent effect (as above, not even a returned prompt). Oh dear.

BUT "lsflash /usr/firmware/ls/ls1030.fw 3" then worked as expected, downloading the firmware twice and changing the hinv description from "1030, single-ended" to "1030, low voltage differential" (again as expected).

A quick and dirty diskperf on root and /dev/dsk/dks2d3s0 showed almost no difference between the internal QLA12160 (with Fujitsi MAP3147NP) and the LSI20320 (Seagate ST3146807LW) - 69MB/s read speed across the size range. This is consistent with earlier reports that the U320 capability of the LSI card does not seem to be properly exploited by IRIX whereas the QLogic firmware is more mature.

I will never know whether the key was the LSI firmware, as an interim between HP firmware and ls1030.fw, or ioconfig refreshing the hwgraph records so that lsflash could find the card properly. Had it not been a bit of a rush job with half an ear on the baby monitor, I'd have kept notes as I went along!

As the original objective in adding the card was to get an external, narrow SCSI port, there is a bit more cable-rejigging to do, firstly to put the Seagate back on the internal controller. I have a backplate with HD50 socket and length 50-way ribbon. I can either (a) attach this to the SE port on the motherboard (assuming the ribbon is long enough), and run the DVDROM from the LSI card, or (b) put a 50/68 converter on the LSI. The converters I have don't fit very well, but slimmer ones are available.

Comments on cabling/airflow welcome - I went with option (a), with a straight run from the front edge of the m/b to the backplate. The external SCSI port is in PCI slot 0, USB card in slot 1 and LSI card in slot 2, leaving space over the V10. The 50-way ribbon runs close under the main ducting and does not seem to obstruct the PCI fan airflow. I suspect some pictures would better express what I mean here - please see picture below. Full hinv report now in the hinv forum.
f0240685.jpg



Cheers,
Andrew
Fuel; Indigo2; Inspiron 531 WinXP/Win10/debian-buster; Inspiron 4100 debian-buster; RiscPC Kinetic/448MB/RISCOS4.39; RPi B/256MB RISCOS5.23; RPi2 Raspbian-buster; A5000/33MHz/FPA11/8MB/RISCOS3.11; A540/25MHz/FPA10/16MB/RISCOS3.11 or RISCiX1.21

ajw99uk
Posts: 261
Joined: Tue Apr 19, 2011 4:59 am
Location: Yorkshire, UK

Re: Updating an LSI 21320 Ultra320 SCSI HBA for use with IRI

Unread postby ajw99uk » Sun Aug 19, 2012 2:26 pm

Quick update for reference - just acquired a 21320, lsflash'd without a hitch, worked out that the two channels show up as 1a and 1b in the hwgraph so tweaked the "force narrow" config option in irix.sm (maybe that's why it did not seem to work with the LSI20320) - though given that thh 50pin ribbon is only on channel B I should change that - and after rebooting it drives an external Syquest no problem. It is set up with two external sockets (50 and 68 pin) and one internal (on the same channel as the external 68pin)

If I have some spare time (and remember!) I'll refit the 20320 and see if I can persuade that to work after more careful perusal of /hw - however, the different shape of the 21320 did allow me to fit an "active" 68/50 adapter which I presume has high byte termination; this adapter will not fit on the 20320.
Fuel; Indigo2; Inspiron 531 WinXP/Win10/debian-buster; Inspiron 4100 debian-buster; RiscPC Kinetic/448MB/RISCOS4.39; RPi B/256MB RISCOS5.23; RPi2 Raspbian-buster; A5000/33MHz/FPA11/8MB/RISCOS3.11; A540/25MHz/FPA10/16MB/RISCOS3.11 or RISCiX1.21

Winnili
Posts: 178
Joined: Sat Sep 15, 2012 6:37 am
Location: W. Europe
Contact:

Re: Updating an LSI 21320 Ultra320 SCSI HBA for use with IRI

Unread postby Winnili » Sat Sep 15, 2012 9:00 pm

In a certain slot (I don't remember which one, presumably one of the lower slots on bus 2) I got nasty errors, with interrupting crashes. Later, in a different slot (I think bus 2, slot 1; as I removed all other removable cards, to be sure) it went fine:

Code: Select all

Integral SCSI controller 17: Version LS1030, low voltage differential
Integral SCSI controller 16: Version LS1030, low voltage differential
  Tape drive: unit 3 on SCSI controller 16: unknown


With a Compaq SDT-10000 (DDS-4/DAT40) tape drive whilst testing it. Before the firmware upgrade, as others have described, it would be recognized as “single ended” only and not terribly useful. (By the way, this is a non-OEM card, to my knowledge. I bought it as an “LSI 21320-IS”.)

The only thing I'm somewhat struggling with, is preventing an HP DS2100 (Disk System 2100) ― a 4-disk, Ultra320 SCSI enclosure, with 3-position (“A”, “B” and “C”) SCSI ID selector switch ― to not issue ID 0, but that's seemingly impossible. I don't have a lot of experience, yet, with external SCSI devices and IRIX. It seems that ID 0 ― for anything but the system disk, in my experience so far ― cause some problems, a bit like (e.g.) ID 7 and 15 do in some other operating systems (which may also depend on specific configurations). So, I'll ultimately probably have to resort to using another disk enclosure.
:Tezro: :Indigo2IMP: :Indigo2:

• Offering various remaining systems and parts, several interestingly compatible with both IRIX and OpenVMS (AXP and I64);
• Looking for an SGI O3000 IP59 1-GHz MIPS R16000 quad-processor node board (for a Tezro).

User avatar
recondas
Moderator
Moderator
Posts: 5441
Joined: Sun Jun 06, 2004 5:55 pm
Location: NC - USA

Re: Updating an LSI 21320 Ultra320 SCSI HBA for use with IRI

Unread postby recondas » Sun Sep 16, 2012 4:50 am

Winnili wrote:The only thing I'm somewhat struggling with, is preventing an HP DS2100 (Disk System 2100) ― a 4-disk, Ultra320 SCSI enclosure, with 3-position (“A”, “B” and “C”) SCSI ID selector switch ― to not issue ID 0, but that's seemingly impossible. I don't have a lot of experience, yet, with external SCSI devices and IRIX. It seems that ID 0 ― for anything but the system disk, in my experience so far ― cause some problems, a bit like (e.g.) ID 7 and 15 do in some other operating systems (which may also depend on specific configurations). So, I'll ultimately probably have to resort to using another disk enclosure.
You might find this post by jan-jaap interesting: viewtopic.php?f=3&t=16726073#p7347781

Winnili wrote:In a certain slot (I don't remember which one, presumably one of the lower slots on bus 2) I got nasty errors, with interrupting crashes. Later, in a different slot (I think bus 2, slot 1; as I removed all other removable cards, to be sure) it went fine:
Each PCI bus defaults to the lowest common denominator (such as 133MHz vs 33MHz, or PCI-X vs PCI), so a bus shared with a 33Mhz device (and perhaps even the overall power load on the bus) might have have some effect on the issues you were having. You might find the output of l1cmd pci helpful to check power, mode and speed of each PCI bus

Code: Select all

# l1cmd pci
Bus Slot Slot Stat Bus Stat  Power Mode/Speed
--- ---- --------- --------- ----- ----------
  1    1 0x80 0x01      0x04   15W PCI  66MHz
  2    1 0x00 0x0f      0x42  none PCI  33MHz
  2    2 0x00 0x00      0x42  7.5W PCI  33MHz
  2    3 0x00 0x01      0x42   15W PCI  33MHz
  3    1 0x00 0x0f      0x2c  none PCIX 133MHz
  3    2 0x00 0x0d      0x2c   15W PCIX 133MHz
  4    1 0x00 0x0e      0x6c   25W PCIX 133MHz
  4    2 0x00 0x0f      0x6c  none PCIX 133MHz
***********************************************************************
Welcome to ARMLand - 0/0x0d00
running...(sherwood-root 0607201829)
* InfiniteReality/Reality Software, IRIX 6.5 Release *
***********************************************************************


Return to “SGI: Hardware”

Who is online

Users browsing this forum: Baidu [Spider] and 1 guest