Subject: [Dell PowerEdge 350] I2O support in NetBSD
To: None <netbsd-users@netbsd.org>
From: Igor Sobrado <igor@string1.ciencias.uniovi.es>
List: netbsd-users
Date: 10/12/2005 13:11:06
Hi again!

I have a problem using the iop driver to support PCI I/O processors
conforming to the I2O specification on a Dell PowerEdge 350 server.
Don't know if I2O support in PowerEdge 350 servers is revision 1.5,
or above, or not.  There is not a lot of documentation on both I2O
and ACPI details on the server documentation.  (ACPI will be the next
feature I will try to configure)

In fact, it seems not working now:

-------------------------------
fundphys: {3} iopctl showstatus
iopctl: /dev/iop0: Device not configured
-------------------------------

The machine is running a GENERIC kernel modified to use the second
serial port (the one in the front side of the server) as console port.

-------------------------------
fundphys: {5} cat /usr/src/sys/arch/i386/conf/GENERIC.local
#       $NetBSD: GENERIC.local,v 1.1 1996/09/09 16:37:08 mycroft Exp $
#
#       GENERIC.local -- local additions to the GENERIC configuration
#

options         CONSDEVNAME="\"com\"",CONADDR=0x2f8,CONSPEED=9600
options         CONS_OVERRIDE   # Always use above! independent of boot info
-------------------------------

On the other hand, the GENERIC machine description file includes all
options, subsystems and device drives required to support I2O:

-------------------------------
options         I2OVERBOSE      # verbose I2O driver messages
[...]
# I2O devices
iop*    at pci? dev ? function ?        # I/O processor
iopsp*  at iop? tid ?                   # SCSI/FC-AL ports
ld*     at iop? tid ?                   # block devices
dpti*   at iop? tid 0                   # DPT/Adaptec control interface
-------------------------------

This is the output of the GENERIC kernel, modified to support a serial
console, dmesg on this server:

-------------------------------
NetBSD 2.0.2 (GENERIC) #0: Tue Oct 11 15:02:39 CEST 2005
	operator@fundphys.ciencias.uniovi.es:/usr/src/sys/arch/i386/compile/GENERIC
total memory = 511 MB
avail memory = 492 MB
BIOS32 rev. 0 found at 0xfda74
mainbus0 (root)
cpu0 at mainbus0: (uniprocessor)
cpu0: Intel Pentium III (686-class), 851.98 MHz, id 0x68a
cpu0: features 383f9ff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,SEP,MTRR>
cpu0: features 383f9ff<PGE,MCA,CMOV,PAT,PSE36,MMX>
cpu0: features 383f9ff<FXSR,SSE>
cpu0: I-cache 16 KB 32B/line 4-way, D-cache 16 KB 32B/line 4-way
cpu0: L2 cache 256 KB 32B/line 8-way
cpu0: ITLB 32 4 KB entries 4-way, 2 4 MB entries fully associative
cpu0: DTLB 64 4 KB entries 4-way, 8 4 MB entries 4-way
cpu0: 8 page colors
pci0 at mainbus0 bus 0: configuration mode 1
pci0: i/o space, memory space enabled, rd/line, rd/mult, wr/inv ok
pchb0 at pci0 dev 0 function 0
pchb0: Intel 82443BX Host Bridge/Controller (AGP disabled) (rev. 0x03)
pchb0: fixing Idle/Pipeline DRAM Leadoff Timing
pcib0 at pci0 dev 7 function 0
pcib0: Intel 82371AB PCI-to-ISA Bridge (PIIX4) (rev. 0x02)
piixide0 at pci0 dev 7 function 1
piixide0: Intel 82371AB IDE controller (PIIX4) (rev. 0x01)
piixide0: bus-master DMA support present
piixide0: primary channel wired to compatibility mode
piixide0: primary channel interrupting at irq 14
atabus0 at piixide0 channel 0
piixide0: secondary channel wired to compatibility mode
piixide0: secondary channel interrupting at irq 15
atabus1 at piixide0 channel 1
uhci0 at pci0 dev 7 function 2: Intel 82371AB USB Host Controller (PIIX4) (rev. 0x01)
uhci0: interrupting at irq 10
usb0 at uhci0: USB revision 1.0
uhub0 at usb0
uhub0: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
Intel 82371AB Power Management Controller (PIIX4) (miscellaneous bridge, revision 0x02) at pci0 dev 7 function 3 not configured
fxp0 at pci0 dev 12 function 0: i82559 Ethernet, rev 8
fxp0: interrupting at irq 5
fxp0: Ethernet address 00:02:b3:b1:09:3a
inphy0 at fxp0 phy 1: i82555 10/100 media interface, rev. 4
inphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
fxp1 at pci0 dev 13 function 0: i82559 Ethernet, rev 8
fxp1: interrupting at irq 5
fxp1: Ethernet address 00:02:b3:b1:09:3b
inphy1 at fxp1 phy 1: i82555 10/100 media interface, rev. 4
inphy1: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
vga1 at pci0 dev 15 function 0: ATI Technologies Rage XL (rev. 0x27)
wsdisplay0 at vga1 kbdmux 1
wsmux1: connecting to wsdisplay0
isa0 at pcib0
com0 at isa0 port 0x3f8-0x3ff irq 4: ns16550a, working fifo
com1 at isa0 port 0x2f8-0x2ff irq 3: ns16550a, working fifo
com1: console
pckbc0 at isa0 port 0x60-0x64
pcppi0 at isa0 port 0x61
midi0 at pcppi0: PC speaker
sysbeep0 at pcppi0
isapnp0 at isa0 port 0x279: ISA Plug 'n Play device support
npx0 at isa0 port 0xf0-0xff: using exception 16
fdc0 at isa0 port 0x3f0-0x3f7 irq 6 drq 2
isapnp0: no ISA Plug 'n Play devices found
fd0 at fdc0 drive 0: 1.44MB, 80 cyl, 2 head, 18 sec
Kernelized RAIDframe activated
wd0 at atabus0 drive 0: <WDC WD200BB-18CAA0>
wd0: drive supports 16-sector PIO transfers, LBA addressing
wd0: 19073 MB, 38752 cyl, 16 head, 63 sec, 512 bytes/sect x 39062500 sectors
wd0: 32-bit data port
wd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 5 (Ultra/100)
wd0(piixide0:0:0): using PIO mode 4, Ultra-DMA mode 2 (Ultra/33) (using DMA data transfers)
atapibus0 at atabus1: 2 targets
cd0 at atapibus0 drive 0: <CD-224E, , 1.7A> cdrom removable
cd0: 32-bit data port
cd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 2 (Ultra/33)
cd0(piixide0:1:0): using PIO mode 4, Ultra-DMA mode 2 (Ultra/33) (using DMA data transfers)
boot device: wd0
root on wd0a dumps on wd0b
root file system type: ffs
fxp0: Microcode loaded: int delay: 1000 usec, max bundle: 6
fxp1: Microcode loaded: int delay: 1000 usec, max bundle: 6
wsdisplay0: screen 1 added (80x25, vt100 emulation)
wsdisplay0: screen 2 added (80x25, vt100 emulation)
wsdisplay0: screen 3 added (80x25, vt100 emulation)
wsdisplay0: screen 4 added (80x25, vt100 emulation)
-------------------------------

I suppose that either I am doing something wrong (most probably)
or this server does not support I2O revision 1.5 or above.

Certainly, I2O *is* supported by this server.  Just not sure
about the revision level of I2O on it.

Dell diagnostics do not show errors on this server at all.

Cheers,
Igor.