Subject: Problems with cmdide on iq80321
To: None <>
From: Chris Budd <>
List: port-arm
Date: 02/03/2004 10:44:31
I have an Intel iq80321 eval board running a fairly recent NetBSD build
(20040128).  In the dmesg included below, you can see NetBSD recognizes
and configures the PCI card -- a CMD 649 PCI ATA/IDE adapter.  It also
recognizes the hard drive, WDC AC21200H.  I cannot mount this NetBSD
drive nor can I create or view the disklabel.

This same card, cable, and hard drive work fine on a x86 PC running
NetBSD 1.6 from September 2002.  Therefore, I know this equipment works
and works with NetBSD.

I have tried twiddling jumper and switch settings on the iq80321, but it
either did nothing, or made it worse.

Couple of oddities:

1.  NetBSD 1.6.1 on the iq80321 board does not recognize and configure
    this card like NetBSD 1.6 did on the x86 PC; I believe 1.6 on the
    iq80321 does not congfigure the PCI card as well.
2.  NetBSD 1.6ZI (20040128) on the iq80321 uses a cmdide driver for this
    PCI card while 1.6 on the x86 PC uses a more generic pciide driver.

Unless someone has a better idea, my next step is to build my own NetBSD
configuration for the iq80321.  I can at least add some debug or maybe
change the configuration.


Here's the dmesg and disklabel output.

NetBSD 1.6ZI (IQ80321) #0: Thu Jan 29 19:00:39 UTC 2004
total memory = 128 MB
avail memory = 119 MB
mainbus0 (root)
cpu0 at mainbus0: i80321 600MHz rev 2 (XScale core)
cpu0: DC enabled IC enabled WB enabled LABT branch prediction enabled
cpu0: 32KB/32B 32-way Instruction cache
cpu0: 32KB/32B 32-way write-back-locking Data cache
obio0 at mainbus0
com0 at obio0 addr 0xfe800000 xint 1: ns16550a, working fifo
com0: console
iopxs0 at mainbus0: i80321 I/O Processor, acting as PCI host
iopxs0: configuring PCI bus
iopaau0 at iopxs0
iopiic0 at iopxs0: I2C controller
iic0 at iopiic0: I2C bus
iopiic1 at iopxs0: I2C controller
iic1 at iopiic1: I2C bus
iopwdog0 at iopxs0: 7 second period
pci0 at iopxs0 bus 0
pci0: i/o space, memory space enabled, rd/line, rd/mult, wr/inv ok
wm0 at pci0 dev 4 function 0: Intel i82544EI 1000BASE-T Ethernet, rev. 2
wm0: interrupting at irq 27
wm0: 64-bit 33MHz PCI bus
wm0: 64 word (6 address bits) MicroWire EEPROM
wm0: Ethernet address 00:07:e9:03:30:ce
makphy0 at wm0 phy 1: Marvell 88E1000 Gigabit PHY, rev. 0
makphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 
X, auto
cmdide0 at pci0 dev 6 function 0
cmdide0: CMD Technology PCI0649 (rev. 0x02)
cmdide0: bus-master DMA support present
cmdide0: primary channel configured to native-PCI mode
cmdide0: using irq 29 for native-PCI interrupt
atabus0 at cmdide0 channel 0
cmdide0: secondary channel configured to native-PCI mode
atabus1 at cmdide0 channel 1
clock: hz=100 stathz=0 profhz=0
wd0 at atabus1 drive 1: <WDC AC21200H>
wd0: drive supports 16-sector PIO transfers, LBA addressing
wd0: 1222 MB, 2484 cyl, 16 head, 63 sec, 512 bytes/sect x 2503872 sectors
wd0: 32-bit data port
wd0: drive supports PIO mode 4, DMA mode 2
wd0(cmdide0:1:1): using PIO mode 4, DMA mode 2 (using DMA data transfers)
boot device: <unknown>
root on wm0
nfs_boot: trying DHCP/BOOTP
nfs_boot: DHCP next-server:
nfs_boot: my_addr=
nfs_boot: my_mask=
nfs_boot: gateway=
root on cbudd:/usr/export/client/iq80321
warning: no /dev/console

. . .
. . .

errors when I attempted disklabel cmd

iq80321# disklabel -i -I wd0
wd0: transfer error, downgrading to PIO mode 4
wd0(cmdide0:1:1): using PIO mode 4
wd0c: error reading fsbn 6 (wd0 bn 6; cn 0 tn 0 sn 6), retrying
wd0: (aborted command)
cmdide0:1: bogus intr

. . .

wd0: filecore boot block I/O error
wd0c: error reading fsbn 0 (wd0 bn 0; cn 0 tn 0 sn 0), retrying
wd0: (aborted command)

. . .

wd0c: error reading fsbn 0 (wd0 bn 0; cn 0 tn 0 sn 0), retrying
wd0: (aborted command)

. . .

disklabel: Can't read master boot record 0: Input/output error
wd0c: error reading fsbn 0 of 0-15 (wd0 bn 0; cn 0 tn 0 sn 0), retrying
wd0: (aborted command)

. . .

disklabel: /dev/rwd0c: Input/output error


Learn how to choose, serve, and enjoy wine at Wine @ MSN.