 | Topfield HDD früher abschalten |  |
Verfasst am: So 05. Jun 2005, 15:18 |
|
|
DeadBeef |
TAP-Guru |

|
|
Anmeldungsdatum: 28.03.2005 |
Beiträge: 118 |
Wohnort: am Schwäbischen Meer |
|
|
|
 |
 |
 |
|
Hallo zusammen,
falls jemand die Laufzeit der Festplatte, ohne dass sie benutzt wird,
reduzieren möchte (Standard-Timeout beträgt 10 min), kann dies ab
sofort mit der folgenden Funktion tun:
Code: |
//------------------------------------------------
void busyWait(int loops)
{
while(loops >= 0) loops--;
}
//------------------------------------------------
// setHddSpinDown()
// Sets the idle timeout for the HDD spin down. After the specified time of
// inactivity the disk will spin down and enter the power-save mode.
// The timeout granularity is 5 seconds. That is, the specified timeout
// should be a multiple of 5.
void setHddSpinDown(dword timeout)
{
// addresses of the IDE controller registers (independent of the FW version)
// sector register
volatile dword *pSec = (dword*)0xb0012d28;
// command/status register
volatile dword *pCmdStat = (dword*)0xb0012d3c;
// the timeout is provided in the sector register
*pSec = timeout / 5;
busyWait(40);
// issue the idle command
*pCmdStat = 0xe3;
busyWait(40);
}
|
Ich verstehe jetzt auch, warum meine Festplatte (SV0802N) beim
Einschalten des Receivers einen kurzen Aussetzer hat (deutlich hörbar),
was auch die Bereitschaft der Festplatte ein bisschen verzögert. Die
Firmware setzt nämlich nicht den Idle-Befehl mit Timeout (0xE3) ab,
sondern zuerst den Standby-Befehl mit Timeout (0xE2) und dann den
Idle-Befehl ohne Timeout (0xE1), um die Festplatte weiter rotieren zu
lassen. Ich kenne die IDE/ATA-Spezifikation nicht so genau und kann
nicht sagen, welche Vorgehensweise die korrektere wäre.
Gruß
DeadBeef
EDIT
Ein TAP mit der o.g. Funktionalität ist jetzt verfügbar |
|
Zuletzt bearbeitet von DeadBeef am Mo 06. Jun 2005, 20:34, insgesamt 1-mal bearbeitet _________________ DeadBeef's TAP Collection |
|
|
|
 | |  |
Verfasst am: So 05. Jun 2005, 15:29 |
|
|
BlackOne |
AvatarRotator |

 |
|
Anmeldungsdatum: 20.06.2003 |
Beiträge: 2606 |
Wohnort: Corleone\Sizilien wäre sehr schön |
|
|
|
 |
 |
 |
|
stellst du das auch als eigenständiges tap auf deine seite? |
|
_________________ BlackOne
warum ich immer alles klein schreibe? einfach nur so
1xTF5500PVR+250GB Samsung+AlphaCrypt
1xTF5510PVR+160GB Samsung
1xSpaunSMK9982F
2xMTI Blue Line Quat. LNB |
|
|
|
Verfasst am: So 05. Jun 2005, 19:03 |
|
|
AdMiRaL |
TV-Junkie |

 |
|
Anmeldungsdatum: 06.12.2003 |
Beiträge: 229 |
|
|
|
|
 |
 |
 |
|
Stimme BlackOne zu. Das wär klasse.
Gruß AdMiRaL |
|
_________________ TF5000PVR + Alphacrypt 3.03
TAP´s: Improbox + SmartEPG + Automove + ReZap + TF5000 Display |
|
|
|
 | |  |
Verfasst am: Mo 06. Jun 2005, 9:27 |
|
|
Eber |
TAP-Guru |

 |
|
Anmeldungsdatum: 07.05.2004 |
Beiträge: 1970 |
Wohnort: Mainz |
|
|
|
 |
 |
 |
