1 (edytowany przez lukas 2013-02-14 17:54:46)

Temat: hd-idle źle wykrywany dysk

hd-idle działa i usypia dysk sda. Dysk faktycznie przestaje się kręcić.
Oczywiście jest podmontowany w nośnikach USB i normalnie widać dyski w otoczeniu sieciowym no i ftp również działa.
Problem mam po wzbudzeniu dysku ze stanu uśpienia, dysk nagle staje się dyskiem sdb no i partycje sdb1, sdb2 it.
No i problem bo podmontowane były jako sda.
Restart routera i znowu są sda do czasu uśpienia dysku.
Jak to rozwiązać by działało poprawnie?

2

Odp: hd-idle źle wykrywany dysk

Montując dysk po uuid w fstab ?

RB760iGS + RB260GS / Ryzen 5 2660 / 16G DDR4 / MiniITX - Inea 1G (https://i.imgur.com/TLbJVDw.png)
RB951-2HnD / Celeron J1900 / 4G DDR3 / MiniITX - Satpol 100M

3 (edytowany przez lukas 2013-02-14 18:30:06)

Odp: hd-idle źle wykrywany dysk

Nie łapię co chodzi, rozwiń skrót myślowy.
Nadmienię że nie mam fstab, mam czysty soft i podmontowane dyski normalnie poprzez gui
Wydaje mi się, że uuid  nadawane jest partycjom a nie dyskowi. Ja usypiam cały dysk czyli sda a nie uuid danej partycji.
No tylko po wzbudzeniu nie mam już sda tylko sdb

4

Odp: hd-idle źle wykrywany dysk

To znaczy że poprzedni nie był odmontowany i pojawia się nowe oznaczenie. Usypianie w twoim przypadku wygląda tak jak byś dysk fizycznie odłączył.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

5

Odp: hd-idle źle wykrywany dysk

U mnie się dzieje podobnie, ale mam wrażenie że cały problem wynika z minidlna.
Jak wyłącze minidlna to nie ma problemu z wyjściem dysku ze stanu uśpienia i nie ma znaczenia czy jest to usypianie realizowane prze dysk czy z poziomu hdd-idle.
Jak włącze minidlna to problem jest następujący: pierwsze wybudzenie i oglądnięcie filmu jest ok. Następne wybudzenie już nie (na TV jest błąd odczytu) i następuje powielenie dysku jako sdb

6

Odp: hd-idle źle wykrywany dysk

A czy da się coś z tym zrobić?
Jak poprawnie uśpić dysk?

7

Odp: hd-idle źle wykrywany dysk

próbowałem hdparm'em ustawić parametry usypiania dysk ale to nic nie dało.
w weekend podepnę inny dysk z zasilaniem zew i zobaczę

8

Odp: hd-idle źle wykrywany dysk

tak jak pisał cezary wygląda jakby uśpienie było traktowane przez router jak odłączenie kabla.

dmesg

[62848.200000] usb 1-1.3.1: USB disconnect, device number 4
[62848.220000] sd 0:0:0:0: [sda] Unhandled error code
[62848.220000] sd 0:0:0:0: [sda]  Result: hostbyte=0x01 driverbyte=0x00
[62848.230000] sd 0:0:0:0: [sda] CDB: cdb[0]=0x28: 28 00 00 01 29 08 00 00 08 00
[62848.230000] end_request: I/O error, dev sda, sector 76040
[62854.510000] usb 1-1.3.1: new high-speed USB device number 5 using ehci-platform
[62854.630000] usb-storage 1-1.3.1:1.0: Quirks match for vid 1058 pid 0704: 8000
[62854.630000] scsi1 : usb-storage 1-1.3.1:1.0
[62855.640000] scsi 1:0:0:0: Direct-Access     WD       2500BEV External 1.05 PQ: 0 ANSI: 4
[62855.650000] sd 1:0:0:0: [sdb] 488397168 512-byte logical blocks: (250 GB/232 GiB)
[62855.650000] sd 1:0:0:0: [sdb] Write Protect is off
[62855.660000] sd 1:0:0:0: [sdb] Mode Sense: 21 00 00 00
[62855.660000] sd 1:0:0:0: [sdb] No Caching mode page present
[62855.670000] sd 1:0:0:0: [sdb] Assuming drive cache: write through
[62855.680000] sd 1:0:0:0: [sdb] No Caching mode page present
[62855.680000] sd 1:0:0:0: [sdb] Assuming drive cache: write through
[62855.750000]  sdb: sdb1
[62855.750000] sd 1:0:0:0: [sdb] No Caching mode page present
[62855.760000] sd 1:0:0:0: [sdb] Assuming drive cache: write through
[62855.770000] sd 1:0:0:0: [sdb] Attached SCSI disk
[62856.070000] head: sending ioctl 540d to a partition!
[62856.080000] head: sending ioctl 540d to a partition!
[62856.510000] disktype: sending ioctl 5305 to a partition!
[62856.510000] disktype: sending ioctl 5305 to a partition!
[62856.620000] EXT4-fs (sdb1): recovery complete
[62856.630000] EXT4-fs (sdb1): mounted filesystem with ordered data mode. Opts: (null)
[62930.960000] EXT4-fs error (device sda1): ext4_find_entry:935: inode #2: comm vsftpd: reading directory lblock 0

logread

Feb 15 08:08:00 Gargoyle kern.info kernel: [62848.200000] usb 1-1.3.1: USB disconnect, device number 4
Feb 15 08:08:00 Gargoyle kern.info kernel: [62848.220000] sd 0:0:0:0: [sda] Unhandled error code
Feb 15 08:08:00 Gargoyle kern.info kernel: [62848.220000] sd 0:0:0:0: [sda]  Result: hostbyte=0x01 driverbyte=0x00
Feb 15 08:08:00 Gargoyle kern.info kernel: [62848.230000] sd 0:0:0:0: [sda] CDB: cdb[0]=0x28: 28 00 00 01 29 08 00 00 08 00
Feb 15 08:08:00 Gargoyle kern.err kernel: [62848.230000] end_request: I/O error, dev sda, sector 76040
Feb 15 08:08:07 Gargoyle kern.info kernel: [62854.510000] usb 1-1.3.1: new high-speed USB device number 5 using ehci-platform
Feb 15 08:08:07 Gargoyle kern.info kernel: [62854.630000] usb-storage 1-1.3.1:1.0: Quirks match for vid 1058 pid 0704: 8000
Feb 15 08:08:07 Gargoyle kern.info kernel: [62854.630000] scsi1 : usb-storage 1-1.3.1:1.0
Feb 15 08:08:07 Gargoyle user.notice usb-modeswitch: 1-1.3.1:1.0: Manufacturer=Western_Digital Product=External_HDD Serial=575845333038535537353738
Feb 15 08:08:08 Gargoyle kern.notice kernel: [62855.640000] scsi 1:0:0:0: Direct-Access     WD       2500BEV External 1.05 PQ: 0 ANSI: 4
Feb 15 08:08:08 Gargoyle kern.notice kernel: [62855.650000] sd 1:0:0:0: [sdb] 488397168 512-byte logical blocks: (250 GB/232 GiB)
Feb 15 08:08:08 Gargoyle kern.notice kernel: [62855.650000] sd 1:0:0:0: [sdb] Write Protect is off
Feb 15 08:08:08 Gargoyle kern.debug kernel: [62855.660000] sd 1:0:0:0: [sdb] Mode Sense: 21 00 00 00
Feb 15 08:08:08 Gargoyle kern.err kernel: [62855.660000] sd 1:0:0:0: [sdb] No Caching mode page present
Feb 15 08:08:08 Gargoyle kern.err kernel: [62855.670000] sd 1:0:0:0: [sdb] Assuming drive cache: write through
Feb 15 08:08:08 Gargoyle kern.err kernel: [62855.680000] sd 1:0:0:0: [sdb] No Caching mode page present
Feb 15 08:08:08 Gargoyle kern.err kernel: [62855.680000] sd 1:0:0:0: [sdb] Assuming drive cache: write through
Feb 15 08:08:08 Gargoyle kern.info kernel: [62855.750000]  sdb: sdb1
Feb 15 08:08:08 Gargoyle kern.err kernel: [62855.750000] sd 1:0:0:0: [sdb] No Caching mode page present
Feb 15 08:08:08 Gargoyle kern.err kernel: [62855.760000] sd 1:0:0:0: [sdb] Assuming drive cache: write through
Feb 15 08:08:08 Gargoyle kern.notice kernel: [62855.770000] sd 1:0:0:0: [sdb] Attached SCSI disk
Feb 15 08:08:08 Gargoyle kern.warn kernel: [62856.070000] head: sending ioctl 540d to a partition!
Feb 15 08:08:08 Gargoyle kern.warn kernel: [62856.080000] head: sending ioctl 540d to a partition!
Feb 15 08:08:09 Gargoyle kern.warn kernel: [62856.510000] disktype: sending ioctl 5305 to a partition!
Feb 15 08:08:09 Gargoyle kern.warn kernel: [62856.510000] disktype: sending ioctl 5305 to a partition!
Feb 15 08:08:09 Gargoyle kern.info kernel: [62856.620000] EXT4-fs (sdb1): recovery complete
Feb 15 08:08:09 Gargoyle kern.info kernel: [62856.630000] EXT4-fs (sdb1): mounted filesystem with ordered data mode. Opts: (null)
Feb 15 08:09:22 Gargoyle ftp.info vsftpd[10773]: [kiniu] OK LOGIN: Client "83.17.16.156"
Feb 15 08:09:23 Gargoyle kern.crit kernel: [62930.960000] EXT4-fs error (device sda1): ext4_find_entry:935: inode #2: comm vsftpd: reading directory lblock 0

Sprawdzę w weekend na dysku zew 3.5" z zew zasilaczem

9

Odp: hd-idle źle wykrywany dysk

Feb 15 08:08:00 Gargoyle kern.info kernel: [62848.200000] usb 1-1.3.1: USB disconnect, device number 4
Feb 15 08:08:00 Gargoyle kern.info kernel: [62848.220000] sd 0:0:0:0: [sda] Unhandled error code
Feb 15 08:08:00 Gargoyle kern.info kernel: [62848.220000] sd 0:0:0:0: [sda]  Result: hostbyte=0x01 driverbyte=0x00
Feb 15 08:08:00 Gargoyle kern.info kernel: [62848.230000] sd 0:0:0:0: [sda] CDB: cdb[0]=0x28: 28 00 00 01 29 08 00 00 08 00
Feb 15 08:08:00 Gargoyle kern.err kernel: [62848.230000] end_request: I/O error, dev sda, sector 76040

No dokładnie.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

10 (edytowany przez lukas 2013-02-16 20:23:21)

Odp: hd-idle źle wykrywany dysk

A jakie jeszcze sposoby na uśpienie dysku można wypróbować.
Pomijając już te http://eko.one.pl/?p=openwrt-standby
Dwa poniższe w ogóle nie usypiają dysku.

a może coś źle robię?

root@Gargoyle:~$ sdparm -all /dev/sda
    /dev/sda: ST500LM0  12 HN-M500MB      2AR1
    Direct access device specific parameters: WP=0  DPOFUA=0
root@Gargoyle:~$ sdparm --set SCT=600 -6 /dev/sda
    /dev/sda: ST500LM0  12 HN-M500MB      2AR1
change_mode_page: page offset failed: given response length too small, offset=4 given_len=4 bd_len=0

root@Gargoyle:~$

11

Odp: hd-idle źle wykrywany dysk

Masz do niego może soft od producenta? W nim może być usypianie dysku.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

12

Odp: hd-idle źle wykrywany dysk

Mam taki program Verbatim GREEN BUTTON
Tylko usypianie jest wtedy jak on jest włączony.

13

Odp: hd-idle źle wykrywany dysk

Szkoda, bo jak by to zapisywał w dysku to problem miałbyś z głowy.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

14

Odp: hd-idle źle wykrywany dysk

Rozwiązanie problemu z usypianiem dysku jest bardzo proste i nie wymaga nawet sporo myślenia.

Zainstalowałem
plugin-gargoyle-hdidle
i w nim wskazałem pierwsza partycję.
Partycja została zapisana w pliku /etc/config/hd-idle
config 'hd-idle'
    option 'enable_debug' '0'
    option 'idle_time_unit' 'minutes'
    option 'disk' 'blkid | grep 6c5e8027-9120-43b4-a6ca-e5ee35ab223 | cut -b 6-8'
    option 'enabled' '1'
    option 'idle_time_interval' '30'

i w pliku /etc/config/samba


config 'sambashare' '1_Programy'
    option 'name' 'Programy'
    option 'path' '/tmp/usb_mount/7A924FBE924F7E1'


config 'sambashare' '2_Filmy'
    option 'name' 'Filmy'
    option 'path' '/tmp/usb_mount/4FC8-A9D'

gdy było /tmp/usb_mount/sda1 i /tmp/usb_mount/sda2 to dysk nie montował partycji bo były wykrywane jako sdb1 i sdb2 i tak w kółko.
Teraz dysk wykrywany jest różnie nawet cda czy coś takiego ale zawsze odnosi się do numerów partycji.
Jednym słowy działa poprawnie.

15

Odp: hd-idle źle wykrywany dysk

hd-idle masz opisany w poradniku który sam przytoczyłeś. Więc teraz Ci działa hd-idle a poprzednio nie?

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

16 (edytowany przez lukas 2013-02-17 15:52:07)

Odp: hd-idle źle wykrywany dysk

Zgadza się.

Jeżeli podpinasz dysk i jest wykrywany jako sda to po uśpieniu dysku i ponownym przebudzeniu dysk mam wykrywany jako sdb więc wszystkie skróty typu /tmp/usb_mount/sda1 przestają działać zgadza się? a jak zamiast skrótu /tmp/usb_mount/sda1 zamontowany jest teraz dysk jako /tmp/usb_mount/4FC8-A9D to działa.
Normalnie przez http://192.168.1.1/usb_storage.sh można zamontować partycje ale tylko poprzez skrót się to odbywa.
Tak samo jeżeli usypiasz dysk jako sda to po przebudzeniu nie usypia dysku jako sda bo dysk jest już dyskiem sdb

17

Odp: hd-idle źle wykrywany dysk

No ok tylko że po pewnym czasie będzie w systemie zamontowanych ileś tam dysków niedziałających. Bo za każdym razem będzie montowany jako nowy, inny dysk a ten uśpiony zostaje w systemie.

18 (edytowany przez lukas 2013-02-17 16:59:25)

Odp: hd-idle źle wykrywany dysk

Zgadza się, po pewnym czasie będzie w systemie zamontowanych ileś tam dysków niedziałających.
Ale!!! Mam ustawiony zaplanowany restart codziennie o 7:00 i znowu dysk zaczyna od sda :-)
Na noc i tak wyłączony jest ruch wifi automatycznie:

