8 GB barrier in XP and W2k for 20 GB Seagate HDD ST320420A

J

JVP

Hi,

I added a Seagate 20 GB HDD (ST320420A) to an old PC and Windows 2000/XP only
see the disk as an 8GB disk, even after the disk has been written with all
zeroes and has an empty partition table. (The PC has a PII processor, 400 MHz,
on a Gigabyte GA-6BXE motherboard with Intel 440BX chipset.)

This sounds like hitting the 8 GB barrier, with Windows 2000/XP not finding the
BIOS int 13h extensions in the PC. However, Windows 95b can see and use the
complete disk as 20 GB (e.g. with a big FAT32 partition of 20GB). I updated the
BIOS to the latest version, but no help.


More details are given below.



In the PC I had already 2 disks of 4.3 GB, and it is configured multiboot for
W95, W2k and XP professional. This runs without any problem.

I added this 20GB Seagate ST320420A disk, coming from a SUN SPARC Ultra 5
workstation, as third disk. It is recognized by the BIOS as 20 GB (and the type
number is printed too). Then I formatted it with the Seagate Disk manager tool
as one 20GB FAT32 partition. Windows 95 finds the 20GB disk as additional
storage, but neither XP or W2k recognize the disk. They think it's unformatted
and when asking to format it, they only see an empty, unformatted disk of 8 GB.
The int13h extensions are thus not found by XP or W2k.

It makes no difference how I format the 20GB disk: using fdisk or Seagate's
Disk Manager tool or Partition Magic. From the moment there is something in the
partition table after the 8GB boundary (thus also if I e.g. define 2 7.5 GB
partitions on the disk) XP/W2k think the disk is unformatted. Under W2k/XP the
Partitioninfo tool (of Partition Magic) gives an error that a partition
boundary is located after the end of the disk.

Also, if I install XP on the (clean) 20GB disk, the install software only sees
an empty disk of 8 GB. If I run a testprogram to check for int13h extensions
under XP or W2k, it reports they are not present. If I run the same under W95,
it finds them.

If I set the BIOS to AUTO + LBA, as recommended by Seagate, or manually set the
BIOS to other geometries and settings (Large, normal, LBA), XP and W2k still
see only 8 GB... W95 sees the geometries as defined and behaves accordingly.

I did some searches on Google and Google Groups with search terms "BIOS
ST320420A XP" or "BIOS ST320420A W2k" and found some people reporting the same
problem, but no solutions... except for someone reporting on a hardware forum
that XP Atapi.sys was in fault
(http://www.techsupportforum.com/showthread.php?s=&threadid=609). I updated
Atapi.sys from the latest service pack for W2k, but no help. I posted my
problem to the same hardware forum
(http://www.techsupportforum.com/showthread.php?s=&threadid=17778) but only got
the standard tips and tricks that did not get me any further.

No jumpers are set on this 20 GB disk, no alternate capacity jumper and no
others, as it is configured as slave.

How can I make XP or W2k find the int13h extensions??? Do they get the disk
geometry independently from the BIOS?


I also ran the "findpart" tool on the disk (under DOS: findpart ide out.txt)
and it does not seem like there is anything unexpected in the output:


Findpart, version 4.42.
Copyright Svend Olaf Mikkelsen, 1999-2004.

IDE disks:

Primary Master Model: WDC AC14300R Revision: 15.01J55
Disk: PM Cylinders: 524 Heads: 255 Sectors: 63 MB: 4110
IDE CHS: 8912/15/63 CTM: 8912/15/63 IDE MB: 4112
User sectors: 8421840
Sector 0: OK Sector 1000: OK

Secondary Master Model: WDC AC14300R Revision: 15.01J55
Disk: SM Cylinders: 524 Heads: 255 Sectors: 63 MB: 4110
IDE CHS: 8912/15/63 CTM: 8912/15/63 IDE MB: 4112
User sectors: 8421840
Sector 0: OK Sector 1000: OK

Secondary Slave Model: ST320420A Revision: 3.21
Disk: SS Cylinders: 2480 Heads: 255 Sectors: 63 MB: 19454
IDE CHS: 39535/16/63 CTM: 17475/15/63 IDE MB: 19459
User sectors: 39851760
Sector 0: OK Sector 1000: OK

BIOS: 0x80: 4112 MB 0x81: 4112 MB 0x82: 19454 MB




Who can help me?


Thanks in advance,

Johan.
 
S

Svend Olaf Mikkelsen

Secondary Slave Model: ST320420A Revision: 3.21
Disk: SS Cylinders: 2480 Heads: 255 Sectors: 63 MB: 19454
IDE CHS: 39535/16/63 CTM: 17475/15/63 IDE MB: 19459
User sectors: 39851760
Sector 0: OK Sector 1000: OK

BIOS: 0x80: 4112 MB 0x81: 4112 MB 0x82: 19454 MB

I suggest you also post the output from the Identify program. For
privacy you can cut the serial number if you want.
 
J

JVP

I suggest you also post the output from the Identify program. For
privacy you can cut the serial number if you want.

I inserted the output of the identify program below. So it seems like
the numbers reported in CTM of "findpart ide" above are also found
back as current CHS in words 54-56 below... This gives 8.4 GB... Is
this the boundary I am hitting? How to remove it? As mentionned
before: this drive comes from a SUN Ultra5 workstation.

I tried some commands I found in other posts of yours, but
unsuccessfully:

set findpart=edit
findpart setsize ss removeconfig expert

This gives as output:

Major/minor: 001E 0000
NB

and:

set findpart=edit
findpart setsize ss native expert nonvolatile

and this gives as output:

Major/minor: 001E 0000
New size too small.
Invalid new size.
NB

What does this mean? What is the right command?

Thanks in advance for your input!

Johan.

Identify, version 1.0.

Secondary Slave

0 0x0C5A General configuration bit significant information
0 Bit 0: Reserved
1 Bit 1: Retired
0 Bit 2: Response incomplete
3 Bit 5-3: Retired
1 Bit 6: 1=not removable controller and/or device
0 Bit 7: 1=removable media device
0C Bit 14-8: Retired
0 Bit 15: 0=ATA device
1 39535 Number of logical cylinder
2 0 Specific configuration
3 16 Number of logical heads
4 0 Retired
5 0 Retired
6 63 Number of logical sectors per logical block
7 0 Reserved for assignment by the CompactFlash Association
8 0 Reserved for assignment by the CompactFlash Association
9 0 Retired
10 Serial number (20 ASCII characters)
<cut out>
20 0 Retired
21 4096 Retired
22 0 Obsolete. (Vendor specific bytes at read/write long)
23 3.21 Firmware revision (8 ASCII characters)
27 Model number (40 ASCII characters)
ST320420A
47 0x8010 Bit 15-8: 0x80 Bit 7-0: Maximum multiple
48 0 Reserved
49 0x2F00 Capatibilites
00 Bit 7-0: Retired
1 Bit 8: Must be 0
1 Bit 9: Must be 0
1 Bit 10: IORDY may be disabled
1 Bit 11: IORDY supported, 0: IORDY may be
supported
0 Bit 12: Reserved for Identify Packet Device
1 Bit 13: Standby timer values are supported
0 Bit 15-14: Reserved for Identify Packet Device
50 0x0000 Capabilities
0 Bit 0: 1 for device specific Standby minimum
0000 Bit 13-1: Reserved
0 Bit 14: Shall be set to 1
0 Bit 15: Shall be cleared to 0
51 0x0200 Obsolete. (PIO timing)
52 0x0200 Obsolete. (DMA timing)
53 0x0007 Bit 0: Word 54-58 valid
Bit 1: Word 64-70 valid
Bit 2: Word 88 valid
54 17475 Number of current logical cylinders
55 15 Number of current logical heads
56 63 Number of current logical sectors per track
57 16513875 Current capacity in sectors
59 0x0110 Bit8: Valid Bit 7-0: Current multiple
60 39851760 Total number of user addressable sectors (LBA mode
only)
62 0 Obsolete
63 0x0007 Bit 10-0: Multiword DMA
Multiword DMA mode 0 is supported
Multiword DMA mode 1 and below is supported
Multiword DMA mode 2 and below is supported
64 0x0003 Bit 7-0: Advanced PIO modes supported
65 120 Minimum Multiword DMA transfer cycle time per word
66 120 Manufacturer's recommended Multiword DMA transfer cycle
time
67 240 Minimum PIO transfer cycle time without flow control
68 120 Minimum PIO transfer cycle time with IORDY flow control
69 0 Reserved (for future command overlap and queuing)
70 0 Reserved (for future command overlap and queuing)
80 0x001E Major version number
81 0 Minor version number
82 0x3069 Command set supported
Supports SMART feature set
Supports Power Management feature set
Write cache supported
Look-ahead supported
WRITE BUFFER command supported
READ BUFFER command supported
83 0x4201 Command sets supported
DOWNLOAD MICROCODE command supported
84 0x4000 Command set/feature supported extension
85 0x3068 Command set/feature enabled
Power Management feature set enabled
Write cache enabled
Look-ahead enabled
WRITE BUFFER command enabled
READ BUFFER command enabled
86 0x0201 Command set/feature enabled
Download microcode command supported
87 0x4000 Command set/feature default
88 0x041F Ultra DMA
Ultra DMA mode 0 is supported
Ultra DMA mode 1 and below is supported
Ultra DMA mode 2 and below is supported
Ultra DMA mode 3 and below is supported
Ultra DMA mode 4 and below is supported
Ultra DMA mode 2 is selected
89 0x0000 Time required for security erase unit completion
Bit 0-7 * 2: 0
90 0 Time required for Enhanced security erase completion
91 0 Current advanced power management value
92 0xFFFE Master Password Revision Code
93 0x6601 Hardware reset result
93 0x80FE Acoustic management
Bit 15-8: Recommended Bit 7-0: Current
127 0x0000 Removeable Media Status Notification feature set
support
128 0x0000 Security status
129 0x16F0
130 0x0260
131 0x16F0
132 0x0260
133 0x4520
134 0x0002
135 0x02B6
136 0x00CB
137 0xC001
138 0x3C24
139 0x3C02
140 0xFFFF
141 0x07C6
142 0x0100
143 0x0800
144 0x06C0
145 0x0200
146 0x0002
147 0x0C55
158 0x0043
159 0x000B
255 0x72A5

The above interpretation is mostly based
on ATA/ATAPI-5 documentation.

Device Configuration Identify data structure:

0 0x00A5 Data structure revision
1 0x00A5 Multiword DMA modes supported
2 0x00A5 Ultra DMA modes supported
3 0x00A5 Maximum LBA word 0
4 0x00A5 Maximum LBA word 1
5 0x00A5 Maximum LBA word 2
6 0x00A5 Maximum LBA word 3
7 0x00A5 Command set/feature supported
SMART feature set supported
SMART error log supported
READ/WRITE DMA QUEUED command supported
Host protected Area feature set supported
8 0x00A5
9 0x00A5

<cut out part: all entries, from 0 to 255, have same value 0x00A5...>

253 0x00A5
254 0x00A5
255 0x00A5 Integrity word
 
F

Folkert Rienstra

JVP said:
I inserted the output of the identify program below. So it seems like
the numbers reported in CTM of "findpart ide" above are also found
back as current CHS in words 54-56 below...

Those are normal for CHS.
This gives 8.4 GB... Is this the boundary I am hitting?

Only when Windows addresses the drive in CHS mode (in which case
8GB will be normal).
Windows should normally address it using LBA translation mode.
In which case it should see the values in 61:60.
How to remove it?

You can't, it is a normal limit for CHS.
As mentionned before: this drive comes from a SUN Ultra5
workstation.

I tried some commands I found in other posts of yours, but
unsuccessfully:

set findpart=edit
findpart setsize ss removeconfig expert

This gives as output:

Major/minor: 001E 0000
NB

and:

set findpart=edit
findpart setsize ss native expert nonvolatile

and this gives as output:

Major/minor: 001E 0000
New size too small.
Invalid new size.
NB

What does this mean?

Sounds like bad command line interpretation/error reporting.
What is the right command?

Thanks in advance for your input!

Johan.

Identify, version 1.0.

Secondary Slave

0 0x0C5A General configuration bit significant information
0 Bit 0: Reserved
1 Bit 1: Retired
0 Bit 2: Response incomplete
3 Bit 5-3: Retired
1 Bit 6: 1=not removable controller and/or device
0 Bit 7: 1=removable media device
0C Bit 14-8: Retired
0 Bit 15: 0=ATA device
1 39535 Number of logical cylinder
2 0 Specific configuration
3 16 Number of logical heads
4 0 Retired
5 0 Retired
6 63 Number of logical sectors per logical block

"1) Word 1 shall contain the number of user-addressable logical cylinders in the default CHS translation.
If the content of words (61:60) is less than 16,514,064 then the content of word 1 shall be greater than or
equal to one and less than or equal to 65,535. If the content of words (61:60) is greater than or equal to
16,514,064 then the content of word 1 shall be equal to 16,383. <==

2) Word 3 shall contain the number of user-addressable logical heads in the default CHS translation.
The content of word 3 shall be greater than or equal to one and less than or equal to 16. For compatibility
with some BIOSs, the content of word 3 may be equal to 15 if the content of word 1 is greater than 8192.
3) Word 6 shall contain the number of user-addressable logical sectors in the default CHS translation.
The content of word 6 shall be greater than or equal to one and less than or equal to 63.

