[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <49B6FDF6.7000100@gmail.com>
Date: Tue, 10 Mar 2009 17:55:34 -0600
From: Robert Hancock <hancockrwd@...il.com>
To: linux-kernel@...r.kernel.org
Cc: linux-kernel@...r.kernel.org
Subject: Re: LIBATA told me it's broken
Norman Diamond wrote:
> Sorry the kernel is 2.6.24.3 but I can't use a newer one
> yet because TASKFILEs broke in newer ones. This time I
> booted with kernel parameter hda=noprobe so the hard disk
> went to LIBATA instead of IDE. The breakage shown below
> is in LIBATA.
>
> If LIBATA is fixed in newer kernel versions please say.
> If there's a version of Slax where LIBATA works then maybe
> I can recompile its kernel without IDE.
There have been a ton of changes in libata since 2.6.24, it's hard to
say whether anything has changed along the way that would affect this.
The easiest way to find out is to try a newer kernel.
>
> struct sg_io_hdr sg_io;
> uint8_t cdb[16];
> uint8_t sense[32];
> uint8_t buffer[0x20000]; // length = 256 * 512
> memset(&sg_io, 0, sizeof sg_io);
> memset(&cdb, 0, sizeof cdb);
> memset(&sense, 0, sizeof sense);
> memset(&buffer, 0xe5, sizeof buffer);
> cdb[0] = 0x8a; // WRITE (16)
> cdb[6] = 0x0f;
> cdb[7] = 0xff;
> cdb[8] = 0xff;
> cdb[9] = 0x00; // start = 0x0fffff00
> cdb[12] = 0x01;
> cdb[13] = 0x00; // count = 0x0100
> sg_io.interface_id = 'S';
> sg_io.cmdp = cdb;
> sg_io.cmd_len = sizeof cdb;
> sg_io.dxferp = buffer;
> sg_io.dxfer_len = 256 * 512;
> sg_io.dxfer_direction = SG_DXFER_TO_DEV;
> sg_io.sbp = sense;
> sg_io.mx_sb_len = sizeof sense;
> sg_io.timeout = 2000;
> fd = open("/dev/sda", O_WRONLY); // succeeded
> ioctl(fd, SG_IO, &sg_io); // ioctl succeeded
> // but LIBATA failed
>
> CHECK CONDITION
> sense:
> 72 0b 14 00 00 00 00 0c 00 0a 80 00 00 00 00 00
> 0f ff ff 00
Anything in dmesg?
>
> /dev/sda is a 250GB SATA drive but Dell's Intel ICH7M
> presents it as ATA. Ranges before and after the magic
> LBA28 boundary wrote perfectly.
>
>
>
> --------------------------------------
> Power up the Internet with Yahoo! Toolbar.
> http://pr.mail.yahoo.co.jp/toolbar/
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists