linux-ide.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Tejun Heo <htejun@gmail.com>
To: Chris Boot <bootc@bootc.net>
Cc: Jeff Garzik <jgarzik@pobox.com>,
	Linux-ide <linux-ide@vger.kernel.org>,
	linux-kernel@vger.kernel.org
Subject: Re: SiI 3112A + Seagate HDs = still no go?
Date: Sat, 13 Aug 2005 10:13:33 +0900	[thread overview]
Message-ID: <42FD493D.8020506@gmail.com> (raw)
In-Reply-To: <74C9A166-2FDC-45F8-BEB1-A574FD9602D4@bootc.net>


  Hello, Chris.

Chris Boot wrote:
> On 12 Aug 2005, at 15:08, Tejun Heo wrote:
> 
>>
>> [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 }

  This is IDE ABRT error and it indicates that something strange is 
going on.  You're not getting this kind of error on VIA controller, right?

>>  * 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 }

  Wow, this is CRC error.  Something is wrong w/ your controller.

> 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.

  30 secs is SCSI command timeout and retrying w/ one less chunk is sd 
driver's error recovery behavior.

  It seems that a lot of errors occur while bits are going through your 
SATA connection.  I don't know about Seagate drives, but my Samsung 
drive sometimes locks up if it gets weird packets/commands.  This might 
be also your case.  PHY-resetting usually gets the drive back online but 
currently libata doesn't do any such error recovery actions.  To make 
sure that it's because of faulty controller, can you please try the 
following?

  * Monitor how IO goes on the drive in Windows.  You can do this by
      - Start->Run and enter perfmon.
      - After perfmon starts, right click on (heh heh, I guess this is
        one of those few times you read this on linux kernel mailing
        list) counter list and select add. Add DiskBytes/sec counter of
        PhysicalDisk object.
      - Adjust scale to 0.0000010.  Also, change color to black to make
        it stand out.
      - start dd.

  I think, if the errors are due to hardware error, the perfmon graph 
will show some stuttering when it hits command timeout.  So, write to 
disk, as writing seems to cause timeouts.  If the problem also happens 
on Windows, it's highly likely that you have a faulty controller.

-- 
tejun

  parent reply	other threads:[~2005-08-13  1:13 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <12872CA9-F089-4955-8751-8CC4E7B2140A@bootc.net>
2005-08-12  3:24 ` SiI 3112A + Seagate HDs = still no go? Tejun Heo
2005-08-12 10:57   ` Chris Boot
2005-08-12 11:28     ` Tejun Heo
2005-08-12 11:33       ` Chris Boot
2005-08-12 13:23         ` Chris Boot
2005-08-12 14:08           ` Tejun Heo
2005-08-12 16:27             ` Chris Boot
     [not found]             ` <74C9A166-2FDC-45F8-BEB1-A574FD9602D4@bootc.net>
2005-08-13  1:13               ` Tejun Heo [this message]
2005-08-13 12:14                 ` Chris Boot
2005-08-13 14:59                   ` Tejun Heo
2005-08-17 10:32                     ` SiI 3112A + Seagate HDs = still no go? [SOLVED] Chris Boot
2005-08-12 15:19 ` SiI 3112A + Seagate HDs = still no go? Roger Heflin
2005-08-12 15:20   ` Chris Boot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=42FD493D.8020506@gmail.com \
    --to=htejun@gmail.com \
    --cc=bootc@bootc.net \
    --cc=jgarzik@pobox.com \
    --cc=linux-ide@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).