|
@DeadBeef:
Echter Wahnsinn was Du da wieder hinbekommen hast.
Wenn ich mir das recht überlege (ich kenne mich allerdings mit der
IDE-Spezifikation nicht aus) sollte es mit Deinem Code doch auch
möglich sein statt den TimeOut der Platte zu verändern auch das
Acoustic Management zu steuern (d.h. natürlich konkret, die Platte in
die leiseste Betriebsart zu versetzen).
Natürlich kann man das auch am PC machen, aber für viele wäre es
wahrscheinlich beim Einbau einer größeren Festplatte in den Topf eine
große Erleichterung, wenn sie die Platte nicht zuvor in den PC einbauen
müßten (spart u.U. ja doch einiges an Schrauberei ).
Viele Grüße
Eber
EDIT:
habe gerade noch ein bisschen gegoogelt:
Code: |
define HDIO_SET_ACOUSTIC 0x032c /* change acoustic behavior */
HDIO_SET_ACOUSTIC change acoustic behavior
usage:
int val;
ioctl(fd, HDIO_SET_ACOUSTIC, val);
inputs:
New value for drive acoustic settings
outputs: none
error return:
EINVAL (bdev != bdev->bd_contains) (not sure what this means)
EACCES Access denied: requires CAP_SYS_ADMIN
EINVAL value out of range [0 254]
EBUSY Controller busy |
|
|
|
|
|
 | |  |
Verfasst am: Mo 06. Jun 2005, 9:59 |
|
|
jk |
Team topfield.de |

 |
|
Anmeldungsdatum: 14.11.2003 |
Beiträge: 1272 |
Wohnort: Jennerdorf, Österreich |
|
|
|
 |
 |
 |
|
wobei laut wiki:
Code: |
128 is the quiet-modus. If you set x to 254 you will get the maximum of speed, but you can also choose a number between. |
..und ich dachte immer 1 oder so ist der leiseste wert, 128 ist "balanced"  |
|
_________________ Es gibt Menschen, die in Erfahrungswelten leben, die wir nicht betreten können. (John Steinbeck)
 |
|
|
|
 | |  |
Verfasst am: Mo 06. Jun 2005, 21:05 |
|
|
DeadBeef |
TAP-Guru |

|
|
Anmeldungsdatum: 28.03.2005 |
Beiträge: 118 |
Wohnort: am Schwäbischen Meer |
|
|
|
 |
 |
 |
|
Ein TAP für den Idle-Timer ist jetzt verfügbar.
In Bezug auf den Wunsch, den Accoustic Mode zu manipulieren, muss ich
sagen, dass es verlockend klingt. Leider funktioniert die angegebene
Methode (unter Linux) nicht für jede Festplatte gleich. Denn der
einzustellende Wert ist herstellerabhängig. Was für eine Festplatte gut
ist, kann die andere auf die Palme bringen. Es würde einiges an Zeit
und Aufwand kosten, verschiedene Festplattentypen auf Verträglichkeit
zu prüfen. Das TAP müßte dann anhand des Festplattentyps den Wert
einstellen.
Ohne gesicherte Erkenntnisse in diesem Bereich möchte ich den
Nutzern nichts zumuten, was möglicherweise ihre Festplatte unbrauchbar
macht.
Gruß
DeadBeef |
|
|
|
|
 | |  |
Verfasst am: Mo 06. Jun 2005, 21:14 |
|
|
BlackOne |
AvatarRotator |

 |
|
Anmeldungsdatum: 20.06.2003 |
Beiträge: 2606 |
Wohnort: Corleone\Sizilien wäre sehr schön |
|
|
|
 |
 |
 |
|
@DeadBeef
VIELEN DANK
werde es mal nachher auf die platte bringen  |
|
_________________ BlackOne
warum ich immer alles klein schreibe? einfach nur so
1xTF5500PVR+250GB Samsung+AlphaCrypt
1xTF5510PVR+160GB Samsung
1xSpaunSMK9982F
2xMTI Blue Line Quat. LNB |
|
|
|
Verfasst am: Mo 06. Jun 2005, 21:30 |
|
|
buko |
Dauerglotzer |

 |
|
Anmeldungsdatum: 14.02.2004 |
Beiträge: 496 |
Wohnort: München & Tirol |
|
|
|
 |
 |
 |
|
BlackOne hat folgendes geschrieben:: |
@DeadBeef
VIELEN DANK
werde es mal nachher auf die platte bringen  |
...ich auch..
@BlackOne
....wie soll das bei Dir gehen, sitzt denn ganze Zeit auf dem
Klo rumm....
gruss buko |
|
_________________ Philips
36PW9525 + TF5000CI + TF5000PVR + TF5500PVR + Samsung 160GB + 250GB +
Fw.v. 10.06.2005 + AC 2.03 ! + AC 3.05 + AC 1.04 Light + easy.TV
V1.05.... |
|
|
|
 | |  |
Verfasst am: Mo 06. Jun 2005, 21:55 |
|
|
Happy |
TAP-Guru |

 |
|
Anmeldungsdatum: 19.04.2003 |
Beiträge: 650 |
Wohnort: Malsch bei Karlsruhe |
|
|
|
 |
 |
 |
|
buko hat folgendes geschrieben:: |
@BlackOne
....wie soll das bei Dir gehen, sitzt denn ganze Zeit auf dem
Klo rumm....
|
Ich hätte schon so ne Vermutung wo der Topf steht, wahrscheinlich in spritzwassergeschützter Ausfertigung
Ach so, ich bin auch ein notorischer Festplattenabschalter..
Gruß,
Happy |
|
_________________ http://topfield.hepke.com
-------------------------------------------
TF 5500 PVR - 300GB
Maxtor - TF4000 PVR - 160GB Samsung - Yamaha RX-V 1500 -
Autostart-TAPs: Autodelete, Jag's EPG, Improbox, Automove, Nice Display |
|
|
|
 | |  |
Verfasst am: Mo 06. Jun 2005, 22:06 |
|
|
BlackOne |
AvatarRotator |

 |
|
Anmeldungsdatum: 20.06.2003 |
Beiträge: 2606 |
Wohnort: Corleone\Sizilien wäre sehr schön |
|
|
|
 |
 |
 |
|
@DeadBeef
es funktioniert hervorragend
danke  |
|
_________________ BlackOne
warum ich immer alles klein schreibe? einfach nur so
1xTF5500PVR+250GB Samsung+AlphaCrypt
1xTF5510PVR+160GB Samsung
1xSpaunSMK9982F
2xMTI Blue Line Quat. LNB |
|
|
|
 | |  |
Verfasst am: Di 07. Jun 2005, 16:27 |
|
|
emarzinkowski |
Guru |

 |
|
Anmeldungsdatum: 23.02.2005 |
Beiträge: 2430 |
Wohnort: 79576 Weil am Rhein |
|
|
|
 |
 |
 |
|
DeadBeef hat folgendes geschrieben:: |
Es würde einiges an Zeit und Aufwand kosten, verschiedene Festplattentypen auf Verträglichkeit zu prüfen. |
vielleicht aber für die 4-5 gebräuchlichsten Platten?
Die meisten User haben ja Samsung drin oder die Originale Seagate.
Mit der neuen API kannst du die HddID jetz auch leicht auslesen |
|
_________________ Viele Grüsse,
"erna" alias Enrico
auf den Weltfrieden (Phil Connors alias Bill Murray)
Topfield Wikipedia
TF5500PVR; Firmware Juni '05; HA250JC
NiceDisplay, Improbox, SmartEPG, Automove, Jag'S Auto Off, TimerGuard, filer (noch nicht AutoStart) |
|
|
|
 | |  |
Verfasst am: Di 07. Jun 2005, 16:33 |
|
|
Eber |
TAP-Guru |

 |
|
Anmeldungsdatum: 07.05.2004 |
Beiträge: 1970 |
Wohnort: Mainz |
|
|
|
 |
 |
 |
|
DeadBeef hat folgendes geschrieben:: |
Es würde einiges an Zeit und Aufwand kosten, verschiedene Festplattentypen auf Verträglichkeit zu prüfen. |
Die Prüfung auf Verträglichkeit könnten ja einige Freiwillige hier
übernehmen. Das man dabei die Platte soweit schrotten kann, das man sie
auch nicht mit PC-Hilfe und den SMART-Utilities des jeweiligen
Herstellers nicht wieder zum laufen bekommt kann ich mir eigentlich
nicht vorstellen.
Sonst gäbe es schon bestimmt jede Menge Plattenkiller-Viren
Mir würde ja schon ein Sourcecodebeispiel für das Setzen des Wertes
reichen. Eine entsprechende Benutzerschnittstelle würde ich gerne dazu
basteln....den Code habe ich ja größtenteils in der Schublade
Grüße
Eber |
|
|
|
|
 | |  |
Verfasst am: Mi 08. Jun 2005, 8:44 |
|
|
DeadBeef |
TAP-Guru |

|
|
Anmeldungsdatum: 28.03.2005 |
Beiträge: 118 |
Wohnort: am Schwäbischen Meer |
|
|
|
 |
 |
 |
|
Ich
glaube, es war ein bisschen übertrieben, den Idle-Timer der Festplatte
auf 30s zu setzen. Denn bei programmierten Aufnahmen schaltet sie sich
wieder ab, bevor die eigentliche Aufnahme beginnt, so dass die
Festplatte in den ersten paar Sekunden der Aufnahme nicht verfügbar
ist.
Wer auf Nummer sicher gehen möchte sollte den Idle-Timer auf > 60s setzen.
Gruß
DeadBeef |
|
|
|
|
 | |  |
Verfasst am: Mi 08. Jun 2005, 9:11 |
|
|
Harvey |
Superguru |

|
|
Anmeldungsdatum: 13.06.2003 |
Beiträge: 3121 |
Wohnort: 6°37’O 51°41’N |
|
|
|
 |
 |
 |
|
Ich
überlege ohnehin, das TAP so umzugestalten, dass sich die Platte auf
Knopfdruck abschaltet (ob ich's wirklich mache weiss ich noch nicht, da
ich in der Testphase den Topf andauernd zwischen PC und Fernseher
tragen müsste). |
|
_________________ Gruss
Harvey
Irrtümer und Rächtschreipfehler sind auf ein fehlerhaftes Speichermanagement zurückzuführen
TF5000PVR, FW13.09.05, Astra only, FTA only |
|
|
|
 | |  |
Verfasst am: Mi 08. Jun 2005, 12:12 |
|
|
BlackOne |
AvatarRotator |

 |
|
Anmeldungsdatum: 20.06.2003 |
Beiträge: 2606 |
Wohnort: Corleone\Sizilien wäre sehr schön |
|
|
|
 |
 |
 |
|
DeadBeef hat folgendes geschrieben:: |
Ich
glaube, es war ein bisschen übertrieben, den Idle-Timer der Festplatte
auf 30s zu setzen. Denn bei programmierten Aufnahmen schaltet sie sich
wieder ab, bevor die eigentliche Aufnahme beginnt, so dass die
Festplatte in den ersten paar Sekunden der Aufnahme nicht verfügbar
ist.
Wer auf Nummer sicher gehen möchte sollte den Idle-Timer auf > 60s setzen.
Gruß
DeadBeef |
ich habe mit 40s keine probleme
Harvey hat folgendes geschrieben:: |
Ich
überlege ohnehin, das TAP so umzugestalten, dass sich die Platte auf
Knopfdruck abschaltet (ob ich's wirklich mache weiss ich noch nicht, da
ich in der Testphase den Topf andauernd zwischen PC und Fernseher
tragen müsste). |
würden wir denn auch in den genuss
kommen dieses tap zu nutzen?
natürlich nur ,wenn du es wirklich machst  |
|
_________________ BlackOne
warum ich immer alles klein schreibe? einfach nur so
1xTF5500PVR+250GB Samsung+AlphaCrypt
1xTF5510PVR+160GB Samsung
1xSpaunSMK9982F
2xMTI Blue Line Quat. LNB |
|
|
|
 | |  |
Verfasst am: Mi 08. Jun 2005, 12:24 |
|
|
Harvey |
Superguru |

|
|
Anmeldungsdatum: 13.06.2003 |
Beiträge: 3121 |
Wohnort: 6°37’O 51°41’N |
|
|
|
 |
 |
 |
|
Wenn's mir gelingt ist das Ehrensache. |
|
_________________ Gruss
Harvey
Irrtümer und Rächtschreipfehler sind auf ein fehlerhaftes Speichermanagement zurückzuführen
TF5000PVR, FW13.09.05, Astra only, FTA only |
|
|
|
 | |  |
Verfasst am: Do 16. Jun 2005, 17:51 |
|
|
DeadBeef |
TAP-Guru |

|
|
Anmeldungsdatum: 28.03.2005 |
Beiträge: 118 |
Wohnort: am Schwäbischen Meer |
|
|
|
 |
 |
 |
|
@Eber
Die Code-Sequenz zum Einstellen des Acoustic Managements ist laut Linux-Kernel (featuring TF) wie folgt:
Code: |
#define SETFEATURES_EN_AAM 0x42
#define SETFEATURES_DIS_AAM 0xC2
#define WIN_SETFEATURES 0xEF
#define WIN_NOP 0x00
//-----------------------------------------------------------------------------
void busyWait(int loops)
{
while(loops >= 0)
{
loops--;
}
}
void setAcoustic(unsigned char val)
{
// addresses of IDE controller registers are independent of the FW version.
volatile int *pFeatReg = (int*)0xb0012d24;
volatile int *pSectReg = (int*)0xb0012d28;
volatile int *pHeadReg = (int*)0xb0012d38;
volatile int *pCmdReg = (int*)0xb0012d3c;
// AAM is enabled if val > 0 and disabled otherwise
*pFeatReg = val ? SETFEATURES_EN_AAM : SETFEATURES_DIS_AAM;
busyWait(40);
// Topfield FW always uses this head value for feature setting
*pHead = 0xe0;
busyWait(40);
// copy the provided AAM value to the sectors register
*pSectReg = val;
busyWait(40);
// issue set features command
*pCmdReg = WIN_SETFEATURES;
busyWait(40);
// reset features reg
*pFeatReg = 0;
} |
Ich habe es allerdings noch nicht ausprobiert. Außerdem müsste man die
Platte zur Überprüfung der Einstellung in den PC einbauen, es sei denn
man kann den Unterschied hören .
Ich konnte bis jetzt nicht rausfindent, wie man die aktuelle
Einstellung auslesen kann. Möglicherweise gibt es dafür proprietäre
ATA-Befehle.
Gruß
DeadBeef |
|
|
|
|
 | |  |
Verfasst am: Do 16. Jun 2005, 18:34 |
|
|
Eber |
TAP-Guru |

 |
|
Anmeldungsdatum: 07.05.2004 |
Beiträge: 1970 |
Wohnort: Mainz |
|
|
|
 |
 |
 |
|
Mist! Vorgestern habe ich ja meine Platte im PC auf leise getrimmt...
Trotzdem Danke für den Code - ich denke mal, das dadurch einigen der Plattenwechsel doch wesentlich einfacher gemacht wird.
Das Auslesen des Acoustic Mode ist m.W. auch genormt - ich werde
noch mal nachschauen und vielleicht findet sich noch jemand der das
ganze noch zu einem Tap verpackt - zur Not mach ich es selbst, aber ich
habe im Moment noch mit Smartepg zu kämpfen.
Grüße
Eber |
|
|
|
|
 | |  |
Verfasst am: Do 16. Jun 2005, 18:53 |
|
|
steviec |
Dauerglotzer |

 |
|
Anmeldungsdatum: 07.06.2005 |
Beiträge: 393 |
|
|
|
|
 |
 |
 |
|
Hi,
Also bei mir funktioniert das Tap nicht. Man hört zwar, dass die
Platte sich kurz abschaltet, jedoch gleich wieder an geht (Timeshift
ist nat. ausgeschaltet).
PS: Das mit dem Acoustic Managment wäre nat. super, ich hab nämlich
vergessen meine Platte auf leise zu stellen (und jetzt bin ich zu faul,
das Teil nochmal auszubauen). Würde mich auch als Testperson anbieten... |
|
_________________ TF 5500 PVR - 250GB Samsung HD 5760 rpm - TAPs: SmartEPG ReDesign, Improbox, Nice Display, ***** 0.72RC1e beta7  |
|
|
|
 | |  |
Verfasst am: Do 16. Jun 2005, 23:39 |
|
|
DeadBeef |
TAP-Guru |

|
|
Anmeldungsdatum: 28.03.2005 |
Beiträge: 118 |
Wohnort: am Schwäbischen Meer |
|
|
|
 |
 |
 |
|
@steviec
Könntest es sein, dass TAPs, die auf Deinem Topf laufen, die Festplatte
ansprechen und sie wieder zum rotieren bringen. Schaltet sich die FP
bei Dir nach 10 Minuten ab (d.h. ohne IdleHdd TAP)? Wenn nicht, dann
muß es an den TAPs liegen. Wenn doch, dann haben wir schon die erste
Abweichung in der Handhabung der Festplatten. Eventuell könnte es auch
am Timing des IdleHdd TAPs liegen.
Gruß
DeadBeef |
|
|
|
|
 |
|
|
|