From owner-freebsd-current@FreeBSD.ORG Wed Mar 24 11:29:34 2004 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 6798816A4CE for ; Wed, 24 Mar 2004 11:29:34 -0800 (PST) Received: from hanoi.cronyx.ru (hanoi.cronyx.ru [144.206.181.53]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8163843D2D for ; Wed, 24 Mar 2004 11:29:33 -0800 (PST) (envelope-from rik@cronyx.ru) Received: (from root@localhost) by hanoi.cronyx.ru id i2OJQ2n1025920 for freebsd-current@freebsd.org.checked; (8.12.8/vak/2.1) Wed, 24 Mar 2004 22:26:02 +0300 (MSK) (envelope-from rik@cronyx.ru) Received: from cronyx.ru (hi.cronyx.ru [144.206.181.94]) by hanoi.cronyx.ru with ESMTP id i2OJOw9l025875 for ; (8.12.8/vak/2.1) Wed, 24 Mar 2004 22:24:58 +0300 (MSK) (envelope-from rik@cronyx.ru) Message-ID: <4061E207.8070406@cronyx.ru> Date: Wed, 24 Mar 2004 22:31:19 +0300 From: Roman Kurakin User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.6b) Gecko/20031208 X-Accept-Language: en-us, en MIME-Version: 1.0 To: freebsd-current@freebsd.org Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Subject: ATA/CHS problem X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 24 Mar 2004 19:29:34 -0000 Hi, (Was "HDD question" on hackers@, posted also here cause this is also CURRENT problem) History: > I have some problems with my HDD (ST380021A). The problem was checked on 5.2, 5.2.1, and some > 5.Current (cvsuped about week or two). > > At first I got this problem while system installation. I get trap and message from ata after I start a commit: > FAILURE READ_DMA status=51 error=10 LBA=245529601 > > I started to hack sysinstall and finally came to simple program that could lead > to the same message from ata: > > fd = open ("/dev/ata0", O_RDWR); > read_block (fd, (daddr_t)41929650, 512); // this one could be changed to pair calls lseek and read, > // so this is not libdisk problem > > I checked the same code with /dev/ata1 which is twice as little, but I didn't > get any messages. > > I don't have any ideas where my read call goes, which drivers to look to catch this bug. > > So I need a help from some gurus in this area. What I've found since that time: This is not an LBA request. ATA driver thinks that I have 80G CHS device, cause it's ATA_FLAG_54_58 is zero. (This decision is incorrect, we shouldn't relay on this flag). I've checked another seagate 80G drive in CHS mode(by driver hacking), and problematic one with LBA mode. I get the same behavior on both with CHS. And both work fine in LBA mode. It also should be mentioned that I get this problem on machine with ICH2 controller, and it seems that I don't have such problem on other machine with ICH5. PS. If you have any ideas, or if you have any materials (standards for example) about ATA/ATAPI and you can share them with me, please let me know. I am not ata developer, so this is a bit difficalt for me to dig this problem. rik