# 7.2 x86 on IBM x306m with SAS RAID



## chrismor (Jun 18, 2009)

I inherited several of these machines the other day and want to update my existing farm.

Problem is the onboard SAS/SATA unified controller.  IBM supply a linux driver (aic94xx) which works fine with suse, but no use to me.

I tried loading aac.ko from the install disk, but still no joy.

I hunted adaptec's web and found the aac drivers for the base chipset for FreeBSD 7.0, so my questions are:

1.  How can I integrate these drivers into the boot media so I can see the disks to finish an install, or even see the disk array?

2.  If I can't integrate it, what are my options?  I have no floppy drive on the system, but do have USB ports.  Can I load it that way?


----------



## User23 (Jun 18, 2009)

1. Find out what Hardware you are using!

http://www-947.ibm.com/systems/supp...ocdisplay?lndocid=MIGR-61650&brandind=5000008



> RAID support
> Integrated IBM ServeRAID-7e (RAID-0, -1) or 7T SATA RAID adapter



2. Take a look in FreeBSD handbook found: 



> # RAID controllers interfaced to the SCSI subsystem
> device          ips        # IBM (Adaptec) ServeRAID



3. Take a look at the driver: http://www.FreeBSD.org/cgi/man.cgi?...ion=0&manpath=FreeBSD+7.2-RELEASE&format=html

Hm,


> Controllers supported by the ips driver include:
> 
> +o	 IBM ServeRAID 3H
> +o	 ServeRAID 4L/4M/4H
> ...



Well IBM said "7e or 7t", you have to find it out.

4. If the controller is supported and you configured it (in BIOS) to work as raid FreeBSD should recognize it and it should work. Just boot a 7.2 GENERIC Kernel and post the dmesg output here. This should be a standard for future questions.


----------



## chrismor (Jun 19, 2009)

I guess I should have been more concise.

BTX shows the array as disk0, but I get no driver attached.  My guess is it's not recognising the device ID of 0x043F

Any thoughts?

(abbreviated) dmesg output:

