On 12 Aug 2005, at 15:08, Tejun Heo wrote:
Chris Boot wrote:
Hi Tejun,
On 12 Aug 2005, at 12:33, Chris Boot wrote:
Hi Tejun,
On 12 Aug 2005, at 12:28, Tejun Heo wrote:
Hello, Chris.
Chris Boot wrote:
On 12 Aug 2005, at 4:24, Tejun Heo wrote:
Chris Boot wrote:
Hi all,
I just recently took the plunge and bought 4 250 GB Seagate
drives and a 2 port Silicon Image 3112A controller card for
the 2 drives my motherboard doesn't handle. No matter how
hard I try, I can't get the hard drives to work: they are
detected correctly and work reasonably well under _very_
light load, but anything like building a RAID array is a
bit much and the whole controller seems to lock up.
I've tried adding the drive to the blacklist in the
sata_sil.c driver and I still have the same trouble: as
you can see the messages below relate to my patched kernel
with the blacklist fix. I've seen that this was discussed
just yesterday, but that seemed to give nothing: http://
www.ussg.iu.edu/hypermail/ linux/ kernel/0508.1/0310.html
Ready and willing to hack my kernel to pieces; this machine
is no use until I get all the drives working! Needless to
say the drives connected to the on-board VIA controller
work fine, as do the drives currently on the SiI
controller if I swap them around.
Any ideas?
TIA
Chris
[added linux-ide to cc list]
Can you please try w/ vanilla kernel (2.6.12 or 2.6.13-rc)?
And w/ one drive only?
I unplugged both drives from my on-board SATA controller and
left just one connected to the 3112A controller. Rebooted with
a fresh, vanilla 2.6.13-rc6 and ran:
You can leave drives on on-board SATA controller. It wouldn't
make any difference.
dd if=/dev/zero of=test.img bs=1M count=16384
After about 30 seconds I got the crash and the kernel started
repeating every 30 seconds (with different sector numbers):
ata1: command 0x35 timeout, stat 0xd9 host_stat 0x1
ata1: status=0xd9 { Busy }
SCSI error : <0 0 0 0> return code = 0x80000002
sda: Current: sense key=0xb
ASC=0x47 ASCQ=0x0
end_request: I/O error, dev sda, sector 14937602
ATA: abnormal status 0xD9 on port E0802087
ATA: abnormal status 0xD9 on port E0802087
ATA: abnormal status 0xD9 on port E0802087
dmesg:
Linux version 2.6.13-rc6 ([email protected]) (gcc
version 3.3.5-20050130 (Gentoo 3.3.5.20050130-r1,
ssp-3.3.5.20050130-1, pie-8.7.7.1)) #1 Fri Aug 12 12:31:25
BST 2005
...
libata version 1.11 loaded.
sata_sil version 0.9
ACPI: PCI Interrupt 0000:00:0a.0[A] -> GSI 18 (level, low) ->
IRQ 177
ata1: SATA max UDMA/100 cmd 0xE0802080 ctl 0xE080208A bmdma
0xE0802000 irq 177
ata2: SATA max UDMA/100 cmd 0xE08020C0 ctl 0xE08020CA bmdma
0xE0802008 irq 177
ata1: dev 0 cfg 49:2f00 82:346b 83:7d01 84:4023 85:3469
86:3c01 87:4023 88:207f
ata1: dev 0 ATA, max UDMA/133, 488397168 sectors: lba48
ata1: dev 0 configured for UDMA/100
scsi0 : sata_sil
ata2: no device found (phy stat 00000000)
scsi1 : sata_sil
Vendor: ATA Model: ST3250823AS Rev: 3.03
Type: Direct-Access ANSI SCSI
revision: 05
sata_via version 1.1
ACPI: PCI Interrupt 0000:00:0f.0[B] -> Link [ALKA] -> GSI 20
(level, low) -> IRQ 169
PCI: Via IRQ fixup for 0000:00:0f.0, from 11 to 9
sata_via(0000:00:0f.0): routed to hard irq line 9
ata3: SATA max UDMA/133 cmd 0xB400 ctl 0xB802 bmdma 0xC400 irq 169
ata4: SATA max UDMA/133 cmd 0xBC00 ctl 0xC002 bmdma 0xC408 irq 169
ata3: no device found (phy stat 00000000)
scsi2 : sata_via
ata4: no device found (phy stat 00000000)
scsi3 : sata_via
SCSI device sda: 488397168 512-byte hdwr sectors (250059 MB)
SCSI device sda: drive cache: write back
SCSI device sda: 488397168 512-byte hdwr sectors (250059 MB)
SCSI device sda: drive cache: write back
sda: sda1 sda2 sda3
Attached scsi disk sda at scsi0, channel 0, id 0, lun 0
Attached scsi generic sg0 at scsi0, channel 0, id 0, lun 0,
type 0
I forgot to mention previously but I even tried with "noapic
nolapic acpi=off pci=routeirq" and got the same trouble.
This is weird as ST3250823AS (and all Seagate .8 drives) are
known to work without any problem with sii 3112/3114. I
currently don't own such a drive but someone confirmed me that
ST3250823AS works w/ sii 3114 without any problem (including
bonnie++ results and all). So, I don't think it's the good old
mod15write problem.
I hope it's just a bad hardware, cable or something like that;
otherwise, you're hitting a new bug. Can you verify if the
drive works under windows?
Well, what piqued my interest is that the same drives work fine
on my on-board sata_via controller. All 4 drives were bought at
the same time and *seem* to be from the same batch, and all work
fine on the VIA controller and none work on the 3112A. I've also
tried different cables, all of which are Belkin which I thought
were decent quality.
I'll just try installing Winblows and let you know.
I just installed Windows XP SP2 and Cygwin:
$ dd if=/dev/zero of=test.img bs=1M count=4096
4096+0 records in
4096+0 records out
4294967296 bytes (4.3GB) copied, 166.27 seconds, 25.8 MB/s
So it works a treat, although it's slower than maybe it should
be: under linux and the VIA controller I get about 50 MB/sec, but
that may just be down to the OS.
Where do I start to debug the problem?
Many thanks,
Chris
[adding cc to Jeff Garzik. (Hi!)]
Hi again, Chris.
Unfortunately, I'm as lost as you are. Can you please do the
followings?
* Verify if read is free from the problem. ie. does "dd if=/dev/
sd? of=/dev/null" work?
Works like a treat at 30 MB/s. I do get a few errors in the log
(repeated a couple of times), but they seem mostly harmless:
ata1: status=0x51 { DriveReady SeekComplete Error }
ata1: error=0x04 { DriveStatusError }
* Turn on ATA_DEBUG and ATA_VERBOSE_DEBUG in include/linux/
libata.h (change #undef's to #define's) and make the drive hang.
The log should show what was going on.
While untarring and compiling the new kernel I got lots of:
ata1: status=0x51 { DriveReady SeekComplete Error }
ata1: error=0x84 { DriveStatusError BadCRC }
Syslog seems to die log before I get anything useful, and setting
loglevel 9 with SysRq gives:
ata_fill_sg: PRD[126]: 0x1206A000, 0x1000)
ata_fill_sg: PRD[127]: 0x1206B000, 0x1000)
ata_dev_select: ENTER, ata1: device 0, wait 1
ATA: abnormal status 0xD9 on port 0xE0804087
ATA: abnormal status 0xD9 on port 0xE0804087
ata_tf_load_mmio: hob: feat 0x0 nsect 0x3, lba 0x1 0x0 0x0
ata_tf_load_mmio: feat 0x0 nsect 0xF8 lba 0x1A 0xEF 0x33
ata_tf_load_mmio: device 0xE0
ATA: abnormal statux 0xD9 on port 0xE0804087
ata_exec_command_mmio: ata: cmd 0x35
ata_scsi_translate: EXIT
It then hangs for exactly 30 seconds, and more stuff flies by
followed by much the same messages EXCEPT:
1. There seems to be one less ata_fill_sg line every time, since PRD
[XXX] decrements by one every time.
2. The ata_tf_load_mmio lines give different nsect and lba, the
device stays the same.
Many thanks,
Chris
--
Chris Boot
[email protected]
http://www.bootc.net/
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
|
|