[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: hdparm oder Kernel - wer sagt die Wahrheit?



On Tue, 29 Aug 2006, Paul Puschmann wrote:

> > ide1 at 0x170-0x177,0x376 on irq 15
> > hda: max request size: 128KiB
> > hda: Host Protected Area detected.
> >         current capacity is 78165360 sectors (40020 MB)
> >         native  capacity is 78165361 sectors (40020 MB)
> > hda: Host Protected Area disabled.

Das Datenblatt von Seagate[1] sagt, daß der obere Zahlenwert richtig ist:

 SECTORS PER DRIVE (LBA mode) _____________78,165,360 

Daher dürfte bei einer bei 0 beginnenden Zählung maximal der 
Sektor 78.165.359 angesprochen werden. Außer der Host Protected-Kram wird 
abgeschaltet (was irgendwie nicht zu funktionieren scheint). Dann wird 
natürlich 78.165.360 adressiert.

Augenblicklich sieht das für mich wie ein Firmware-Bug in der Platte aus, 
die einen um 1 zu hohen Wert zurückliefert.

Ich habe mal ein wenig in den Kernel-Sourcen gegraben und folgendes 
herausgefunden: 

Das Abschalten der HPA findet in der ide-disk.c in der Funktion 
idedisk_set_max_address() bzw. in der idedisk_set_max_address_ext() statt.

Das Auslesen der Plattenparameter findet in 
idedisk_read_native_max_address_ext() bzw. in 
idedisk_read_native_max_address() statt.

In dem idedisk_read_*() ist in der Tat auch ein addr++ zu finden, das 
einen um 1 erhöhten Wert des von der Platte gelieferten 
maximalen Sektors zurückliefert. Auskommentieren von dem Inkrement ist 
zwar eklig - aber etwas klügeres fiel mir erst mal nicht ein, da ich den 
Wirkungszusammenhang in der ide-disk.c noch nicht so ganz im 
Detail verstanden habe.


> > hda: 78165361 sectors (40020 MB) w/1024KiB Cache, CHS=65535/16/63, UDMA(100)
> >  hda: hda1 hda2
> > hdc: ATAPI 48X DVD-ROM drive, 512kB Cache, UDMA(33)
> > Uniform CD-ROM driver Revision: 3.20
> > hda: dma_intr: status=0x51 { DriveReady SeekComplete Error }
> > hda: dma_intr: error=0x10 { SectorIdNotFound }, LBAsect=78165360, sector=78165360
> > ide: failed opcode was: unknown
> > 
> Hi,
> das Problem habe ich auch, allerdings nur mit zwei Platten an einem
> Promise-IDE-Controller. Das Problem konnte ich bisher auch noch nicht
> loesen und ich hatte ehrlich gesagt auch noch keine Lust dazu.

Die Meldungen waren früher auch schon mal - aber der Rechner wurde nur 14 
mal insgesamt gebootet. Da konnte man schon damit leben. Die Platte soll 
nun aber in ein Desktop. Dort ist die Sichtbarkeit dieses Fehlers dann 
schon etwas gravierender, wenn bei jedem Systemstart diese ziemlich 
beängstigenden (aber harmlosen) Meldungen vorbeihuschen.

> Die Meldungen tauchen bei mir auch nur sproradisch beim Booten auf.

Reboots sind für Kernel-Updates und Hardware-Tausch. 14 x booten in ca. 
drei Jahren sollten für sich sprechen... ;-)


t++


[1] http://www.seagate.com/support/disc/specs/ata/st340823a.html

Reply to: