Sie sind nicht angemeldet.

Anzeigen

**Wir werden in den kommenden Tagen einen Umzug auf einen neuen Server durchführen. Im Rahmen dieser Maßnahme wird das Forum ca. 1 Stunde nicht erreichbar sein.** nslu2-info.de ist ein privates Projekt von mir, welches jeden Monat aus eigener Tasche finanziert wird. Mit einer freiwilligen Spende wird der Erhalt und der weitere Ausbau dieses Forums unterstützt. Um mich beim Erhalt des Forums zu unterstützen, kannst Du entweder via Flattr oder Paypal spenden. Ich bedanke mich schon jetzt bei allen Unterstützern.

Lieber Besucher, herzlich willkommen bei: Die NSLU2 Community****wenns ums speichern und streamen geht****. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

21

Montag, 13. Februar 2006, 08:22

Zitat von »pumpkin0«

Nach meinem Wissensstand sind nicht alle Platten mit StBy ausgestattet. Hitachi Deskstar's können es scheinbar zuverlässig.

Zum Einstellen kann man auch Knoppix benutzen, dann muss man linux nicht installieren.

... und wie stellt man das am Besten an? Kann man dort die Zeitspanne bis zum Herunterfahren selber festlegen? Habe nämlich 'ne Hitachi an meiner NSLU zu laufen :)

22

Montag, 13. Februar 2006, 11:27

Man muss die Platte ausbauen und an einen normalen Rechner anschliessen. Dann unter Linux (oder Knoppix):

hdparm -K1 /dev/die-richtige-platte
hdparm -k1 /dev/die-richtige-platte
hdparm -S Zeit-die-man-will /dev/die-richtige-platte

Wobei die Zeitangabe ein bisschen komplex ist:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
       -S     Set the standby (spindown) timeout for the drive.  This value is
              used by the drive to determine how long to wait  (with  no  disk
              activity)  before  turning  off the spindle motor to save power.
              Under such circumstances, the drive may take as long as 30  sec-
              onds  to respond to a subsequent disk access, though most drives
              are much quicker.  The encoding of the timeout value is somewhat
              peculiar.   A  value  of zero means "timeouts are disabled": the
              device will not automatically enter standby mode.  Values from 1
              to  240 specify multiples of 5 seconds, yielding timeouts from 5
              seconds to 20 minutes.  Values from 241 to 251 specify from 1 to
              11 units of 30 minutes, yielding timeouts from 30 minutes to 5.5
              hours.  A value of 252 signifies a  timeout  of  21  minutes.  A
              value  of 253 sets a vendor-defined timeout period between 8 and
              12 hours, and the value 254 is reserved.  255 is interpreted  as
              21  minutes  plus  15  seconds.  Note that some older drives may
              have very different interpretations of these values.

23

Montag, 13. Februar 2006, 19:54

Zitat von »pumpkin0«

Man muss die Platte ausbauen und an einen normalen Rechner anschliessen. Dann unter Linux (oder Knoppix):

hdparm -K1 /dev/die-richtige-platte
hdparm -k1 /dev/die-richtige-platte
hdparm -S Zeit-die-man-will /dev/die-richtige-platte

Wobei die Zeitangabe ein bisschen komplex ist ...

Wow - ganz schön kompliziert. Und das bei meinen ergiebigen Linux-Kenntnissen. Das werde ich mal probieren. Aber erst am WE :)
Merkt sich das die Platte dann auch nach dem Ausschalten, also wenn der Strom mal ganz weg war?

24

Montag, 13. Februar 2006, 21:44

Ja, die Platte vergist sowas nicht mehr. Jedenfalls nicht so schnell. Falls windows oder das BIOS was komisches machen ist allerdings Essig.

nimble

Anfänger

Beiträge: 9

Firmwareversion / your current Firmware: originale Firmware 2.3r24

  • Nachricht senden

25

Mittwoch, 15. Februar 2006, 22:46

Hi

Versteh ich das richtig: Ich stell das mit meinem knoppix ein und meine nlu2 probleme mit spindown ind gelöst?
Geh mal davon aus dass maxline platten das beherschen :-)

cool THX

26

Mittwoch, 15. Februar 2006, 23:28