0 23 * * * echo 14 > /dev/ttyUSB0; echo "Telefon OFF" > /dev/d1; echo "Antena OFF" > /dev/d2; uci set wireless.@wifi-device[0].disabled=1; wifi

a restart go przywraca.

19

Odp: hd-idle źle wykrywany dysk

Sorry za odkopanie tematu, ale może przez ten czas pojawiło się jakieś bardziej "eleganckie" rozwiązanie? Nadmienię, że mam ten sam problem... Najlepiej przez GUI, ale z konsolą również sobie poradzę. Wersja 1.6.2.2

Dzięki z góry

OpenWrt Attitude Adjustment 12.09.1 (r42647)  + Gargoyle PL 1.6.2.2 (b70bfc1) @ TP-Link TL-WDR4300 v1 + extroot (DLNA, HD-Idle, HDD 1TB

20

Odp: hd-idle źle wykrywany dysk

W praktyce nie - nie ma.

21

Odp: hd-idle źle wykrywany dysk

Hd-idle nie usypia dysku.
Urządzenia: ZyXEL NBG6716 + luci-15.05-ar71xx, hub USB3 Unitek Y-3041 z własnym zasilaczem, dysk WD Black (WD7500BPKX), w obudowie dysku Icy box IB-231StU3S-G. Sądząc po tym zapisie "Stan uśpienia 0,20 W" dysk powinien dać się uśpić. Dysk podłączony jest do w/w huba, lecz w razie potrzeby mogę go podłączyć bezpośrednio do routera. Testowałem na szybko i chyba nie potrzebuje dodatkowego zasilania (działał) lecz w razie czego jest to możliwe, obudowa Icy box ma gniazdo do podłączenia zasilacza, ten z hub-a pasuje.

Czytałem sporo w tym temacie, próbowałem różnych ustawień w /etc/config/hd-idle lecz bez powodzenia.

1. Co sugerujecie, co mogę jeszcze sprawdzić ?
2. Czy ma sens sprawdzanie innych programów tego typu, hdparm, sdparm

Krynio

TP-Link TL-WDR4300 Mod, CPU 700MHz, Flash 16 MB, Gargoyle 1.5.11.4, extroot + dysk zewnętrzny Samsung (S2), kamerka MS LifeCam HD-5000
TP-Link TL-WR1043ND Mod, RAM 64 MB, chłodzenie pasywne, Gargoyle 1.5.10.14, extroot, kamerka Logitech HD Webcam C270

22

Odp: hd-idle źle wykrywany dysk

Uzupełnienie informacji.
Na dysku WD Black (WD7500BPKX) są dwie partycje:

/dev/sdb1: LABEL="dysk_ext4" UUID="02b00bf6-4376-442c-8523-dfba879bd422" TYPE="ext4" PARTUUID="0002b07d-01"
/dev/sdb2: LABEL="dysk_ntfs" UUID="76CE54C662B88C8A" TYPE="ntfs" PARTUUID="0002b07d-02"

/dev/sdb1: LABEL="dysk_ext4" montowane w /etc/config/fstab
/dev/sdb2: LABEL="dysk_ntfs" montowane za pomocą polecenia ntfs-3g /dev/sdb2 /mnt/dysk_ntfs -o big_writes dodałem do /etc/rc.local

Chciałbym spróbować niestandardowej konfiguracji Hd-idle "blkid | grep..."opisanej tutaj.
Nie jestem pewny czy w moim przypadku tak ma to wyglądać

blkid | grep 02b00bf6 | cut -b 6-8

Choć testując w konsoli wygląda że jest dobrze

root@OpenWrt:~# blkid | grep 02b00bf6 | cut -b 6-8
sdb

Jednak w/w formy zapisu nie można umieścić w /etc/config/hd-idle ponieważ podczas próby włączenia wywali błąd "option -b"
Cezary w przytoczonym przeze mnie poście pisze o zrobieniu zmiany w /etc/init.d/hd-idle
tylko jak to miałoby wyglądać ?
Poniżej mój /etc/init.d/hd-idle

#!/bin/sh /etc/rc.common
# Copyright (C) 2008-2011 OpenWrt.org

START=50

append_bool() {
    local section="$1"
    local option="$2"
    local value="$3"
    local _val
    config_get_bool _val "$section" "$option" '0'
    [ "$_val" -gt 0 ] && append args "$3"
}

append_string() {
    local section="$1"
    local option="$2"
    local value="$3"
    local _val
    config_get _val "$section" "$option"
    [ -n "$_val" ] && append args "$3 $_val"
}

compute_seconds() {
    local interval="$1"
    local unit="$2"

    if [ -z "$interval" ]
    then
        interval=10
    fi

    if [ -z "$unit" ]
    then
        unit="minutes"
    fi

    # compute interval in seconds
    case "$unit" in
        "days" )
            interval_seconds=$(($interval*60*60*24))
            ;;
        "hours" )
            interval_seconds=$(($interval*60*60))
            ;;
        "minutes" )
            interval_seconds=$(($interval*60))
            ;;
        "seconds" )
            interval_seconds=$interval
            ;;
        * )
            # default is minutes
            interval_seconds=$(($interval*60))
            ;;
    esac

    echo $interval_seconds
}