4) [(The content of word 1) *(the content of word 3) *(the content of word 6)] shall be less than or equal
to 16,514,064." <==

Sounds like Seagate never read the spec.
(Svend maybe has but he prefers to pretend not to as the Disk:SS and IDE CHS: lines at top
clearly show. The Disk:SS line is completely bogus and so ist the IDE CHS: value.
The CTM: 17475/15/63, IDE MB: 19459 and User sectors: 39851760 are probably correct).
7 0 Reserved for assignment by the CompactFlash Association
8 0 Reserved for assignment by the CompactFlash Association
9 0 Retired
10 Serial number (20 ASCII characters)
<cut out>
20 0 Retired
21 4096 Retired
22 0 Obsolete. (Vendor specific bytes at read/write long)
23 3.21 Firmware revision (8 ASCII characters)
27 Model number (40 ASCII characters)
ST320420A
47 0x8010 Bit 15-8: 0x80 Bit 7-0: Maximum multiple
48 0 Reserved
49 0x2F00 Capatibilites
00 Bit 7-0: Retired
1 Bit 8: Must be 0
1 Bit 9: Must be 0
1 Bit 10: IORDY may be disabled
1 Bit 11: IORDY supported, 0: IORDY may be supported
0 Bit 12: Reserved for Identify Packet Device
1 Bit 13: Standby timer values are supported
0 Bit 15-14: Reserved for Identify Packet Device
50 0x0000 Capabilities
0 Bit 0: 1 for device specific Standby minimum
0000 Bit 13-1: Reserved
0 Bit 14: Shall be set to 1
0 Bit 15: Shall be cleared to 0
51 0x0200 Obsolete. (PIO timing)
52 0x0200 Obsolete. (DMA timing)
53 0x0007 Bit 0: Word 54-58 valid
Bit 1: Word 64-70 valid
Bit 2: Word 88 valid
54 17475 Number of current logical cylinders
55 15 Number of current logical heads
56 63 Number of current logical sectors per track
58:57 16513875 Current capacity in sectors

Bios sets a current translation for 8GB.
This is what the drive will look like in CHS translation mode.
59 0x0110 Bit8: Valid Bit 7-0: Current multiple
61:60 39851760 Total number of user addressable sectors (LBA mode only)

The full 20GB in LBA translation mode.
 
S

Svend Olaf Mikkelsen

set findpart=edit
findpart setsize ss removeconfig expert

Configuration overlay is not used.
set findpart=edit
findpart setsize ss native expert nonvolatile

The disk size was not reduced using the Set Max Address command, I
guess.


1 39535 Number of logical cylinder
2 0 Specific configuration
3 16 Number of logical heads
4 0 Retired
5 0 Retired
6 63 Number of logical sectors per logical block
27 Model number (40 ASCII characters)
ST320420A
53 0x0007 Bit 0: Word 54-58 valid
Bit 1: Word 64-70 valid
Bit 2: Word 88 valid
54 17475 Number of current logical cylinders
55 15 Number of current logical heads
56 63 Number of current logical sectors per track
57 16513875 Current capacity in sectors
59 0x0110 Bit8: Valid Bit 7-0: Current multiple
60 39851760 Total number of user addressable sectors (LBA mode
only)

I suggest:

Do:

findpart idesector ss ident.bin

and keep the 512 bytes ident.bin file for eventual future reference.


Set the disk to "none" in BIOS. Power off/wait/power on.

Do from boot to DOS:

findpart ide fp-a.txt

identify ss fp-b.txt


And in Windows 2000 or XP using Findpart for Windows:

findpart tables fp-c.txt

while the disk is still set to none in BIOS.


Note that the disk should not be accessed by partitioning tools in
Windows 95/98/ME if it is set to none in BIOS.
 
J

JVP

Folkert Rienstra said:
Those are normal for CHS.


Only when Windows addresses the drive in CHS mode (in which case
8GB will be normal).
Windows should normally address it using LBA translation mode.

Indeed, this is what I meant when I said "Windows 2000/XP do not find
the int13h extensions" in my original post. Windows 2000/XP still use
CHS and do not find out about LBA.
You can't, it is a normal limit for CHS.

OK, I translate my question as: how to make Windows use LBA, to
overcome the CHS 8 GB barrier?