Ich würde da von gar nix ausgehen. Die Commands sind uralt, werden aber nur sehr selten implementiert. Die komplette Produktpalette von seagate beherrscht die Commands z.B. nicht und wird sie laut Supportline von Seagate so schnell auch nicht lernen. Bei Maxtor bin ich mir nicht sicher. Aktuelle Hitachi Deskstar gehen.

Wenn es geht ist das Spindown-Problem gelöst.

nimble

Anfänger

Beiträge: 9

Firmwareversion / your current Firmware: originale Firmware 2.3r24

  • Nachricht senden

27

Donnerstag, 16. Februar 2006, 23:40

Hi

Knoppix hats gefressen (neeee es war suse Live!) aber die Platten laufen weiter

Muss ich zuerst gross -K1 und dann klein -k1 machen? was bewirken diese?

muss ich nach dem -S noch irgendein abschliessenden Befehl eingeben (sichern oder so)? oder kann ich einfach runterfahren?
Leider habe ich nirgens informationen über die Implementation des Befehls gefunden. Ist das ganze vom Kernel aus gesteuert oder werden die Befehle von der Platte ausgeführt?
Oder ein mischmasch?

THX

jh2000

Anfänger

Beiträge: 20

Firmwareversion / your current Firmware: Unslung 3.18

  • Nachricht senden

28

Samstag, 18. Februar 2006, 13:58

Nur mal so als info, LaCie (oder wie man die schreibt) gehäuse haben intern eine festplatte von z.b. wd oder sonst einem anbieter, es scheint somit nur vom chipsatz des rahmens abhängig zu sein.
Ich habe bei mir 3 festplatten und 2 rahmen und keine kombination geht. Evtl liegts auch nur generell am kernel, hdparm sagt ja fehler die durch den kernel patch überhaupt erst integriert werden. und wenn ihr mal in dmesg guckt nachdem ihr das compiliert habt, oder scsi-idle benutzt oder die binary oder sonst irgend eins, gehts auf den selben fehler hinaus:
program scsi-stop is using a deprecated SCSI ioctl, please convert it to SG_IO

also entweder haben alle progs den selben fehler oder der kernel machts nicht mit. Evtl setzten einige rahmen das anders um so das die das ausgleichen und es funktioniert.

Der hinweis der beim compilieren der scsi-spin.c auftaucht kann ignoriert werden. Das liegt nur an der compilier-umgebung bzw an der gcc version.
Ich bekomme ein anders warning bei mir:
scsi-spin.c:35:1: warning: "SCSI_DISK_MAJOR" redefined
In file included from scsi-spin.c:31:
/usr/include/linux/major.h:170:1: warning: this is the location of the previous definition

Kann behoben werden ndem die zeilen die SCSI_DISC_MAJOR definieren einfach gelöscht/auskommentiert werden, da dies bereits definiert wird in ähnlicher weise.
Vorhanden:
266Mhz, Openslug, 4 Usb ports, 120GB hdd, Webcam, Soundkarte, USB^RS232 Adapter(für usv), Serielle console, LED-Script, Buzzer-programm.
Was noch fehlt:
Display, USB tastatur(evtl maus :>),jtag interface, ramerweiterung(liegt bereit), scsi-idle, ein neuer Kernel, und dann bestimmt nochn stärkeres Netzteil :)
Was wohl nicht möglich ist (wenn doch bitte benachrichtigen):
2. Netzwerkkarte(Onboard), Zusatz-pci port für z.b. dvb-s karte.

modi1980

Anfänger

Beiträge: 19

Firmwareversion / your current Firmware: Unslung 3.18

  • Nachricht senden

29

Montag, 29. Mai 2006, 15:41

um hier mal wieder ein bisschen bewegung reinzubringen, verweise ich auf folgenden beitrag:
http://www.nslu2-info.de/showthread.php?…ted=1#post16709

das könnte doch was sein, oder?!
modi

modi1980

Anfänger

Beiträge: 19

Firmwareversion / your current Firmware: Unslung 3.18

  • Nachricht senden

30

Montag, 19. Juni 2006, 19:57

habe in dem thread auch die möglichkeit gefunden, die platte herunterzufahren. sie fährt allerdings sofort wieder hoch. wenn man nun noch ein skript anpassen könnte, wäre das problem gelöst und standby realisiert!

31

Freitag, 23. Juni 2006, 20:46

Weitere Erfolgsmeldung!