```
Copyright (c) 1992-2009 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
	The Regents of the University of California. All rights reserved.
FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 7.2-RELEASE #0: Fri May  1 08:49:13 UTC 2009
    [email]root@walker.cse.buffalo.edu[/email]:/usr/obj/usr/src/sys/GENERIC
Preloaded elf kernel "/boot/kernel/kernel" at 0xc12b9000.
Preloaded mfs_root "/boot/mfsroot" at 0xc12b91a8.
Preloaded elf module "/boot/kernel/ips.ko" at 0xc12b91ec.
Preloaded elf module "/boot/kernel/aac.ko" at 0xc12b9294.
Preloaded elf module "/boot/kernel/acpi.ko" at 0xc12b933c.
module_register: module aac/aacp already exists!
Module aac/aacp failed to register: 17
module_register: module aac/aacd already exists!
Module aac/aacd failed to register: 17
module_register: module pci/aacch already exists!
Module pci/aacch failed to register: 17
module_register: module pci/aac already exists!
Module pci/aac failed to register: 17
module_register: module ips/ipsd already exists!
Module ips/ipsd failed to register: 17
module_register: module pci/ips already exists!
Module pci/ips failed to register: 17
Calibrating clock(s) ... i8254 clock: 1193165 Hz
CLK_USE_I8254_CALIBRATION not specified - using default frequency
Timecounter "i8254" frequency 1193182 Hz quality 0
Calibrating TSC clock ... TSC clock: 3000126045 Hz

pcib3: <ACPI PCI-PCI bridge> at device 0.0 on pci2
pcib3:   domain            0
pcib3:   secondary bus     3
pcib3:   subordinate bus   3
pcib3:   I/O decode        0x4000-0x4fff
pcib3:   memory decode     0xc0200000-0xc02fffff
pcib3:   prefetched decode 0xc0600000-0xc06fffff
pci3: <ACPI PCI bus> on pcib3
pci3: domain=0, physical bus=3
found->	vendor=0x9005, dev=0x043f, revid=0x08
	domain=0, bus=3, slot=4, func=0
	class=01-04-00, hdrtype=0x00, mfdev=0
	cmdreg=0x0157, statreg=0x0430, cachelnsz=8 (dwords)
	lattimer=0x20 (960 ns), mingnt=0x80 (32000 ns), maxlat=0x6b (26750 ns)
	intpin=a, irq=10
	powerspec 2  supports D0 D3  current D0
	MSI supports 4 messages, 64 bit
	map[10]: type Memory, range 64, base 0xc0280000, size 18, enabled
pcib3: requested memory range 0xc0280000-0xc02bffff: good
pcib3: requested memory range 0xc0600000-0xc061ffff: good
pcib3: requested I/O range 0x4000-0x40ff: in range
pcib3: matched entry for 3.4.INTA
pcib3: slot 4 INTA hardwired to IRQ 19
pci3: <mass storage, RAID> at device 4.0 (no driver attached)
uhci0: <UHCI (generic) USB controller> port 0x3000-0x301f irq 23 at device 29.0 on pci0
uhci0: Reserved 0x20 bytes for rid 0x20 type 4 at 0x3000
ioapic0: routing intpin 23 (PCI IRQ 23) to vector 51
uhci0: [GIANT-LOCKED]
uhci0: [ITHREAD]
usb0: <UHCI (generic) USB controller> on uhci0
usb0: USB revision 1.0
uhub0: <Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1> on usb0
uhub0: 2 ports with 2 removable, self powered
uhci1: <UHCI (generic) USB controller> port 0x3020-0x303f irq 19 at device 29.1 on pci0
uhci1: Reserved 0x20 bytes for rid 0x20 type 4 at 0x3020
ioapic0: routing intpin 19 (PCI IRQ 19) to vector 52
uhci1: [GIANT-LOCKED]
uhci1: [ITHREAD]
usb1: <UHCI (generic) USB controller> on uhci1
usb1: USB revision 1.0
uhub1: <Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1> on usb1
uhub1: 2 ports with 2 removable, self powered
uhci2: <UHCI (generic) USB controller> port 0x3040-0x305f irq 18 at device 29.2 on pci0
uhci2: Reserved 0x20 bytes for rid 0x20 type 4 at 0x3040
ioapic0: routing intpin 18 (PCI IRQ 18) to vector 53
uhci2: [GIANT-LOCKED]
uhci2: [ITHREAD]
usb2: <UHCI (generic) USB controller> on uhci2
usb2: USB revision 1.0
uhub2: <Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1> on usb2
uhub2: 2 ports with 2 removable, self powered
ehci0: <Intel 82801GB/R (ICH7) USB 2.0 controller> mem 0xc0000000-0xc00003ff irq 23 at device 29.7 on pci0
ehci0: Reserved 0x400 bytes for rid 0x10 type 3 at 0xc0000000
ehci0: [GIANT-LOCKED]
ehci0: [ITHREAD]
usb3: EHCI version 1.0
usb3: companion controllers, 2 ports each: usb0 usb1 usb2
usb3: <Intel 82801GB/R (ICH7) USB 2.0 controller> on ehci0
usb3: USB revision 2.0
uhub3: <Intel EHCI root hub, class 9/0, rev 2.00/1.00, addr 1> on usb3
uhub3: 6 ports with 6 removable, self powered
pcib6: <ACPI PCI-PCI bridge> at device 30.0 on pci0
pcib6:   domain            0
pcib6:   secondary bus     10
pcib6:   subordinate bus   10
pcib6:   I/O decode        0x5000-0x5fff
pcib6:   memory decode     0xc0500000-0xc05fffff
pcib6:   prefetched decode 0xc8000000-0xcfffffff
pcib6:   Subtractively decoded bridge.
pci10: <ACPI PCI bus> on pcib6
pci10: domain=0, physical bus=10
found->	vendor=0x1002, dev=0x515e, revid=0x01
	domain=0, bus=10, slot=4, func=0
	class=03-00-00, hdrtype=0x00, mfdev=0
	cmdreg=0x0387, statreg=0x0290, cachelnsz=8 (dwords)
	lattimer=0x20 (960 ns), mingnt=0x08 (2000 ns), maxlat=0x00 (0 ns)
	intpin=a, irq=10
	powerspec 2  supports D0 D1 D2 D3  current D0
	map[10]: type Prefetchable Memory, range 32, base 0xc8000000, size 27, enabled
pcib6: requested memory range 0xc8000000-0xcfffffff: good
	map[14]: type I/O Port, range 32, base 0x5000, size  8, enabled
pcib6: requested I/O range 0x5000-0x50ff: in range
	map[18]: type Memory, range 32, base 0xc0500000, size 16, enabled
pcib6: requested memory range 0xc0500000-0xc050ffff: good
pcib6: matched entry for 10.4.INTA
pcib6: slot 4 INTA hardwired to IRQ 16
vgapci0: <VGA-compatible display> port 0x5000-0x50ff mem 0xc8000000-0xcfffffff,0xc0500000-0xc050ffff irq 16 at device 4.0 on pci10
isab0: <PCI-ISA bridge> at device 31.0 on pci0
isa0: <ISA bus> on isab0
atapci0: <Intel ICH7 UDMA100 controller> port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0x3080-0x308f at device 31.1 on pci0
atapci0: Reserved 0x10 bytes for rid 0x20 type 4 at 0x3080
ata0: <ATA channel 0> on atapci0
atapci0: Reserved 0x8 bytes for rid 0x10 type 4 at 0x1f0
atapci0: Reserved 0x1 bytes for rid 0x14 type 4 at 0x3f6
ata0: reset tp1 mask=03 ostat0=50 ostat1=00
ata0: stat0=0x00 err=0x01 lsb=0x14 msb=0xeb
ata0: stat1=0x00 err=0x00 lsb=0x00 msb=0x00
ata0: reset tp2 stat0=00 stat1=00 devices=0x4<ATAPI_MASTER>
ioapic0: routing intpin 14 (ISA IRQ 14) to vector 54
ata0: [MPSAFE]
ata0: [ITHREAD]
ioapic0: routing intpin 4 (ISA IRQ 4) to vector 55
ioapic0: routing intpin 1 (ISA IRQ 1) to vector 56
cpu0: <ACPI CPU> on acpi0
cpu0: switching to generic Cx mode
est0: <Enhanced SpeedStep Frequency Control> on cpu0
est: CPU supports Enhanced Speedstep, but is not recognized.
est: cpu_vendor GenuineIntel, msr f2c00000f23
device_attach: est0 attach returned 6
p4tcc0: <CPU Frequency Thermal Control> on cpu0
cpu1: <ACPI CPU> on acpi0
est1: <Enhanced SpeedStep Frequency Control> on cpu1
est: CPU supports Enhanced Speedstep, but is not recognized.
est: cpu_vendor GenuineIntel, msr f2c00000f23
device_attach: est1 attach returned 6
p4tcc1: <CPU Frequency Thermal Control> on cpu1
unknown: status reg test failed ff
unknown: status reg test failed ff
unknown: status reg test failed ff
unknown: status reg test failed ff
unknown: status reg test failed ff
unknown: status reg test failed ff
ahc_isa_probe 0: ioport 0xc00 alloc failed
ex_isa_identify()
ata: ata0 already exists; skipping it
atkbdc: atkbdc0 already exists; skipping it
sio: sio0 already exists; skipping it
pnp_identify: Trying Read_Port at 203
pnp_identify: Trying Read_Port at 243
pnp_identify: Trying Read_Port at 283
pnp_identify: Trying Read_Port at 2c3
pnp_identify: Trying Read_Port at 303
pnp_identify: Trying Read_Port at 343
pnp_identify: Trying Read_Port at 383
pnp_identify: Trying Read_Port at 3c3
PNP Identify complete
sc: sc0 already exists; skipping it
vga: vga0 already exists; skipping it
isa_probe_children: disabling PnP devices
isa_probe_children: probing non-PnP devices
pmtimer0 on isa0
orm0: <ISA Option ROMs> at iomem 0xc0000-0xcafff,0xce000-0xd37ff,0xe0000-0xe17ff pnpid ORM0000 on isa0
ata1 failed to probe at port 0x170 irq 15 on isa0
fdc0 failed to probe at port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on isa0
Device configuration finished.
Reducing kern.maxvnodes 133781 -> 100000
procfs registered
lapic: Divisor 2, Frequency 100004199 hz
Timecounter "TSC" frequency 3000126045 Hz quality -100
Timecounters tick every 1.000 msec
lo0: bpf attached
md0: Preloaded image </boot/mfsroot> 4423680 bytes at 0xc0dfab28
ATA PseudoRAID loaded
SMP: AP CPU #1 Launched!
cpu1 AP:
     ID: 0x01000000   VER: 0x00050014 LDR: 0x00000000 DFR: 0xffffffff
  lint0: 0x00010700 lint1: 0x00000400 TPR: 0x00000000 SVR: 0x000001ff
  timer: 0x000200ef therm: 0x00010000 err: 0x00010000 pcm: 0x00010000
ioapic0: Assigning ISA IRQ 1 to local APIC 0
ioapic0: Assigning ISA IRQ 4 to local APIC 1
ioapic0: Assigning ISA IRQ 9 to local APIC 0
ioapic0: Assigning ISA IRQ 12 to local APIC 1
ioapic0: Assigning ISA IRQ 14 to local APIC 0
ioapic0: Assigning PCI IRQ 16 to local APIC 1
ioapic0: Assigning PCI IRQ 17 to local APIC 0
ioapic0: Assigning PCI IRQ 18 to local APIC 1
ioapic0: Assigning PCI IRQ 19 to local APIC 0
ioapic0: Assigning PCI IRQ 23 to local APIC 1
acd0: FAILURE - READ_BIG MEDIUM ERROR asc=0x02 ascq=0x00 
GEOM_LABEL: Label for provider acd0 is iso9660/FreeBSD_Install.
acd0: FAILURE - READ_BIG MEDIUM ERROR asc=0x02 ascq=0x00 
Trying to mount root from ufs:/dev/md0
start_init: trying /sbin/init
start_init: trying /sbin/oinit
start_init: trying /sbin/init.bak
start_init: trying /rescue/init
start_init: trying /stand/sysinstall
GEOM_LABEL: Label ufsid/49fabd23737484d9 removed.
```