I had found out before (on the Seagate website?) that the CHS
parameters should
be set to 16383/16/63 for large drives, in order to be fully
recognized by the OS. I tried to set them in the BIOS, but apparently
Windows 2000/XP use the CTM values 17475/15/63 returned by the ATA
Identify command.

I looked further on Google and found an interesting link
http://www.techadvice.com/win2000/m/maxtor_udma66-problems_w2k.htm

"Overview: Windows 2000 Professional does not have the ability to
translate hard drive capacities greater than 8.4 GB when the drive in
question has 15 Heads. Windows 2000 does not calculate LBA directly,
as allowed for in the ATA-5 spec, and uses CHS values to determine
whether or not use LBA. It works fine for 16 headed drives, but
truncates to 8 GB for 15 headed drives."
The Disk:SS line is completely bogus and so ist the IDE CHS: value.

The Disk: SS line, with 2480 Cylinders is also what is reported by
Partition Magic, under Windows 95 where the disk is usable for the
full 20 GB.
The IDE CHS value, in the first words of the ATA Identify command is
indeed not according to the ATA-5 specs...but while looking around on
the internet I saw many such CHS values, not only for Seagate disks...
The CTM: 17475/15/63, IDE MB: 19459 and User sectors: 39851760 are probably correct).

Indeed, and I would like to set CTM (words 54..56) to 16383/16/63.
Bios sets a current translation for 8GB.
This is what the drive will look like in CHS translation mode.

Is CTM (words 54..56) set by the PC BIOS? I already tried setting the
PC BIOS to 16383/16/63 with LBA enabled, but it did not work. I saw on
the ATA-5 spec that these words are variable, but I thought they were
kind of nonvolatile parameters in the drive itself.

On the link I gave above, they speak about a Maxtor patch program
(set_geom.exe, in the archive 15216HD.exe) to set the geometry to 16
heads. Should I try it?
I am only a bit confused as in that text, they speak of word 3 (number
of logical heads) combined with word 54 (number of current logical
cylinders).
But according to the specs, I think word 3 can not be changed and it
is word 55 (number of current logical heads) that should be changed.

So, in summary, how to change words 54..56 to 16383/16/63? If I can
do this, I have good hope to be able to use the complete drive under
W2k and XP...

Johan.
 
F

Folkert Rienstra

As they actually are the same values where they originated from they should be.
Indeed, this is what I meant when I said "Windows 2000/XP do not find
the int13h extensions" in my original post. Windows 2000/XP still use
CHS and do not find out about LBA.

It's not a question of whether it can find it, Windows shouldn't be using
Int13 at all.
OK, I translate my question as: how to make Windows use LBA, to
overcome the CHS 8 GB barrier?

Windows should use LBA by default. It should only run CHS for ap-
plications using CHS (or on drives that don't support LBA, obviously).
Apparently reality is different.
I had found out before (on the Seagate website?) that the CHS parame-
ters should be set to 16383/16/63 for large drives, in order to be fully
recognized by the OS. I tried to set them in the BIOS, but apparently
Windows 2000/XP use the CTM values 17475/15/63 returned by the ATA
Identify command.

Then this may be a bios issue since the bios decides to use current translation
or not.
I looked further on Google and found an interesting link
http://www.techadvice.com/win2000/m/maxtor_udma66-problems_w2k.htm

"Overview: Windows 2000 Professional does not have the ability to
translate hard drive capacities greater than 8.4 GB when the drive in
question has 15 Heads.

Nice troll from Bill:
produce a system full of beginner errors and then call it "professional".
Windows 2000 does not calculate LBA directly,
as allowed for in the ATA-5 spec, and uses CHS values to determine
whether or not use LBA.

Bwah! So it's basically running in CHS for adresses below 8GB?
It works fine for 16 headed drives, but
truncates to 8 GB for 15 headed drives."

A beginner programming error, obviously.
The Disk: SS line, with 2480 Cylinders is also what is reported by
Partition Magic, under Windows 95 where the disk is usable for the
full 20 GB.

A case of programmers copying each others errors when no-one corrects
them. Perhaps these apps should be renamed "professional". ;-)
The IDE CHS value, in the first words of the ATA Identify command is
indeed not according to the ATA-5 specs...but while looking around on
the internet I saw many such CHS values, not only for Seagate disks...

For apps that use the bios CHS info rather than the physical drive info, that
is to be expected. In the BIOS docs it does clearly say that the CHS info is
to be ignored (not used) when the values exceed 8GB.
Unfortunately this is ignored by several programmers with a casual attitude.
Indeed, and I would like to set CTM (words 54..56) to 16383/16/63.

You can't do that directly. The bios does it for you.
The only way (if at all possible) is to feed the bios values for which
it won't set a current translation at all or set a 16 heads translation.

However, with that beginners fault in Windows "professional" it may
interprete a smaller value than 8 GB as the drive being actually smaller
than 8GB and therefor still not use LBA mode.

On the other hand, bios utilities work in mysterious ways and one purpose
seems to be that you can also use them to set a limited capacity in which
case the CHS values can be used to define an LBA value that is higher than
the 8GB CHS limit.

So you could try to input: 2480/255/63 or 39535/16/63 in one of the
modes that allow that. Maybe, just maybe, the bios will use a 16 head current
translation when using values over 8GB.
Is CTM (words 54..56) set by the PC BIOS?
Yes.

I already tried setting the
PC BIOS to 16383/16/63 with LBA enabled, but it did not work.

You could try "BIG".
I saw on the ATA-5 spec that these words are variable, but I thought
they were kind of nonvolatile parameters in the drive itself.

Indeed they are. Any change of that involves setting a current translation.
On the link I gave above, they speak about a Maxtor patch program
(set_geom.exe, in the archive 15216HD.exe) to set the geometry to 16
heads. Should I try it?

Usually there is a jumper setting to accomplish the same.
However the default geometry already is 16 heads for this drive
I am only a bit confused as in that text, they speak of word 3 (number
of logical heads) combined with word 54 (number of current logical
cylinders).
But according to the specs, I think word 3 can not be changed and it