Hi Leute,
da mich meine Erkenntnisse ein paar Tage gekostet haben, bevor ich Erfolg hatte, möchte ich dem einen oder anderen von Euch eventuell das "Haare raufen" ersparen.

OK:

USB Case: RaidSonic ICY BOX IB-351UE (UDMA, USB + FireWire)
USB Controller-Chip: Prolific (PL3507) und Agere für FireWire


ERROR:

USB Case: RaidSonic ICY BOX IB-351U (UDMA, USB) - ACHTUNG, nicht verwechseln mit der oben!!!
USB Controller-Chip: Cypress (7C68300A)

USB Case: Mapower MAP-H31U2G (UDMA, USB)
USB Controller-Chip: Genesis (GL811E-04)

Falls Ihr eine RaidSonic ICY BOX habt und wissen möchtet, welcher Controller da drin ist, schaut hier (und sucht nach: Welcher Chip wird verwendet?):
http://www.raidsonic.de/de/pages/service/faq.php

Es funktioniert sowohl mit dem "slugspin"-Tool wie auch mit "scsi-idle" (mehr habe ich nicht getestet).
Das Binary-Package von "scsi-idle" (von mir auf OpenSlug getestet) hänge ich mit an, mehr ist für den Betrieb nicht notwendig (nur per ipkg installieren).
Ein paar nützliche Hinweise und ein nettes Shell-Script zur Nutzung von "scsi-idle" könnt Ihr hier finden:

http://www.nslu2-linux.org/wiki/FAQ/SpinDownUSBHarddisks

Ich habe mir das Shell-Script (nicht das Perl-Script) den Hinweisen entsprechend angepaßt, jetzt gehen meine ganzen HDDs ganz brav nach 60 Minuten Leerlauf "automatisch schlafen" ohne weiteres zutun. So habe ich mir das vorgestellt :)


Weitere Erkenntnisse meiner Suche:

Chipsätze, die "scheinbar" gehen:
- Prolific >= PL3507 (u.a. in RaidSonic, s.o.)
- Oxford >= OXUF922 (u.a. in LaCie, Plumax)

Chipsätze, die "scheinbar" nicht gehen:
- Genesis <= GL811E-04
- Prolific <= PL2507
- Cypress (habe ich nicht einen erfolgreichen Bericht gefunden)

Weitere Chipsätze OHNE Erkenntnisse:
- JMicron (MacPower u.a.)
- VIA (scheinbar ALLE USB-Gehäuse mit "One Touch Backup" Funktion)
- ALI (Revoltec ALU BOOK 1 - NICHT 2 !!! - u.a.)


In der Hoffnung, dem einen oder anderen von Euch damit schlaflose Nächte (und böse Fehlkäufe für die NSLU2) erspart zu haben wünsche ich nun viel Erfolg!

Bye Alex

@Admins des Forums:
Wollt Ihr nicht eventuell auch noch die "ipk, tar.gz und tgz"-Erweiterungen für den Upload frei geben? Das Board dealed ja nun einmal mit NSLU2/Linux-Dateiformaten, oder ;)
»alexatunix« hat folgende Datei angehängt:

sn123py

Anfänger

Beiträge: 11

Firmwareversion / your current Firmware: originale Firmware 2.3r24

  • Nachricht senden

32

Dienstag, 18. Juli 2006, 11:47

Hallo,

lese jetzt grad erst diesen Beitrag, ich hätte da noch was:

mit nem debianslug habe ich das mit den sg3-utils hinbekommen.

Voraussetzungen dafür: der Kernel muss die /sys -Struktur anbieten - es sollte also /sys/block/sda usw. existieren. Dann ein kleines Script, das die Platten überwacht und schlafen schickt:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#!/usr/bin/perl
use POSIX qw(strftime);

$timeout = 5 * 60;

# device to use
$devicelist = "sda,sdb,sdc,sdd";


#################################


foreach $device (split(',', $devicelist)) {
  $lastRCount{$device}=0;
  $lastATime{$device}=0;
  $sleepTime{$device}=0;
  }