----------



## chrismor (Jun 19, 2009)

I should also add the controller is based on the Adaptec AIC-9405W device


----------



## User23 (Jun 25, 2009)

Is this your complete dmesg output? 

Can you please try out and post the output from: 


```
atacontrol list
```

and


```
atacontrol status ar0
```


----------



## chrismor (Jun 27, 2009)

User23 said:
			
		

> Is this your complete dmesg output?


The entire dmesg is at http://www.200sx.org/images/dmesg.306m



			
				User23 said:
			
		

> Can you please try out and post the output from:
> 
> 
> ```
> ...


ATA channel 0:
 Master: acd0 <HL-DT-STDVD-ROM GDR8083N/0L02> ATA/ATAPI revision 5
 Slave: No device present
ATA channel 1:
 Master: No device present
 Slave: No device present
ATA channel 2:
 Master: No device present
 Slave: No device present
ATA channel 3:
 Master: No device present
 Slave: No device present
ATA channel 4:
 Master: No device present
 Slave: No device present
ATA channel 5:
 Master: No device present
 Slave: No device present



			
				User23 said:
			
		

> ```
> atacontrol status ar0
> ```


[/QUOTE]
atacontrol: ioctl(IOCATARAIDSTATUS): Device not configured

I guess those results aren't suprising, because the drives are SAS, not SATA

I also confirmed it's not a ServeRAID controller, but an adaptec HostRAID.  I used the skeleton PCI driver code to attach to 9005/043F and that worked.  Can't do anything of course.

So I guess the bottom line is that this device is not supported.  Either find some PCI-X controllers that are and try to wire the drive cage back to them, or bin the machines.  I've no desire to run SuSE on them


----------



## User23 (Jun 29, 2009)

It's a pity, but it looks like you are right.


----------