Unless a feature set on the drive is used that allows that.
is word 55 (number of current logical heads) that should be changed.

No. It should be word 1 and 3. If you change 3 then you have to adjust
word 1 (or word 6) to arrive at 165xxxxx sectors again.
So, in summary, how to change words 54..56 to 16383/16/63?

Only with the help of the bios I'm afraid.
 
J

JVP

I suggest:
Do:
findpart idesector ss ident.bin
and keep the 512 bytes ident.bin file for eventual future reference.

OK, I did this and have the file available. I don't think I have to
post this binary file, or do I?
Set the disk to "none" in BIOS. Power off/wait/power on.
Do from boot to DOS:

findpart ide fp-a.txt

Here's the output:

Findpart, version 4.42.
Copyright Svend Olaf Mikkelsen, 1999-2004.

IDE disks:

Primary Master Model: WDC AC14300R Revision: 15.01J55
Disk: PM Cylinders: 524 Heads: 255 Sectors: 63 MB: 4110
IDE CHS: 8912/15/63 CTM: 8912/15/63 IDE MB: 4112
User sectors: 8421840
Sector 0: OK Sector 1000: OK

Secondary Master Model: WDC AC14300R Revision: 15.01J55
Disk: SM Cylinders: 524 Heads: 255 Sectors: 63 MB: 4110
IDE CHS: 8912/15/63 CTM: 8912/15/63 IDE MB: 4112
User sectors: 8421840
Sector 0: OK Sector 1000: OK

Secondary Slave Model: ST320420A Revision: 3.21
Disk: SS Cylinders: 2480 Heads: 255 Sectors: 63 MB: 19454
IDE CHS: 39535/16/63 CTM: 16383/16/63 IDE MB: 19459
User sectors: 39851760
Sector 0: OK Sector 1000: OK

BIOS: 0x80: 4112 MB 0x81: 4112 MB
identify ss fp-b.txt

And here is the identify output: (I had hoped that obtaining CTM:
16383/16/63 for words 54-56 would solve the problem. Setting the BIOS
to none did that trick, but did not solve my problem...)

Identify, version 1.0.

Secondary Slave

0 0x0C5A General configuration bit significant information
0 Bit 0: Reserved
1 Bit 1: Retired
0 Bit 2: Response incomplete
3 Bit 5-3: Retired
1 Bit 6: 1=not removable controller and/or device
0 Bit 7: 1=removable media device
0C Bit 14-8: Retired
0 Bit 15: 0=ATA device
1 39535 Number of logical cylinder
2 0 Specific configuration
3 16 Number of logical heads
4 0 Retired
5 0 Retired
6 63 Number of logical sectors per logical block
7 0 Reserved for assignment by the CompactFlash Association
8 0 Reserved for assignment by the CompactFlash Association
9 0 Retired
10 Serial number (20 ASCII characters)
<removed>
20 0 Retired
21 4096 Retired
22 0 Obsolete. (Vendor specific bytes at read/write long)
23 3.21 Firmware revision (8 ASCII characters)
27 Model number (40 ASCII characters)
ST320420A
47 0x8010 Bit 15-8: 0x80 Bit 7-0: Maximum multiple
48 0 Reserved
49 0x2F00 Capatibilites
00 Bit 7-0: Retired
1 Bit 8: Must be 0
1 Bit 9: Must be 0
1 Bit 10: IORDY may be disabled
1 Bit 11: IORDY supported, 0: IORDY may be
supported
0 Bit 12: Reserved for Identify Packet Device
1 Bit 13: Standby timer values are supported
0 Bit 15-14: Reserved for Identify Packet Device
50 0x0000 Capabilities
0 Bit 0: 1 for device specific Standby minimum
0000 Bit 13-1: Reserved
0 Bit 14: Shall be set to 1
0 Bit 15: Shall be cleared to 0
51 0x0200 Obsolete. (PIO timing)
52 0x0200 Obsolete. (DMA timing)
53 0x0007 Bit 0: Word 54-58 valid
Bit 1: Word 64-70 valid
Bit 2: Word 88 valid
54 16383 Number of current logical cylinders
55 16 Number of current logical heads
56 63 Number of current logical sectors per track
57 16514064 Current capacity in sectors
59 0x0010 Bit8: Valid Bit 7-0: Current multiple
60 39851760 Total number of user addressable sectors (LBA mode
only)
62 0 Obsolete
63 0x0407 Bit 10-0: Multiword DMA
Multiword DMA mode 0 is supported
Multiword DMA mode 1 and below is supported
Multiword DMA mode 2 and below is supported
64 0x0003 Bit 7-0: Advanced PIO modes supported
65 120 Minimum Multiword DMA transfer cycle time per word
66 120 Manufacturer's recommended Multiword DMA transfer cycle
time
67 240 Minimum PIO transfer cycle time without flow control
68 120 Minimum PIO transfer cycle time with IORDY flow control
69 0 Reserved (for future command overlap and queuing)
70 0 Reserved (for future command overlap and queuing)
80 0x001E Major version number
81 0 Minor version number
82 0x3069 Command set supported
Supports SMART feature set
Supports Power Management feature set
Write cache supported
Look-ahead supported
WRITE BUFFER command supported
READ BUFFER command supported
83 0x4201 Command sets supported
DOWNLOAD MICROCODE command supported
84 0x4000 Command set/feature supported extension
85 0x3068 Command set/feature enabled
Power Management feature set enabled
Write cache enabled
Look-ahead enabled
WRITE BUFFER command enabled
READ BUFFER command enabled
86 0x0201 Command set/feature enabled
Download microcode command supported
87 0x4000 Command set/feature default
88 0x001F Ultra DMA
Ultra DMA mode 0 is supported
Ultra DMA mode 1 and below is supported
Ultra DMA mode 2 and below is supported
Ultra DMA mode 3 and below is supported
Ultra DMA mode 4 and below is supported
89 0x0000 Time required for security erase unit completion
Bit 0-7 * 2: 0
90 0 Time required for Enhanced security erase completion
91 0 Current advanced power management value
92 0xFFFE Master Password Revision Code
93 0x6000 Hardware reset result
93 0x80FE Acoustic management
Bit 15-8: Recommended Bit 7-0: Current
127 0x0000 Removeable Media Status Notification feature set
support
128 0x0000 Security status
129 0x16F0
130 0x0260
131 0x16F0
132 0x0260
133 0x4520
134 0x0002
135 0x02B6
136 0x00CB
137 0xC001
138 0x3C24
139 0x3C02
140 0xFFFF
141 0x07C6
142 0x0100
143 0x0800
144 0x06C0
145 0x0200
146 0x0002
147 0x0C55
158 0x0043
159 0x000B
255 0x04A5
And in Windows 2000 or XP using Findpart for Windows:

findpart tables fp-c.txt

while the disk is still set to none in BIOS.

Here's the corresponding output (So the disk was formatted as one
single extended FAT32 partition, and is usable for the full 20GB under
Windows95 even with the BIOS set to none).


Findpart, version 4.43 - for Windows 95/98/ME/NT/2000/XP.
Copyright Svend Olaf Mikkelsen, 1999-2004.

OS: Windows 5.1.2600 Partition tables:

Disk: 1 Cylinders: 8912 Heads: 15 Sectors: 63 MB: 4112

-PCyl N ID -----Rel -----Num ---MB -Start CHS- --End CHS-- BS CHS
0 1*0C 63 2048697 1000 0 1 1 2167* 14 63 OK OK
0 2 0F 2048760 6373080 3111 2168* 0 1 8911* 14 63 OK

2168 1 0B 63 6373017 3111 2168* 1 1 8911* 14 63 OK OK

Disk: 2 Cylinders: 8912 Heads: 15 Sectors: 63 MB: 4112

-PCyl N ID -----Rel -----Num ---MB -Start CHS- --End CHS-- BS CHS
0 1 07 63 8420832 4111 0 1 1 8910* 14 63 OK OK

Disk: 3 Cylinders: 1027 Heads: 255 Sectors: 63 MB: 8056

-PCyl N ID -----Rel -----Num ---MB -Start CHS- --End CHS-- BS CHS
0 1 0F 16065 39825135 19445 1 0 1 1022 254 63 NB
1 0 1 2479 254 63 Actual?

1 1 0B 63 39825072 19445 1 1 1 2479 254 63 R0 OK?

Note that the disk should not be accessed by partitioning tools in
Windows 95/98/ME if it is set to none in BIOS.

What's the next step?

Johan.
 
J

JVP

It's not a question of whether it can find it, Windows shouldn't be
using Int13 at all.