start_service() {
    local section="$1"
    args=""
    config_get "interval" "$section" "idle_time_interval"
    config_get "unit" "$section" "idle_time_unit"
    append_string "$section" "disk" "-a"
    config_get_bool "enabled" "$section" "enabled" '1'
    [ "$enabled" -gt 0 ] || return 1
    service_start /usr/bin/hd-idle $args -i "$(compute_seconds $interval $unit)"
}

start() {
    config_load "hd-idle"
    config_foreach start_service "hd-idle"
}

stop() {
    service_stop /usr/bin/hd-idle
}
TP-Link TL-WDR4300 Mod, CPU 700MHz, Flash 16 MB, Gargoyle 1.5.11.4, extroot + dysk zewnętrzny Samsung (S2), kamerka MS LifeCam HD-5000
TP-Link TL-WR1043ND Mod, RAM 64 MB, chłodzenie pasywne, Gargoyle 1.5.10.14, extroot, kamerka Logitech HD Webcam C270

23

Odp: hd-idle źle wykrywany dysk

Po co chcesz to zrobić w tym pliku? Po prostu ręcznie wywołaj hd-idle w /etc/rc.local, zrób sobie zwykły skrypt.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

24

Odp: hd-idle źle wykrywany dysk

Nie chcę, tylko tak zrozumiałem z tamtego post, widocznie źle.
OK teraz po Twojemu smile chcę zrobić tak, pytanie czy dobrze.
1. utworzę plik o nazwie aaa w  /bin
2. zawartość pliku aaa to
#!/bin/sh
blkid | grep 02b00bf6 | cut -b 6-8
3. do /etc/rc.local  dodaję wpis
/bin/aaa
O takie coś chodziło ?
4. nie bardzo wiem co to da i jaki ma związek z hd-idle

TP-Link TL-WDR4300 Mod, CPU 700MHz, Flash 16 MB, Gargoyle 1.5.11.4, extroot + dysk zewnętrzny Samsung (S2), kamerka MS LifeCam HD-5000
TP-Link TL-WR1043ND Mod, RAM 64 MB, chłodzenie pasywne, Gargoyle 1.5.10.14, extroot, kamerka Logitech HD Webcam C270

25

Odp: hd-idle źle wykrywany dysk

#!/bin/sh
dysk=$(blkid | grep 02b00bf6 | cut -b 6-8)
hd-idle -i 0 -a $dysk -i 300


Taki to ma związek z hd-idle. Masz skrypt zrobić który wywoła odpowiednio program a nie sama id dysku, inaczej taki skrypt nie ma sensu większego.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.