while (true) {
  foreach $device (split(',', $devicelist)) {
    open F, "< /sys/block/" . $device . "/device/iorequest_cnt";
    $requestCount{$device} = hex <F>;
    close F;

    $now=strftime "%s", localtime;
    if ($requestCount{$device} != $lastRCount{$device}) {
      $lastATime{$device} = $now;
      }

    # if we are after the timeout and there were new
    # accesses after the last sleep time -> go to sleep (again)
    if ($now > $lastATime{$device} + $timeout && $lastATime{$device} > $sleepTime{$device}) {

      $sleepTime{$device} = $now;
      system "logger -i -t scs_idle sending $device to sleep";
      system "/usr/bin/sg_start 0 -pc=3 /dev/$device";

      # increase the request count by one for the command we just sent
      $requestCount{$device}++;
      }

    $lastRCount{$device}=$requestCount{$device};
    }
  sleep 60;
  }

und schon legen sich die Platten schlafen.

Achso, ich habe an der nslu2 4xReichelt-billig-gehäuse ("EXTERN 3,5 ALU") - rennt 1a.

Schöne Grüße,
Friedhelm

33

Freitag, 21. Juli 2006, 08:10

Kann den jetzt bitte mal jemand der es hinbekommen hat ein Howto schreiben?

Kann den jetzt bitte mal jemand der es hinbekommen hat ein Howto schreiben?
_____________________________________________
:cool: 3xNSLU with Debian Lenny /2 Standorte mit OpenVPN

tobox

Anfänger

Beiträge: 3

Firmwareversion / your current Firmware: Debian

  • Nachricht senden

34

Sonntag, 23. Juli 2006, 11:11

Zitat von »sn123py«


mit nem debianslug habe ich das mit den sg3-utils hinbekommen.

Voraussetzungen dafür: der Kernel muss die /sys -Struktur anbieten - es sollte also /sys/block/sda usw. existieren. Dann ein kleines Script, das die Platten überwacht und schlafen schickt:

und schon legen sich die Platten schlafen.

Achso, ich habe an der nslu2 4xReichelt-billig-gehäuse ("EXTERN 3,5 ALU") - rennt 1a.


Hallo sn123py,

auch ich habe eine Reichelt EXTERN 3,5 ALU, aber bei mir legt sich die Platte weder mit scsi-idle noch mit den sg3-utils schlafen. Nach einem

Quellcode