OK,OK ;-)
Windows should use LBA by default. It should only run CHS for ap-
plications using CHS (or on drives that don't support LBA, obviously).
Apparently reality is different.


You can't do that directly. The bios does it for you.
The only way (if at all possible) is to feed the bios values for which
it won't set a current translation at all or set a 16 heads
translation.

Indeed. By entering the disk as 'none' in the BIOS, the BIOS does not set
CTM and the default value 16383/16/63 is used (see my reply to Svend). But
this does not solve my problem...
However, with that beginners fault in Windows "professional" it may
interprete a smaller value than 8 GB as the drive being actually
smaller than 8GB and therefor still not use LBA mode.

On the other hand, bios utilities work in mysterious ways and one
purpose seems to be that you can also use them to set a limited
capacity in which case the CHS values can be used to define an LBA
value that is higher than the 8GB CHS limit.

So you could try to input: 2480/255/63 or 39535/16/63 in one of the
modes that allow that. Maybe, just maybe, the bios will use a 16 head
current translation when using values over 8GB.

I also tried these values, but still get the values 54..56 below.
You could try "BIG".

It does not work either...
Only with the help of the bios I'm afraid.

Or without the BIOS, then the default values of CTM are 16383/16/63...

This was too optimistic. Still no LBA, still no 20 GB...

Johan
 
S

Svend Olaf Mikkelsen

What's the next step?

Although the possibility to set the size of a disk does not seem to be
directly involved in this problem, I suggest:

Get the Identify program version 1.1 in

http://www.partitionsupport.com/ident11.zip

Do using this version:

identify ss fp-d.txt

From the fp-d.txt file copy/paste the few lines with "Native sectors:"
output, if any.

Your previous description about what happened when you attempted to
use the Setsize program, seemed to indicate that there could be a
problem related to that.
 
J

JVP

identify ss fp-d.txt

From the fp-d.txt file copy/paste the few lines with "Native sectors:"
output, if any.

Your previous description about what happened when you attempted to
use the Setsize program, seemed to indicate that there could be a
problem related to that.

There are no lines with "Native sectors:" I'm afraid. Here's the
complete output of indentify ss (with disk set to none in the BIOS):

Identify, version 1.1.

Secondary Slave

0 0x0C5A General configuration bit significant information
0 Bit 0: Reserved
1 Bit 1: Retired
0 Bit 2: Response incomplete
3 Bit 5-3: Retired
1 Bit 6: 1=not removable controller and/or device
0 Bit 7: 1=removable media device
0C Bit 14-8: Retired
0 Bit 15: 0=ATA device
1 39535 Number of logical cylinder
2 0 Specific configuration
3 16 Number of logical heads
4 0 Retired
5 0 Retired
6 63 Number of logical sectors per logical block
7 0 Reserved for assignment by the CompactFlash Association
8 0 Reserved for assignment by the CompactFlash Association
9 0 Retired
10 Serial number (20 ASCII characters)
00000000000000000000
20 0 Retired
21 4096 Retired
22 0 Obsolete. (Vendor specific bytes at read/write long)
23 3.21 Firmware revision (8 ASCII characters)
27 Model number (40 ASCII characters)
ST320420A
47 0x8010 Bit 15-8: 0x80 Bit 7-0: Maximum multiple
48 0 Reserved
49 0x2F00 Capatibilites
00 Bit 7-0: Retired
1 Bit 8: Must be 0
1 Bit 9: Must be 0
1 Bit 10: IORDY may be disabled
1 Bit 11: IORDY supported, 0: IORDY may be
supported
0 Bit 12: Reserved for Identify Packet Device
1 Bit 13: Standby timer values are supported
0 Bit 15-14: Reserved for Identify Packet Device
50 0x0000 Capabilities
0 Bit 0: 1 for device specific Standby minimum
0000 Bit 13-1: Reserved
0 Bit 14: Shall be set to 1
0 Bit 15: Shall be cleared to 0
51 0x0200 Obsolete. (PIO timing)
52 0x0200 Obsolete. (DMA timing)
53 0x0007 Bit 0: Word 54-58 valid
Bit 1: Word 64-70 valid
Bit 2: Word 88 valid
54 16383 Number of current logical cylinders
55 16 Number of current logical heads
56 63 Number of current logical sectors per track
57 16514064 Current capacity in sectors
59 0x0010 Bit8: Valid Bit 7-0: Current multiple
60 39851760 Total number of user addressable sectors (LBA mode
only)
62 0 Obsolete
63 0x0407 Bit 10-0: Multiword DMA
Multiword DMA mode 0 is supported
Multiword DMA mode 1 and below is supported
Multiword DMA mode 2 and below is supported
64 0x0003 Bit 7-0: Advanced PIO modes supported
65 120 Minimum Multiword DMA transfer cycle time per word
66 120 Manufacturer's recommended Multiword DMA transfer cycle
time
67 240 Minimum PIO transfer cycle time without flow control
68 120 Minimum PIO transfer cycle time with IORDY flow control
69 0 Reserved (for future command overlap and queuing)
70 0 Reserved (for future command overlap and queuing)
80 0x001E Major version number
81 0 Minor version number
82 0x3069 Command set supported
Supports SMART feature set
Supports Power Management feature set
Write cache supported
Look-ahead supported
WRITE BUFFER command supported
READ BUFFER command supported
83 0x4201 Command sets supported
DOWNLOAD MICROCODE command supported
84 0x4000 Command set/feature supported extension
85 0x3068 Command set/feature enabled
Power Management feature set enabled
Write cache enabled
Look-ahead enabled
WRITE BUFFER command enabled
READ BUFFER command enabled
86 0x0201 Command set/feature enabled
Download microcode command supported
87 0x4000 Command set/feature default
88 0x001F Ultra DMA
Ultra DMA mode 0 is supported
Ultra DMA mode 1 and below is supported
Ultra DMA mode 2 and below is supported
Ultra DMA mode 3 and below is supported
Ultra DMA mode 4 and below is supported
89 0x0000 Time required for security erase unit completion
Bit 0-7 * 2: 0
90 0 Time required for Enhanced security erase completion
91 0 Current advanced power management value
92 0xFFFE Master Password Revision Code
93 0x6601 Hardware reset result
93 0x80FE Acoustic management
Bit 15-8: Recommended Bit 7-0: Current
127 0x0000 Removeable Media Status Notification feature set
support
128 0x0000 Security status
129 0x16F0
130 0x0260
131 0x16F0
132 0x0260
133 0x4520
134 0x0002
135 0x02B6
136 0x00CB
137 0xC001
138 0x3C24
139 0x3C02
140 0xFFFF
141 0x07C6
142 0x0100
143 0x0800
144 0x06C0
145 0x0200
146 0x0002
147 0x0C55
158 0x0043
159 0x000B
255 0xFDA5

The above interpretation is mostly based
on ATA/ATAPI-5 documentation.
 
S

Svend Olaf Mikkelsen

There are no lines with "Native sectors:" I'm afraid. Here's the
complete output of indentify ss (with disk set to none in the BIOS):

Identify, version 1.1.

Secondary Slave
1 39535 Number of logical cylinder
2 0 Specific configuration
3 16 Number of logical heads
4 0 Retired
5 0 Retired
6 63 Number of logical sectors per logical block
23 3.21 Firmware revision (8 ASCII characters)
27 Model number (40 ASCII characters)
ST320420A
54 16383 Number of current logical cylinders
55 16 Number of current logical heads
56 63 Number of current logical sectors per track
57 16514064 Current capacity in sectors
59 0x0010 Bit8: Valid Bit 7-0: Current multiple
60 39851760 Total number of user addressable sectors (LBA mode
only)
80 0x001E Major version number
81 0 Minor version number
82 0x3069 Command set supported
Supports SMART feature set
Supports Power Management feature set
Write cache supported
Look-ahead supported
WRITE BUFFER command supported
READ BUFFER command supported
83 0x4201 Command sets supported
DOWNLOAD MICROCODE command supported
84 0x4000 Command set/feature supported extension
85 0x3068 Command set/feature enabled
Power Management feature set enabled
Write cache enabled
Look-ahead enabled
WRITE BUFFER command enabled
READ BUFFER command enabled
86 0x0201 Command set/feature enabled
Download microcode command supported

I now see that the disk does not support the "Host Protected Area
feature set", meaning that the disk size cannot be set using software.
My thought was that doing that could have had a chance to correct the
"Number of logical cylinders" value, which should be 16384.

It could be possible that the disk supports the Set Max Address
command anyway, but my Setsize tool cannot attempt to set the size if
the disk reports it is not supported.

Also according to the Seagate documentation for the disk in
vailpmb.pdf (marked revision B) the Number of logical cylinders value
should be 16384. Seagate says on the site that disk firmware for ATA
disks is not available.

The only chance I can see to get the disk used at full size in Windows
2000/XP would be to find a driver version, maybe from the chip
manufacturer, which recognizes the disk correctly.
 
S

Svend Olaf Mikkelsen

There are no lines with "Native sectors:" I'm afraid. Here's the
complete output of indentify ss (with disk set to none in the BIOS):

Identify, version 1.1.

Secondary Slave
1 39535 Number of logical cylinder
2 0 Specific configuration
3 16 Number of logical heads
4 0 Retired
5 0 Retired
6 63 Number of logical sectors per logical block
23 3.21 Firmware revision (8 ASCII characters)
27 Model number (40 ASCII characters)
ST320420A
54 16383 Number of current logical cylinders
55 16 Number of current logical heads
56 63 Number of current logical sectors per track
57 16514064 Current capacity in sectors
59 0x0010 Bit8: Valid Bit 7-0: Current multiple
60 39851760 Total number of user addressable sectors (LBA mode
only)
80 0x001E Major version number
81 0 Minor version number
82 0x3069 Command set supported
Supports SMART feature set
Supports Power Management feature set
Write cache supported
Look-ahead supported
WRITE BUFFER command supported
READ BUFFER command supported
83 0x4201 Command sets supported
DOWNLOAD MICROCODE command supported
84 0x4000 Command set/feature supported extension
85 0x3068 Command set/feature enabled
Power Management feature set enabled
Write cache enabled
Look-ahead enabled
WRITE BUFFER command enabled
READ BUFFER command enabled
86 0x0201 Command set/feature enabled
Download microcode command supported

I now see that the disk does not support the "Host Protected Area
feature set", meaning that the disk size cannot be set using software.
My thought was that doing that could have had a chance to correct the
"Number of logical cylinders" value, which should be 16383.

It could be possible that the disk supports the Set Max Address
command anyway, but my Setsize tool cannot attempt to set the size if
the disk reports it is not supported.

Also according to the Seagate documentation for the disk in
vailpmb.pdf (marked revision B) the Number of logical cylinders value
should be 16383. Seagate says on the site that disk firmware for ATA
disks is not available.

The only chance I can see to get the disk used at full size in Windows
2000/XP would be to find a driver version, maybe from the chip
manufacturer, which recognizes the disk correctly.
 
A

Alexander Grigoriev

Do you mind that your and OP's time spent on this tiny piece of unusable
storage is vastly more expensive than buying a new bigger HD which will work
with no problem?
 
S

Svend Olaf Mikkelsen

Do you mind that your and OP's time spent on this tiny piece of unusable
storage is vastly more expensive than buying a new bigger HD which will work
with no problem?

Well, the price is that I do not see the entire Denmark/Sweeden soccer
match. Guess the rest there is to say.
 
J

JVP

On 19 Jun 2004 13:11:01 -0700, (e-mail address removed) (JVP) wrote:

"Number of logical cylinders" value, which should be 16383.
Also according to the Seagate documentation for the disk in
vailpmb.pdf (marked revision B) the Number of logical cylinders value
should be 16383. Seagate says on the site that disk firmware for ATA
disks is not available.


So can I summarize this whole thread as follows:
1) Windows 2000/XP need to see geometry 16383/16/63 before switching
to LBA mode for going over the 8.4 GB barrier
2) It is not sufficient to have CTM 16383/16/63 (words 54-56) set to
this geometry.
3) All disks bigger than 8.4 GB normally set the logical geometry
correctly to 16383/16/63 (even Seagate) but I got one of the rare
exceptions ...

