atacontrol: ioctl(IOCATADEVICES): Device not configured

Miroslav Lachman 000.fbsd at quip.cz
Tue Oct 14 16:09:22 PDT 2008


FreeBSD 7.1-BETA amd64 GENERIC on HP ProLiant ML110 G5

When I tried to run 'atacontrol list' I got an error:
atacontrol: ioctl(IOCATADEVICES): Device not configured

It is after I switched HDD mode in BIOS to "Serial ATA" (it was "Auto" 
before)

Does it means that atacontrol list is not available for Serial ATA 
native mode? (I don't think so, because I am using atacontrol on another 
machines where disk are at AHCI mode AFAIK - Sun Fire X2100 M2 for example)


## pciconf -lv
atapci0 at pci0:0:31:2:    class=0x01018f card=0x31f4103c chip=0x29208086 
rev=0x02 hdr=0x00
     vendor     = 'Intel Corporation'
     device     = '82801IB/IR/IH (ICH9 Family) 4 port Serial ATA Storage 
Controller 1'
     class      = mass storage
     subclass   = ATA
none0 at pci0:0:31:3:      class=0x0c0500 card=0x31f4103c chip=0x29308086 
rev=0x02 hdr=0x00
     vendor     = 'Intel Corporation'
     device     = '82801IB/IR/IH (ICH9 Family) SMBus Controller'
     class      = serial bus
     subclass   = SMBus
atapci1 at pci0:0:31:5:    class=0x010185 card=0x31f4103c chip=0x29268086 
rev=0x02 hdr=0x00
     vendor     = 'Intel Corporation'
     device     = '82801IB/IR/IH (ICH9 Family) 2 port Serial ATA Storage 
Controller 2'
     class      = mass storage
     subclass   = ATA

bge0 at pci0:14:0:0:       class=0x020000 card=0x7051103c chip=0x165a14e4 
rev=0x00 hdr=0x00
     vendor     = 'Broadcom Corporation'
     device     = 'NetXtreme BCM5722 Gigabit Ethernet PCIe'
     class      = network
     subclass   = ethernet

## BIOS HDD mode: Serial ATA
## /var/run/dmesg.boog
atapci0: <Intel ICH9 SATA300 controller> port 
0x1c50-0x1c57,0x1c44-0x1c47,0x1c48-0x1c4f,0x1c40-0x1c43,0x1c10-0x1c1f,0x1c00-0x1c0f 
irq 17 at device 31.2 on pci0
atapci0: [ITHREAD]
ata2: <ATA channel 0> on atapci0
ata2: [ITHREAD]
ata3: <ATA channel 1> on atapci0
ata3: [ITHREAD]
pci0: <serial bus, SMBus> at device 31.3 (no driver attached)
atapci1: <Intel ICH9 SATA300 controller> port 
0x1c68-0x1c6f,0x1c5c-0x1c5f,0x1c60-0x1c67,0x1c58-0x1c5b,0x1c30-0x1c3f,0x1c20-0x1c2f 
irq 18 at device 31.5 on pci0
atapci1: [ITHREAD]
ata4: <ATA channel 0> on atapci1
ata4: [ITHREAD]
ata5: <ATA channel 1> on atapci1
ata5: [ITHREAD]
[...]
ad4: 953869MB <SAMSUNG HD103UJ 1AA01113> at ata2-master SATA300
ad5: 953869MB <SAMSUNG HD103UJ 1AA01113> at ata2-slave SATA300
ad6: 953869MB <SAMSUNG HD103UJ 1AA01113> at ata3-master SATA300
ad7: 953869MB <SAMSUNG HD103UJ 1AA01113> at ata3-slave SATA300
da0 at umass-sim0 bus 0 target 0 lun 0
da0: <USB 2.0 Flash Disk 1100> Removable Direct Access SCSI-0 device
da0: 40.000MB/s transfers
da0: 7936MB (16252928 512 byte sectors: 255H 63S/T 1011C)
acd0: DVDR <HL-DT-ST DVD-RAM GH15L/FA01> at ata4-master SATA150


## BIOS HDD mode: Auto
atapci0: <Intel ICH9 SATA300 controller> port 
0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0x1c10-0x1c1f,0x1c00-0x1c0f at 
device 31.2 on pci0
ata0: <ATA channel 0> on atapci0
ata0: [ITHREAD]
ata1: <ATA channel 1> on atapci0
ata1: [ITHREAD]
pci0: <serial bus, SMBus> at device 31.3 (no driver attached)
atapci1: <Intel ICH9 SATA300 controller> port 
0x1c68-0x1c6f,0x1c5c-0x1c5f,0x1c60-0x1c67,0x1c58-0x1c5b,0x1c30-0x1c3f,0x1c20-0x1c2f 
irq 18 at device 31.5 on pci0
atapci1: [ITHREAD]
ata2: <ATA channel 0> on atapci1
ata2: [ITHREAD]
ata3: <ATA channel 1> on atapci1
ata3: [ITHREAD]
[...]
ad0: 953869MB <SAMSUNG HD103UJ 1AA01113> at ata0-master SATA300
ad1: 953869MB <SAMSUNG HD103UJ 1AA01113> at ata0-slave SATA300
ad2: 953869MB <SAMSUNG HD103UJ 1AA01113> at ata1-master SATA300
ad3: 953869MB <SAMSUNG HD103UJ 1AA01113> at ata1-slave SATA300
da0 at umass-sim0 bus 0 target 0 lun 0
da0: <USB 2.0 Flash Disk 1100> Removable Direct Access SCSI-0 device
da0: 40.000MB/s transfers
da0: 7936MB (16252928 512 byte sectors: 255H 63S/T 1011C)
acd0: DVDR <HL-DT-ST DVD-RAM GH15L/FA01> at ata2-master SATA150


The motherboard has 6x SATA ports, 2 are marked "for optical/removable 
drives" and 4 are for HDDs.
System is booted from USB flash disk.
It is first time I see SATA devices attached as Master & Slave on same 
ATA channel, previously (on different machines) it was always as Master 
on separated channels. This configuration is worse if I want to utilize 
all drives at the same time (in RAIDZ). One drive can achieve 110MB/s 
read, both drives can achieve only 80MB/s each. ;(

Next strange thing is difference in Interrupts in systat output. With 
mode "Auto', each ATA channel is listed on separated IRQ, with mode 
"Serial ATA" channels are not listed but it seems that both are on the 
same interrupt as bge0. Am I right? So it seems better to not use 
"Serial ATA" mode settings.

## part of systat during read test by 'dd if=/dev/adN of=/dev/null'
## BIOS HDD mode: Serial ATA
Interrupts
8737 total
      uhci0 uhci
4734 bge0 uhci1
      uhci2 ehci
2001 cpu0: time
2002 cpu1: time

## BIOS HDD mode: Auto
Interrupts
9262 total
2660 ata0 irq14
2603 ata1 irq15
      uhci0 uhci
    1 bge0 uhci1
      uhci2 ehci
1999 cpu0: time
1999 cpu1: time


Let me know if (and what) more details are needed.

Miroslav Lachman


More information about the freebsd-stable mailing list