ServeRAID ips driver problems

Jaworowski Rafal-ARJ004 Rafal.Jaworowski at motorola.com
Mon Sep 1 08:59:02 PDT 2003


[please reply to my address also since I'm not subscribed to the list]

I've got a ServeRAID II adapter and when trying to use it under 5.1-RELEASE I'm encountering the following issues:

1. kernel boot related.
When using a kernel with ips compiled in (i.e. GENERIC), the driver fails to get the logical disk info from the controller like this:

ips0: <IBM ServeRAID Adapter> port 0xd800-0xd8ff mem 0xff000000-0xff001fff irq 11 at device 13.0 on pci0
ips0: reinitializing adapter, this could take several minutes.
ips0: failed to get configuration from device
device_probe_and_attach: ips0 attach returned 6

Then it usually panics a bit later, but I don't have logs and traces available at the moment. I can re-generate them on demand as it's perfectly repeatable.
It also occured one time or two that the ips driver seemed to reinitialize the adapter successfully but found zero logical disks (even though there were defined) and would not panic then.
Later I figured out that when you don't compile ips in, and instead kldload it when in multiuser, it would get info on logical disks fine:

#kldload ips
ips0: <IBM ServeRAID Adapter> port 0xd800-0xd8ff mem 0xff000000-0xff001fff irq 11 at device 13.0 on pci0
ips0: reinitializing adapter, this could take several minutes.
ips0: logical drives: 1
ipsd0: <Logical Drive> on ips0
ipsd0: Logical Drive  (8678MB)

In this case, even though the ips reports drive's size correctly (8678MB), I've got problems with geometry - see below.

2. wrong geometry is being recognized.
After kldload-ing ips, I tried to label the disk:

# bsdlabel -Ae ipsd0
bsdlabel: /dev/ipsd0: no valid label found

# bsdlabel -Aw ipsd0 auto
# bsdlabel -Ae ipsd0
type: unknown
disk: amnesiac
label: 
flags:
bytes/sector: 512
sectors/track: 63
tracks/cylinder: 254
sectors/cylinder: 16002
cylinders: 62
sectors/unit: 995328
rpm: 3600
interleave: 1
trackskew: 0
cylinderskew: 0
headswitch: 0		# milliseconds
track-to-track seek: 0	# milliseconds
drivedata: 0 

8 partitions:
#        size   offset    fstype   [fsize bsize bps/cpg]
  c:   995328        0    unused        0     0         # "raw" part, don't edit

Which counts to some 486MB and this is apparently not what I have (8678MB logical disk size). When I manually tweak the disklabel contents so as to have the correct overall sector number (17772544), it would take it, but newfs somhow gets the (incorrect) auto settings. I'm not sure if this is GEOM or the ips driver still that recognizes geometry in a wrong way.

When the logical disk defined with ServeRAID config utility is =<2GB the bsdlabel would find the right geometry.

As mentioned earlier, I'm trying to bring 5.1-RELEASE to work with ServeRAID II. The machine is Dell Optiplex GX1p with A10 BIOS revision (latest available) and I'm booting from an ATA disk. I upgraded the ServeRAID BIOS version to 3.50.12 and firmware to 2.88.10 (the most recent I was able to find at IBM's site)

Loading/unloading ACPI doesn't make difference for any of the reported problems. Changing RAID parameters didn't help either (stripe sizes, mapping modes: extended/limited)

The ServeRAID adapter is not faulty since the one-floppy config utility from IBM allows to create arrays, define logical disks, verifies the media and the adapter itself are ok. Also W2k installs successfully and boots off of the RAID-defined disk.

I also applied some ips-related patches flying around in scsi- maillist archives (sent once by Scott) with no improvement.

Any help on this is appreciated. If there's anything else I could do in terms of log capturing etc. please let me know.

thanks,
Rafal


More information about the freebsd-scsi mailing list