Can you confirm this (especially point 3)?

Then maybe they shipped this drive with special firmware to work in
SUN workstations (from where I got the drive).

The only chance I can see to get the disk used at full size in Windows
2000/XP would be to find a driver version, maybe from the chip
manufacturer, which recognizes the disk correctly.

Apparently this is possible, according to the link I gave in my
original post:
(http://www.techsupportforum.com/showthread.php?s=&threadid=609).
Seagate does not provide drivers for windows, and my searches to find
adequate drivers elsewhere were also unsuccessful.


Anyway, thanks for clearing things out for me, at least I learned
something about the ATA interface.

Johan.
 
J

JVP

Alexander Grigoriev said:
Do you mind that your and OP's time spent on this tiny piece of unusable
storage is vastly more expensive than buying a new bigger HD which will work
with no problem?

Well, it was not a matter of economics for me, but more a matter of
technical curiosity. Being an electronics engineer myself (but
without much experience in the PC world), I wanted an acceptable
explanation for my problem. How can *you* be sure otherwise that
another (bigger) HDD will work without problem in my kids' old PC?

I am no real advocate of the trial-and-error approach myself, although
this seems to be a normal way of working in the PC world.

So I wanted to know from more experienced people why my problem was
there, solve it if possible, and most importantly, learn something
from it.

So thanks to Svend and his utilities, I learned something about HDDs.

Johan.
 
S

Svend Olaf Mikkelsen

So can I summarize this whole thread as follows:
1) Windows 2000/XP need to see geometry 16383/16/63 before switching
to LBA mode for going over the 8.4 GB barrier
2) It is not sufficient to have CTM 16383/16/63 (words 54-56) set to
this geometry.
3) All disks bigger than 8.4 GB normally set the logical geometry
correctly to 16383/16/63 (even Seagate) but I got one of the rare
exceptions ...

Can you confirm this (especially point 3)?

This is my theory too. Yes to point 3.
Then maybe they shipped this drive with special firmware to work in
SUN workstations (from where I got the drive).

Possible, or Sun just got the very first versions of the disk.
Apparently this is possible, according to the link I gave in my
original post:
(http://www.techsupportforum.com/showthread.php?s=&threadid=609).
Seagate does not provide drivers for windows, and my searches to find
adequate drivers elsewhere were also unsuccessful.


Anyway, thanks for clearing things out for me, at least I learned
something about the ATA interface.

Johan.

It is the motherboard chip set manufacturers which typically have the
drivers. As example I know that updating Via drivers from

http://www.viaarena.com/

can solve 32 GB and 128 GB problems in Windows 98, which the normal
Windows Update will not solve. This of course will only work for Via
chip sets.
 
F

Folkert Rienstra

Alexander Grigoriev said:
Do you mind that your and OP's time spent on this tiny piece of unusable
storage is vastly more expensive than buying a new bigger HD which will
work with no problem?

When you don't understand, kill it, right?
Btw, are you working for M$?

[snip]
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top