* Re: Very old IDE hard drive (240 MB) detected as 1.1 TB
[not found] <200902131428.40212.hanno@hboeck.de>
@ 2009-02-13 14:34 ` Robert Hancock
2009-02-14 12:52 ` Hanno Böck
0 siblings, 1 reply; 8+ messages in thread
From: Robert Hancock @ 2009-02-13 14:34 UTC (permalink / raw)
To: Hanno Böck; +Cc: linux-kernel, ide
(ccing linux-ide)
Hanno Böck wrote:
> I was about to shred some old hard drives. On one Hard drive, identified as:
> Conner Peripherals 240MB - CP30254
>
> it was detected as 1.1 TB (!) and obviously throwing lots of errors after
> getting over 240 MB.
>
> Is this issue worth investigating further? System is ubuntu 8.10. If anyone
> wants to have a deeper look, I can obviously donate that harddrive if you pay
> me shipping costs.
That would be worth investigating, yes.. If you can provide the dmesg
output from bootup, as well as the output of hdparm --Istdout on the
disk device, that would be useful..
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Very old IDE hard drive (240 MB) detected as 1.1 TB
2009-02-13 14:34 ` Very old IDE hard drive (240 MB) detected as 1.1 TB Robert Hancock
@ 2009-02-14 12:52 ` Hanno Böck
2009-02-14 13:21 ` Sergei Shtylyov
0 siblings, 1 reply; 8+ messages in thread
From: Hanno Böck @ 2009-02-14 12:52 UTC (permalink / raw)
To: Robert Hancock; +Cc: linux-kernel, ide
[-- Attachment #1: Type: text/plain, Size: 485 bytes --]
Am Freitag 13 Februar 2009 schrieb Robert Hancock:
> That would be worth investigating, yes.. If you can provide the dmesg
> output from bootup, as well as the output of hdparm --Istdout on the
> disk device, that would be useful..
That (and a bit more, normal hdparm output, smartctl output) here:
http://files.hboeck.de/conner/
(please forward to potentially interested lists)
--
Hanno Böck Blog: http://www.hboeck.de/
GPG: 3DBD3B20 Jabber/Mail: hanno@hboeck.de
[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 197 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Very old IDE hard drive (240 MB) detected as 1.1 TB
2009-02-14 12:52 ` Hanno Böck
@ 2009-02-14 13:21 ` Sergei Shtylyov
2009-02-14 14:25 ` Mark Lord
0 siblings, 1 reply; 8+ messages in thread
From: Sergei Shtylyov @ 2009-02-14 13:21 UTC (permalink / raw)
To: Hanno Böck; +Cc: Robert Hancock, linux-kernel, ide
Hello.
Hanno Böck wrote:
>> That would be worth investigating, yes.. If you can provide the dmesg
>> output from bootup, as well as the output of hdparm --Istdout on the
>> disk device, that would be useful..
>>
>
> That (and a bit more, normal hdparm output, smartctl output) here:
> http://files.hboeck.de/conner/
>
It has the current capacity in words 57-58 swapped:
/dev/sdb:
0c5a 037f 0000 000a 8723 0275 0037 0030
000a 0000 2020 2020 2020 2020 2020 424d
3948 4d31 5020 2020 0003 0040 0004 302e
3336 2020 2020 436f 6e6e 6572 2050 6572
6970 6865 7261 6c73 2032 3430 4d42 202d
2043 5033 3032 3534 2020 2020 2020 8010
0000 0001 0000 0200 0202 0001 037f 000a
0037 0007 82da 0000 0000 0000 0000 0000
It must be 82da 0007, not 0007 82da.
IIRC, the IDE core doesn't trust the value reported in these words
(and I have knowledge of some other old disks reporting a bogus value
there), but liabata does (naively :-).
MBR, Sergei
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Very old IDE hard drive (240 MB) detected as 1.1 TB
2009-02-14 13:21 ` Sergei Shtylyov
@ 2009-02-14 14:25 ` Mark Lord
2009-02-14 15:31 ` Maciej W. Rozycki
0 siblings, 1 reply; 8+ messages in thread
From: Mark Lord @ 2009-02-14 14:25 UTC (permalink / raw)
To: Sergei Shtylyov; +Cc: Hanno Böck, Robert Hancock, linux-kernel, ide
Sergei Shtylyov wrote:
> Hello.
>
> Hanno Böck wrote:
>
>>> That would be worth investigating, yes.. If you can provide the dmesg
>>> output from bootup, as well as the output of hdparm --Istdout on the
>>> disk device, that would be useful..
>>>
>>
>> That (and a bit more, normal hdparm output, smartctl output) here:
>> http://files.hboeck.de/conner/
>>
>
> It has the current capacity in words 57-58 swapped:
>
> /dev/sdb:
> 0c5a 037f 0000 000a 8723 0275 0037 0030
> 000a 0000 2020 2020 2020 2020 2020 424d
> 3948 4d31 5020 2020 0003 0040 0004 302e
> 3336 2020 2020 436f 6e6e 6572 2050 6572
> 6970 6865 7261 6c73 2032 3430 4d42 202d
> 2043 5033 3032 3534 2020 2020 2020 8010
> 0000 0001 0000 0200 0202 0001 037f 000a
> 0037 0007 82da 0000 0000 0000 0000 0000
>
>
> It must be 82da 0007, not 0007 82da.
> IIRC, the IDE core doesn't trust the value reported in these words
..
That's right. I wrote the IDE code that way
*specifically* due to a (different) Conner drive
I had here at the time.
Cheers
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Very old IDE hard drive (240 MB) detected as 1.1 TB
2009-02-14 14:25 ` Mark Lord
@ 2009-02-14 15:31 ` Maciej W. Rozycki
2009-02-14 15:54 ` Sergei Shtylyov
2009-02-14 17:58 ` Robert Hancock
0 siblings, 2 replies; 8+ messages in thread
From: Maciej W. Rozycki @ 2009-02-14 15:31 UTC (permalink / raw)
To: Mark Lord
Cc: Sergei Shtylyov, Hanno Böck, Robert Hancock, linux-kernel,
ide
On Sat, 14 Feb 2009, Mark Lord wrote:
> > It has the current capacity in words 57-58 swapped:
> >
> > /dev/sdb:
> > 0c5a 037f 0000 000a 8723 0275 0037 0030
> > 000a 0000 2020 2020 2020 2020 2020 424d
> > 3948 4d31 5020 2020 0003 0040 0004 302e
> > 3336 2020 2020 436f 6e6e 6572 2050 6572
> > 6970 6865 7261 6c73 2032 3430 4d42 202d
> > 2043 5033 3032 3534 2020 2020 2020 8010
> > 0000 0001 0000 0200 0202 0001 037f 000a
> > 0037 0007 82da 0000 0000 0000 0000 0000
> >
> >
> > It must be 82da 0007, not 0007 82da.
> > IIRC, the IDE core doesn't trust the value reported in these words
> ..
>
> That's right. I wrote the IDE code that way
> *specifically* due to a (different) Conner drive
> I had here at the time.
It happened for some Maxtor drives too. The reason is the ATA-1 spec was
not explicit about how words 57 and 58 were meant to be ordered and some
manufacturers interpreted it one and some the other way. It looks like
libata needs to be fixed.
Maciej
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Very old IDE hard drive (240 MB) detected as 1.1 TB
2009-02-14 15:31 ` Maciej W. Rozycki
@ 2009-02-14 15:54 ` Sergei Shtylyov
2009-02-14 22:35 ` Maciej W. Rozycki
2009-02-14 17:58 ` Robert Hancock
1 sibling, 1 reply; 8+ messages in thread
From: Sergei Shtylyov @ 2009-02-14 15:54 UTC (permalink / raw)
To: Maciej W. Rozycki
Cc: Mark Lord, Hanno Böck, Robert Hancock, linux-kernel, ide
Hello.
Maciej W. Rozycki wrote:
>>> It has the current capacity in words 57-58 swapped:
>>>
>>> /dev/sdb:
>>> 0c5a 037f 0000 000a 8723 0275 0037 0030
>>> 000a 0000 2020 2020 2020 2020 2020 424d
>>> 3948 4d31 5020 2020 0003 0040 0004 302e
>>> 3336 2020 2020 436f 6e6e 6572 2050 6572
>>> 6970 6865 7261 6c73 2032 3430 4d42 202d
>>> 2043 5033 3032 3534 2020 2020 2020 8010
>>> 0000 0001 0000 0200 0202 0001 037f 000a
>>> 0037 0007 82da 0000 0000 0000 0000 0000
>>>
>>>
>>> It must be 82da 0007, not 0007 82da.
>>> IIRC, the IDE core doesn't trust the value reported in these words
>>>
>> ..
>>
>> That's right. I wrote the IDE code that way
>> *specifically* due to a (different) Conner drive
>> I had here at the time.
>>
>
> It happened for some Maxtor drives too. The reason is the ATA-1 spec was
>
And with Fujitsu ones too. IIRC, the one I encountered (10+ years
ago) had something like 0000 c000 there -- which in no way was related
to its real capacity.
> not explicit about how words 57 and 58 were meant to be ordered and some
>
> manufacturers interpreted it one and some the other way.
However, the drive vendors should've really thought better before
reporting capacity in *middle-endian* format. :-)
> Maciej
>
MBR, Sergei
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Very old IDE hard drive (240 MB) detected as 1.1 TB
2009-02-14 15:31 ` Maciej W. Rozycki
2009-02-14 15:54 ` Sergei Shtylyov
@ 2009-02-14 17:58 ` Robert Hancock
1 sibling, 0 replies; 8+ messages in thread
From: Robert Hancock @ 2009-02-14 17:58 UTC (permalink / raw)
To: Maciej W. Rozycki
Cc: Mark Lord, Sergei Shtylyov, Hanno Böck, linux-kernel, ide
Maciej W. Rozycki wrote:
> On Sat, 14 Feb 2009, Mark Lord wrote:
>
>>> It has the current capacity in words 57-58 swapped:
>>>
>>> /dev/sdb:
>>> 0c5a 037f 0000 000a 8723 0275 0037 0030
>>> 000a 0000 2020 2020 2020 2020 2020 424d
>>> 3948 4d31 5020 2020 0003 0040 0004 302e
>>> 3336 2020 2020 436f 6e6e 6572 2050 6572
>>> 6970 6865 7261 6c73 2032 3430 4d42 202d
>>> 2043 5033 3032 3534 2020 2020 2020 8010
>>> 0000 0001 0000 0200 0202 0001 037f 000a
>>> 0037 0007 82da 0000 0000 0000 0000 0000
>>>
>>>
>>> It must be 82da 0007, not 0007 82da.
>>> IIRC, the IDE core doesn't trust the value reported in these words
>> ..
>>
>> That's right. I wrote the IDE code that way
>> *specifically* due to a (different) Conner drive
>> I had here at the time.
>
> It happened for some Maxtor drives too. The reason is the ATA-1 spec was
> not explicit about how words 57 and 58 were meant to be ordered and some
> manufacturers interpreted it one and some the other way. It looks like
> libata needs to be fixed.
Here's the relevant code, it appears (drivers/ata/libata-core.c at line
1321):
static u64 ata_id_n_sectors(const u16 *id)
{
if (ata_id_has_lba(id)) {
if (ata_id_has_lba48(id))
return ata_id_u64(id, 100);
else
return ata_id_u32(id, 60);
} else {
if (ata_id_current_chs_valid(id))
return ata_id_u32(id, 57);
else
return id[1] * id[3] * id[6];
}
}
It looks like it's getting into the ata_id_current_chs_valid(id) path,
since all the values that function checks are indeed valid, but the
values in words 57-58 are not. There seems to be no real reason to use
those values since the same can be calculated from the reported CHS, so
you could change that code to:
if (ata_id_current_chs_valid(id))
return id[54] * id[55] * id[56];
else
return id[1] * id[3] * id[6];
Hanno, would you be able to try building a kernel with a modified
drivers/ata/libata-core.c as above (in current -git it would be changing
line 1330) and see if that resolves the problem?
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Very old IDE hard drive (240 MB) detected as 1.1 TB
2009-02-14 15:54 ` Sergei Shtylyov
@ 2009-02-14 22:35 ` Maciej W. Rozycki
0 siblings, 0 replies; 8+ messages in thread
From: Maciej W. Rozycki @ 2009-02-14 22:35 UTC (permalink / raw)
To: Sergei Shtylyov
Cc: Mark Lord, Hanno Böck, Robert Hancock, linux-kernel, ide
Hi Sergei,
> > not explicit about how words 57 and 58 were meant to be ordered and some
> > manufacturers interpreted it one and some the other way.
>
> However, the drive vendors should've really thought better before reporting
> capacity in *middle-endian* format. :-)
Oh, come on! Don't accuse everyone of thinking. Besides, someone had to
try that reverse-pdp-endian mode, didn't they? ;)
Maciej
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2009-02-14 22:35 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <200902131428.40212.hanno@hboeck.de>
2009-02-13 14:34 ` Very old IDE hard drive (240 MB) detected as 1.1 TB Robert Hancock
2009-02-14 12:52 ` Hanno Böck
2009-02-14 13:21 ` Sergei Shtylyov
2009-02-14 14:25 ` Mark Lord
2009-02-14 15:31 ` Maciej W. Rozycki
2009-02-14 15:54 ` Sergei Shtylyov
2009-02-14 22:35 ` Maciej W. Rozycki
2009-02-14 17:58 ` Robert Hancock
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).