1
sg_start 0 -pc=3 /dev/sdb
läuft die Platte immer noch (es ist nichts gemounted von der Platte, dass root liegt auf einem USB Stick. lsusb zeigt bei mir folgendes:

Quellcode

1
Bus 003 Device 003: ID 04b4:6830 Cypress Semiconductor Corp. USB-2.0 IDE Adapter


Meldet sich dein EXTERN 3,5 ALU mit der gleichen Kennung? Oft werden nämlich in solchen Billigangeboten unter gleichem Namen unterschiedliche Elektroniken verbaut...

Thomas

Sandmann

Schüler

Beiträge: 59

Firmwareversion / your current Firmware: anderes

  • Nachricht senden

35

Dienstag, 15. August 2006, 19:57

Hallo,

Nur kurze Info:
Ich habe ein Seagate (250GB, von "bin doch nicht blöd", 99€).
Gestern habe ich Spooky´s 4.2 alpha draufgebügelt und die Platte geht brav aus. Das ging mit 6.8 beta nicht.

sandmann

ackerjun

Anfänger

Beiträge: 5

Firmwareversion / your current Firmware: Unslung 6.8

  • Nachricht senden

36

Mittwoch, 16. August 2006, 23:20

automatisches Spindown mit unslung 6.8?

Hallo,

ich habe mir unslung 6.8 erst vor kurzem auf meinen NSLU2 gemacht, in der Hoffnung, meine Platte (Hitachi Deskstar in IcyBox IB-350UE) damit in Standby zu bekommen.

Mit slugspin bekomme ich die Platte auch angehalten und wieder gestartet, nur der automatische Downspin nach z.B. 15 Minuten bekomme ich so nicht hin. Wenn ich das richtig sehe geht das nur mit scsi-idle, das wiederum läuft aber nur auf OpenSlug. Oder ist es möglich scsi-idle auch auf unslung 6.8 zum laufen zu bringen? Hat ein Profi vielleicht eine Lösung für mich auf der Basis von slugspin, lauffähig auf unslung?

Gruß Ackerjun

ackerjun

Anfänger

Beiträge: 5

Firmwareversion / your current Firmware: Unslung 6.8

  • Nachricht senden

37

Montag, 28. August 2006, 22:20

Lösung für Unslung 6.8 mit slugspin

Jezt habe ich doch selber mich ins ShellScript hacken ein wenig eingearbeitet und bin zu einer Lösung für Unslung gekommen.
Meine Lösung ist jetzt sehr nah an Chris' ShellScript-Lösung von der Seite http://www.nslu2-linux.org/wiki/FAQ/SpinDownUSBHarddisks. Das Script dort war aber nur auf OpenSlug lauffähig, da es auf Unslung keine /proc/diskstats gibt. So etwas ähnliches ist aber /proc/stat, die ich jetzt verwende. Anstatt scsi-idle verwende ich die slugspin aus diesem Thread.

Das Script ist wie folgt:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#!/bin/sh
state=`/bin/grep disk_io /proc/stat | /bin/sed -e 's/.*(8,0):(\([^)]*\)).*/\1/'`
count=900
up=1
while [ 1 ]; do
   sleep 60
   count=$(($count-60))
   newstate=`/bin/grep disk_io /proc/stat | /bin/sed -e 's/.*(8,0):(\([^)]*\)).*/\1/'`
   if [ '$state' = '$newstate' ]; then
      if [ $count -lt 0 ]; then
         count=900
         if [ $up = 1 ]; then
            sync
            state=`/bin/grep disk_io /proc/stat | /bin/sed -e 's/.*(8,0):(\([^)]*\)).*/\1/'`
            /bin/slugspin -d -f /dev/sda > /dev/null
            up=0
         fi
      fi
   else
      #echo -e "drive is up\t" `date`
      count=900
      state="$newstate"
      up=1
   fi
done


Noch als Anmerkung zum Script, die Platte, die ich runterspinnen will ist /dev/sda, die Zeit nach der die Platte runterfährt ist 900 Sekunden.
Unter `/bin/grep disk_io /proc/stat | /bin/sed -e 's/.*(8,0):(\([^)]*\)).*/\1/'` wird in der datei /proc/stat die Zeichenkette nach (8,0) heraus extrahiert und in der Variable abgespeichert. Um sicher zu gehen, dass die disk_io-stats, die bei euch hinter (8,0) stehen auch zur Platte /dev/sda gehören solltet Ihr mal in /proc/stat reinschauen und ausprobieren, welche Zahlen sich verändert haben nach einem Plattenzugriff. Dann das Script natürlich entsprechend anpassen.

Viel Spass noch mit dem Script und einen Dank an meinen Bruder.

38

Montag, 11. September 2006, 20:19

Genial - läuft perfekt - vielen Dank!

Hi! Danke für die Arbeit, damit hab ich jetzt mein NSLU-Setup endlich genau so hingekriegt wie ich es immer gewünscht hab!
Damit die HD-Überwachung gleich beim Booten gestartet wird, hab ich einfach die ganzen Schleifen weggelassen und lasse den Disk-Status ab und zu als cron-job überprüfen.

Gruesse, sgysi

39

Freitag, 17. November 2006, 10:31

@sgysi

Würdest du dein script und die angepasste crontab zur Verfügung stellen?

danke

Daniel

40

Freitag, 17. November 2006, 23:09

Klar doch - ist aber nicht "mein" script, sondern eine schlanke version von ackerjuns grossem wurf! habe es nur gem. seinen anweisungen adaptiert (hier wird /dev/sdb runtergespinnt):


Quellcode

1
2
3
4
5
6
7
8
#!/bin/sh
state=`/bin/grep disk_io /proc/stat | /bin/sed -e 's/.*(8,1):(\([^)]*\)).*/\1/'`
sleep 15 
newstate=`/bin/grep disk_io /proc/stat | /bin/sed -e 's/.*(8,1):(\([^)]*\)).*/\1/'`
   if [ '$state' = '$newstate' ]; then
            sync
            /bin/slugspin -d /dev/sdb > /dev/null
   fi



Das Script heisst bei mir spindownscript, die Zeile in der crontab, die das dann in Abständen aufruft entsprechend:

Quellcode

1
*/5 * * * * root /opt/var/spindownscript



Und das ganze funktioniert bei mir mit:
NSLU2 mit Unslung 6.8 Beta
Samsung M40 80GB (MP0804H) in einer RaidSonic ICY BOX IB-250UE


Viel Glück!

Social Bookmarks