Fórum Ubuntu CZ/SK

Ubuntu pro osobní počítače => Software => Téma založeno: PepanB 26 Května 2022, 00:18:13

Název: Conky [Vyřešeno]
Přispěvatel: PepanB 26 Května 2022, 00:18:13
Zdravím, poprvé zkousím conky. Zkusil jsem konfiguracni soubor od juwa2 (lua) bez úprav. Funguje to moc pěkně, jenom nezobrazuje teplotu disku. Mám také sda sdb disky. Místo teplot tam je A se stříškou viz https://postimg.cc/vDtnCpfc. Neví někdo jak to napravit? Hddtemp mám nainstalovaný.
Název: Re:Conky
Přispěvatel: ramael 26 Května 2022, 04:07:24
Co říká hddtemp v terminálu?
Název: Re:Conky
Přispěvatel: PepanB 26 Května 2022, 08:31:15
u sdb : /dev/sdb: WDC WD1003FZEX-00K3CA0: 28°C

u sda se mi nedaří: /dev/sda: Samsung SSD 860 EVO 500G B              �@:  no sensor
po přidání do db pořád píše že není sensor

Ale proč neukazuje ten WD na sdb?
Název: Re:Conky
Přispěvatel: ramael 26 Května 2022, 09:50:50
Tento řádek v konfu:
Kód: [Vybrat]
${color}Temp:  sda ${exec hddtemp /dev/sda | cut -c 35-36} °C    sdb ${exec hddtemp /dev/sdb | cut -c 31-32} °Csi přepiš takto:
Kód: [Vybrat]
${color}Temp:  sda ${exec hddtemp /dev/sda | cut -c 35-36} °C    sdb ${exec hddtemp /dev/sdb | cut -c 35-36} °Cteoreticky elegantněji by to šlo i takto. Pokud nebudou haprovat znakové sady:
Kód: [Vybrat]
${color}Temp:  sda ${exec hddtemp /dev/sda | cut -c 35-36} °C    sdb ${exec hddtemp /dev/sdb | cut -c 35-}Mělo by to vyřešit jen to "sdb". Více asi neporadím. Conky nepoužívám již delší dobu a hddtemp jsem nikdy nepoužíval.

Ještě:
Kód: [Vybrat]
man cut
Název: Re:Conky
Přispěvatel: PepanB 26 Května 2022, 10:19:18
Moc děkuju, vyzkoušel jsem obě možnosti a nic se nezměnilo :( Asi něco bude se znakovou sadou
Název: Re:Conky
Přispěvatel: ramael 26 Května 2022, 13:30:54
Nakopíruj sem ten konfigurační soubor. Moc se mi nechce věřit, že by tam nebyla žádná změna. Znaková sada rozhází jen něco. Také by nebylo od věci napsat jaké Ubuntu používáš. A ještě jaký textový editor používáš na úpravy konfiguráků.
Název: Re:Conky
Přispěvatel: ramael 26 Května 2022, 17:24:54
Jsem si schválně nainstaloval ten hddtemp. Nevím jak u Tebe, ale po mne to chce root práva na spuštění. To může být také problém. A ještě jsem si všiml v nápovědě přepínače -n. Takže další postup bych zvolil změnu už jednou měněného řádku na:
Kód: [Vybrat]
${color}Temp:  sda ${exec hddtemp -n /dev/sda} °C    sdb ${exec hddtemp -n /dev/sdb} °CA pokud to po tobě také chce root oprávnění, tak si uprav nebo vytvoř soubor /etc/sudoers.d/hddtemp. Tam si napiš řádek v tomto formátu:
Kód: [Vybrat]
user    ALL=NOPASSWD: /usr/sbin/hddtempkde user je uživatel pod kterým běží conky (nejspíš ty).
Název: Re:Conky
Přispěvatel: macu 26 Května 2022, 20:29:56
asi to není tvůj případ, ale od hddtemp už se právě upouští (v novém ubuntu 22.04 už ani není v repozitářích) a to z důvodu toho, že hddtemp neumí číst nvme sdd.

zadej do terminálu
Kód: [Vybrat]
sudo smartctl -A /dev/sda |grep Temperature_Celsius| awk '{print $10}'

doufám, že jsem vzal správnou pozici a zobrazí ti to teplotu disku.

Pokud nemáš smartctl nainstalované, je nutné jej samozřejmě doinstalovat.

Bohužel smartctl je nutné spustit se sudo, což je pro conky problém...tudíž buď to dát do sudoersm, a nebo to zkusit obejít jinak....osobně jsem to ještě z časových důvodů u sebe neřešil, ale na seznamu nedodělků to mám :D . Takže buď někdo poradí líp, a nebo strýček google ;)
Název: Re:Conky
Přispěvatel: PepanB 26 Května 2022, 21:39:33
Jsem si schválně nainstaloval ten hddtemp. Nevím jak u Tebe, ale po mne to chce root práva na spuštění. To může být také problém. A ještě jsem si všiml v nápovědě přepínače -n. Takže další postup bych zvolil změnu už jednou měněného řádku na:
Kód: [Vybrat]
${color}Temp:  sda ${exec hddtemp -n /dev/sda} °C    sdb ${exec hddtemp -n /dev/sdb} °CA pokud to po tobě také chce root oprávnění, tak si uprav nebo vytvoř soubor /etc/sudoers.d/hddtemp. Tam si napiš řádek v tomto formátu:
Kód: [Vybrat]
user    ALL=NOPASSWD: /usr/sbin/hddtempkde user je uživatel pod kterým běží conky (nejspíš ty).
díky opět se nic nezměnilo editaci conkyrc
zádrhel asi je v tom hddtemp který jde spustit pouze pod sudo. Po doplnění sudoers.d a restartu jde jako uživatel spustit hddtemp --drivebase a třeba hddtemp -h ale jak zadám hddtemp /dev/sdb tak musím dát opět sudo  >:( Napadlo mě jestli /dev/sdb nepotřebuje sudo...
Název: Re:Conky
Přispěvatel: PepanB 26 Května 2022, 21:46:42
asi to není tvůj případ, ale od hddtemp už se právě upouští (v novém ubuntu 22.04 už ani není v repozitářích) a to z důvodu toho, že hddtemp neumí číst nvme sdd.

zadej do terminálu
Kód: [Vybrat]
sudo smartctl -A /dev/sda |grep Temperature_Celsius| awk '{print $10}'

doufám, že jsem vzal správnou pozici a zobrazí ti to teplotu disku.

Pokud nemáš smartctl nainstalované, je nutné jej samozřejmě doinstalovat.

Bohužel smartctl je nutné spustit se sudo, což je pro conky problém...tudíž buď to dát do sudoersm, a nebo to zkusit obejít jinak....osobně jsem to ještě z časových důvodů u sebe neřešil, ale na seznamu nedodělků to mám :D . Takže buď někdo poradí líp, a nebo strýček google ;)

Dík tak to je zajímavá informace a proto asi hddtemp nečte ssd i když jsem ho do databáze doplnil.
ten smartctl mi vrátil pouze prompt.
zkusil jsem:
sudo smartctl -d ata -A /dev/sda | grep -i temperature
sudo smartctl -d ata -A /dev/sdb | grep -i temperature
a to vrací teplotu jak ssd tak plotnového disku. Jenom toho sudo kdyby se podařilo zbavit :)
Název: Re:Conky
Přispěvatel: ramael 26 Května 2022, 22:41:30
Páč je to docela zajímavé téma, koukám tomu na zoubek. Našel jsem kde a jak se ty teploty čtou z jádra: https://www.kernel.org/doc/html/latest/hwmon/drivetemp.html
U mne jsou to tyto soubory:
/sys/class/hwmon/hwmon2/temp1_input
/sys/class/hwmon/hwmon2/temp2_input
/sys/class/hwmon/hwmon2/temp3_input
Asi bych to četl od tud takto:
cat /sys/class/hwmon/hwmon2/temp1_input | cut -c -2
V tomto případě není třeba root oprávnění. Jo, vím je to na hulváta a místo přepočítávání oříznu zbytek.
Protože třeba mne smartctl vypisuje údaje jinak než u macu. Musím to zadat takto:
sudo smartctl -a /dev/nvme0 | grep Temperature: | tail -c 11 | cut -c -2
bude to tím, že mám nvme disk. To sudo pořeš přez sudoers.d ikdyž já osobně bych šel do čtení ze sys adresáře.

EDIT:
cat /sys/class/hwmon/hwmon2/temp1_input | awk '{print $1/1000}'
je asi nejčistější řešení, bez instalace dodatečných prográmků.
Název: Re:Conky
Přispěvatel: PepanB 26 Května 2022, 23:25:47
ramael: tak cat /sys/class/hwmon/hwmon2/temp1_input | awk '{print $1/1000}' funguje i s /temp2
jenom nechápu proč neukazuje stejnou teplotu jako smartctl se sudo:
smartctl: sda 29 cat sda 31
smartctl: sdb 30 cat sdb 33
Zkoušel jsem to několikrát za sebou. Bohužel si vůbec neumím představit jak donutit conky aby zobrazily údaje z cat /sys/class/hwmon/hwmon2/temp1_input | awk '{print $1/1000}'
Název: Re:Conky
Přispěvatel: TIBOR 26 Května 2022, 23:37:09
Zkoušel jsem to několikrát za sebou. Bohužel si vůbec neumím představit jak donutit conky aby zobrazily údaje z cat /sys/class/hwmon/hwmon2/temp1_input | awk '{print $1/1000}'
Skus nieco ako
Kód: [Vybrat]
${exec cat /sys/class/hwmon/hwmon2/temp1_input | awk '{print $1/1000}'}
Název: Re:Conky
Přispěvatel: ramael 26 Května 2022, 23:38:36
Tam bude asi jiný zakopaný pes. Projeď si ten hwmon adresář lépe. Je možné, že na ty disky tam bude ještě jiný soubor. Protože já tam mám tři soubry temp1 až temp3, ale disk mám jen jeden.
Do conky bych to dal tak nějak:
${color}Temp:  sda ${exec cat /sys/class/hwmon/hwmon2/temp1_input | awk '{print $1/1000}'} °C
Je možné, že se tam bude muset pohrát se závorkama. Nemohu posoudit. Conky si nemůžu nainstalovat a odzkoušet, protože mám čistý wayland a conky jedou jen na xkách.
Název: Re:Conky
Přispěvatel: PepanB 26 Května 2022, 23:57:17
ramael: jsi geniální!!! Takhle naslepo vytvořený řádek jsem vložil do conkyrc a teplota ssd je tam jako vyšitá :) Akorát zůstalo to A se stříškou mezi hodnotou teplota a °C jinak perfektní ;D
Název: Re:Conky
Přispěvatel: ramael 27 Května 2022, 00:11:19
To budu muset ukázat manželce  ;D ...
Zkus smazat ten znak ° asi tam bude zlobit kování. Možná by pomohlo smazat jen mezeru mezi °C a }
Název: Re:Conky
Přispěvatel: PepanB 27 Května 2022, 00:39:00
To budu muset ukázat manželce  ;D ...
Zkus smazat ten znak ° asi tam bude zlobit kování. Možná by pomohlo smazat jen mezeru mezi °C a }
Tak teď je to dokonalý dělal to ten znak. Myslel jsem že teploty senzoru musí sedět přesně, ale trochu se to liší(kosmeticky) :-) V kde thermal monitoru a v Psensoru je pro ssd teplota zaokrouhlená 30 stupňů a v conky ukazuje 27.8 . U sdb WD je v thermalmonitoru a Psensoru 31 stupnu a Conky ukazuje 29.8. Ale to je zanedbatelný  ;D
Název: Re:Conky
Přispěvatel: ramael 27 Května 2022, 00:52:42
Mne to ukazuje stejně. Jak smartctl tak přímé čtení z hwmonu temp1. Je možné že to u Tebe čte z temp2 nebo od jinud. Mne se ty teploty v jednotlivých tempech (čeština je krásná) liší o stupeň až dva. Ale temp1 je u mne totožný s výstupem smartctl. Teď mne napadlo jestli není náhodou temp1 nějaký průměr senzorů z temp2 a temp3. Musím dopsat ještě několik metod jedné třídy a rychle spát. Za pár hodin vstávám. Tak se na to kdyžtak kouknu zítra večer nebo pozítří.
Název: Re:Conky
Přispěvatel: PepanB 27 Května 2022, 07:53:31
Tak když v terminálu zadám sensors tak to mj. vypíše:
acpitz-acpi-0
Adapter: ACPI interface
temp1:        +27.8°C  (crit = +119.0°C)
temp2:        +29.8°C  (crit = +119.0°C)
a obě jsou to teploty z
hwmon/hwmon0/temp1_input
hwmon/hwmon0/temp2_input
na desetinu stejné.
Název: Re:Conky
Přispěvatel: ramael 27 Května 2022, 23:18:21
Tak jsem se na to kouknul. Ten temp1 je fakt průměr z temp2 a temp3. Pokud se koukneš na temp*_label, tak 1 je Composite, 2 je Sensor 1 a 3 je Sensor 2. Takže bych klidně používal temp1_input
Zkus si ještě pohrát s tím znakem stupně. Neznám zákonitosti mezi conky, lua a X a možná ještě něco jiného. Tak zkus ten řádek napsat takto:
Kód: [Vybrat]
${color}Temp:  sda ${exec cat /sys/class/hwmon/hwmon2/temp1_input | awk '{print $1/1000}'} $'\u00b0'C
Název: Re:Conky
Přispěvatel: juwa2 28 Května 2022, 03:10:29
1. hddtemp vyžaduje root práva. Aby se nemusel přidávat do vyjímek v sudoers, je jednodušší mu práva změnit takto:
Kód: [Vybrat]
sudo chmod u+s /usr/sbin/hddtemp
2. Aby se správně zobrazil znak stupňů, musíme před každou položku "s teplotou" přidat
${iconv_start UTF-8 ISO_8859-1}
a za ni
${iconv_stop}
Příklad:
Kód: [Vybrat]
${color}/dev/sda: ${iconv_start UTF-8 ISO_8859-1}${exec hddtemp /dev/sda | cut -c 34-36} °C${iconv_stop}
Lepší je ale celý soubor .conkyrc převést z utf-8 na latin1 (ISO-8859-1):
Kód: [Vybrat]
iconv -cs -f utf-8 -t latin1 .conkyrc > .conkyrc_latin1
3. Všechny řádky (příkazy) které používají exec vytěžují CPU mnohem více než vnitřní conky příkazy. Z tohoto důvodu je rozumné zvážit jak často je spouštět - např. teplotu opravdu není nutné měřit každou vteřinu, 30s bohatě stačí...
Interval spouštění se definuje pomocí execi
Kód: [Vybrat]
${color}Temp:  sda ${execi 30 hddtemp /dev/sda | cut -c 31-32}
Tento interval je nezávislý na "vnitřní taktu" conky
Jinak asi nejlepší conky wi-ki i s příklady je http://www.ifxgroup.net/conky.htm
Název: Re:Conky
Přispěvatel: ramael 28 Května 2022, 07:11:39
Jak už jsem psal výše, nemám možnost jak vyzkoušet. Avšak koukl jsem se na manuálovou stránku conky a pak taky sem http://conky.sourceforge.net/variables.html Ono by to mělo jít nativně bez exec a execi. Pokud jsem to dobře pochopil tak řádek by mohl vypadat tak nějak:
Kód: [Vybrat]
${color}Temp:  sda ${hwmon temp 2} °CA k tomu kódování můžu poznamenat jen, že díky tomu jsem opustil Xka. Ikdyž čistý wayland je ještě nevychytaný, ale to beru jako porodní bolesti.
Název: Re:Conky
Přispěvatel: PepanB 28 Května 2022, 13:34:01
Ramael : Tak
Kód: [Vybrat]
${color}Temp:  sda ${execi 30 hddtemp /dev/sda | cut -c 31-32}mi bohužel nic nezobrazí pouze Temp sda
bez exec:
Kód: [Vybrat]
${color}Temp:  sda ${hwmon temp 2} °Cfunguje skvěle teplota je zaokrouhlena na celé stupně  :)

Jenom dnes když jsem zapnul ráno studený PC tak Conky ukazovaly teploty disků cca 28 a 29 stupňů což mi bylo divné když v místnosti bylo méně asi 23 stupňů. Thermal monitor v KDE a nainstalovaný Psensor shodně ukazovaly 24/25 stupňů. Vzal jsem tedy manželčin fén a foukal na ssd i na plotnový WD a když Thermal monitor a Psendor zobrazil něco přes 45 stupňů tak v Conky se změnila teplota jenom o desetiny. Tak opravdu není jasné odkud Psensor a Thermal monitor berou teplotu. Z hwmon asi ne  >:(
Název: Re:Conky
Přispěvatel: PepanB 28 Května 2022, 13:39:57
1. hddtemp vyžaduje root práva. Aby se nemusel přidávat do vyjímek v sudoers, je jednodušší mu práva změnit takto:
Kód: [Vybrat]
sudo chmod u+s /usr/sbin/hddtemp
2. Aby se správně zobrazil znak stupňů, musíme před každou položku "s teplotou" přidat
${iconv_start UTF-8 ISO_8859-1}
a za ni
${iconv_stop}
Příklad:
Kód: [Vybrat]
${color}/dev/sda: ${iconv_start UTF-8 ISO_8859-1}${exec hddtemp /dev/sda | cut -c 34-36} °C${iconv_stop}
Lepší je ale celý soubor .conkyrc převést z utf-8 na latin1 (ISO-8859-1):
Kód: [Vybrat]
iconv -cs -f utf-8 -t latin1 .conkyrc > .conkyrc_latin1
3. Všechny řádky (příkazy) které používají exec vytěžují CPU mnohem více než vnitřní conky příkazy. Z tohoto důvodu je rozumné zvážit jak často je spouštět - např. teplotu opravdu není nutné měřit každou vteřinu, 30s bohatě stačí...
Interval spouštění se definuje pomocí execi
Kód: [Vybrat]
${color}Temp:  sda ${execi 30 hddtemp /dev/sda | cut -c 31-32}
Tento interval je nezávislý na "vnitřní taktu" conky
Jinak asi nejlepší conky wi-ki i s příklady je http://www.ifxgroup.net/conky.htm
Díky za zajímavé informace. Ten převod vyzkouším. S tím hddtemp jsem neuspěl hned ze dvou důvodů. Nepodařilo se mi zbavit se sudo v sudoers.d pořád to chce sudo při hddterm /dev/sda a potom i když jsem do driverbase správně přidal Samsung ssd tak pořád pod sudo píše že není sensor  :(
Název: Re:Conky
Přispěvatel: juwa2 28 Května 2022, 14:01:58
Když změníš práva tím příkazem, se sudoers nemusíš dělat nic. A hddtemp sudo vyžadovat nebude.
A smartctl to samé "přes kopírák".
Název: Re:Conky
Přispěvatel: PepanB 28 Května 2022, 14:14:37
tak jsem to asi v sudoers.d udělal nějak špatně: udelal jsem tam adresar hddtemp a do něho hddemp /dev/sdb
Název: Re:Conky
Přispěvatel: juwa2 28 Května 2022, 14:22:10
tak jsem to asi v sudoers.d udělal nějak špatně: udelal jsem tam adresar hddtemp a do něho hddemp /dev/sdb

Netrap se se sudoers viz výše - použij
Kód: [Vybrat]
sudo chmod u+s /usr/sbin/hddtemp
Pak už hddtemp nebude sudo potřebovat = bude fungovat v conky.
Název: Re:Conky
Přispěvatel: PepanB 28 Května 2022, 17:27:02
tak jsem to asi v sudoers.d udělal nějak špatně: udelal jsem tam adresar hddtemp a do něho hddemp /dev/sdb

Netrap se se sudoers viz výše - použij
Kód: [Vybrat]
sudo chmod u+s /usr/sbin/hddtemp
Pak už hddtemp nebude sudo potřebovat = bude fungovat v conky.
Bohužel pořád vzdoruje:
Kód: [Vybrat]
hddtemp /dev/sda
/dev/sda: open: Operace zamítnuta
Kód: [Vybrat]
hddtemp /dev/sdb
/dev/sdb: open: Operace zamítnuta
Již jsem psal výše mám podezření že přístup do /dev/sdx chce také práva roota  :(
Název: Re:Conky
Přispěvatel: juwa2 28 Května 2022, 20:32:35
Již jsem psal výše mám podezření že přístup do /dev/sdx chce také práva roota  :(

To je nějaké divné - když chceš přistoupit k souborům na těch discích, tak to taky vyžaduje sudo??  :o
Kam máš vlastně dev/sda  a  /dev/sdb  mountnuté?  Zjistíš příkazem
Kód: [Vybrat]
lsblk
Doporučuji /media/uživatel/něco  místo  /mnt/něco
A kdo je vlastníkem (root?) - k tomu není žádný důvod - kdyžtak to změň na sebe, a jaká jsou práva na těch discích? Zjistíš pomocí
Kód: [Vybrat]
ls -l <mountpoint>
Název: Re:Conky
Přispěvatel: PepanB 28 Května 2022, 20:41:14
Již jsem psal výše mám podezření že přístup do /dev/sdx chce také práva roota  :(

To je nějaké divné - když chceš přistoupit k souborům na těch discích, tak to taky vyžaduje sudo??  :o
Kam máš vlastně dev/sda  a  /dev/sdb  mountnuté?  Zjistíš příkazem
Kód: [Vybrat]
lsblk
Doporučuji /media/uživatel/něco  místo  /mnt/něco
A kdo je vlastníkem (root?) - k tomu není žádný důvod - kdyžtak to změň na sebe, a jaká jsou práva na těch discích?

lsblk:
Kód: [Vybrat]
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sda      8:0    0 465,8G  0 disk
├─sda1   8:1    0   512M  0 part /boot/efi
├─sda2   8:2    0  53,7G  0 part /
├─sda3   8:3    0 156,2G  0 part /home
├─sda4   8:4    0 247,1G  0 part /mnt/sda4
└─sda5   8:5    0   8,2G  0 part [SWAP]
sdb      8:16   0 931,5G  0 disk
└─sdb1   8:17   0 931,5G  0 part /mnt/sdb1
K přístupu na sdb1 určitě právo roota nepotřebuji.
Název: Re:Conky
Přispěvatel: juwa2 28 Května 2022, 20:47:07
Dej sem výpis příkazu
Kód: [Vybrat]
ls -l /usr/sbin/hddtemp
Mě by být jako viz obrázek
Název: Re:Conky
Přispěvatel: PepanB 28 Května 2022, 21:02:18
Dej sem výpis příkazu
Kód: [Vybrat]
ls -l /usr/sbin/hddtemp
Mě by být jako viz obrázek
tak mě terminál vypíše:
Kód: [Vybrat]
-rwsr-xr-x 1 pepan pepan 39368 19. čec  2020 /usr/sbin/hddtemp
Název: Re:Conky
Přispěvatel: ramael 28 Května 2022, 21:36:54
Osobně bych to tak nehrotil. V conky to stejně nemá smysl přez exec používat kvůli systémovým prostředkům. A když už se na hddtempu tak lpí, spustil bych ho vždy při startu jako daemon
Kód: [Vybrat]
hddtemp -d /dev/sd[ab] a do conky bych přidal
Kód: [Vybrat]
hddtemp_host 127.0.0.1
hddtemp_port 7634
a řádek bych upravil tak nějak
Kód: [Vybrat]
${color}Temp:  sda ${hddtemp /dev/sda} sdb ${hddtemp /dev/sdb}více na http://www.ifxgroup.net/conky.htm#hddtemp http://conky.sourceforge.net/variables.html a man conky
A ještě k tomu hwmonu. Pokud se koukneš sem http://www.ifxgroup.net/conky.htm#hwmon zjistíš, že programátor počítal s nějakýma nejastnostma a můžeš si výsledek dokalibrovat. Zkus porovnat výpis z conky z hwmon s výpisem
Kód: [Vybrat]
cat /sys/class/hwmon/hwmon2/temp1_input Pokud to nesedí, spočítej o kolik a douprav conky. Například pokud conky ukazuje o 3°C méně tak by to mělo být takto nějak podle udaného vzorce
Kód: [Vybrat]
${color}Temp:  sda ${hwmon temp 2 1 3}
EDIT1:
Podle nějakých příkladů z jiných conkyrc se ten hwmon používá trochu jinak:
Kód: [Vybrat]
${color}Temp:  sda ${hwmon 2 temp 1} plus ještě ta případná korekce.

EDIT2:
Na přesnější určení, by pomohl výpis:
Kód: [Vybrat]
ls -la /sys/class/hwmon/
Název: Re:Conky
Přispěvatel: PepanB 28 Května 2022, 22:05:31
ramael: Moc díky to mě nenapadlo že jdou Conky "kalibrovat" Spíše mě znepokojilo že jak jsem psal ráno tak po zahřívání disku fenem se teplota obou senzorů v hwmon změnila o desetiny a ve skutečnosti byla okolo 45 stupňů a tak nevím odkud tedy bere psensor a thermal monitor správnou teplotu. Oba ukázali těch 45 stupňů. Tady asi kalibrace nepomůže. Ty píšeš že na tvojí desce to ukazuje správně. Já mám Asus Prime z270.
Název: Re:Conky
Přispěvatel: ramael 28 Května 2022, 22:07:09
Jsem odpověď dvakrát editoval
Název: Re:Conky
Přispěvatel: juwa2 28 Května 2022, 22:22:27
Dej sem výpis příkazu
Kód: [Vybrat]
ls -l /usr/sbin/hddtemp
Mě by být jako viz obrázek
tak mě terminál vypíše:
Kód: [Vybrat]
-rwsr-xr-x 1 pepan pepan 39368 19. čec  2020 /usr/sbin/hddtemp

No z toho vidíš, že to máš oproti mě jinak (= blbě)...
Takže:
Kód: [Vybrat]
sudo chown root:root /usr/sbin/hddtemp
sudo chmod u+s /usr/sbin/hddtemp

Pak už to musí fungovat... ;)
Název: Re:Conky
Přispěvatel: PepanB 29 Května 2022, 15:36:35
juwa2 moc díky sdb to zobrazuje bez sudo :) Ještě bych se chtěl zeptat na sda disk. To je ssd Samsung 860  EVO 500 GB a u něho to píše že nemá sensor.
Ramael napsal že hddtemp neumí ssd disky. Na webu jsem našel několik návodů na úpravu /etc/hddtemp.db. Vyzkoušel jsem snad vše včetně přímé editace db souboru, ale senzor to pořád nenajde. Vypadá to že opravdu hddtemp ssd neumí. Má to cenu ještě zkoušet, nebo se s tím smířit?

Kód: [Vybrat]
hddtemp /dev/sda --drivebase:

Samsung SSD 850 EVO 500GB                               |   190 | Samsung SSD 850 EVO 500GB
Samsung SSD 860 EVO 500GB                               |   190 | Samsung SSD 860 EVO 500GB
Název: Re:Conky
Přispěvatel: TIBOR 29 Května 2022, 16:00:04
Co ti povie
Kód: [Vybrat]
sudo smartctl -A /dev/sda | grep -i "temperature"mozno budes musiet doinstalovat smartmontools.
Myslim ze senzor teploty musi mat.
Název: Re:Conky
Přispěvatel: juwa2 30 Května 2022, 09:48:36
juwa2 moc díky sdb to zobrazuje bez sudo :) Ještě bych se chtěl zeptat na sda disk. To je ssd Samsung 860  EVO 500 GB a u něho to píše že nemá sensor.
Ramael napsal že hddtemp neumí ssd disky. Na webu jsem našel několik návodů na úpravu /etc/hddtemp.db. Vyzkoušel jsem snad vše včetně přímé editace db souboru, ale senzor to pořád nenajde. Vypadá to že opravdu hddtemp ssd neumí. Má to cenu ještě zkoušet, nebo se s tím smířit?

Kód: [Vybrat]
hddtemp /dev/sda --drivebase:

Samsung SSD 850 EVO 500GB                               |   190 | Samsung SSD 850 EVO 500GB
Samsung SSD 860 EVO 500GB                               |   190 | Samsung SSD 860 EVO 500GB

Ano, hddtemp SSD neumí - já bych se s tím asi smířil...
Nicméně použil bych místo něj smartctl
A požadavek na "sudo" (heslo) bych obešel naprosto stejný způsobem jako u hddtemp (aby to fungovalo v conky)  ;)
Kód: [Vybrat]
sudo chown root:root /usr/sbin/smartctl
sudo chmod u+s /usr/sbin/smartctl
Název: Re:Conky
Přispěvatel: PepanB 30 Května 2022, 22:26:16
juwa2 jj díky funguje to bez sudo a zobrazuje správně i teplotu ssd i hdd. V conkyrc hddtemp sdb:
Kód: [Vybrat]
${color}Temp:  sdb ${exec hddtemp /dev/sdb | cut -c 31-32} °Cale když nahradím za hddtemp za smartctl -A /dev/sdb | cut -c 31-32} °C tak teplotu nezobrazí. Je nutné ještě něco změnit. Hledal jsem nějaké příklady Conky se smartctl, ale nacházím ve všech příkladech jenom hddtemp
Název: Re:Conky
Přispěvatel: PepanB 31 Května 2022, 00:32:31
Tak na sdb plotnový disk zabralo:
Kód: [Vybrat]
${color}Temp:  sdb ${exec smartctl -d ata -A /dev/sdb | egrep Temperature_Celsius | awk '{print $10}'ale pro sda Samsung ssd to nefunguje a nemohu přijít na to proč. Když zaměním /dev/sdb za /dev/sda nic se nezobrazí  :-\
Název: Re:Conky
Přispěvatel: Ventero 31 Května 2022, 08:53:10
Nevím, jestli to relevantně navede, ale pamatuji si, že u některých značek SSD, třeba Micronu (Crucial), býval nějaký problém s nějakými přístupovými právy ohl. FW nebo tak něco (ani nevím, proč to tak bylo a možná ještě je) - řešilo se to např. u spouštění TRIM, kdy bylo nutné zadat parametr
Kód: [Vybrat]
--no-model-checkTak jestli u těchto dalších funkcích pokročilé správy disků není podobné omezení. Ale možná je to irelevantní - jen se mi to vybavilo ..
Název: Re:Conky
Přispěvatel: ramael 31 Května 2022, 09:36:26
On je ten problém trošku jednodušší. Minimálně z mého pohledu. Vůbec by nebylo od věci pokud bys byl (PepanB) víc systematičtější. Koukni se v terminálu na výpis
Kód: [Vybrat]
smartctl -A /dev/sdb a pak na výpis
Kód: [Vybrat]
smartctl -A /dev/sda Jsem přesvědčen, že tam najdeš rozdíly. Třeba u mne bys s egrep Temperature_Celsius nepochodil. Protože výpis smartctl u mne vyprodukuje toto:
Kód: [Vybrat]
=== START OF SMART DATA SECTION ===
SMART/Health Information (NVMe Log 0x02)
Critical Warning:                   0x00
Temperature:                        26 Celsius
Available Spare:                    100%
Available Spare Threshold:          10%
Percentage Used:                    0%
Data Units Read:                    3 106 301 [1,59 TB]
Data Units Written:                 3 953 737 [2,02 TB]
Host Read Commands:                 32 972 436
Host Write Commands:                45 967 152
Controller Busy Time:               292
Power Cycles:                       1 071
Power On Hours:                     90
Unsafe Shutdowns:                   15
Media and Data Integrity Errors:    0
Error Information Log Entries:      0
Warning  Comp. Temperature Time:    0
Critical Comp. Temperature Time:    0
Temperature Sensor 1:               26 Celsius
Temperature Sensor 2:               26 Celsius

To znamená, že u mne funguje
Kód: [Vybrat]
smartctl -A /dev/nvme0 | egrep Temperature: U Tebe nejspíš
Kód: [Vybrat]
smartctl -A /dev/sda | egrep Temperature:Avšak pokud se pořádně koukneš na výstup předešlého a na obsah souboru /sys/class/hwmon/hwmon*/* tak zjistíš, že je to úplně to samé. To znamená že smartctl čte ty informace od jádra zde. A točíme se v kruhu! Volíš řešení, které více zatěžuje systém díky exec místo abys použil řešení co už má conky v sobě zabudované. Oni ty programy načítají z těch senzorů také jinak než že šáhnou na /sys/......../hwmon2 Oni prochází celý strom hwmonu a čtou soubory name. A z těch zjistí s jakým typem zařízení mají co dočinění. Jestli je to grafika, disk atd. Takže jak už jsem psal nedávno použij již od autorů conky zabudované hwmon. Je to to nejčistší možné řešení. A abysme Tě mohli pomoc ktrerý ten správný adresář hwmonu použít, dej sem výstup příkazu
Kód: [Vybrat]
ls -la /sys/class/hwmon/A ještě
Kód: [Vybrat]
cat /sys/class/hwmon/hwmon*/nameMyslím, že se pak posunem dál.
Název: Re:Conky
Přispěvatel: PepanB 31 Května 2022, 11:20:11
ramael: děkuji za podrobnější informace. Vím že mám nesystematický přístup, ale jsem bfu, jenom odkázaný na rady které na webu najdu.

smartctl -A /dev/sdb:

Kód: [Vybrat]
=== START OF READ SMART DATA SECTION ===
SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x002f   200   200   051    Pre-fail  Always       -       0
  3 Spin_Up_Time            0x0027   173   171   021    Pre-fail  Always       -       2341
  4 Start_Stop_Count        0x0032   097   097   000    Old_age   Always       -       3768
  5 Reallocated_Sector_Ct   0x0033   200   200   140    Pre-fail  Always       -       0
  7 Seek_Error_Rate         0x002e   200   200   000    Old_age   Always       -       0
  9 Power_On_Hours          0x0032   090   090   000    Old_age   Always       -       7321
 10 Spin_Retry_Count        0x0032   100   100   000    Old_age   Always       -       0
 11 Calibration_Retry_Count 0x0032   100   100   000    Old_age   Always       -       0
 12 Power_Cycle_Count       0x0032   097   097   000    Old_age   Always       -       3767
192 Power-Off_Retract_Count 0x0032   200   200   000    Old_age   Always       -       97
193 Load_Cycle_Count        0x0032   197   197   000    Old_age   Always       -       10797
194 Temperature_Celsius     0x0022   114   105   000    Old_age   Always       -       29
196 Reallocated_Event_Count 0x0032   200   200   000    Old_age   Always       -       0
197 Current_Pending_Sector  0x0032   200   200   000    Old_age   Always       -       0
198 Offline_Uncorrectable   0x0030   200   200   000    Old_age   Offline      -       0
199 UDMA_CRC_Error_Count    0x0032   200   200   000    Old_age   Always       -       0
200 Multi_Zone_Error_Rate   0x0008   200   200   000    Old_age   Offline      -       0


smartctl -A /dev/sda
Kód: [Vybrat]
=== START OF READ SMART DATA SECTION ===
SMART Attributes Data Structure revision number: 1
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  5 Reallocated_Sector_Ct   0x0033   100   100   010    Pre-fail  Always       -       0
  9 Power_On_Hours          0x0032   098   098   000    Old_age   Always       -       7333
 12 Power_Cycle_Count       0x0032   096   096   000    Old_age   Always       -       3765
177 Wear_Leveling_Count     0x0013   093   093   000    Pre-fail  Always       -       99
179 Used_Rsvd_Blk_Cnt_Tot   0x0013   100   100   010    Pre-fail  Always       -       0
181 Program_Fail_Cnt_Total  0x0032   100   100   010    Old_age   Always       -       0
182 Erase_Fail_Count_Total  0x0032   100   100   010    Old_age   Always       -       0
183 Runtime_Bad_Block       0x0013   100   100   010    Pre-fail  Always       -       0
187 Uncorrectable_Error_Cnt 0x0032   100   100   000    Old_age   Always       -       0
190 Airflow_Temperature_Cel 0x0032   071   054   000    Old_age   Always       -       29
195 ECC_Error_Rate          0x001a   200   200   000    Old_age   Always       -       0
199 CRC_Error_Count         0x003e   099   099   000    Old_age   Always       -       16
235 POR_Recovery_Count      0x0012   099   099   000    Old_age   Always       -       80
241 Total_LBAs_Written      0x0032   099   099   000    Old_age   Always       -       59334338495
kde vidím rozdíl mezi ID#194 u sdb a ID#190 u ssd
Chápu že hwmon je určitě výhodnější už kvůli hw zátěži, ale nenašel jsem ty správné senzory které měří teplotu disků,
podle mě jsem pořád měřil jenom teplotu acpitz

ls -la /sys/class/hwmon/
Kód: [Vybrat]
celkem 0
drwxr-xr-x  2 root root 0 31. kvě 10.30 .
drwxr-xr-x 62 root root 0 31. kvě 10.30 ..
lrwxrwxrwx  1 root root 0 31. kvě 10.30 hwmon0 -> ../../devices/virtual/thermal/thermal_zone0/hwmon0
lrwxrwxrwx  1 root root 0 31. kvě 10.30 hwmon1 -> ../../devices/platform/eeepc-wmi/hwmon/hwmon1
lrwxrwxrwx  1 root root 0 31. kvě 10.30 hwmon2 -> ../../devices/platform/coretemp.0/hwmon/hwmon2
lrwxrwxrwx  1 root root 0 31. kvě 10.30 hwmon3 -> ../../devices/platform/nct6775.656/hwmon/hwmon3

cat /sys/class/hwmon/hwmon*/name
Kód: [Vybrat]
acpitz
asus
coretemp
nct6793

Ještě pro informaci ohledně smartctl, tak u mě nic nezobrazí smartctl -A /dev/nvme0 | egrep Temperature a ani smartctl -A /dev/sda | egrep Temperature
Název: Re:Conky
Přispěvatel: ramael 31 Května 2022, 14:35:10
Taky jsem BFU, jen se o ty věci zajímám déle a hlouběji. Chvilku mi to bude trvat páč mám levou ruku mimo provoz a ani u toho nemůžu sedět, páč levá noha taky tak. Což není dvakrát fajn, když používám tiling WM. Ještě poprosím o výpis
Kód: [Vybrat]
smartctl -a /dev/sda a
Kód: [Vybrat]
smartctl -a /dev/sdb A taky o
Kód: [Vybrat]
ls -l /sys/class/hwmon/hwmon0 dále
Kód: [Vybrat]
ls -l /sys/class/hwmon/hwmon1 a
Kód: [Vybrat]
ls -l /sys/class/hwmon/hwmon3
Citace
Ještě pro informaci ohledně smartctl, tak u mě nic nezobrazí smartctl -A /dev/nvme0 | egrep Temperature a ani smartctl -A /dev/sda | egrep Temperature
To je vpořádku nvme0 je můj disk, mám jiný typ než máš ty. A nefunkčnost druhého příkazu už je jasná. Takhle bez : na konci už by to mělo jít
Kód: [Vybrat]
smartctl -A /dev/sda | egrep Temperature Tento znak | se nazývá roura/pipe a dělá to, že přesměruje výstup z předchozího příkazu do následujícího. V tomto případě ja následující příkaz egrep. Ten prohledává co se mu pošle tou rourou a hledá slovo co má dané jako parametr. V tomto případě slovo Temperature. Každý nález pošle na výstup.
Název: Re:Conky
Přispěvatel: PepanB 31 Května 2022, 15:12:10
ramael:
Moc dík, tak smartctl -A /dev/sda | egrep Temperature funguje a mj i teplotu zobrazí.
Kód: [Vybrat]
190 Airflow_Temperature_Cel 0x0032   070   054   000    Old_age   Always       -       30

smartctl -a /dev/sda:
Kód: [Vybrat]
=== START OF INFORMATION SECTION ===
Model Family:     Samsung based SSDs
Device Model:     Samsung SSD 860 EVO 500GB
Serial Number:    S3Z2NB0KB37931P
LU WWN Device Id: 5 002538 e409675ad
Firmware Version: RVT04B6Q
User Capacity:    500 107 862 016 bytes [500 GB]
Sector Size:      512 bytes logical/physical
Rotation Rate:    Solid State Device
Form Factor:      2.5 inches
TRIM Command:     Available, deterministic, zeroed
Device is:        In smartctl database 7.3/5319
ATA Version is:   ACS-4 T13/BSR INCITS 529 revision 5
SATA Version is:  SATA 3.2, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is:    Tue May 31 14:53:05 2022 CEST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

General SMART Values:
Offline data collection status:  (0x00) Offline data collection activity
                                        was never started.
                                        Auto Offline Data Collection: Disabled.
Self-test execution status:      (   0) The previous self-test routine completed
                                        without error or no self-test has ever
                                        been run.
Total time to complete Offline
data collection:                (    0) seconds.
Offline data collection
capabilities:                    (0x53) SMART execute Offline immediate.
                                        Auto Offline data collection on/off support.
                                        Suspend Offline collection upon new
                                        command.
                                        No Offline surface scan supported.
                                        Self-test supported.
                                        No Conveyance Self-test supported.
                                        Selective Self-test supported.
SMART capabilities:            (0x0003) Saves SMART data before entering
                                        power-saving mode.
                                        Supports SMART auto save timer.
Error logging capability:        (0x01) Error logging supported.
                                        General Purpose Logging supported.
Short self-test routine
recommended polling time:        (   2) minutes.
Extended self-test routine
recommended polling time:        (  85) minutes.
SCT capabilities:              (0x003d) SCT Status supported.
                                        SCT Error Recovery Control supported.
                                        SCT Feature Control supported.
                                        SCT Data Table supported.

SMART Attributes Data Structure revision number: 1
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  5 Reallocated_Sector_Ct   0x0033   100   100   010    Pre-fail  Always       -       0
  9 Power_On_Hours          0x0032   098   098   000    Old_age   Always       -       7335
 12 Power_Cycle_Count       0x0032   096   096   000    Old_age   Always       -       3767
177 Wear_Leveling_Count     0x0013   093   093   000    Pre-fail  Always       -       99
179 Used_Rsvd_Blk_Cnt_Tot   0x0013   100   100   010    Pre-fail  Always       -       0
181 Program_Fail_Cnt_Total  0x0032   100   100   010    Old_age   Always       -       0
182 Erase_Fail_Count_Total  0x0032   100   100   010    Old_age   Always       -       0
183 Runtime_Bad_Block       0x0013   100   100   010    Pre-fail  Always       -       0
187 Uncorrectable_Error_Cnt 0x0032   100   100   000    Old_age   Always       -       0
190 Airflow_Temperature_Cel 0x0032   070   054   000    Old_age   Always       -       30
195 ECC_Error_Rate          0x001a   200   200   000    Old_age   Always       -       0
199 CRC_Error_Count         0x003e   099   099   000    Old_age   Always       -       16
235 POR_Recovery_Count      0x0012   099   099   000    Old_age   Always       -       80
241 Total_LBAs_Written      0x0032   099   099   000    Old_age   Always       -       59336488853

SMART Error Log Version: 1
No Errors Logged

SMART Self-test log structure revision number 1
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Short offline       Completed without error       00%      7289         -
# 2  Short offline       Interrupted (host reset)      50%      7282         -

SMART Selective self-test log data structure revision number 1
 SPAN  MIN_LBA  MAX_LBA  CURRENT_TEST_STATUS
    1        0        0  Not_testing
    2        0        0  Not_testing
    3        0        0  Not_testing
    4        0        0  Not_testing
    5        0        0  Not_testing
Selective self-test flags (0x0):
  After scanning selected spans, do NOT read-scan remainder of disk.
If Selective self-test is pending on power-up, resume after 0 minute delay.

smartctl -a /dev/sdb:
Kód: [Vybrat]
=== START OF INFORMATION SECTION ===
Model Family:     Western Digital Black
Device Model:     WDC WD1003FZEX-00K3CA0
Serial Number:    WD-WCC6Y4SVZSDU
LU WWN Device Id: 5 0014ee 2ba9d7503
Firmware Version: 01.01A01
User Capacity:    1 000 204 886 016 bytes [1,00 TB]
Sector Sizes:     512 bytes logical, 4096 bytes physical
Rotation Rate:    7200 rpm
Form Factor:      3.5 inches
Device is:        In smartctl database 7.3/5319
ATA Version is:   ACS-3 T13/2161-D revision 3b
SATA Version is:  SATA 3.1, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is:    Tue May 31 14:57:01 2022 CEST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

General SMART Values:
Offline data collection status:  (0x82) Offline data collection activity
                                        was completed without error.
                                        Auto Offline Data Collection: Enabled.
Self-test execution status:      (   0) The previous self-test routine completed
                                        without error or no self-test has ever
                                        been run.
Total time to complete Offline
data collection:                (11100) seconds.
Offline data collection
capabilities:                    (0x7b) SMART execute Offline immediate.
                                        Auto Offline data collection on/off support.
                                        Suspend Offline collection upon new
                                        command.
                                        Offline surface scan supported.
                                        Self-test supported.
                                        Conveyance Self-test supported.
                                        Selective Self-test supported.
SMART capabilities:            (0x0003) Saves SMART data before entering
                                        power-saving mode.
                                        Supports SMART auto save timer.
Error logging capability:        (0x01) Error logging supported.
                                        General Purpose Logging supported.
Short self-test routine
recommended polling time:        (   2) minutes.
Extended self-test routine
recommended polling time:        ( 115) minutes.
Conveyance self-test routine
recommended polling time:        (   5) minutes.
SCT capabilities:              (0x3035) SCT Status supported.
                                        SCT Feature Control supported.
                                        SCT Data Table supported.

SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x002f   200   200   051    Pre-fail  Always       -       0
  3 Spin_Up_Time            0x0027   173   171   021    Pre-fail  Always       -       2316
  4 Start_Stop_Count        0x0032   097   097   000    Old_age   Always       -       3770
  5 Reallocated_Sector_Ct   0x0033   200   200   140    Pre-fail  Always       -       0
  7 Seek_Error_Rate         0x002e   200   200   000    Old_age   Always       -       0
  9 Power_On_Hours          0x0032   090   090   000    Old_age   Always       -       7323
 10 Spin_Retry_Count        0x0032   100   100   000    Old_age   Always       -       0
 11 Calibration_Retry_Count 0x0032   100   100   000    Old_age   Always       -       0
 12 Power_Cycle_Count       0x0032   097   097   000    Old_age   Always       -       3769
192 Power-Off_Retract_Count 0x0032   200   200   000    Old_age   Always       -       97
193 Load_Cycle_Count        0x0032   197   197   000    Old_age   Always       -       10799
194 Temperature_Celsius     0x0022   113   105   000    Old_age   Always       -       30
196 Reallocated_Event_Count 0x0032   200   200   000    Old_age   Always       -       0
197 Current_Pending_Sector  0x0032   200   200   000    Old_age   Always       -       0
198 Offline_Uncorrectable   0x0030   200   200   000    Old_age   Offline      -       0
199 UDMA_CRC_Error_Count    0x0032   200   200   000    Old_age   Always       -       0
200 Multi_Zone_Error_Rate   0x0008   200   200   000    Old_age   Offline      -       0

SMART Error Log Version: 1
No Errors Logged

SMART Self-test log structure revision number 1
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Short offline       Completed without error       00%      7277         -
# 2  Short offline       Interrupted (host reset)      80%      7269         -

SMART Selective self-test log data structure revision number 1
 SPAN  MIN_LBA  MAX_LBA  CURRENT_TEST_STATUS
    1        0        0  Not_testing
    2        0        0  Not_testing
    3        0        0  Not_testing
    4        0        0  Not_testing
    5        0        0  Not_testing
Selective self-test flags (0x0):
  After scanning selected spans, do NOT read-scan remainder of disk.
If Selective self-test is pending on power-up, resume after 0 minute delay.

ls -l /sys/class/hwmon/hwmon0:
Kód: [Vybrat]
lrwxrwxrwx 1 root root 0 31. kvě 14.10 /sys/class/hwmon/hwmon0 -> ../../devices/virtual/thermal/thermal_zone0/hwmon0

ls -l /sys/class/hwmon/hwmon1:
Kód: [Vybrat]
lrwxrwxrwx 1 root root 0 31. kvě 14.10 /sys/class/hwmon/hwmon1 -> ../../devices/platform/eeepc-wmi/hwmon/hwmon1

ls -l /sys/class/hwmon/hwmon3:
Kód: [Vybrat]
lrwxrwxrwx 1 root root 0 31. kvě 14.10 /sys/class/hwmon/hwmon3 -> ../../devices/platform/nct6775.656/hwmon/hwmon3
Jinak samoshřejmě přeju brzké uzdravení. Určitě jsi mladý člověk a tak budeš brzy fit :) U mě to nehrozí a neduhy stále přibývají...
Název: Re:Conky
Přispěvatel: ramael 31 Května 2022, 16:18:54
Dík. Mladý člověk ...  :D Tak to vlastně jsem, jen občanka a přes pět křížků na hrbu tvrdí opak. Koukám, že chybyčka se vloudila. Zapoměl jsem na lomítka. Tak prosím ještě jednou výpisy z
Kód: [Vybrat]
ls -l /sys/class/hwmon/hwmon0/
Kód: [Vybrat]
ls -l /sys/class/hwmon/hwmon1/
Kód: [Vybrat]
ls -l /sys/class/hwmon/hwmon3/
Název: Re:Conky
Přispěvatel: PepanB 31 Května 2022, 17:00:13
 :D No mladý ještě jsi. Já jsem ročník 58 ale docela zdrchanej, někdy sotva lezu :) V sobotu jsem se nechal manželkou ukecat a jel na boudu sekat trávu. Sotva jsme dorazili začalo pršet a tak proběhlo asi 3 hodinový sekání v dešti. V neděli bych mohl hrát Meresijeva - revma se probudilo snad všude :)

ls -l /sys/class/hwmon/hwmon0/
Kód: [Vybrat]
celkem 0
lrwxrwxrwx 1 root root    0 31. kvě 14.10 device -> ../../thermal_zone0
-r--r--r-- 1 root root 4096 31. kvě 14.10 name
drwxr-xr-x 2 root root    0 31. kvě 16.44 power
lrwxrwxrwx 1 root root    0 31. kvě 14.10 subsystem -> ../../../../../class/hwmon
-r--r--r-- 1 root root 4096 31. kvě 14.10 temp1_crit
-r--r--r-- 1 root root 4096 31. kvě 14.10 temp1_input
-r--r--r-- 1 root root 4096 31. kvě 14.10 temp2_crit
-r--r--r-- 1 root root 4096 31. kvě 14.10 temp2_input
-rw-r--r-- 1 root root 4096 31. kvě 14.10 uevent

ls -l /sys/class/hwmon/hwmon1/
Kód: [Vybrat]
celkem 0
lrwxrwxrwx 1 root root    0 31. kvě 14.10 device -> ../../../eeepc-wmi
-r--r--r-- 1 root root 4096 31. kvě 14.10 name
drwxr-xr-x 2 root root    0 31. kvě 16.46 power
lrwxrwxrwx 1 root root    0 31. kvě 16.46 subsystem -> ../../../../../class/hwmon
-rw-r--r-- 1 root root 4096 31. kvě 14.10 uevent

ls -l /sys/class/hwmon/hwmon3/
Kód: [Vybrat]
celkem 0
-rw-r--r-- 1 root root 4096 31. kvě 14.10 beep_enable
lrwxrwxrwx 1 root root    0 31. kvě 14.10 device -> ../../../nct6775.656
-r--r--r-- 1 root root 4096 31. kvě 14.10 fan1_alarm
-rw-r--r-- 1 root root 4096 31. kvě 14.10 fan1_beep
-r--r--r-- 1 root root 4096 31. kvě 14.10 fan1_input
-rw-r--r-- 1 root root 4096 31. kvě 14.10 fan1_min
-rw-r--r-- 1 root root 4096 31. kvě 14.10 fan1_pulses
-rw-r--r-- 1 root root 4096 31. kvě 16.49 fan1_target
-rw-r--r-- 1 root root 4096 31. kvě 16.49 fan1_tolerance
-r--r--r-- 1 root root 4096 31. kvě 14.10 fan2_alarm
-rw-r--r-- 1 root root 4096 31. kvě 14.10 fan2_beep
-r--r--r-- 1 root root 4096 31. kvě 14.10 fan2_input
-rw-r--r-- 1 root root 4096 31. kvě 14.10 fan2_min
-rw-r--r-- 1 root root 4096 31. kvě 14.10 fan2_pulses
-rw-r--r-- 1 root root 4096 31. kvě 16.49 fan2_target
-rw-r--r-- 1 root root 4096 31. kvě 16.49 fan2_tolerance
-r--r--r-- 1 root root 4096 31. kvě 14.10 fan3_alarm
-rw-r--r-- 1 root root 4096 31. kvě 14.10 fan3_beep
-r--r--r-- 1 root root 4096 31. kvě 14.10 fan3_input
-rw-r--r-- 1 root root 4096 31. kvě 14.10 fan3_min
-rw-r--r-- 1 root root 4096 31. kvě 14.10 fan3_pulses
-rw-r--r-- 1 root root 4096 31. kvě 16.49 fan3_target
-rw-r--r-- 1 root root 4096 31. kvě 16.49 fan3_tolerance
-r--r--r-- 1 root root 4096 31. kvě 14.10 fan4_alarm
-rw-r--r-- 1 root root 4096 31. kvě 14.10 fan4_beep
-r--r--r-- 1 root root 4096 31. kvě 14.10 fan4_input
-rw-r--r-- 1 root root 4096 31. kvě 14.10 fan4_min
-rw-r--r-- 1 root root 4096 31. kvě 14.10 fan4_pulses
-rw-r--r-- 1 root root 4096 31. kvě 16.49 fan4_target
-rw-r--r-- 1 root root 4096 31. kvě 16.49 fan4_tolerance
-r--r--r-- 1 root root 4096 31. kvě 14.10 fan5_alarm
-rw-r--r-- 1 root root 4096 31. kvě 14.10 fan5_beep
-r--r--r-- 1 root root 4096 31. kvě 14.10 fan5_input
-rw-r--r-- 1 root root 4096 31. kvě 14.10 fan5_min
-rw-r--r-- 1 root root 4096 31. kvě 14.10 fan5_pulses
-rw-r--r-- 1 root root 4096 31. kvě 16.49 fan5_target
-rw-r--r-- 1 root root 4096 31. kvě 16.49 fan5_tolerance
-r--r--r-- 1 root root 4096 31. kvě 14.10 fan6_alarm
-r--r--r-- 1 root root 4096 31. kvě 14.10 fan6_input
-rw-r--r-- 1 root root 4096 31. kvě 14.10 fan6_min
-rw-r--r-- 1 root root 4096 31. kvě 14.10 fan6_pulses
-rw-r--r-- 1 root root 4096 31. kvě 14.10 intrusion0_alarm
-rw-r--r-- 1 root root 4096 31. kvě 14.10 intrusion0_beep
-rw-r--r-- 1 root root 4096 31. kvě 14.10 intrusion1_alarm
-rw-r--r-- 1 root root 4096 31. kvě 14.10 intrusion1_beep
-r--r--r-- 1 root root 4096 31. kvě 14.10 in0_alarm
-rw-r--r-- 1 root root 4096 31. kvě 14.10 in0_beep
-r--r--r-- 1 root root 4096 31. kvě 14.10 in0_input
-rw-r--r-- 1 root root 4096 31. kvě 14.10 in0_max
-rw-r--r-- 1 root root 4096 31. kvě 14.10 in0_min
-r--r--r-- 1 root root 4096 31. kvě 14.10 in1_alarm
-rw-r--r-- 1 root root 4096 31. kvě 14.10 in1_beep
-r--r--r-- 1 root root 4096 31. kvě 14.10 in1_input
-rw-r--r-- 1 root root 4096 31. kvě 14.10 in1_max
-rw-r--r-- 1 root root 4096 31. kvě 14.10 in1_min
-r--r--r-- 1 root root 4096 31. kvě 14.10 in10_alarm
-rw-r--r-- 1 root root 4096 31. kvě 14.10 in10_beep
-r--r--r-- 1 root root 4096 31. kvě 14.10 in10_input
-rw-r--r-- 1 root root 4096 31. kvě 14.10 in10_max
-rw-r--r-- 1 root root 4096 31. kvě 14.10 in10_min
-r--r--r-- 1 root root 4096 31. kvě 14.10 in11_alarm
-rw-r--r-- 1 root root 4096 31. kvě 14.10 in11_beep
-r--r--r-- 1 root root 4096 31. kvě 14.10 in11_input
-rw-r--r-- 1 root root 4096 31. kvě 14.10 in11_max
-rw-r--r-- 1 root root 4096 31. kvě 14.10 in11_min
-r--r--r-- 1 root root 4096 31. kvě 14.10 in12_alarm
-rw-r--r-- 1 root root 4096 31. kvě 14.10 in12_beep
-r--r--r-- 1 root root 4096 31. kvě 14.10 in12_input
-rw-r--r-- 1 root root 4096 31. kvě 14.10 in12_max
-rw-r--r-- 1 root root 4096 31. kvě 14.10 in12_min
-r--r--r-- 1 root root 4096 31. kvě 14.10 in13_alarm
-rw-r--r-- 1 root root 4096 31. kvě 14.10 in13_beep
-r--r--r-- 1 root root 4096 31. kvě 14.10 in13_input
-rw-r--r-- 1 root root 4096 31. kvě 14.10 in13_max
-rw-r--r-- 1 root root 4096 31. kvě 14.10 in13_min
-r--r--r-- 1 root root 4096 31. kvě 14.10 in14_alarm
-rw-r--r-- 1 root root 4096 31. kvě 14.10 in14_beep
-r--r--r-- 1 root root 4096 31. kvě 14.10 in14_input
-rw-r--r-- 1 root root 4096 31. kvě 14.10 in14_max
-rw-r--r-- 1 root root 4096 31. kvě 14.10 in14_min
-r--r--r-- 1 root root 4096 31. kvě 14.10 in2_alarm
-rw-r--r-- 1 root root 4096 31. kvě 14.10 in2_beep
-r--r--r-- 1 root root 4096 31. kvě 14.10 in2_input
-rw-r--r-- 1 root root 4096 31. kvě 14.10 in2_max
-rw-r--r-- 1 root root 4096 31. kvě 14.10 in2_min
-r--r--r-- 1 root root 4096 31. kvě 14.10 in3_alarm
-rw-r--r-- 1 root root 4096 31. kvě 14.10 in3_beep
-r--r--r-- 1 root root 4096 31. kvě 14.10 in3_input
-rw-r--r-- 1 root root 4096 31. kvě 14.10 in3_max
-rw-r--r-- 1 root root 4096 31. kvě 14.10 in3_min
-r--r--r-- 1 root root 4096 31. kvě 14.10 in4_alarm
-rw-r--r-- 1 root root 4096 31. kvě 14.10 in4_beep
-r--r--r-- 1 root root 4096 31. kvě 14.10 in4_input
-rw-r--r-- 1 root root 4096 31. kvě 14.10 in4_max
-rw-r--r-- 1 root root 4096 31. kvě 14.10 in4_min
-r--r--r-- 1 root root 4096 31. kvě 14.10 in5_alarm
-rw-r--r-- 1 root root 4096 31. kvě 14.10 in5_beep
-r--r--r-- 1 root root 4096 31. kvě 14.10 in5_input
-rw-r--r-- 1 root root 4096 31. kvě 14.10 in5_max
-rw-r--r-- 1 root root 4096 31. kvě 14.10 in5_min
-r--r--r-- 1 root root 4096 31. kvě 14.10 in6_alarm
-rw-r--r-- 1 root root 4096 31. kvě 14.10 in6_beep
-r--r--r-- 1 root root 4096 31. kvě 14.10 in6_input
-rw-r--r-- 1 root root 4096 31. kvě 14.10 in6_max
-rw-r--r-- 1 root root 4096 31. kvě 14.10 in6_min
-r--r--r-- 1 root root 4096 31. kvě 14.10 in7_alarm
-rw-r--r-- 1 root root 4096 31. kvě 14.10 in7_beep
-r--r--r-- 1 root root 4096 31. kvě 14.10 in7_input
-rw-r--r-- 1 root root 4096 31. kvě 14.10 in7_max
-rw-r--r-- 1 root root 4096 31. kvě 14.10 in7_min
-r--r--r-- 1 root root 4096 31. kvě 14.10 in8_alarm
-rw-r--r-- 1 root root 4096 31. kvě 14.10 in8_beep
-r--r--r-- 1 root root 4096 31. kvě 14.10 in8_input
-rw-r--r-- 1 root root 4096 31. kvě 14.10 in8_max
-rw-r--r-- 1 root root 4096 31. kvě 14.10 in8_min
-r--r--r-- 1 root root 4096 31. kvě 14.10 in9_alarm
-rw-r--r-- 1 root root 4096 31. kvě 14.10 in9_beep
-r--r--r-- 1 root root 4096 31. kvě 14.10 in9_input
-rw-r--r-- 1 root root 4096 31. kvě 14.10 in9_max
-rw-r--r-- 1 root root 4096 31. kvě 14.10 in9_min
-r--r--r-- 1 root root 4096 31. kvě 14.10 name
drwxr-xr-x 2 root root    0 31. kvě 16.49 power
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm1
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm1_auto_point1_pwm
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm1_auto_point1_temp
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm1_auto_point2_pwm
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm1_auto_point2_temp
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm1_auto_point3_pwm
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm1_auto_point3_temp
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm1_auto_point4_pwm
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm1_auto_point4_temp
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm1_auto_point5_pwm
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm1_auto_point5_temp
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm1_crit_temp_tolerance
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm1_enable
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm1_floor
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm1_mode
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm1_start
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm1_step_down_time
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm1_step_up_time
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm1_stop_time
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm1_target_temp
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm1_temp_sel
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm1_temp_tolerance
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm2
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm2_auto_point1_pwm
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm2_auto_point1_temp
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm2_auto_point2_pwm
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm2_auto_point2_temp
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm2_auto_point3_pwm
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm2_auto_point3_temp
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm2_auto_point4_pwm
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm2_auto_point4_temp
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm2_auto_point5_pwm
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm2_auto_point5_temp
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm2_crit_temp_tolerance
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm2_enable
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm2_floor
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm2_mode
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm2_start
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm2_step_down_time
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm2_step_up_time
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm2_stop_time
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm2_target_temp
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm2_temp_sel
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm2_temp_tolerance
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm2_weight_duty_base
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm2_weight_duty_step
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm2_weight_temp_sel
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm2_weight_temp_step
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm2_weight_temp_step_base
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm2_weight_temp_step_tol
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm3
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm3_auto_point1_pwm
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm3_auto_point1_temp
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm3_auto_point2_pwm
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm3_auto_point2_temp
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm3_auto_point3_pwm
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm3_auto_point3_temp
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm3_auto_point4_pwm
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm3_auto_point4_temp
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm3_auto_point5_pwm
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm3_auto_point5_temp
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm3_crit_temp_tolerance
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm3_enable
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm3_floor
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm3_mode
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm3_start
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm3_step_down_time
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm3_step_up_time
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm3_stop_time
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm3_target_temp
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm3_temp_sel
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm3_temp_tolerance
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm4
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm4_auto_point1_pwm
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm4_auto_point1_temp
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm4_auto_point2_pwm
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm4_auto_point2_temp
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm4_auto_point3_pwm
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm4_auto_point3_temp
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm4_auto_point4_pwm
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm4_auto_point4_temp
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm4_auto_point5_pwm
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm4_auto_point5_temp
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm4_crit_temp_tolerance
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm4_enable
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm4_floor
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm4_mode
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm4_start
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm4_step_down_time
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm4_step_up_time
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm4_stop_time
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm4_target_temp
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm4_temp_sel
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm4_temp_tolerance
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm5
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm5_auto_point1_pwm
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm5_auto_point1_temp
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm5_auto_point2_pwm
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm5_auto_point2_temp
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm5_auto_point3_pwm
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm5_auto_point3_temp
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm5_auto_point4_pwm
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm5_auto_point4_temp
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm5_auto_point5_pwm
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm5_auto_point5_temp
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm5_crit_temp_tolerance
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm5_enable
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm5_floor
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm5_mode
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm5_start
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm5_step_down_time
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm5_step_up_time
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm5_stop_time
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm5_target_temp
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm5_temp_sel
-rw-r--r-- 1 root root 4096 31. kvě 16.49 pwm5_temp_tolerance
lrwxrwxrwx 1 root root    0 31. kvě 16.49 subsystem -> ../../../../../class/hwmon
-r--r--r-- 1 root root 4096 31. kvě 14.10 temp1_input
-r--r--r-- 1 root root 4096 31. kvě 14.11 temp1_label
-rw-r--r-- 1 root root 4096 31. kvě 14.10 temp1_max
-rw-r--r-- 1 root root 4096 31. kvě 14.10 temp1_max_hyst
-rw-r--r-- 1 root root 4096 31. kvě 14.10 temp1_offset
-rw-r--r-- 1 root root 4096 31. kvě 14.10 temp1_type
-r--r--r-- 1 root root 4096 31. kvě 14.10 temp10_input
-r--r--r-- 1 root root 4096 31. kvě 14.11 temp10_label
-r--r--r-- 1 root root 4096 31. kvě 14.10 temp13_input
-r--r--r-- 1 root root 4096 31. kvě 14.11 temp13_label
-r--r--r-- 1 root root 4096 31. kvě 14.10 temp14_input
-r--r--r-- 1 root root 4096 31. kvě 14.11 temp14_label
-r--r--r-- 1 root root 4096 31. kvě 14.10 temp15_input
-r--r--r-- 1 root root 4096 31. kvě 14.11 temp15_label
-r--r--r-- 1 root root 4096 31. kvě 14.10 temp16_input
-r--r--r-- 1 root root 4096 31. kvě 14.11 temp16_label
-r--r--r-- 1 root root 4096 31. kvě 14.10 temp17_input
-r--r--r-- 1 root root 4096 31. kvě 14.11 temp17_label
-r--r--r-- 1 root root 4096 31. kvě 14.10 temp18_input
-r--r--r-- 1 root root 4096 31. kvě 14.11 temp18_label
-r--r--r-- 1 root root 4096 31. kvě 14.10 temp2_alarm
-rw-r--r-- 1 root root 4096 31. kvě 14.10 temp2_beep
-r--r--r-- 1 root root 4096 31. kvě 14.10 temp2_input
-r--r--r-- 1 root root 4096 31. kvě 14.11 temp2_label
-rw-r--r-- 1 root root 4096 31. kvě 14.10 temp2_max
-rw-r--r-- 1 root root 4096 31. kvě 14.10 temp2_max_hyst
-rw-r--r-- 1 root root 4096 31. kvě 14.10 temp2_offset
-rw-r--r-- 1 root root 4096 31. kvě 14.10 temp2_type
-r--r--r-- 1 root root 4096 31. kvě 14.10 temp3_input
-r--r--r-- 1 root root 4096 31. kvě 14.11 temp3_label
-rw-r--r-- 1 root root 4096 31. kvě 14.10 temp3_offset
-rw-r--r-- 1 root root 4096 31. kvě 14.10 temp3_type
-r--r--r-- 1 root root 4096 31. kvě 14.10 temp4_input
-r--r--r-- 1 root root 4096 31. kvě 14.11 temp4_label
-rw-r--r-- 1 root root 4096 31. kvě 14.10 temp4_offset
-rw-r--r-- 1 root root 4096 31. kvě 14.10 temp4_type
-r--r--r-- 1 root root 4096 31. kvě 14.10 temp5_input
-r--r--r-- 1 root root 4096 31. kvě 14.11 temp5_label
-rw-r--r-- 1 root root 4096 31. kvě 14.10 temp5_offset
-rw-r--r-- 1 root root 4096 31. kvě 14.10 temp5_type
-r--r--r-- 1 root root 4096 31. kvě 14.10 temp6_input
-r--r--r-- 1 root root 4096 31. kvě 14.11 temp6_label
-rw-r--r-- 1 root root 4096 31. kvě 14.10 temp6_offset
-rw-r--r-- 1 root root 4096 31. kvě 14.10 temp6_type
-r--r--r-- 1 root root 4096 31. kvě 14.10 temp7_alarm
-rw-r--r-- 1 root root 4096 31. kvě 14.10 temp7_beep
-rw-r--r-- 1 root root 4096 31. kvě 14.10 temp7_crit
-r--r--r-- 1 root root 4096 31. kvě 14.10 temp7_input
-r--r--r-- 1 root root 4096 31. kvě 14.11 temp7_label
-rw-r--r-- 1 root root 4096 31. kvě 14.10 temp7_max
-rw-r--r-- 1 root root 4096 31. kvě 14.10 temp7_max_hyst
-r--r--r-- 1 root root 4096 31. kvě 14.10 temp8_input
-r--r--r-- 1 root root 4096 31. kvě 14.11 temp8_label
-r--r--r-- 1 root root 4096 31. kvě 14.10 temp9_input
-r--r--r-- 1 root root 4096 31. kvě 14.11 temp9_label
-rw-r--r-- 1 root root 4096 31. kvě 14.10 uevent



Název: Re:Conky
Přispěvatel: ramael 31 Května 2022, 19:09:38
Se to komplikuje  ::) Copak říká
Kód: [Vybrat]
lsmod | grep driveA pak
Kód: [Vybrat]
cat /sys/class/hwmon/hwmon3/temp*_input+
Kód: [Vybrat]
cat /sys/class/hwmon/hwmon3/temp*_label+
Kód: [Vybrat]
cat /sys/class/hwmon/hwmon3/temp*_type
Název: Re:Conky
Přispěvatel: PepanB 31 Května 2022, 19:51:47
lsmod | grep drive:
vrátí se jenom prompt

cat /sys/class/hwmon/hwmon3/temp*_input:
Kód: [Vybrat]
118000
0
3892313987
3892313987
3892313987
3892313987
3892313987
3892313987
29500
27500
111000
109000
109000
32000
30500
0

cat /sys/class/hwmon/hwmon3/temp*_label:
Kód: [Vybrat]
SYSTIN
PCH_CHIP_TEMP
TSI2_TEMP
TSI3_TEMP
TSI4_TEMP
TSI5_TEMP
TSI6_TEMP
TSI7_TEMP
CPUTIN
AUXTIN0
AUXTIN1
AUXTIN2
AUXTIN3
PECI Agent 0
PECI Agent 0 Calibration
PCH_CHIP_CPU_MAX_TEMP

cat /sys/class/hwmon/hwmon3/temp*_type:
Kód: [Vybrat]
4
4
4
4
4
4
Vím že u mě nemůže jít nic jednoduše  ;D
Název: Re:Conky
Přispěvatel: ramael 31 Května 2022, 20:23:55
To každému :D
Ještě výpisy
Kód: [Vybrat]
uname -a
Kód: [Vybrat]
cat /sys/class/scsi_disk/*/device/model
Kód: [Vybrat]
ls -l /sys/class/hwmon/ pak zadej toto
Kód: [Vybrat]
sudo modprobe drivetemp pak znova výpis
Kód: [Vybrat]
lsmod | grep drive A pokud to něco napíše, tak pak ještě jednou
Kód: [Vybrat]
ls -l /sys/class/hwmon/
Název: Re:Conky
Přispěvatel: PepanB 31 Května 2022, 21:33:37
uname -a:
Kód: [Vybrat]
Linux kubuntu 5.15.0-25-generic #25-Ubuntu SMP Wed Mar 30 15:54:22 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
cat /sys/class/scsi_disk/*/device/model:
Kód: [Vybrat]
Samsung SSD 860
WDC WD1003FZEX-0

ls -l /sys/class/hwmon/:
Kód: [Vybrat]
celkem 0
lrwxrwxrwx 1 root root 0 31. kvě 21.19 hwmon0 -> ../../devices/virtual/thermal/thermal_zone0/hwmon0
lrwxrwxrwx 1 root root 0 31. kvě 21.19 hwmon1 -> ../../devices/platform/eeepc-wmi/hwmon/hwmon1
lrwxrwxrwx 1 root root 0 31. kvě 21.19 hwmon2 -> ../../devices/platform/coretemp.0/hwmon/hwmon2
lrwxrwxrwx 1 root root 0 31. kvě 21.19 hwmon3 -> ../../devices/platform/nct6775.656/hwmon/hwmon3

sudo modprobe drivetemp:
vrací jenom prompt

lsmod | grep drive:
Kód: [Vybrat]
drivetemp              20480  0

ls -l /sys/class/hwmon/:
Kód: [Vybrat]
celkem 0
lrwxrwxrwx 1 root root 0 31. kvě 21.19 hwmon0 -> ../../devices/virtual/thermal/thermal_zone0/hwmon0
lrwxrwxrwx 1 root root 0 31. kvě 21.19 hwmon1 -> ../../devices/platform/eeepc-wmi/hwmon/hwmon1
lrwxrwxrwx 1 root root 0 31. kvě 21.19 hwmon2 -> ../../devices/platform/coretemp.0/hwmon/hwmon2
lrwxrwxrwx 1 root root 0 31. kvě 21.19 hwmon3 -> ../../devices/platform/nct6775.656/hwmon/hwmon3
lrwxrwxrwx 1 root root 0 31. kvě 21.30 hwmon4 -> ../../devices/pci0000:00/0000:00:17.0/ata1/host0/target0:0:0/0:0:0:0/hwmon/hwmon4
lrwxrwxrwx 1 root root 0 31. kvě 21.30 hwmon5 -> ../../devices/pci0000:00/0000:00:17.0/ata2/host1/target1:0:0/1:0:0:0/hwmon/hwmon5

Název: Re:Conky
Přispěvatel: ramael 31 Května 2022, 22:08:07
Super! Chyběl Ti modul drivetemp. Aby se načítal pokaždé při startu, musíš si vytvořit soubor drivetemp.conf s obsahem drivetemp v adresáři /etc/modules-load.d A restartovat PC. Můžeš to udělat takto:
Kód: [Vybrat]
sudo -i
echo drivetemp > /etc/modules-load.d/drivetemp.conf
reboot
Pak opět výpisy
Kód: [Vybrat]
ls -l /sys/class/hwmon/hwmon4/ +
Kód: [Vybrat]
cat /sys/class/hwmon/hwmon4/name +
Kód: [Vybrat]
cat /sys/class/hwmon/hwmon4/temp*_input +
Kód: [Vybrat]
cat /sys/class/hwmon/hwmon4/temp*_label
Kód: [Vybrat]
ls -l /sys/class/hwmon/hwmon5/ +
Kód: [Vybrat]
cat /sys/class/hwmon/hwmon5/name +
Kód: [Vybrat]
cat /sys/class/hwmon/hwmon5/temp*_input +
Kód: [Vybrat]
cat /sys/class/hwmon/hwmon5/temp*_label
Název: Re:Conky
Přispěvatel: PepanB 31 Května 2022, 22:29:13
Tak na to bych nikdy nepřišel...

ls -l /sys/class/hwmon/hwmon4/:
Kód: [Vybrat]
celkem 0
lrwxrwxrwx 1 root root    0 31. kvě 22.14 device -> ../../../coretemp.0
-r--r--r-- 1 root root 4096 31. kvě 22.14 name
drwxr-xr-x 2 root root    0 31. kvě 22.17 power
lrwxrwxrwx 1 root root    0 31. kvě 22.17 subsystem -> ../../../../../class/hwmon
-r--r--r-- 1 root root 4096 31. kvě 22.14 temp1_crit
-r--r--r-- 1 root root 4096 31. kvě 22.14 temp1_crit_alarm
-r--r--r-- 1 root root 4096 31. kvě 22.14 temp1_input
-r--r--r-- 1 root root 4096 31. kvě 22.14 temp1_label
-r--r--r-- 1 root root 4096 31. kvě 22.14 temp1_max
-r--r--r-- 1 root root 4096 31. kvě 22.14 temp2_crit
-r--r--r-- 1 root root 4096 31. kvě 22.14 temp2_crit_alarm
-r--r--r-- 1 root root 4096 31. kvě 22.14 temp2_input
-r--r--r-- 1 root root 4096 31. kvě 22.14 temp2_label
-r--r--r-- 1 root root 4096 31. kvě 22.14 temp2_max
-r--r--r-- 1 root root 4096 31. kvě 22.14 temp3_crit
-r--r--r-- 1 root root 4096 31. kvě 22.14 temp3_crit_alarm
-r--r--r-- 1 root root 4096 31. kvě 22.14 temp3_input
-r--r--r-- 1 root root 4096 31. kvě 22.14 temp3_label
-r--r--r-- 1 root root 4096 31. kvě 22.14 temp3_max
-r--r--r-- 1 root root 4096 31. kvě 22.14 temp4_crit
-r--r--r-- 1 root root 4096 31. kvě 22.14 temp4_crit_alarm
-r--r--r-- 1 root root 4096 31. kvě 22.14 temp4_input
-r--r--r-- 1 root root 4096 31. kvě 22.14 temp4_label
-r--r--r-- 1 root root 4096 31. kvě 22.14 temp4_max
-r--r--r-- 1 root root 4096 31. kvě 22.14 temp5_crit
-r--r--r-- 1 root root 4096 31. kvě 22.14 temp5_crit_alarm
-r--r--r-- 1 root root 4096 31. kvě 22.14 temp5_input
-r--r--r-- 1 root root 4096 31. kvě 22.14 temp5_label
-r--r--r-- 1 root root 4096 31. kvě 22.14 temp5_max
-rw-r--r-- 1 root root 4096 31. kvě 22.14 uevent

cat /sys/class/hwmon/hwmon4/name:
Kód: [Vybrat]
coretemp

cat /sys/class/hwmon/hwmon4/temp*_input:
Kód: [Vybrat]
33000
33000
33000
33000
33000

cat /sys/class/hwmon/hwmon4/temp*_label:
Kód: [Vybrat]
Package id 0
Core 0
Core 1
Core 2
Core 3

ls -l /sys/class/hwmon/hwmon5/:
Kód: [Vybrat]
celkem 0
-rw-r--r-- 1 root root 4096 31. kvě 22.14 beep_enable
lrwxrwxrwx 1 root root    0 31. kvě 22.14 device -> ../../../nct6775.656
-r--r--r-- 1 root root 4096 31. kvě 22.14 fan1_alarm
-rw-r--r-- 1 root root 4096 31. kvě 22.14 fan1_beep
-r--r--r-- 1 root root 4096 31. kvě 22.14 fan1_input
-rw-r--r-- 1 root root 4096 31. kvě 22.14 fan1_min
-rw-r--r-- 1 root root 4096 31. kvě 22.14 fan1_pulses
-rw-r--r-- 1 root root 4096 31. kvě 22.22 fan1_target
-rw-r--r-- 1 root root 4096 31. kvě 22.22 fan1_tolerance
-r--r--r-- 1 root root 4096 31. kvě 22.14 fan2_alarm
-rw-r--r-- 1 root root 4096 31. kvě 22.14 fan2_beep
-r--r--r-- 1 root root 4096 31. kvě 22.14 fan2_input
-rw-r--r-- 1 root root 4096 31. kvě 22.14 fan2_min
-rw-r--r-- 1 root root 4096 31. kvě 22.14 fan2_pulses
-rw-r--r-- 1 root root 4096 31. kvě 22.22 fan2_target
-rw-r--r-- 1 root root 4096 31. kvě 22.22 fan2_tolerance
-r--r--r-- 1 root root 4096 31. kvě 22.14 fan3_alarm
-rw-r--r-- 1 root root 4096 31. kvě 22.14 fan3_beep
-r--r--r-- 1 root root 4096 31. kvě 22.14 fan3_input
-rw-r--r-- 1 root root 4096 31. kvě 22.14 fan3_min
-rw-r--r-- 1 root root 4096 31. kvě 22.14 fan3_pulses
-rw-r--r-- 1 root root 4096 31. kvě 22.22 fan3_target
-rw-r--r-- 1 root root 4096 31. kvě 22.22 fan3_tolerance
-r--r--r-- 1 root root 4096 31. kvě 22.14 fan4_alarm
-rw-r--r-- 1 root root 4096 31. kvě 22.14 fan4_beep
-r--r--r-- 1 root root 4096 31. kvě 22.14 fan4_input
-rw-r--r-- 1 root root 4096 31. kvě 22.14 fan4_min
-rw-r--r-- 1 root root 4096 31. kvě 22.14 fan4_pulses
-rw-r--r-- 1 root root 4096 31. kvě 22.22 fan4_target
-rw-r--r-- 1 root root 4096 31. kvě 22.22 fan4_tolerance
-r--r--r-- 1 root root 4096 31. kvě 22.14 fan5_alarm
-rw-r--r-- 1 root root 4096 31. kvě 22.14 fan5_beep
-r--r--r-- 1 root root 4096 31. kvě 22.14 fan5_input
-rw-r--r-- 1 root root 4096 31. kvě 22.14 fan5_min
-rw-r--r-- 1 root root 4096 31. kvě 22.14 fan5_pulses
-rw-r--r-- 1 root root 4096 31. kvě 22.22 fan5_target
-rw-r--r-- 1 root root 4096 31. kvě 22.22 fan5_tolerance
-r--r--r-- 1 root root 4096 31. kvě 22.14 fan6_alarm
-r--r--r-- 1 root root 4096 31. kvě 22.14 fan6_input
-rw-r--r-- 1 root root 4096 31. kvě 22.14 fan6_min
-rw-r--r-- 1 root root 4096 31. kvě 22.14 fan6_pulses
-rw-r--r-- 1 root root 4096 31. kvě 22.14 intrusion0_alarm
-rw-r--r-- 1 root root 4096 31. kvě 22.14 intrusion0_beep
-rw-r--r-- 1 root root 4096 31. kvě 22.14 intrusion1_alarm
-rw-r--r-- 1 root root 4096 31. kvě 22.14 intrusion1_beep
-r--r--r-- 1 root root 4096 31. kvě 22.14 in0_alarm
-rw-r--r-- 1 root root 4096 31. kvě 22.14 in0_beep
-r--r--r-- 1 root root 4096 31. kvě 22.14 in0_input
-rw-r--r-- 1 root root 4096 31. kvě 22.14 in0_max
-rw-r--r-- 1 root root 4096 31. kvě 22.14 in0_min
-r--r--r-- 1 root root 4096 31. kvě 22.14 in1_alarm
-rw-r--r-- 1 root root 4096 31. kvě 22.14 in1_beep
-r--r--r-- 1 root root 4096 31. kvě 22.14 in1_input
-rw-r--r-- 1 root root 4096 31. kvě 22.14 in1_max
-rw-r--r-- 1 root root 4096 31. kvě 22.14 in1_min
-r--r--r-- 1 root root 4096 31. kvě 22.14 in10_alarm
-rw-r--r-- 1 root root 4096 31. kvě 22.14 in10_beep
-r--r--r-- 1 root root 4096 31. kvě 22.14 in10_input
-rw-r--r-- 1 root root 4096 31. kvě 22.14 in10_max
-rw-r--r-- 1 root root 4096 31. kvě 22.14 in10_min
-r--r--r-- 1 root root 4096 31. kvě 22.14 in11_alarm
-rw-r--r-- 1 root root 4096 31. kvě 22.14 in11_beep
-r--r--r-- 1 root root 4096 31. kvě 22.14 in11_input
-rw-r--r-- 1 root root 4096 31. kvě 22.14 in11_max
-rw-r--r-- 1 root root 4096 31. kvě 22.14 in11_min
-r--r--r-- 1 root root 4096 31. kvě 22.14 in12_alarm
-rw-r--r-- 1 root root 4096 31. kvě 22.14 in12_beep
-r--r--r-- 1 root root 4096 31. kvě 22.14 in12_input
-rw-r--r-- 1 root root 4096 31. kvě 22.14 in12_max
-rw-r--r-- 1 root root 4096 31. kvě 22.14 in12_min
-r--r--r-- 1 root root 4096 31. kvě 22.14 in13_alarm
-rw-r--r-- 1 root root 4096 31. kvě 22.14 in13_beep
-r--r--r-- 1 root root 4096 31. kvě 22.14 in13_input
-rw-r--r-- 1 root root 4096 31. kvě 22.14 in13_max
-rw-r--r-- 1 root root 4096 31. kvě 22.14 in13_min
-r--r--r-- 1 root root 4096 31. kvě 22.14 in14_alarm
-rw-r--r-- 1 root root 4096 31. kvě 22.14 in14_beep
-r--r--r-- 1 root root 4096 31. kvě 22.14 in14_input
-rw-r--r-- 1 root root 4096 31. kvě 22.14 in14_max
-rw-r--r-- 1 root root 4096 31. kvě 22.14 in14_min
-r--r--r-- 1 root root 4096 31. kvě 22.14 in2_alarm
-rw-r--r-- 1 root root 4096 31. kvě 22.14 in2_beep
-r--r--r-- 1 root root 4096 31. kvě 22.14 in2_input
-rw-r--r-- 1 root root 4096 31. kvě 22.14 in2_max
-rw-r--r-- 1 root root 4096 31. kvě 22.14 in2_min
-r--r--r-- 1 root root 4096 31. kvě 22.14 in3_alarm
-rw-r--r-- 1 root root 4096 31. kvě 22.14 in3_beep
-r--r--r-- 1 root root 4096 31. kvě 22.14 in3_input
-rw-r--r-- 1 root root 4096 31. kvě 22.14 in3_max
-rw-r--r-- 1 root root 4096 31. kvě 22.14 in3_min
-r--r--r-- 1 root root 4096 31. kvě 22.14 in4_alarm
-rw-r--r-- 1 root root 4096 31. kvě 22.14 in4_beep
-r--r--r-- 1 root root 4096 31. kvě 22.14 in4_input
-rw-r--r-- 1 root root 4096 31. kvě 22.14 in4_max
-rw-r--r-- 1 root root 4096 31. kvě 22.14 in4_min
-r--r--r-- 1 root root 4096 31. kvě 22.14 in5_alarm
-rw-r--r-- 1 root root 4096 31. kvě 22.14 in5_beep
-r--r--r-- 1 root root 4096 31. kvě 22.14 in5_input
-rw-r--r-- 1 root root 4096 31. kvě 22.14 in5_max
-rw-r--r-- 1 root root 4096 31. kvě 22.14 in5_min
-r--r--r-- 1 root root 4096 31. kvě 22.14 in6_alarm
-rw-r--r-- 1 root root 4096 31. kvě 22.14 in6_beep
-r--r--r-- 1 root root 4096 31. kvě 22.14 in6_input
-rw-r--r-- 1 root root 4096 31. kvě 22.14 in6_max
-rw-r--r-- 1 root root 4096 31. kvě 22.14 in6_min
-r--r--r-- 1 root root 4096 31. kvě 22.14 in7_alarm
-rw-r--r-- 1 root root 4096 31. kvě 22.14 in7_beep
-r--r--r-- 1 root root 4096 31. kvě 22.14 in7_input
-rw-r--r-- 1 root root 4096 31. kvě 22.14 in7_max
-rw-r--r-- 1 root root 4096 31. kvě 22.14 in7_min
-r--r--r-- 1 root root 4096 31. kvě 22.14 in8_alarm
-rw-r--r-- 1 root root 4096 31. kvě 22.14 in8_beep
-r--r--r-- 1 root root 4096 31. kvě 22.14 in8_input
-rw-r--r-- 1 root root 4096 31. kvě 22.14 in8_max
-rw-r--r-- 1 root root 4096 31. kvě 22.14 in8_min
-r--r--r-- 1 root root 4096 31. kvě 22.14 in9_alarm
-rw-r--r-- 1 root root 4096 31. kvě 22.14 in9_beep
-r--r--r-- 1 root root 4096 31. kvě 22.14 in9_input
-rw-r--r-- 1 root root 4096 31. kvě 22.14 in9_max
-rw-r--r-- 1 root root 4096 31. kvě 22.14 in9_min
-r--r--r-- 1 root root 4096 31. kvě 22.14 name
drwxr-xr-x 2 root root    0 31. kvě 22.22 power
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm1
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm1_auto_point1_pwm
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm1_auto_point1_temp
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm1_auto_point2_pwm
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm1_auto_point2_temp
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm1_auto_point3_pwm
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm1_auto_point3_temp
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm1_auto_point4_pwm
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm1_auto_point4_temp
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm1_auto_point5_pwm
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm1_auto_point5_temp
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm1_crit_temp_tolerance
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm1_enable
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm1_floor
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm1_mode
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm1_start
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm1_step_down_time
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm1_step_up_time
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm1_stop_time
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm1_target_temp
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm1_temp_sel
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm1_temp_tolerance
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm2
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm2_auto_point1_pwm
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm2_auto_point1_temp
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm2_auto_point2_pwm
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm2_auto_point2_temp
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm2_auto_point3_pwm
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm2_auto_point3_temp
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm2_auto_point4_pwm
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm2_auto_point4_temp
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm2_auto_point5_pwm
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm2_auto_point5_temp
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm2_crit_temp_tolerance
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm2_enable
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm2_floor
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm2_mode
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm2_start
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm2_step_down_time
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm2_step_up_time
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm2_stop_time
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm2_target_temp
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm2_temp_sel
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm2_temp_tolerance
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm2_weight_duty_base
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm2_weight_duty_step
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm2_weight_temp_sel
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm2_weight_temp_step
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm2_weight_temp_step_base
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm2_weight_temp_step_tol
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm3
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm3_auto_point1_pwm
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm3_auto_point1_temp
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm3_auto_point2_pwm
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm3_auto_point2_temp
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm3_auto_point3_pwm
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm3_auto_point3_temp
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm3_auto_point4_pwm
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm3_auto_point4_temp
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm3_auto_point5_pwm
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm3_auto_point5_temp
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm3_crit_temp_tolerance
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm3_enable
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm3_floor
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm3_mode
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm3_start
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm3_step_down_time
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm3_step_up_time
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm3_stop_time
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm3_target_temp
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm3_temp_sel
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm3_temp_tolerance
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm4
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm4_auto_point1_pwm
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm4_auto_point1_temp
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm4_auto_point2_pwm
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm4_auto_point2_temp
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm4_auto_point3_pwm
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm4_auto_point3_temp
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm4_auto_point4_pwm
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm4_auto_point4_temp
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm4_auto_point5_pwm
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm4_auto_point5_temp
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm4_crit_temp_tolerance
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm4_enable
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm4_floor
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm4_mode
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm4_start
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm4_step_down_time
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm4_step_up_time
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm4_stop_time
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm4_target_temp
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm4_temp_sel
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm4_temp_tolerance
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm5
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm5_auto_point1_pwm
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm5_auto_point1_temp
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm5_auto_point2_pwm
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm5_auto_point2_temp
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm5_auto_point3_pwm
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm5_auto_point3_temp
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm5_auto_point4_pwm
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm5_auto_point4_temp
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm5_auto_point5_pwm
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm5_auto_point5_temp
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm5_crit_temp_tolerance
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm5_enable
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm5_floor
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm5_mode
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm5_start
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm5_step_down_time
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm5_step_up_time
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm5_stop_time
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm5_target_temp
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm5_temp_sel
-rw-r--r-- 1 root root 4096 31. kvě 22.22 pwm5_temp_tolerance
lrwxrwxrwx 1 root root    0 31. kvě 22.22 subsystem -> ../../../../../class/hwmon
-r--r--r-- 1 root root 4096 31. kvě 22.14 temp1_input
-r--r--r-- 1 root root 4096 31. kvě 22.14 temp1_label
-rw-r--r-- 1 root root 4096 31. kvě 22.14 temp1_max
-rw-r--r-- 1 root root 4096 31. kvě 22.14 temp1_max_hyst
-rw-r--r-- 1 root root 4096 31. kvě 22.14 temp1_offset
-rw-r--r-- 1 root root 4096 31. kvě 22.14 temp1_type
-r--r--r-- 1 root root 4096 31. kvě 22.14 temp10_input
-r--r--r-- 1 root root 4096 31. kvě 22.14 temp10_label
-r--r--r-- 1 root root 4096 31. kvě 22.14 temp13_input
-r--r--r-- 1 root root 4096 31. kvě 22.14 temp13_label
-r--r--r-- 1 root root 4096 31. kvě 22.14 temp14_input
-r--r--r-- 1 root root 4096 31. kvě 22.14 temp14_label
-r--r--r-- 1 root root 4096 31. kvě 22.14 temp15_input
-r--r--r-- 1 root root 4096 31. kvě 22.14 temp15_label
-r--r--r-- 1 root root 4096 31. kvě 22.14 temp16_input
-r--r--r-- 1 root root 4096 31. kvě 22.14 temp16_label
-r--r--r-- 1 root root 4096 31. kvě 22.14 temp17_input
-r--r--r-- 1 root root 4096 31. kvě 22.14 temp17_label
-r--r--r-- 1 root root 4096 31. kvě 22.14 temp18_input
-r--r--r-- 1 root root 4096 31. kvě 22.14 temp18_label
-r--r--r-- 1 root root 4096 31. kvě 22.14 temp2_alarm
-rw-r--r-- 1 root root 4096 31. kvě 22.14 temp2_beep
-r--r--r-- 1 root root 4096 31. kvě 22.14 temp2_input
-r--r--r-- 1 root root 4096 31. kvě 22.14 temp2_label
-rw-r--r-- 1 root root 4096 31. kvě 22.14 temp2_max
-rw-r--r-- 1 root root 4096 31. kvě 22.14 temp2_max_hyst
-rw-r--r-- 1 root root 4096 31. kvě 22.14 temp2_offset
-rw-r--r-- 1 root root 4096 31. kvě 22.14 temp2_type
-r--r--r-- 1 root root 4096 31. kvě 22.14 temp3_input
-r--r--r-- 1 root root 4096 31. kvě 22.14 temp3_label
-rw-r--r-- 1 root root 4096 31. kvě 22.14 temp3_offset
-rw-r--r-- 1 root root 4096 31. kvě 22.14 temp3_type
-r--r--r-- 1 root root 4096 31. kvě 22.14 temp4_input
-r--r--r-- 1 root root 4096 31. kvě 22.14 temp4_label
-rw-r--r-- 1 root root 4096 31. kvě 22.14 temp4_offset
-rw-r--r-- 1 root root 4096 31. kvě 22.14 temp4_type
-r--r--r-- 1 root root 4096 31. kvě 22.14 temp5_input
-r--r--r-- 1 root root 4096 31. kvě 22.14 temp5_label
-rw-r--r-- 1 root root 4096 31. kvě 22.14 temp5_offset
-rw-r--r-- 1 root root 4096 31. kvě 22.14 temp5_type
-r--r--r-- 1 root root 4096 31. kvě 22.14 temp6_input
-r--r--r-- 1 root root 4096 31. kvě 22.14 temp6_label
-rw-r--r-- 1 root root 4096 31. kvě 22.14 temp6_offset
-rw-r--r-- 1 root root 4096 31. kvě 22.14 temp6_type
-r--r--r-- 1 root root 4096 31. kvě 22.14 temp7_alarm
-rw-r--r-- 1 root root 4096 31. kvě 22.14 temp7_beep
-rw-r--r-- 1 root root 4096 31. kvě 22.14 temp7_crit
-r--r--r-- 1 root root 4096 31. kvě 22.14 temp7_input
-r--r--r-- 1 root root 4096 31. kvě 22.14 temp7_label
-rw-r--r-- 1 root root 4096 31. kvě 22.14 temp7_max
-rw-r--r-- 1 root root 4096 31. kvě 22.14 temp7_max_hyst
-r--r--r-- 1 root root 4096 31. kvě 22.14 temp8_input
-r--r--r-- 1 root root 4096 31. kvě 22.14 temp8_label
-r--r--r-- 1 root root 4096 31. kvě 22.14 temp9_input
-r--r--r-- 1 root root 4096 31. kvě 22.14 temp9_label
-rw-r--r-- 1 root root 4096 31. kvě 22.14 uevent

cat /sys/class/hwmon/hwmon5/name:
Kód: [Vybrat]
nct6793

cat /sys/class/hwmon/hwmon5/temp*_input:
Kód: [Vybrat]
116000
0
3892313987
3892313987
3892313987
3892313987
3892313987
3892313987
31500
30000
110000
108000
106000
33000
31000
0

cat /sys/class/hwmon/hwmon5/temp*_label:
Kód: [Vybrat]
SYSTIN
PCH_CHIP_TEMP
TSI2_TEMP
TSI3_TEMP
TSI4_TEMP
TSI5_TEMP
TSI6_TEMP
TSI7_TEMP
CPUTIN
AUXTIN0
AUXTIN1
AUXTIN2
AUXTIN3
PECI Agent 0
PECI Agent 0 Calibration
PCH_CHIP_CPU_MAX_TEMP

Název: Re:Conky
Přispěvatel: ramael 31 Května 2022, 22:51:30
Ajaj, chybka se vloudila. Teď se modul načítá při startu, takže je pořadí jiné. Copak říká tento výpis tentokrát?
Kód: [Vybrat]
ls -l /sys/class/hwmon/ Pro jistotu pak restartuj PC a ještě jednou ten samý výpis. Jde o to jestli se náhodou díky systemd nenačítaj moduly v náhodném pořadí.
Název: Re:Conky
Přispěvatel: PepanB 31 Května 2022, 23:05:04
vypadá to stejně :)

celkem 0
lrwxrwxrwx 1 root root 0 31. kvě 22.14 hwmon0 -> ../../devices/virtual/thermal/thermal_zone0/hwmon0
lrwxrwxrwx 1 root root 0 31. kvě 22.14 hwmon1 -> ../../devices/pci0000:00/0000:00:17.0/ata1/host0/target0:0:0/0:0:0:0/hwmon/hwmon1
lrwxrwxrwx 1 root root 0 31. kvě 22.14 hwmon2 -> ../../devices/pci0000:00/0000:00:17.0/ata2/host1/target1:0:0/1:0:0:0/hwmon/hwmon2
lrwxrwxrwx 1 root root 0 31. kvě 22.14 hwmon3 -> ../../devices/platform/eeepc-wmi/hwmon/hwmon3
lrwxrwxrwx 1 root root 0 31. kvě 22.14 hwmon4 -> ../../devices/platform/coretemp.0/hwmon/hwmon4
lrwxrwxrwx 1 root root 0 31. kvě 22.14 hwmon5 -> ../../devices/platform/nct6775.656/hwmon/hwmon5

po restartu:

celkem 0
lrwxrwxrwx 1 root root 0 31. kvě 23.00 hwmon0 -> ../../devices/virtual/thermal/thermal_zone0/hwmon0
lrwxrwxrwx 1 root root 0 31. kvě 23.00 hwmon1 -> ../../devices/pci0000:00/0000:00:17.0/ata1/host0/target0:0:0/0:0:0:0/hwmon/hwmon1
lrwxrwxrwx 1 root root 0 31. kvě 23.00 hwmon2 -> ../../devices/pci0000:00/0000:00:17.0/ata2/host1/target1:0:0/1:0:0:0/hwmon/hwmon2
lrwxrwxrwx 1 root root 0 31. kvě 23.00 hwmon3 -> ../../devices/platform/eeepc-wmi/hwmon/hwmon3
lrwxrwxrwx 1 root root 0 31. kvě 23.00 hwmon4 -> ../../devices/platform/coretemp.0/hwmon/hwmon4
lrwxrwxrwx 1 root root 0 31. kvě 23.00 hwmon5 -> ../../devices/platform/nct6775.656/hwmon/hwmon5
Název: Re:Conky
Přispěvatel: ramael 31 Května 2022, 23:10:00
Tak jedem dál:
 
Kód: [Vybrat]
ls -l /sys/class/hwmon/hwmon1/ +
Kód: [Vybrat]
cat /sys/class/hwmon/hwmon1/name +
Kód: [Vybrat]
cat /sys/class/hwmon/hwmon1/temp*_input +
Kód: [Vybrat]
cat /sys/class/hwmon/hwmon1/temp*_label
Kód: [Vybrat]
ls -l /sys/class/hwmon/hwmon2/ +
Kód: [Vybrat]
cat /sys/class/hwmon/hwmon2/name +
Kód: [Vybrat]
cat /sys/class/hwmon/hwmon2/temp*_input +
Kód: [Vybrat]
cat /sys/class/hwmon/hwmon2/temp*_label
Název: Re:Conky
Přispěvatel: PepanB 31 Května 2022, 23:21:24
ls -l /sys/class/hwmon/hwmon1/:
Kód: [Vybrat]
celkem 0
lrwxrwxrwx 1 root root    0 31. kvě 23.00 device -> ../../../0:0:0:0
-r--r--r-- 1 root root 4096 31. kvě 23.00 name
drwxr-xr-x 2 root root    0 31. kvě 23.13 power
lrwxrwxrwx 1 root root    0 31. kvě 23.00 subsystem -> ../../../../../../../../../class/hwmon
-r--r--r-- 1 root root 4096 31. kvě 23.00 temp1_crit
-r--r--r-- 1 root root 4096 31. kvě 23.00 temp1_highest
-r--r--r-- 1 root root 4096 31. kvě 23.00 temp1_input
-r--r--r-- 1 root root 4096 31. kvě 23.00 temp1_lcrit
-r--r--r-- 1 root root 4096 31. kvě 23.00 temp1_lowest
-r--r--r-- 1 root root 4096 31. kvě 23.00 temp1_max
-r--r--r-- 1 root root 4096 31. kvě 23.00 temp1_min
-rw-r--r-- 1 root root 4096 31. kvě 23.00 uevent

cat /sys/class/hwmon/hwmon1/name:
Kód: [Vybrat]
drivetemp

cat /sys/class/hwmon/hwmon1/temp*_input:
Kód: [Vybrat]
[30000
/code]

cat /sys/class/hwmon/hwmon1/temp*_label:
[code]cat: '/sys/class/hwmon/hwmon1/temp*_label': Adresář nebo soubor neexistuje

ls -l /sys/class/hwmon/hwmon2/:
Kód: [Vybrat]
celkem 0
lrwxrwxrwx 1 root root    0 31. kvě 23.00 device -> ../../../1:0:0:0
-r--r--r-- 1 root root 4096 31. kvě 23.00 name
drwxr-xr-x 2 root root    0 31. kvě 23.17 power
lrwxrwxrwx 1 root root    0 31. kvě 23.00 subsystem -> ../../../../../../../../../class/hwmon
-r--r--r-- 1 root root 4096 31. kvě 23.00 temp1_crit
-r--r--r-- 1 root root 4096 31. kvě 23.00 temp1_highest
-r--r--r-- 1 root root 4096 31. kvě 23.00 temp1_input
-r--r--r-- 1 root root 4096 31. kvě 23.00 temp1_lcrit
-r--r--r-- 1 root root 4096 31. kvě 23.00 temp1_lowest
-r--r--r-- 1 root root 4096 31. kvě 23.00 temp1_max
-r--r--r-- 1 root root 4096 31. kvě 23.00 temp1_min
-rw-r--r-- 1 root root 4096 31. kvě 23.00 uevent

cat /sys/class/hwmon/hwmon2/name:
Kód: [Vybrat]
drivetemp
cat /sys/class/hwmon/hwmon2/temp*_input:
Kód: [Vybrat]
30000

cat /sys/class/hwmon/hwmon2/temp*_label:
Kód: [Vybrat]
cat: '/sys/class/hwmon/hwmon2/temp*_label': Adresář nebo soubor neexistuje
Název: Re:Conky
Přispěvatel: ramael 31 Května 2022, 23:40:08
Tak a máme tam oba disky. Jak sda tak sdb a oba mají stejnou teplotu. Vím, že by se nemělo, ale předpokládám, že hwmon1 je sda a hwmon2 je sdb. Později kouknu na to jak to přesně zjistit.
Tvůj řádek v conky by měl vypadat takto nějak:
Kód: [Vybrat]
${color}Temp:  sda: ${hwmon 1 temp 1} °C sdb: ${hwmon 2 temp 1} °C
Název: Re:Conky
Přispěvatel: PepanB 31 Května 2022, 23:56:16
Tak a máme tam oba disky. Jak sda tak sdb a oba mají stejnou teplotu. Vím, že by se nemělo, ale předpokládám, že hwmon1 je sda a hwmon2 je sdb. Později kouknu na to jak to přesně zjistit.
Tvůj řádek v conky by měl vypadat takto nějak:
Kód: [Vybrat]
${color}Temp:  sda: ${hwmon 1 temp 1} °C sdb: ${hwmon 2 temp 1} °C

Moooc díky teploty jak mají být trochu jsem zatížil disk a o 2 stupne se zvedla teplota u ssd disku. Je to přesně shodné s thermal monitorem a Psensorem!
Nejraději bych ti poslal flašku něčeho dobrýho. Věnoval jsi tomu tolik času i když nejsi momentálně fit. Ještě jednou díky zejtra předělám Conky k obrazu svému. Jiný problém nemám. Při tom hledání jsem někde narazil že by se měly Conky upravit i pro Wayland.
Název: Re:Conky
Přispěvatel: ramael 01 Června 2022, 00:01:25
Nemáš zač. Mne to posunulo o kousíček dál. Nezapomeň přidat do titulku [vyřešeno].
Název: Re:Conky
Přispěvatel: PepanB 01 Června 2022, 00:08:05
Jj já jsem o něco chytřejší, protože jsi mi docela dost věcí o kterých jsem ani netušil vysvětlil. Moc se v tom neorientuju a tohle bych dohromady nedal. Celej život jsem se živil jenom silnoproudem...
Název: Re:Conky [Vyřešeno]
Přispěvatel: juwa2 01 Června 2022, 10:30:11
Já ještě doplním:  Modul drivetemp je k dispozici až v kernelu 5.6 a novějším. U kernelů nižších je nutno použít hddtemp/smartctl, což je ale u NVME SSD disků problematické....
Název: Re:Conky [Vyřešeno]
Přispěvatel: ramael 01 Června 2022, 10:42:39
Jj máš pravdu. Proto jsem se ptal na výstup uname -a. Nemám možnost jak to u sebe vyzkoušet. Došel jsem kvůli tomu k ženy počítači. Má klasický ssd, ale jen ještě čtyřkové jádro. Na druhou stranu mě to nakoplo správným směrem po prozkoumání jak se mapoval disk u ní. Kdybych byl více pozorný mohl jsem si všimnout, že jsem hned v úvodu dal odkaz na modul drivetemp. Ale pak s ním nepracoval.
Název: Re:Conky [Vyřešeno]
Přispěvatel: Ventero 01 Června 2022, 12:47:31
SSD jsou tady patnact let a nikdo kolem tech utilit na to nebyl schopny poradne zareagovat? Az na to muselo reagovat jadro, ktere je hodne cerstve?
To jsou veci ...
Název: Re:Conky [Vyřešeno]
Přispěvatel: PepanB 01 Června 2022, 13:51:19
ramael: Tak jsem conky dodělal k plné spokojenosti a ještě přidal monitorování USB disku kterej se dost v boxu hřeje. Nešlo to udělat pomocí hwmon tam prostě není a tak jsem použil smartctl a je to ok. Jinak pro měření teploty SSD disku je podle mne stěžejní ten soubor drivetemp v adresáři /etc/modules-load.d. Když ho smažu, nebo přesunu tak SSD disk po restartu přestane zobrazovat teplotu
Název: Re:Conky [Vyřešeno]
Přispěvatel: Ventero 01 Června 2022, 14:00:34
A nechces se podelit o ten skript - treba by nekdo vyuzil ..
Název: Re:Conky
Přispěvatel: Roman Vacho 01 Června 2022, 14:55:42
Nevím, jestli to relevantně navede, ale pamatuji si, že u některých značek SSD, třeba Micronu (Crucial), býval nějaký problém s nějakými přístupovými právy ohl. FW nebo tak něco (ani nevím, proč to tak bylo a možná ještě je) - řešilo se to např. u spouštění TRIM, kdy bylo nutné zadat parametr
Kód: [Vybrat]
--no-model-checkTak jestli u těchto dalších funkcích pokročilé správy disků není podobné omezení. Ale možná je to irelevantní - jen se mi to vybavilo ..
Pro zajímavost.
Micron/Crucial mám 64GB a 1TB MX linii. Trim mi vždy fungoval bez úprav.
Současně se teď dívám, že ta 64GB neukazuje teplotu v Diskách. Jak to bylo dříve, už si nepamatuju.
Název: Re:Conky [Vyřešeno]
Přispěvatel: ramael 01 Června 2022, 18:00:11
SSD jsou tady patnact let a nikdo kolem tech utilit na to nebyl schopny poradne zareagovat? Az na to muselo reagovat jadro, ktere je hodne cerstve?
To jsou veci ...
Já bych to tak škarohlídsky neviděl. On třeba ten hddtemp ty ssd disky umí plus ještě nějaké gui utility. Co neumí jsou ty novější nvme. Ten mám v laptopu já. Avšak jak bylo podotknuto skoro na začátku vlákna, hddtemp se přestal vyvíjet. Na githubu https://github.com/guzu/hddtemp je poslední komit v roce 2010. Řešení dát to do jádra a načítat moduly je mi sympatické (voní to starým dobrým linuxem). Neznám ani desetinu zákonitostí co kde proč a jak, ale je fakt že je na prd když se Pepanovi ten modul nenačetl automaticky sám. Na druhou stranu, kdo doopravdy potřebuje číst teplotu disku? Ten modul je jen o těch teplotách. Jinak ty disky fungují parádně. Pokud někdo na hddtempu trvá, tak tady je jeden fork s podporou nvme disků: https://github.com/czo/hddtemp Avšak to se nejspíš normálně do repozitářů nedostane. A dnes si málokdo umí zkompilovat své. Vracím se tím opět k načítání z jádra. Je to dle mne ta nejčistější cesta. Bez utilit na víc.
Název: Re:Conky [Vyřešeno]
Přispěvatel: ramael 01 Června 2022, 18:53:38
ramael: Tak jsem conky dodělal k plné spokojenosti a ještě přidal monitorování USB disku kterej se dost v boxu hřeje. Nešlo to udělat pomocí hwmon tam prostě není a tak jsem použil smartctl a je to ok. Jinak pro měření teploty SSD disku je podle mne stěžejní ten soubor drivetemp v adresáři /etc/modules-load.d. Když ho smažu, nebo přesunu tak SSD disk po restartu přestane zobrazovat teplotu
On je te soubor stejně stěžejní jako ty ostatní věci kolem. Zkusím jednoduše vysvětlit.
Byli doby, ještě před systemd kdy si uživatel... Ne neboj o kompilaci jádra psát nebudu  :D ...si uživatel většinou sám vybíral podle hardwaru jaké moduly se mají načítat a jak mu bude systém fungovat do smrti smrťoucí. Modul je kousek kódu který rozšiřuje možnosti jádra. Příkazem sudo modprobe drivetemp jsme přidali s root právy modul jménem drivetemp za chodu do jádra. Protože to proběhlo v pořádku bez chyby, proto Ti to nic nevypsalo a zůstal prompt. To je jedna z fajn *nix vlastností. Když je vše ok, tak to mlčí. Kecá to až při problémech. Příkaz lsmod | grep drive: lsmod vypíše všechny načtené moduly. Rourou je výstup přesměrován do grepu a ten vypisuje všechny řádky s výskytem slova drive. U Tebe to vyhodilo řádek drivetemp              20480  0. Tím máme jistotu, že je modul fakt načtený a pracuje. A zároveň díky grepu nemusíme číst řádek po řádku a hledat jestli tam ten modul je. No jo, jenže to funguje, do prvního restartu systému. Pak je třeba znovu ten modul načíst. To zrovna moc komfortní není. A tak jsme systému na místě pro to určeném /etc/modules-load.d/ řekli, že má ten modul vždy při startu načíst. Kdysi se to říkalo souborem /etc/modules. Jenže nejen uživatel ale i programátor či správce je jen člověk a mohl při editaci udělat chybu a tím si sakra znepříjemnit život i nefunkčností systému. A tak chytré hlavy vymysleli výše zmíněný adresář, kam si může člověk přidat svůj soubor s moduly. A pokud by to zlobilo, tak ví kam sáhnout. Je jedno jak se ten soubor jmenuje, důležitý je obsah! Já ho schválně pojmenoval přímo po modulu aby se lépe hledal. Ale klidně ho můžeš nazvat třeba muj_prvni_modul.conf a bude to fungovat také. Důležité je aby obsahoval název modulu uvnitř: drivetemp. Pokud si vypíšeš adresář /etc/ tak zjistíš že je tam více takových složek které končí na .d. Tam všude si může uživatel/správce přidávat své konfiguráky skoro beztrestně. Takové složky najdeš na více místech, nejen v etcéčku. Dříve to byla alfa omega systému. Dnes máme systemd který do toho všeho fušuje a dostkrát to nedělá správně. Tím fušováním porušuje základní pravidlo *nixů. A to dělat jen jednu věc a jednoduše, ale za to neprůstřelně dobře. Což se o tom "kurvítku" říci nedá. Ono to šahá fakt úplně do všeho. Nejen že se to snaží nahradit init, což byla původní myšlenka. Ale ono to šmátrá i do síťovek, zvukovek, do udevu, úplně všude. A to je špatně. Když tak nad tím přemýšlím, mám pocit, že máme štěstí, že jsme mohli ten modul jen tak přidat. Vůbec bych se nedivil, kdyby to šméčko šahalo i tam.
Název: Re:Conky [Vyřešeno]
Přispěvatel: PepanB 01 Června 2022, 20:56:53
ramael: Tak ještě jednou díky, nejenom že jsi geniální jak jsem psal ;D, ale umíš to tak krásně vysvětlit že by jsi to mohl přednášet, nebo učit! Tak polopaticky vysvětlené jednotlivé kroky jsem nikde nečetl. Opravdu mi to hodně dalo a mnohé mi objasnilo. Věděl jsem jenom že roura slouží k přesměrování. Jenom jsem nepochopil jaký je rozdíl mezi grep a egrep za rourou ???

Jinak je pravda že pro většinu lidí není potřeba měřit teplotu disků. S tím SSD a plotnovým diskem teplotně v PC není problém ani v parných dnech kdy je v kotci 32-33 stupňů. Mnohem horší to je s usb diskama v boxech. Tam kdybych nehlídal teplotu tak bych je asi neuvařil, ale zcela jistě ukrátil životnost. Mám WD 4TB ten topí nejméně, 1TB mnohem více a o WD 640GB ani nemluvě. Proto v horkých dnech hlídám "zápalnou" teplotu nakopíruju zálohy a vypínám. Všechny boxy co jsem kdy měl i když se honosily že jsou hliníkové měly uchycení disku na plastu a to teplo odvádělo mizeně. Uvažuju že podle 3.5 disku ohnu ú-čko z plechu třeba na čtyři disky nad sebou a když vždy pojede jenom jeden musí se to chladit stejně jako v šachtě PC.

Hezky jsi vysvětlil a teprve nyní chápu proč hodně lidí nadává na systemd, který používá naprostá většina distribucí...
Název: Re:Conky [Vyřešeno]
Přispěvatel: ramael 02 Června 2022, 07:49:21
Ještě bych chtěl doplnit takový malý postřeh s právy roota.
Juwa2 navrhoval
Citace
1. hddtemp vyžaduje root práva. Aby se nemusel přidávat do vyjímek v sudoers, je jednodušší mu práva změnit takto:
Kód: [Vybrat]

sudo chmod u+s /usr/sbin/hddtemp
Takovému řešení je lepší se vyhnout. Ne že by nefungovalo a je příjemně jednoduché. A bude jistě fungovat nějaký čas a možná i pořád. A to je ten kámen úrazu. Může a nemusí. Nevím jak je to u jiných distribucí avšak ubuntu si dost často mění při upgradu práva na ta původní daná systémem. To znamená, že jednoho dne po
sudo apt update
sudo apt upgrade

si systém vrátí práva do defaultu a přestane to fungovat a pak chvilku trvá najít proč to nejde. Při hledání chyby naseká člověk větší paseku. Protože poslední na co by v té chvíli pomyslel, je změna práv do defaultu. Z toho důvodu tu máme soubor /etc/sudoers. No jo, jenže jak jsem psal o příspěvek výše. Chyba se může vloudit a ani pak nemusí systém naskočit. A tak tu máme adresář /etc/sudoers.d. Všimni si toho .d na konci. A ten nám dovoluje si tam ty práva upravit jak potřebujem aniž by to systém přepsal a zároveň to systém musí akceptovat. Pár vyjímečných věcí v tomto adresáři je. A to práva k samotným souborům, ty musí být bezpodmíněčně 0440. Dále název souboru nesmí obsahovat znak . (tečku) a ani znak ~(tilda/vlnovec). Abysme to nemuseli složitě kontrolovat a nastavovat, vymysleli tvůrci příkaz visudo:
Kód: [Vybrat]
sudo visudo -f /etc/sudoers.d/mujersZkus si to a uvidíš jak je to vymakané a blbuvzdorné. Funguje to tak, že se tam něco napíše. Soubor se při uložení automaticky uloží s příponou .tmp (v našem případě mujers.temp) a proběhne syntaktická kontrola souboru. Pokud je vše ok soubor se automaticky přejmenuje na původně zadané jméno a je to. Pokud se tam vyskytne chyba, uživatel je upozorněn na jakém řádku má chybu a musí zvolit jak to vyřešit. Ještě jedna věc je tam důležitá a trochu matoucí. Znak # na začátku řádku tradičně znamená komentář. Avšak ve spojení se slovem include #include se jedná o céčkovou "funkci". Zpět k našemu příkladu. Spustíme sudo visudo -f /etc/sudoers.d/mujers a přidáme tam řádek pepan    ALL=NOPASSWD: /usr/sbin/hddtemp, /usr/sbin/smartctl kde pepan je uživatel kterého se mají ty práva týkat. ALL na jakém stroji to platí, v tomto případě všude. NOPASSWD: znamená nechtít heslo. A za dvojtečkou následují programy/skripty s jejich absolutní cestou oddělené čárkou. Od teď se dá smartctl a hddtemp spustit příkazem sudo smartctl a sudo hddtemp a nebude to chtít heslo. Což se nemusí někomu zrovna dvakrát líbit, přece jen bez toho sudo je to komfortnější. No, tak tu máme starý dobrý soubor .bashrc v domovském adresáři. Do něho přidáme řádek alias smartctl='sudo smartctl' a pak už jen napíšem do terminálu
Kód: [Vybrat]
source .bashrca funguje to. A protože *nixy mají i jiné možnosti, nemusí se otvírat textový editor. Stačí zadat do terminálu tuto posloupnost:
Kód: [Vybrat]
echo "alias smartctl='sudo smartctl'" >> ~/.bashrc
echo "alias hddtemp='sudo hddtemp'" >> ~/.bashrc
source ~/.bashrc
a ono to žije tak jak bylo zamýšleno :D A bude to žít i po všemožných upgradech. Od teď uživatel spouští programy smartctl a hddtemp tak jak je napíše s právy roota.
Trochu rozeberu echo "alias smartctl='sudo smartctl'" >> ~/.bashrc:
echo nemusím představovat. V tomto případě vyhodí na standardní výstup co máme v dvojitých uvozovkách. Pak tu máme počin >>. To je přesměrování výstupu do souboru. Jedno "většítko" > znamená co je před vlož do názvu souboru co je za. Pokud soubor neexistuje vytvoří se automaticky. Pokud existuje, je přepsán novým. Což není to pravé ořechové. A tak máme "zdvojené většítko" >>. Jeho úkol je co přijme (co je před ním) to zapíše na konec souboru jehož název je za ním. V našem případě výstup z echa alias smartctl='sudo smartctl' připojí na konec souboru ~/.bashrc. Příkaz source ~/.bashrc udělá, že bez restartu či odhlášení a opětovného přihlášení uživatele, načte náš upravený soubor do systému a od teď se všechny změny v něm uplatní.
Ještě malý dodatek. Než začneš přidávat žádaný program do souboru v sudoers.d nejdříve si zjisti jaká je jeho absolutní cesta. Na to máme nástroj which. Zadáme třeba
Kód: [Vybrat]
which smartctla máme jasno. Oni totiž ne všechny programy, které potřebují práva roota, se nachází v /usr/sbin/. Například mount se nachází v obyčejném /usr/bin/.
Název: Re:Conky [Vyřešeno]
Přispěvatel: PepanB 02 Června 2022, 17:20:50
Mám to zatím nastavené podle juwa2 a o vikendu to vyzkouším.
Kód: [Vybrat]
sudo visudo -f /etc/sudoers.d/mujers Vytvoří se prázdný soubor mujers nulové velikosti
Kód: [Vybrat]
sudo visudo -f /etc/sudoers.d/mujers doplním pepan    ALL=NOPASSWD: /usr/sbin/hddtemp, /usr/sbin/smartctl a uložím
v sudoers.d zůstane prázdný soubor mujers a přibude soubor mujers.tmp.save ve kterém je vložený obsah. To asi není ok i když to žádnou chybu nehlásí?
Název: Re:Conky [Vyřešeno]
Přispěvatel: ramael 02 Června 2022, 20:12:18
To vypadá, že se ti to neuložilo. Copak říká toto?:
Kód: [Vybrat]
echo $SUDO_EDITOR + $VISUAL + $EDITOR
Název: Re:Conky [Vyřešeno]
Přispěvatel: PepanB 02 Června 2022, 20:28:58
To vypadá, že se ti to neuložilo. Copak říká toto?:
Kód: [Vybrat]
echo $SUDO_EDITOR + $VISUAL + $EDITOR

Kód: [Vybrat]
+ + nano
Název: Re:Conky [Vyřešeno]
Přispěvatel: ramael 02 Června 2022, 20:41:51
Tak by měl visudo používat nejspíš editor nano. Tam vložené uložíš pomocí ctrl + o následované entrem. A to následované ctrl + x
Název: Re:Conky [Vyřešeno]
Přispěvatel: juwa2 02 Června 2022, 23:46:34
Ještě bych chtěl doplnit takový malý postřeh s právy roota.
Juwa2 navrhoval
Citace
1. hddtemp vyžaduje root práva. Aby se nemusel přidávat do vyjímek v sudoers, je jednodušší mu práva změnit takto:
Kód: [Vybrat]

sudo chmod u+s /usr/sbin/hddtemp
Takovému řešení je lepší se vyhnout. Ne že by nefungovalo a je příjemně jednoduché. A bude jistě fungovat nějaký čas a možná i pořád. A to je ten kámen úrazu. Může a nemusí. Nevím jak je to u jiných distribucí avšak ubuntu si dost často mění při upgradu práva na ta původní daná systémem. To znamená, že jednoho dne po
sudo apt update
sudo apt upgrade

si systém vrátí práva do defaultu a přestane to fungovat a pak chvilku trvá najít proč to nejde. Při hledání chyby naseká člověk větší paseku. Protože poslední na co by v té chvíli pomyslel, je změna práv do defaultu. Z toho důvodu tu máme soubor /etc/sudoers. No jo, jenže jak jsem psal o příspěvek výše. Chyba se může vloudit a ani pak nemusí systém naskočit. A tak tu máme adresář /etc/sudoers.d. Všimni si toho .d na konci. A ten nám dovoluje si tam ty práva upravit jak potřebujem aniž by to systém přepsal a zároveň to systém musí akceptovat. Pár vyjímečných věcí v tomto adresáři je. A to práva k samotným souborům, ty musí být bezpodmíněčně 0440. Dále název souboru nesmí obsahovat znak . (tečku) a ani znak ~(tilda/vlnovec). Abysme to nemuseli složitě kontrolovat a nastavovat, vymysleli tvůrci příkaz visudo:
Kód: [Vybrat]
sudo visudo -f /etc/sudoers.d/mujersZkus si to a uvidíš jak je to vymakané a blbuvzdorné. Funguje to tak, že se tam něco napíše. Soubor se při uložení automaticky uloží s příponou .tmp (v našem případě mujers.temp) a proběhne syntaktická kontrola souboru. Pokud je vše ok soubor se automaticky přejmenuje na původně zadané jméno a je to. Pokud se tam vyskytne chyba, uživatel je upozorněn na jakém řádku má chybu a musí zvolit jak to vyřešit. Ještě jedna věc je tam důležitá a trochu matoucí. Znak # na začátku řádku tradičně znamená komentář. Avšak ve spojení se slovem include #include se jedná o céčkovou "funkci". Zpět k našemu příkladu. Spustíme sudo visudo -f /etc/sudoers.d/mujers a přidáme tam řádek pepan    ALL=NOPASSWD: /usr/sbin/hddtemp, /usr/sbin/smartctl kde pepan je uživatel kterého se mají ty práva týkat. ALL na jakém stroji to platí, v tomto případě všude. NOPASSWD: znamená nechtít heslo. A za dvojtečkou následují programy/skripty s jejich absolutní cestou oddělené čárkou. Od teď se dá smartctl a hddtemp spustit příkazem sudo smartctl a sudo hddtemp a nebude to chtít heslo. Což se nemusí někomu zrovna dvakrát líbit, přece jen bez toho sudo je to komfortnější. No, tak tu máme starý dobrý soubor .bashrc v domovském adresáři. Do něho přidáme řádek alias smartctl='sudo smartctl' a pak už jen napíšem do terminálu
Kód: [Vybrat]
source .bashrca funguje to. A protože *nixy mají i jiné možnosti, nemusí se otvírat textový editor. Stačí zadat do terminálu tuto posloupnost:
Kód: [Vybrat]
echo "alias smartctl='sudo smartctl'" >> ~/.bashrc
echo "alias hddtemp='sudo hddtemp'" >> ~/.bashrc
source ~/.bashrc
a ono to žije tak jak bylo zamýšleno :D A bude to žít i po všemožných upgradech. Od teď uživatel spouští programy smartctl a hddtemp tak jak je napíše s právy roota.
Trochu rozeberu echo "alias smartctl='sudo smartctl'" >> ~/.bashrc:
echo nemusím představovat. V tomto případě vyhodí na standardní výstup co máme v dvojitých uvozovkách. Pak tu máme počin >>. To je přesměrování výstupu do souboru. Jedno "většítko" > znamená co je před vlož do názvu souboru co je za. Pokud soubor neexistuje vytvoří se automaticky. Pokud existuje, je přepsán novým. Což není to pravé ořechové. A tak máme "zdvojené většítko" >>. Jeho úkol je co přijme (co je před ním) to zapíše na konec souboru jehož název je za ním. V našem případě výstup z echa alias smartctl='sudo smartctl' připojí na konec souboru ~/.bashrc. Příkaz source ~/.bashrc udělá, že bez restartu či odhlášení a opětovného přihlášení uživatele, načte náš upravený soubor do systému a od teď se všechny změny v něm uplatní.
Ještě malý dodatek. Než začneš přidávat žádaný program do souboru v sudoers.d nejdříve si zjisti jaká je jeho absolutní cesta. Na to máme nástroj which. Zadáme třeba
Kód: [Vybrat]
which smartctla máme jasno. Oni totiž ne všechny programy, které potřebují práva roota, se nachází v /usr/sbin/. Například mount se nachází v obyčejném /usr/bin/.

Hm.. To všechno je sice pravda, ale je to už takové to "s kanónem na vrabce".....
Mě se práva hddtemp nezměnily několik let, přežily i povýšení systému. A pokud by ke změně přeci jen došlo, zjistím to okamžitě: Conky přestane zobrazovat teplotu disků. Pak není problém si ten příkaz debugnout a je to.

Momentálně jedu na jádru 5.4 (bionic-hwe), tudíž příkaz pro načtení modulu drivetemp (sudo modprobe drivetemp) skončí pochopitelně chybou.

Jinak teploty disků je vhodné sledovat. Měl jsem tu uživatele který si do obyčejného NTB dal větší HDD (1TB Seagate). Ano, byl levný, ale bohužel SMR. Tudíž na systém nevhodný, topil jako kráva (ve smartu je 68 C).  Už údaj na štítku byl varovný (5V/1.2A) - původní HDD měl 5V/0.45A....
Takže šel pouze "na data" místo DVD mechaniky - tam slouží dobře, moc nehřeje. A na systém se dal 250GB SSD.
Název: Re:Conky [Vyřešeno]
Přispěvatel: juwa2 02 Června 2022, 23:56:58
Tak by měl visudo používat nejspíš editor nano. Tam vložené uložíš pomocí ctrl + o následované entrem. A to následované ctrl + x

Ano, lepší (jednodušší) je k editaci sudoers používat editor nano. Tj. buďto to "zařídit" v každém příkazu k editaci:
Kód: [Vybrat]
export EDITOR=nano && sudo -E visudo
Nebo lépe, nastavit to permanentně pomocí:
Kód: [Vybrat]
sudo update-alternatives --config editor
A tam vybrat /bin/nano.
Pak (v nano) je:
uložit  ctrl+o
enter
ukončit nano ctrl+x
Název: Re:Conky [Vyřešeno]
Přispěvatel: PepanB 04 Června 2022, 15:26:23
ramael: Konečně jsem dnes obnovil distro a znovu nainstaloval conky a tentokrát použil visudo. Vše funguje přesně jak jsi popsal výše. Jsem naprosto spokojenej :D
Název: Re:Conky [Vyřešeno]
Přispěvatel: ramael 04 Června 2022, 16:13:17
Super! Hraj si dál, uvidíš, že to není tak těžké jak to vypadá. Linux má svou krásnou logiku a robustnost. Ne nadarmo je MacOs taky linux, jen pořádně vypiplaný. Nehledě na to, že Microsoft s linuxem také koketuje.
Název: Re:Conky [Vyřešeno]
Přispěvatel: ramael 05 Června 2022, 10:44:19
PepanB: Kam se Ti namapuje ten USB disk? Jako /dev/sdc?
Název: Re:Conky [Vyřešeno]
Přispěvatel: PepanB 05 Června 2022, 11:41:42
PepanB: Kam se Ti namapuje ten USB disk? Jako /dev/sdc?
JJ je to /dev/sdc Dolphin ukazuje připojený disk jako /dev/sdc1
Název: Re:Conky [Vyřešeno]
Přispěvatel: ramael 05 Června 2022, 11:58:01
PepanB: Kam se Ti namapuje ten USB disk? Jako /dev/sdc?
JJ je to /dev/sdc Dolphin ukazuje připojený disk jako /dev/sdc1

A copak říká toto:
Kód: [Vybrat]
sudo smartctl -a /dev/sdc
A ještě toto:
Kód: [Vybrat]
sudo hddtemp --debug /dev/sda
Název: Re:Conky [Vyřešeno]
Přispěvatel: PepanB 05 Června 2022, 12:21:23
sudo smartctl -a /dev/sdc:
Kód: [Vybrat]
=== START OF INFORMATION SECTION ===
Model Family:     Western Digital Red (SMR)
Device Model:     WDC WD40EFAX-68JH4N1
Serial Number:    WD-WX32DB08YCPC
LU WWN Device Id: 5 0014ee 269171ef9
Firmware Version: 83.00A83
User Capacity:    4 000 787 030 016 bytes [4,00 TB]
Sector Sizes:     512 bytes logical, 4096 bytes physical
Rotation Rate:    5400 rpm
Form Factor:      3.5 inches
TRIM Command:     Available, deterministic, zeroed
Device is:        In smartctl database 7.3/5319
ATA Version is:   ACS-3 T13/2161-D revision 5
SATA Version is:  SATA 3.1, 6.0 Gb/s (current: 3.0 Gb/s)
Local Time is:    Sun Jun  5 12:11:04 2022 CEST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

General SMART Values:
Offline data collection status:  (0x00) Offline data collection activity
                                        was never started.
                                        Auto Offline Data Collection: Disabled.
Self-test execution status:      (   0) The previous self-test routine completed
                                        without error or no self-test has ever
                                        been run.
Total time to complete Offline
data collection:                (43260) seconds.
Offline data collection
capabilities:                    (0x7b) SMART execute Offline immediate.
                                        Auto Offline data collection on/off support.
                                        Suspend Offline collection upon new
                                        command.
                                        Offline surface scan supported.
                                        Self-test supported.
                                        Conveyance Self-test supported.
                                        Selective Self-test supported.
SMART capabilities:            (0x0003) Saves SMART data before entering
                                        power-saving mode.
                                        Supports SMART auto save timer.
Error logging capability:        (0x01) Error logging supported.
                                        General Purpose Logging supported.
Short self-test routine
recommended polling time:        (   2) minutes.
Extended self-test routine
recommended polling time:        ( 380) minutes.
Conveyance self-test routine
recommended polling time:        (   2) minutes.
SCT capabilities:              (0x3039) SCT Status supported.
                                        SCT Error Recovery Control supported.
                                        SCT Feature Control supported.
                                        SCT Data Table supported.

SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x002f   200   200   051    Pre-fail  Always       -       0
  3 Spin_Up_Time            0x0027   202   199   021    Pre-fail  Always       -       2891
  4 Start_Stop_Count        0x0032   100   100   000    Old_age   Always       -       218
  5 Reallocated_Sector_Ct   0x0033   200   200   140    Pre-fail  Always       -       0
  7 Seek_Error_Rate         0x002e   200   200   000    Old_age   Always       -       0
  9 Power_On_Hours          0x0032   100   100   000    Old_age   Always       -       80
 10 Spin_Retry_Count        0x0032   100   100   000    Old_age   Always       -       0
 11 Calibration_Retry_Count 0x0032   100   100   000    Old_age   Always       -       0
 12 Power_Cycle_Count       0x0032   100   100   000    Old_age   Always       -       180
192 Power-Off_Retract_Count 0x0032   200   200   000    Old_age   Always       -       61
193 Load_Cycle_Count        0x0032   200   200   000    Old_age   Always       -       158
194 Temperature_Celsius     0x0022   120   106   000    Old_age   Always       -       27
196 Reallocated_Event_Count 0x0032   200   200   000    Old_age   Always       -       0
197 Current_Pending_Sector  0x0032   200   200   000    Old_age   Always       -       0
198 Offline_Uncorrectable   0x0030   100   253   000    Old_age   Offline      -       0
199 UDMA_CRC_Error_Count    0x0032   200   200   000    Old_age   Always       -       0
200 Multi_Zone_Error_Rate   0x0008   100   253   000    Old_age   Offline      -       0

SMART Error Log Version: 1
No Errors Logged

SMART Self-test log structure revision number 1
No self-tests have been logged.  [To run self-tests, use: smartctl -t]

SMART Selective self-test log data structure revision number 1
 SPAN  MIN_LBA  MAX_LBA  CURRENT_TEST_STATUS
    1        0        0  Not_testing
    2        0        0  Not_testing
    3        0        0  Not_testing
    4        0        0  Not_testing
    5        0        0  Not_testing
Selective self-test flags (0x0):
  After scanning selected spans, do NOT read-scan remainder of disk.
If Selective self-test is pending on power-up, resume after 0 minute delay.

sudo hddtemp --debug /dev/sda:
Kód: [Vybrat]
================= hddtemp 0.3-beta15 ==================
Model: Samsung SSD 860 EVO 500G B              �@

field(5)         = 0
field(9)         = 214
field(12)        = 203
field(177)       = 99
field(179)       = 0
field(181)       = 0
field(182)       = 0
field(183)       = 0
field(187)       = 0
field(190)       = 32
field(195)       = 0
field(199)       = 16
field(235)       = 80
field(241)       = 175

Jak jsem psal výše teplotu usb disku v conky mám indikovanou pomocí smartctl. Usb disk v hwmon podle mě není, nebo jako hňup jsem ho nenašel :D
Název: Re:Conky [Vyřešeno]
Přispěvatel: ramael 05 Června 2022, 12:49:44
Tak nejdřív začnu u /dev/sda je to i odpověď to juwa2 na starší jádra. Klasické disky, které mají S.M.A.R.T. udávají svoji teplotu pod identifikátorem 194. Avšak většina SSD disků to uvádí pod ID 190. To znamená, že hddtemp ty disky také umí (neumí ty nvme), jen je třeba mu to říci v jeho databázi /etc/hddtemp.db o což už se PepanB pokoušel a byl kousek od řešení. Jen to tam zadal špatně. Pokud  v Tvém případě (PepanB) zadáš toto:
Kód: [Vybrat]
sudo echo '"Samsung SSD 850 EVO 500G B"   190 C  "Samsung SSD 850 EVO 500GB"' >> /etc/hddtemp.db
měl by hddtemp Tvůj disk správně zobrazit. Zajímalo by mne co ti pak vypíše toto:
Kód: [Vybrat]
sudo hddtemp /dev/sd[abc]
A k usb disku bych poprosil když je připojen o tento výpis:
Kód: [Vybrat]
ls -l /sys/class/hwmon/hwmon*/
Docela mne mrzí, že to nemám jak odzkoušet. A tak to bude asi trošku zdlouhavé.
Název: Re:Conky [Vyřešeno]
Přispěvatel: PepanB 05 Června 2022, 14:25:16
Ten hddtemp ssd asi opravdu neumí i když na různých forech že ano. O tom ID 190 u ssd jsem se dočetl a měl to v hddtemp.db správně. Nicméně jsem v hddtemp.db smazal vše co jsem zkusil a přidal prakticky to samé co jsi napsal. Po restartu opět to samé:
Kód: [Vybrat]
WARNING: Drive /dev/sda doesn't seem to have a temperature sensor.
WARNING: This doesn't mean it hasn't got one.
WARNING: If you are sure it has one, please contact me (hddtemp@guzu.net).
WARNING: See --help, --debug and --drivebase options.
/dev/sda: Samsung SSD 860 EVO 500G B              �@:  no sensor
   :(

ls -l /sys/class/hwmon/hwmon*/:
Kód: [Vybrat]
/sys/class/hwmon/hwmon0/:
celkem 0
lrwxrwxrwx 1 root root    0  5. čen 14.13 device -> ../../thermal_zone0
-r--r--r-- 1 root root 4096  5. čen 14.13 name
drwxr-xr-x 2 root root    0  5. čen 14.22 power
lrwxrwxrwx 1 root root    0  5. čen 14.13 subsystem -> ../../../../../class/hwmon
-r--r--r-- 1 root root 4096  5. čen 14.13 temp1_crit
-r--r--r-- 1 root root 4096  5. čen 14.13 temp1_input
-r--r--r-- 1 root root 4096  5. čen 14.13 temp2_crit
-r--r--r-- 1 root root 4096  5. čen 14.13 temp2_input
-rw-r--r-- 1 root root 4096  5. čen 14.13 uevent

/sys/class/hwmon/hwmon1/:
celkem 0
lrwxrwxrwx 1 root root    0  5. čen 14.13 device -> ../../../0:0:0:0
-r--r--r-- 1 root root 4096  5. čen 14.13 name
drwxr-xr-x 2 root root    0  5. čen 14.22 power
lrwxrwxrwx 1 root root    0  5. čen 14.13 subsystem -> ../../../../../../../../../class/hwmon
-r--r--r-- 1 root root 4096  5. čen 14.13 temp1_crit
-r--r--r-- 1 root root 4096  5. čen 14.13 temp1_highest
-r--r--r-- 1 root root 4096  5. čen 14.13 temp1_input
-r--r--r-- 1 root root 4096  5. čen 14.13 temp1_lcrit
-r--r--r-- 1 root root 4096  5. čen 14.13 temp1_lowest
-r--r--r-- 1 root root 4096  5. čen 14.13 temp1_max
-r--r--r-- 1 root root 4096  5. čen 14.13 temp1_min
-rw-r--r-- 1 root root 4096  5. čen 14.13 uevent

/sys/class/hwmon/hwmon2/:
celkem 0
lrwxrwxrwx 1 root root    0  5. čen 14.13 device -> ../../../1:0:0:0
-r--r--r-- 1 root root 4096  5. čen 14.13 name
drwxr-xr-x 2 root root    0  5. čen 14.22 power
lrwxrwxrwx 1 root root    0  5. čen 14.13 subsystem -> ../../../../../../../../../class/hwmon
-r--r--r-- 1 root root 4096  5. čen 14.13 temp1_crit
-r--r--r-- 1 root root 4096  5. čen 14.13 temp1_highest
-r--r--r-- 1 root root 4096  5. čen 14.13 temp1_input
-r--r--r-- 1 root root 4096  5. čen 14.13 temp1_lcrit
-r--r--r-- 1 root root 4096  5. čen 14.13 temp1_lowest
-r--r--r-- 1 root root 4096  5. čen 14.13 temp1_max
-r--r--r-- 1 root root 4096  5. čen 14.13 temp1_min
-rw-r--r-- 1 root root 4096  5. čen 14.13 uevent

/sys/class/hwmon/hwmon3/:
celkem 0
lrwxrwxrwx 1 root root    0  5. čen 14.13 device -> ../../../eeepc-wmi
-r--r--r-- 1 root root 4096  5. čen 14.13 name
drwxr-xr-x 2 root root    0  5. čen 14.22 power
lrwxrwxrwx 1 root root    0  5. čen 14.22 subsystem -> ../../../../../class/hwmon
-rw-r--r-- 1 root root 4096  5. čen 14.13 uevent

/sys/class/hwmon/hwmon4/:
celkem 0
lrwxrwxrwx 1 root root    0  5. čen 14.13 device -> ../../../coretemp.0
-r--r--r-- 1 root root 4096  5. čen 14.13 name
drwxr-xr-x 2 root root    0  5. čen 14.22 power
lrwxrwxrwx 1 root root    0  5. čen 14.22 subsystem -> ../../../../../class/hwmon
-r--r--r-- 1 root root 4096  5. čen 14.13 temp1_crit
-r--r--r-- 1 root root 4096  5. čen 14.13 temp1_crit_alarm
-r--r--r-- 1 root root 4096  5. čen 14.13 temp1_input
-r--r--r-- 1 root root 4096  5. čen 14.13 temp1_label
-r--r--r-- 1 root root 4096  5. čen 14.13 temp1_max
-r--r--r-- 1 root root 4096  5. čen 14.13 temp2_crit
-r--r--r-- 1 root root 4096  5. čen 14.13 temp2_crit_alarm
-r--r--r-- 1 root root 4096  5. čen 14.13 temp2_input
-r--r--r-- 1 root root 4096  5. čen 14.13 temp2_label
-r--r--r-- 1 root root 4096  5. čen 14.13 temp2_max
-r--r--r-- 1 root root 4096  5. čen 14.13 temp3_crit
-r--r--r-- 1 root root 4096  5. čen 14.13 temp3_crit_alarm
-r--r--r-- 1 root root 4096  5. čen 14.13 temp3_input
-r--r--r-- 1 root root 4096  5. čen 14.13 temp3_label
-r--r--r-- 1 root root 4096  5. čen 14.13 temp3_max
-r--r--r-- 1 root root 4096  5. čen 14.13 temp4_crit
-r--r--r-- 1 root root 4096  5. čen 14.13 temp4_crit_alarm
-r--r--r-- 1 root root 4096  5. čen 14.13 temp4_input
-r--r--r-- 1 root root 4096  5. čen 14.13 temp4_label
-r--r--r-- 1 root root 4096  5. čen 14.13 temp4_max
-r--r--r-- 1 root root 4096  5. čen 14.13 temp5_crit
-r--r--r-- 1 root root 4096  5. čen 14.13 temp5_crit_alarm
-r--r--r-- 1 root root 4096  5. čen 14.13 temp5_input
-r--r--r-- 1 root root 4096  5. čen 14.13 temp5_label
-r--r--r-- 1 root root 4096  5. čen 14.13 temp5_max
-rw-r--r-- 1 root root 4096  5. čen 14.13 uevent

/sys/class/hwmon/hwmon5/:
celkem 0
-rw-r--r-- 1 root root 4096  5. čen 14.13 beep_enable
lrwxrwxrwx 1 root root    0  5. čen 14.13 device -> ../../../nct6775.656
-r--r--r-- 1 root root 4096  5. čen 14.13 fan1_alarm
-rw-r--r-- 1 root root 4096  5. čen 14.13 fan1_beep
-r--r--r-- 1 root root 4096  5. čen 14.13 fan1_input
-rw-r--r-- 1 root root 4096  5. čen 14.13 fan1_min
-rw-r--r-- 1 root root 4096  5. čen 14.13 fan1_pulses
-rw-r--r-- 1 root root 4096  5. čen 14.22 fan1_target
-rw-r--r-- 1 root root 4096  5. čen 14.22 fan1_tolerance
-r--r--r-- 1 root root 4096  5. čen 14.13 fan2_alarm
-rw-r--r-- 1 root root 4096  5. čen 14.13 fan2_beep
-r--r--r-- 1 root root 4096  5. čen 14.13 fan2_input
-rw-r--r-- 1 root root 4096  5. čen 14.13 fan2_min
-rw-r--r-- 1 root root 4096  5. čen 14.13 fan2_pulses
-rw-r--r-- 1 root root 4096  5. čen 14.22 fan2_target
-rw-r--r-- 1 root root 4096  5. čen 14.22 fan2_tolerance
-r--r--r-- 1 root root 4096  5. čen 14.13 fan3_alarm
-rw-r--r-- 1 root root 4096  5. čen 14.13 fan3_beep
-r--r--r-- 1 root root 4096  5. čen 14.13 fan3_input
-rw-r--r-- 1 root root 4096  5. čen 14.13 fan3_min
-rw-r--r-- 1 root root 4096  5. čen 14.13 fan3_pulses
-rw-r--r-- 1 root root 4096  5. čen 14.22 fan3_target
-rw-r--r-- 1 root root 4096  5. čen 14.22 fan3_tolerance
-r--r--r-- 1 root root 4096  5. čen 14.13 fan4_alarm
-rw-r--r-- 1 root root 4096  5. čen 14.13 fan4_beep
-r--r--r-- 1 root root 4096  5. čen 14.13 fan4_input
-rw-r--r-- 1 root root 4096  5. čen 14.13 fan4_min
-rw-r--r-- 1 root root 4096  5. čen 14.13 fan4_pulses
-rw-r--r-- 1 root root 4096  5. čen 14.22 fan4_target
-rw-r--r-- 1 root root 4096  5. čen 14.22 fan4_tolerance
-r--r--r-- 1 root root 4096  5. čen 14.13 fan5_alarm
-rw-r--r-- 1 root root 4096  5. čen 14.13 fan5_beep
-r--r--r-- 1 root root 4096  5. čen 14.13 fan5_input
-rw-r--r-- 1 root root 4096  5. čen 14.13 fan5_min
-rw-r--r-- 1 root root 4096  5. čen 14.13 fan5_pulses
-rw-r--r-- 1 root root 4096  5. čen 14.22 fan5_target
-rw-r--r-- 1 root root 4096  5. čen 14.22 fan5_tolerance
-r--r--r-- 1 root root 4096  5. čen 14.13 fan6_alarm
-r--r--r-- 1 root root 4096  5. čen 14.13 fan6_input
-rw-r--r-- 1 root root 4096  5. čen 14.13 fan6_min
-rw-r--r-- 1 root root 4096  5. čen 14.13 fan6_pulses
-rw-r--r-- 1 root root 4096  5. čen 14.13 intrusion0_alarm
-rw-r--r-- 1 root root 4096  5. čen 14.13 intrusion0_beep
-rw-r--r-- 1 root root 4096  5. čen 14.13 intrusion1_alarm
-rw-r--r-- 1 root root 4096  5. čen 14.13 intrusion1_beep
-r--r--r-- 1 root root 4096  5. čen 14.13 in0_alarm
-rw-r--r-- 1 root root 4096  5. čen 14.13 in0_beep
-r--r--r-- 1 root root 4096  5. čen 14.13 in0_input
-rw-r--r-- 1 root root 4096  5. čen 14.13 in0_max
-rw-r--r-- 1 root root 4096  5. čen 14.13 in0_min
-r--r--r-- 1 root root 4096  5. čen 14.13 in1_alarm
-rw-r--r-- 1 root root 4096  5. čen 14.13 in1_beep
-r--r--r-- 1 root root 4096  5. čen 14.13 in1_input
-rw-r--r-- 1 root root 4096  5. čen 14.13 in1_max
-rw-r--r-- 1 root root 4096  5. čen 14.13 in1_min
-r--r--r-- 1 root root 4096  5. čen 14.13 in10_alarm
-rw-r--r-- 1 root root 4096  5. čen 14.13 in10_beep
-r--r--r-- 1 root root 4096  5. čen 14.13 in10_input
-rw-r--r-- 1 root root 4096  5. čen 14.13 in10_max
-rw-r--r-- 1 root root 4096  5. čen 14.13 in10_min
-r--r--r-- 1 root root 4096  5. čen 14.13 in11_alarm
-rw-r--r-- 1 root root 4096  5. čen 14.13 in11_beep
-r--r--r-- 1 root root 4096  5. čen 14.13 in11_input
-rw-r--r-- 1 root root 4096  5. čen 14.13 in11_max
-rw-r--r-- 1 root root 4096  5. čen 14.13 in11_min
-r--r--r-- 1 root root 4096  5. čen 14.13 in12_alarm
-rw-r--r-- 1 root root 4096  5. čen 14.13 in12_beep
-r--r--r-- 1 root root 4096  5. čen 14.13 in12_input
-rw-r--r-- 1 root root 4096  5. čen 14.13 in12_max
-rw-r--r-- 1 root root 4096  5. čen 14.13 in12_min
-r--r--r-- 1 root root 4096  5. čen 14.13 in13_alarm
-rw-r--r-- 1 root root 4096  5. čen 14.13 in13_beep
-r--r--r-- 1 root root 4096  5. čen 14.13 in13_input
-rw-r--r-- 1 root root 4096  5. čen 14.13 in13_max
-rw-r--r-- 1 root root 4096  5. čen 14.13 in13_min
-r--r--r-- 1 root root 4096  5. čen 14.13 in14_alarm
-rw-r--r-- 1 root root 4096  5. čen 14.13 in14_beep
-r--r--r-- 1 root root 4096  5. čen 14.13 in14_input
-rw-r--r-- 1 root root 4096  5. čen 14.13 in14_max
-rw-r--r-- 1 root root 4096  5. čen 14.13 in14_min
-r--r--r-- 1 root root 4096  5. čen 14.13 in2_alarm
-rw-r--r-- 1 root root 4096  5. čen 14.13 in2_beep
-r--r--r-- 1 root root 4096  5. čen 14.13 in2_input
-rw-r--r-- 1 root root 4096  5. čen 14.13 in2_max
-rw-r--r-- 1 root root 4096  5. čen 14.13 in2_min
-r--r--r-- 1 root root 4096  5. čen 14.13 in3_alarm
-rw-r--r-- 1 root root 4096  5. čen 14.13 in3_beep
-r--r--r-- 1 root root 4096  5. čen 14.13 in3_input
-rw-r--r-- 1 root root 4096  5. čen 14.13 in3_max
-rw-r--r-- 1 root root 4096  5. čen 14.13 in3_min
-r--r--r-- 1 root root 4096  5. čen 14.13 in4_alarm
-rw-r--r-- 1 root root 4096  5. čen 14.13 in4_beep
-r--r--r-- 1 root root 4096  5. čen 14.13 in4_input
-rw-r--r-- 1 root root 4096  5. čen 14.13 in4_max
-rw-r--r-- 1 root root 4096  5. čen 14.13 in4_min
-r--r--r-- 1 root root 4096  5. čen 14.13 in5_alarm
-rw-r--r-- 1 root root 4096  5. čen 14.13 in5_beep
-r--r--r-- 1 root root 4096  5. čen 14.13 in5_input
-rw-r--r-- 1 root root 4096  5. čen 14.13 in5_max
-rw-r--r-- 1 root root 4096  5. čen 14.13 in5_min
-r--r--r-- 1 root root 4096  5. čen 14.13 in6_alarm
-rw-r--r-- 1 root root 4096  5. čen 14.13 in6_beep
-r--r--r-- 1 root root 4096  5. čen 14.13 in6_input
-rw-r--r-- 1 root root 4096  5. čen 14.13 in6_max
-rw-r--r-- 1 root root 4096  5. čen 14.13 in6_min
-r--r--r-- 1 root root 4096  5. čen 14.13 in7_alarm
-rw-r--r-- 1 root root 4096  5. čen 14.13 in7_beep
-r--r--r-- 1 root root 4096  5. čen 14.13 in7_input
-rw-r--r-- 1 root root 4096  5. čen 14.13 in7_max
-rw-r--r-- 1 root root 4096  5. čen 14.13 in7_min
-r--r--r-- 1 root root 4096  5. čen 14.13 in8_alarm
-rw-r--r-- 1 root root 4096  5. čen 14.13 in8_beep
-r--r--r-- 1 root root 4096  5. čen 14.13 in8_input
-rw-r--r-- 1 root root 4096  5. čen 14.13 in8_max
-rw-r--r-- 1 root root 4096  5. čen 14.13 in8_min
-r--r--r-- 1 root root 4096  5. čen 14.13 in9_alarm
-rw-r--r-- 1 root root 4096  5. čen 14.13 in9_beep
-r--r--r-- 1 root root 4096  5. čen 14.13 in9_input
-rw-r--r-- 1 root root 4096  5. čen 14.13 in9_max
-rw-r--r-- 1 root root 4096  5. čen 14.13 in9_min
-r--r--r-- 1 root root 4096  5. čen 14.13 name
drwxr-xr-x 2 root root    0  5. čen 14.22 power
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm1
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm1_auto_point1_pwm
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm1_auto_point1_temp
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm1_auto_point2_pwm
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm1_auto_point2_temp
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm1_auto_point3_pwm
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm1_auto_point3_temp
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm1_auto_point4_pwm
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm1_auto_point4_temp
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm1_auto_point5_pwm
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm1_auto_point5_temp
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm1_crit_temp_tolerance
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm1_enable
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm1_floor
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm1_mode
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm1_start
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm1_step_down_time
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm1_step_up_time
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm1_stop_time
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm1_target_temp
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm1_temp_sel
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm1_temp_tolerance
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm2
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm2_auto_point1_pwm
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm2_auto_point1_temp
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm2_auto_point2_pwm
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm2_auto_point2_temp
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm2_auto_point3_pwm
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm2_auto_point3_temp
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm2_auto_point4_pwm
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm2_auto_point4_temp
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm2_auto_point5_pwm
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm2_auto_point5_temp
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm2_crit_temp_tolerance
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm2_enable
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm2_floor
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm2_mode
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm2_start
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm2_step_down_time
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm2_step_up_time
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm2_stop_time
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm2_target_temp
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm2_temp_sel
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm2_temp_tolerance
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm2_weight_duty_base
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm2_weight_duty_step
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm2_weight_temp_sel
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm2_weight_temp_step
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm2_weight_temp_step_base
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm2_weight_temp_step_tol
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm3
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm3_auto_point1_pwm
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm3_auto_point1_temp
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm3_auto_point2_pwm
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm3_auto_point2_temp
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm3_auto_point3_pwm
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm3_auto_point3_temp
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm3_auto_point4_pwm
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm3_auto_point4_temp
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm3_auto_point5_pwm
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm3_auto_point5_temp
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm3_crit_temp_tolerance
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm3_enable
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm3_floor
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm3_mode
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm3_start
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm3_step_down_time
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm3_step_up_time
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm3_stop_time
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm3_target_temp
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm3_temp_sel
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm3_temp_tolerance
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm4
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm4_auto_point1_pwm
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm4_auto_point1_temp
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm4_auto_point2_pwm
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm4_auto_point2_temp
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm4_auto_point3_pwm
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm4_auto_point3_temp
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm4_auto_point4_pwm
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm4_auto_point4_temp
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm4_auto_point5_pwm
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm4_auto_point5_temp
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm4_crit_temp_tolerance
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm4_enable
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm4_floor
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm4_mode
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm4_start
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm4_step_down_time
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm4_step_up_time
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm4_stop_time
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm4_target_temp
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm4_temp_sel
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm4_temp_tolerance
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm5
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm5_auto_point1_pwm
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm5_auto_point1_temp
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm5_auto_point2_pwm
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm5_auto_point2_temp
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm5_auto_point3_pwm
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm5_auto_point3_temp
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm5_auto_point4_pwm
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm5_auto_point4_temp
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm5_auto_point5_pwm
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm5_auto_point5_temp
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm5_crit_temp_tolerance
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm5_enable
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm5_floor
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm5_mode
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm5_start
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm5_step_down_time
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm5_step_up_time
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm5_stop_time
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm5_target_temp
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm5_temp_sel
-rw-r--r-- 1 root root 4096  5. čen 14.22 pwm5_temp_tolerance
lrwxrwxrwx 1 root root    0  5. čen 14.22 subsystem -> ../../../../../class/hwmon
-r--r--r-- 1 root root 4096  5. čen 14.13 temp1_input
-r--r--r-- 1 root root 4096  5. čen 14.13 temp1_label
-rw-r--r-- 1 root root 4096  5. čen 14.13 temp1_max
-rw-r--r-- 1 root root 4096  5. čen 14.13 temp1_max_hyst
-rw-r--r-- 1 root root 4096  5. čen 14.13 temp1_offset
-rw-r--r-- 1 root root 4096  5. čen 14.13 temp1_type
-r--r--r-- 1 root root 4096  5. čen 14.13 temp10_input
-r--r--r-- 1 root root 4096  5. čen 14.13 temp10_label
-r--r--r-- 1 root root 4096  5. čen 14.13 temp13_input
-r--r--r-- 1 root root 4096  5. čen 14.13 temp13_label
-r--r--r-- 1 root root 4096  5. čen 14.13 temp14_input
-r--r--r-- 1 root root 4096  5. čen 14.13 temp14_label
-r--r--r-- 1 root root 4096  5. čen 14.13 temp15_input
-r--r--r-- 1 root root 4096  5. čen 14.13 temp15_label
-r--r--r-- 1 root root 4096  5. čen 14.13 temp16_input
-r--r--r-- 1 root root 4096  5. čen 14.13 temp16_label
-r--r--r-- 1 root root 4096  5. čen 14.13 temp17_input
-r--r--r-- 1 root root 4096  5. čen 14.13 temp17_label
-r--r--r-- 1 root root 4096  5. čen 14.13 temp18_input
-r--r--r-- 1 root root 4096  5. čen 14.13 temp18_label
-r--r--r-- 1 root root 4096  5. čen 14.13 temp2_alarm
-rw-r--r-- 1 root root 4096  5. čen 14.13 temp2_beep
-r--r--r-- 1 root root 4096  5. čen 14.13 temp2_input
-r--r--r-- 1 root root 4096  5. čen 14.13 temp2_label
-rw-r--r-- 1 root root 4096  5. čen 14.13 temp2_max
-rw-r--r-- 1 root root 4096  5. čen 14.13 temp2_max_hyst
-rw-r--r-- 1 root root 4096  5. čen 14.13 temp2_offset
-rw-r--r-- 1 root root 4096  5. čen 14.13 temp2_type
-r--r--r-- 1 root root 4096  5. čen 14.13 temp3_input
-r--r--r-- 1 root root 4096  5. čen 14.13 temp3_label
-rw-r--r-- 1 root root 4096  5. čen 14.13 temp3_offset
-rw-r--r-- 1 root root 4096  5. čen 14.13 temp3_type
-r--r--r-- 1 root root 4096  5. čen 14.13 temp4_input
-r--r--r-- 1 root root 4096  5. čen 14.13 temp4_label
-rw-r--r-- 1 root root 4096  5. čen 14.13 temp4_offset
-rw-r--r-- 1 root root 4096  5. čen 14.13 temp4_type
-r--r--r-- 1 root root 4096  5. čen 14.13 temp5_input
-r--r--r-- 1 root root 4096  5. čen 14.13 temp5_label
-rw-r--r-- 1 root root 4096  5. čen 14.13 temp5_offset
-rw-r--r-- 1 root root 4096  5. čen 14.13 temp5_type
-r--r--r-- 1 root root 4096  5. čen 14.13 temp6_input
-r--r--r-- 1 root root 4096  5. čen 14.13 temp6_label
-rw-r--r-- 1 root root 4096  5. čen 14.13 temp6_offset
-rw-r--r-- 1 root root 4096  5. čen 14.13 temp6_type
-r--r--r-- 1 root root 4096  5. čen 14.13 temp7_alarm
-rw-r--r-- 1 root root 4096  5. čen 14.13 temp7_beep
-rw-r--r-- 1 root root 4096  5. čen 14.13 temp7_crit
-r--r--r-- 1 root root 4096  5. čen 14.13 temp7_input
-r--r--r-- 1 root root 4096  5. čen 14.13 temp7_label
-rw-r--r-- 1 root root 4096  5. čen 14.13 temp7_max
-rw-r--r-- 1 root root 4096  5. čen 14.13 temp7_max_hyst
-r--r--r-- 1 root root 4096  5. čen 14.13 temp8_input
-r--r--r-- 1 root root 4096  5. čen 14.13 temp8_label
-r--r--r-- 1 root root 4096  5. čen 14.13 temp9_input
-r--r--r-- 1 root root 4096  5. čen 14.13 temp9_label
-rw-r--r-- 1 root root 4096  5. čen 14.13 uevent
Název: Re:Conky [Vyřešeno]
Přispěvatel: ramael 05 Června 2022, 18:45:23
No, on to umí což potvrdil předchozí výpis. Jen to tam zadáváme špatně. Oprava:
Kód: [Vybrat]
sudo echo '"Samsung SSD 860 EVO 500G B"   190 C  "Samsung SSD 860 EVO 500GB"' >> /etc/hddtemp.db
sudo echo '"Samsung SSD 860 EVO 500G B              �@" 190 C "Samsung SSD 860 EVO"' >> /etc/hddtemp.db
sudo echo '"Samsung SSD 860 EVO 500GB"   190 C  "Samsung SSD 860 EVO 500GB"' >> /etc/hddtemp.db
Důležité je to mít v těch uvozovkách. První řádek je jak bych to viděl já. Druhý jak to vidí nejspíš hddtemp a třetí je jak to vidí smartctl. Bohužel nevím proč ti to píše ty divné znaky na konci modelu disku. Problém je jen v tom názvu disku. Je třeba to do té databáze zadat tak jak to vidí hddtemp. On totiž neumí zástupné znaky. Když nad tím tak přemýšlím, nebylo by od věci tam rovnou zadat oba ty řádky.
A ještě jsi nedodal kompletní výpis:
Kód: [Vybrat]
sudo hddtemp /dev/sd[abc]
Moje žena má v PC také SSD a hddtemp u ní funguje skvěle.
Název: Re:Conky [Vyřešeno]
Přispěvatel: PepanB 05 Června 2022, 19:09:18
sudo hddtemp /dev/sd[abc]:
Kód: [Vybrat]
WARNING: Drive /dev/sda doesn't seem to have a temperature sensor.
WARNING: This doesn't mean it hasn't got one.
WARNING: If you are sure it has one, please contact me (hddtemp@guzu.net).
WARNING: See --help, --debug and --drivebase options.
/dev/sda: Samsung SSD 860 EVO 500G B              �@:  no sensor
/dev/sdb: WDC WD1003FZEX-00K3CA0: 32°C
/dev/sdc: ASMedia USB 3.0 Device:  drive supported, but it doesn't have a temperature sensor.
Omlouvám se za nepochopení toho příkazu. "Myslel" jsem že je potřeba sda sdb a sdc - moje blbost. Jinak jaký znak má být na tom druhém řádku před
zavináčem? Mě se i tady na foru zobrazuje ? v černém kosočtverci... Nakonec ve výpisu terminálu po přidání hddtemp.db také
Název: Re:Conky [Vyřešeno]
Přispěvatel: ramael 05 Června 2022, 19:17:26
Ten znak nevím. Já to mám od Tebe co sem nakopíruješ. Jak vypadá
Kód: [Vybrat]
cat /etc/hddtemp.db
Název: Re:Conky [Vyřešeno]
Přispěvatel: PepanB 05 Června 2022, 19:19:53
ramael: Ještě mě v tvojí odpovědi zarazilo že i smarctl který používám bere data z hddtemp.db. Proto jsem z této db vymazal opět všechno okolo ssd Samsung a po restartu SSD normálně teplotu zobrazuje. Tak podle mě smartctl hddtemp.db nepoužívá.(?)
Název: Re:Conky [Vyřešeno]
Přispěvatel: ramael 05 Června 2022, 19:21:48
Nepoužívá. Buď jsem to špatně napsal, nebo jsi to špatně pochopil. smartctl vidí ten disk trochu jinak pojmenovaný než ho vidí hddtemp.
Název: Re:Conky [Vyřešeno]
Přispěvatel: PepanB 05 Června 2022, 19:23:54
Kód: [Vybrat]
#
# Insert a regular expression for support of the model or the serie of your hard drive.
# If you don't know what to put in the second field, put the number
# that appears most often for your brand :o)
# A value of zero meens that we know that the drive doesn't have
# a temperature sensor (you can set the unit to C or F).
#
############################################################################
# The following list was found at (http://www.almico.com/forumharddisks.php)
# If your drive is in the list send me a mail.
#
# Manufacturer   Model   Size   Notes
# FUJITSU FUJITSU MPF3102AH 10.0GB
# FUJITSU FUJITSU MPG3204AH E 20.0GB
# FUJITSU FUJITSU MPG3307AT 30.0GB
# FUJITSU FUJITSU MPG3409AH 40.0GB
# FUJITSU FUJITSU MPG3409AH EF 40.0GB
# HITACHI HITACHI_DK23CA-10 9.8GB
# HITACHI HITACHI_DK23CA-15 14.7GB
# SAMSUNG SAMSUNG SV3012H 29.4GB
# SEAGATE ST310210A 10.0GB
# SEAGATE ST310211A 9.8GB
# SEAGATE ST310215A 10.0GB
# SEAGATE ST315320A 14.9GB
# SEAGATE ST320410A 19.6GB
# SEAGATE ST320413A 19.6GB
# SEAGATE ST320420A 19.9GB
# SEAGATE ST330610A 29.3GB
# SEAGATE ST330620A 29.3GB
# SEAGATE ST330621A 29.3GB
# SEAGATE ST330630A 29.9GB
# SEAGATE ST340016A 39.1GB
# SEAGATE ST340810ACE 39.1GB
# SEAGATE ST380020ACE 78.2GB
# WESTERN DIGITAL WDC AC210200D 10.0GB
# WESTERN DIGITAL WDC AC29100D 8.9GB
# WESTERN DIGITAL WDC AC420400D 19.9GB
# WESTERN DIGITAL WDC WD102AA 10.0GB
#
#################################################

########################################
############# ExcelStor drives
########################################
# "ExcelStor Technology CT215"    ??? ? "ExcelStor CT215"


########################################
############# Fujitsu drives
########################################
"FUJITSU MHM2100AT"             0    C  "Fujitsu MHM2100AT"


########################################
############# Hitachi drives
########################################
"HITACHI_DK228A-65"             0    C  "Hitachi DK228A-65"


########################################
############# IBM drives
########################################

# DJSA serie is using F0h command to report temperature and also have
# SMART capabilties but it was reported not to work.
# "DJSA-2(30|32|10|20|05)"      0    C  "IBM Travelstar 20GN, 32GH, 30GT series"

"IBM-DARA-212000"               0    C  "IBM Travelstar 12GN"
"IBM-DTTA-35*"                  0    C  "IBM Deskstar 16GP serie"

# according to specifications they do not seems to have sensor
# but I prefer waiting for a report
#"IBM-DTTA-37*"                 0    C  "IBM Deskstar 14GXP serie"

"IBM-DJNA-35.*"                 231  C  "IBM Deskstar 25 GP serie"
"IBM-DJNA-37.*"                 231  C  "IBM Deskstar 22 GXP serie"
"IBM-DHEA-(34330|36480)"        0    C  "IBM Deskstar 5 serie"
"IBM-DHEA-(34331|36481|38451)"  0    C  "IBM Deskstar 8 serie"
"IBM-DPTA-37.*"                 231  C  "IBM Deskstar 34GXP serie"
"IBM-DPTA-35.*"                 231  C  "IBM Deskstar 37GP serie"


########################################
############# Maxtor drives
########################################
#"Maxtor 2B0[012][04568]H1"                             ???  C  "Maxtor Fireball 541DX"
# which one must I trust ?
#"Maxtor 4D040H2"                                       9    C  "Maxtor DiamondMax D540X-4D"
#"Maxtor 4D040H2"                                       0    C  "Maxtor 4D040H2"
#"Maxtor 4D080H4"                                       12   C  "Maxtor DiamondMax D540X-4D"
#"Maxtor 4D060H3"                                       12   C  "Maxtor DiamondMax D540X-4D"
#"Maxtor 4D080H4"                                       9    C  "Maxtor DiamondMax D540X-4D"
"Maxtor 5(1024|1369|2049|2732|3073|4098)U(2|3|4|6|8)"   0    C  "Maxtor DiamondMax Plus 40"
"Maxtor 5T0[24]0H[24]"                                  0    C  "Maxtor DiamondMax Plus 60"
"Maxtor 94098U8"                                        11   C  "Maxtor DiamondMax 40 94098U8"


########################################
############# Quantum drives
########################################
"QUANTUM FIREBALLP AS40.0"              0  C  "Quantum Fireball AS40"
"QUANTUM FIREBALL CX10.2A"              0  C  "Quantum Fireball CX10.2A"
#"QUANTUM FIREBALLlct10 20"             4  C  "Quantum Fireball CT10 20GB"
# I suspect the QUANTUM FIREBALL_TM2110A to have a sensor in field 9...
# "QUANTUM FIREBALL_TM2110A"            9  C  "Quantum Fireball TM2110A"


########################################
############# Samsung drives
########################################
# somenone reported a problem with the SP8004H which reports a temperature
# 10°C below the ambient temperature
"SAMSUNG SW0434A"                                       0    C  "Samsung SW0434A"
"SAMSUNG SV0432A"                                       0    C  "Samsung SV0432A"
"SAMSUNG SV3002H"                                       0    C  "Samsung SpinPoint V30 serie"
#"SAMSUNG SV(0221|0602|0813|1204)H"                     9    C  "Samsung SpinPoint V60 serie"


########################################
############# Seagate drives
########################################
"Seagate Technology 1275MB - ST31276A"  0    C  "Seagate ST31276A"
"ST3412A"                               0    C  "Seagate ST3412A"
"ST38641A"                              0    C  "Seagate ST38641A"
"ST310210A"                             0    C  "Seagate ST310210A"
"ST310220A"                             0    C  "Seagate ST310220A"
# SEAGATE ST313021A 13.0GB
"ST313021A"                             0    C  "Seagate U8 ST313021A"
"ST310240A"                             0    C  "Seagate Medalist 10240 Ultra ATA-3"
"ST320423A"                             0    C  "Seagate U10 20423, Ultra ATA/66"


########################################
############# TOSHIBA Laptops
########################################
"MK4313MAT"                             220  C  "Toshiba MK4313MAT"
"TOSHIBA MK1517GAP"                     0    C  "Toshiba MK1517GAP"
"TOSHIBA MK2018GAS"                     226  F  "Toshiba MK2018GAS"

"TOSHIBA MK3017GAP"                     0    C  "Toshiba MK3017GAP"

#"TOSHIBA MK4019GAX"                    222  C  "Toshiba MK4019GAX"


########################################
############# Western Digital drives
########################################
# WDC AC310100B and WDC AC2850F are reported not working
# no more informations were given
"WDC AC22000L"                                                    0 C "Western Digital Caviar AC22000"
"WDC AC420400D"                                                 231 C "Western Digital Caviar AC420400D"
"WDC AC418000D"                                                 231 C "Western Digital AC418000D"
"WDC WD135BA"                                                   231 C "Western Digital WD135BA"

"WDC WD100EB-00BHF0"                                              0 C "Western Digital 100EB-00BHF0"
"WDC WD200BB-00AUA1"                                              0 C "Western Digital Caviar WD200BB"
#"WDC WD200BB-60DGA0"                                             0 C "Western Digital Caviar WD200BB"
"WDC WD300BB-00CAA0"                                              0 C "Western Digital WD300BB"
"WDC WD400BB-00CAA0"                                              0 C "Western Digital 400BB-00CAA0"
#"WDC WD400BB-00GFA0"                                             0 C ""
"WDC WD400BB-(18CA|00DE)A0"                                       0 C "Western Digital Caviar WD400BB"
"WDC WD400EB-00CPF0"                                              0 C "Western Digital 400EB-00CPF0"
"WDC WD600BB-32BSA0"                                              0 C "Western Digital 600BB-32BSA0"
"WDC WD800BB-00CAA1"                                              0 C "Western Digital WD800BB-00CAA1"
"WDC WD800JB-00CRA1"                                              0 C "Western Digital Caviar WD800JB"

# not sure for next
# "WDC WD1200JB-00CRA1"         9   C "Western Digital 1200JB-00CRA1"
# "WDC WD273BA"                 9   C "Western Digital WD273BA"
Já myslel jaký ty máš znak před tím zavinářem pokud žádný nohu ten ?v kosočtverci smáznout
Název: Re:Conky [Vyřešeno]
Přispěvatel: PepanB 05 Června 2022, 19:24:53
Nepoužívá. Buď jsem to špatně napsal, nebo jsi to špatně pochopil. smartctl vidí ten disk trochu jinak pojmenovaný než ho vidí hddtemp.
JJ závadu hledej na mojí straně :)
Název: Re:Conky [Vyřešeno]
Přispěvatel: ramael 05 Června 2022, 19:28:29
Hele takhle se nikam nedostanem. Tys to tam neupravil:
Kód: [Vybrat]
sudo echo '"Samsung SSD 860 EVO 500G B"   190 C  "Samsung SSD 860 EVO 500GB"' >> /etc/hddtemp.db
sudo echo '"Samsung SSD 860 EVO 500G B              �@" 190 C "Samsung SSD 860 EVO"' >> /etc/hddtemp.db
sudo echo '"Samsung SSD 860 EVO 500GB"   190 C  "Samsung SSD 860 EVO 500GB"' >> /etc/hddtemp.db
Docela zajímavé, že u Tebe to píše: Insert a regular expression for support of the model or the serie of your hard drive.
Což by pak mohlo stačit:
Kód: [Vybrat]
sudo echo '"Samsung SSD 860 *"   190 C  "Samsung SSD 860 EVO 500GB"' >> /etc/hddtemp.db
Název: Re:Conky [Vyřešeno]
Přispěvatel: PepanB 05 Června 2022, 19:44:26
Tak tenhle příkaz i v hddtemp zabral:
sudo hddtemp /dev/sd[abc]:
Kód: [Vybrat]
/dev/sda: Samsung SSD 860 EVO 500G B              �@: 35°C
/dev/sdb: WDC WD1003FZEX-00K3CA0: 33°C
/dev/sdc: ASMedia USB 3.0 Device:  drive supported, but it doesn't have a temperature sensor.
U toho sdc to asi nebere teplotu z toho boxu
ale smartctl -A /dev/sdc teplotu disku v boxu zobrazí
Název: Re:Conky [Vyřešeno]
Přispěvatel: ramael 05 Června 2022, 19:57:32
A co říká toto?
Kód: [Vybrat]
sudo hddtemp --debug /dev/sdc
Název: Re:Conky [Vyřešeno]
Přispěvatel: PepanB 05 Června 2022, 19:59:37
A co říká toto?
Kód: [Vybrat]
sudo hddtemp --debug /dev/sdc

Kód: [Vybrat]
Model: ASMedia USB 3.0 Device


If one of the field value seems to match the temperature, be sure to read
the hddtemp man page before sending a report (section REPORT). Thanks.
Název: Re:Conky [Vyřešeno]
Přispěvatel: ramael 05 Června 2022, 21:25:07
Tak tenhle příkaz i v hddtemp zabral:
sudo hddtemp /dev/sd[abc]:
Kód: [Vybrat]
/dev/sda: Samsung SSD 860 EVO 500G B              �@: 35°C
/dev/sdb: WDC WD1003FZEX-00K3CA0: 33°C
/dev/sdc: ASMedia USB 3.0 Device:  drive supported, but it doesn't have a temperature sensor.
U toho sdc to asi nebere teplotu z toho boxu
ale smartctl -A /dev/sdc teplotu disku v boxu zobrazí
Tady je vidět, že když se chce, tak to jde. Jen cesta bývá trnitá/poučná. A o co mě konkrétně jde? Abys nemusel v conky používat příkaz exec* Odkojil jsem se na https://cs.wikipedia.org/wiki/PMI-80 a člověk musel šetřit každým taktem a bitem (doslovně  ;) ). A tak když má conky v sobě nativně jak hddtemp tak hwmon, je třeba to využít. Tady je zdroj hddtemp v conky https://github.com/brndnmtthws/conky/blob/main/src/hddtemp.cc Zajímavě implementováno. conky umí číst jen údaje z hddtemp daemonu a to jěště jen z IP4 (AF_INET) https://github.com/brndnmtthws/conky/blob/main/src/hddtemp.cc#L101 A podle tady toho https://github.com/brndnmtthws/conky/blob/main/src/linux.cc#L1183 se hwmon v conky nedá očůrat podsunutím něčeho jiného. Je tady pěkně vidět, jak se tu dá ušetřit "dost" prostředků oproti exec smartctl .../cut .../ atd.
Tak, teď je jen třeba najít cestičku jak dostat ten USB disk buď do hwmonu nebo hddtempu. Zkusím se mrknout na jaderné moduly. A ještě poprosím o výpisy s připojeným usb diskem:
Kód: [Vybrat]
cat /sys/class/scsi_disk/*/device/model
cat /sys/class/scsi_disk/*/device/uevent
ls -l /sys/class/scsi_disk/
Název: Re:Conky [Vyřešeno]
Přispěvatel: PepanB 05 Června 2022, 22:38:39
Moc díky za odzrojovaný vysvětlení. Byl bych rád kdyby se podařilo s pomocí hwmon vyřešit i teplotu disku v usb box. Když už hwmon funguje u sda/sdb kdyby šel monitorovat i sdc. Zatím mám na usb smrtctl. Zatím mám "...execi 60 smartctl -A | egrep ..." jinak conky sahalo na usb disk kazdou vterinu. Takhle po minutě to bohatě postačuje.

cat /sys/class/scsi_disk/*/device/model:
Kód: [Vybrat]
Samsung SSD 860
WDC WD1003FZEX-0
USB 3.0 Device

cat /sys/class/scsi_disk/*/device/uevent:
Kód: [Vybrat]
DEVTYPE=scsi_device
DRIVER=sd
MODALIAS=scsi:t-0x00
DEVTYPE=scsi_device
DRIVER=sd
MODALIAS=scsi:t-0x00
DEVTYPE=scsi_device
DRIVER=sd
MODALIAS=scsi:t-0x00

ls -l /sys/class/scsi_disk/:
Kód: [Vybrat]
celkem 0
lrwxrwxrwx 1 root root 0  5. čen 22.15 0:0:0:0 -> ../../devices/pci0000:00/0000:00:17.0/ata1/host0/target0:0:0/0:0:0:0/scsi_disk/0:0:0:0
lrwxrwxrwx 1 root root 0  5. čen 22.15 1:0:0:0 -> ../../devices/pci0000:00/0000:00:17.0/ata2/host1/target1:0:0/1:0:0:0/scsi_disk/1:0:0:0
lrwxrwxrwx 1 root root 0  5. čen 22.20 4:0:0:0 -> ../../devices/pci0000:00/0000:00:14.0/usb2/2-8/2-8:1.0/host4/target4:0:0/4:0:0:0/scsi_disk/4:0:0:0
Název: Re:Conky [Vyřešeno]
Přispěvatel: ramael 07 Června 2022, 00:19:58
Tohle už vypadá na oříšek. Půjčil jsem si od známého usb disk. A naštěstí se chová stejně jako ten Tvůj (hddtemp ho nevidí, smartctl v poho a modul drivetemp o něm také neví. Tak si tu teď s tím asi tak 2-3 hoďky hraju. Zajímavé, že hdparam s ním pracuje normálně, dokonce bez roztočení ploten. Copak ti napíše toto:
Kód: [Vybrat]
sudo hdparm -H /dev/sdc
Oba programy jak smartctl tak hdparm používají pro získání informací volání ioctl. To je taková speciální "utilitka", kterou se dostávaj informace z jádra které normálně neposkytuje (chybí firmware, nebo chybí modul). Snad mne někdo za to zjednodušení neukamenuje. Docela mne překvapilo kolikrát to volání provede smartctl. Vůbec netroškaří:
Kód: [Vybrat]
strace smartctl -A /dev/sdc
strace hdparm -H /dev/sdc
hdparm zavolá (u mne) jen jednou ioctl a hned vyprdne výsledek a to bez roztočení disku! Kdežto smartctl provede těch volání o dost víc a také o dost víc otevře dalších prostředků. Takže toto:
Kód: [Vybrat]
sudo hdparm -H /dev/sda | grep is: | rev | cut -f 1 -d " " | rev
spotřebuje u mne o hodně méně prostředků než
Kód: [Vybrat]
sudo smartctl -A /dev/sda | grep elsius | rev | cut -f 3 -d " " | rev
Takže pokud ti toto sudo hdparm -H /dev/sdc vypíše teplotu. Mohl bys v conky nahradit smartctl kód tímto
Kód: [Vybrat]
hdparm -H /dev/sdc | grep is: | rev | cut -f 1 -d " " | rev
Pokud to učiníš, nezapomeň si přidat hdparm do sudoers a do .bashrc
Jdu dál bádat jak to dostat do hwmonu.
Název: Re:Conky [Vyřešeno]
Přispěvatel: ramael 07 Června 2022, 08:19:10
Ehm, někdy jsou věci jednodušší než se zdají. Člověk se v něčem patlá a pak se koukne znova na man hddtemp a řešení vyskočí samo. Takže ten usb disk jsem jednoduše rozchodil v hddtempu:
Kód: [Vybrat]
hddtemp SATA:/dev/sda
u mne vypíše /dev/sda: Hitachi HTS545050B9A300: 31°C
U Tebe by mohlo zafungovat toto:
Kód: [Vybrat]
hddtemp SATA:/dev/sdc
Název: Re:Conky [Vyřešeno]
Přispěvatel: PepanB 07 Června 2022, 13:18:42
sudo hdparm -H /dev/sdc:
Kód: [Vybrat]
/dev/sdc:
 HDIO_DRIVE_CMD(hitachisensecondition) failed: Input/output error

strace smartctl -A /dev/sdc:
Kód: [Vybrat]
execve("/usr/bin/smartctl", ["smartctl", "-A", "/dev/sdc"], 0x7ffc75395870 /* 63 vars */) = 0
access("/etc/suid-debug", F_OK)         = -1 ENOENT (Adresář nebo soubor neexistuje)
brk(NULL)                               = 0x559e4ca5b000
arch_prctl(0x3001 /* ARCH_??? */, 0x7fff715138e0) = -1 EINVAL (Nepřípustný argument)
fcntl(0, F_GETFD)                       = 0
fcntl(1, F_GETFD)                       = 0
fcntl(2, F_GETFD)                       = 0
access("/etc/suid-debug", F_OK)         = -1 ENOENT (Adresář nebo soubor neexistuje)
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (Adresář nebo soubor neexistuje)
openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
newfstatat(3, "", {st_mode=S_IFREG|0644, st_size=176319, ...}, AT_EMPTY_PATH) = 0
mmap(NULL, 176319, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f10963f4000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/libstdc++.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\0\0\0\0\0\0\0"..., 832) = 832
pread64(3, "\4\0\0\0\24\0\0\0\3\0\0\0GNU\0\263\352\353\313SiHub\345-\330\320\26\311\315"..., 36, 800) = 36
newfstatat(3, "", {st_mode=S_IFREG|0755, st_size=19200288, ...}, AT_EMPTY_PATH) = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f10963f2000
mmap(NULL, 2320384, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f1096000000
mmap(0x7f1096099000, 1138688, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x99000) = 0x7f1096099000
mmap(0x7f10961af000, 487424, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1af000) = 0x7f10961af000
mmap(0x7f1096226000, 57344, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x225000) = 0x7f1096226000
mmap(0x7f1096234000, 10240, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f1096234000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\0\0\0\0\0\0\0"..., 832) = 832
newfstatat(3, "", {st_mode=S_IFREG|0644, st_size=571888, ...}, AT_EMPTY_PATH) = 0
mmap(NULL, 127304, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f10963d2000
mmap(0x7f10963d5000, 94208, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3000) = 0x7f10963d5000
mmap(0x7f10963ec000, 16384, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1a000) = 0x7f10963ec000
mmap(0x7f10963f0000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1d000) = 0x7f10963f0000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0P\224\2\0\0\0\0\0"..., 832) = 832
pread64(3, "\6\0\0\0\4\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0"..., 784, 64) = 784
pread64(3, "\4\0\0\0@\0\0\0\5\0\0\0GNU\0\2\0\0\300\4\0\0\0\3\0\0\0\0\0\0\0"..., 80, 848) = 80
pread64(3, "\4\0\0\0\24\0\0\0\3\0\0\0GNU\0`\337\35\363\37\2\247\262=\250>\216\371#5\230"..., 68, 928) = 68
newfstatat(3, "", {st_mode=S_IFREG|0755, st_size=2100888, ...}, AT_EMPTY_PATH) = 0
pread64(3, "\6\0\0\0\4\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0"..., 784, 64) = 784
mmap(NULL, 2146032, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f1095c00000
mprotect(0x7f1095c28000, 1904640, PROT_NONE) = 0
mmap(0x7f1095c28000, 1540096, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x28000) = 0x7f1095c28000
mmap(0x7f1095da0000, 360448, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1a0000) = 0x7f1095da0000
mmap(0x7f1095df9000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1f8000) = 0x7f1095df9000
mmap(0x7f1095dff000, 52976, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f1095dff000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/libm.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\0\0\0\0\0\0\0"..., 832) = 832
newfstatat(3, "", {st_mode=S_IFREG|0755, st_size=940448, ...}, AT_EMPTY_PATH) = 0
mmap(NULL, 942304, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f10962eb000
mmap(0x7f10962f9000, 495616, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xe000) = 0x7f10962f9000
mmap(0x7f1096372000, 385024, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x87000) = 0x7f1096372000
mmap(0x7f10963d0000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xe4000) = 0x7f10963d0000
close(3)                                = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f10962e9000
arch_prctl(ARCH_SET_FS, 0x7f10962ea240) = 0
set_tid_address(0x7f10962ea510)         = 55962
set_robust_list(0x7f10962ea520, 24)     = 0
rseq(0x7f10962eabe0, 0x20, 0, 0x53053053) = 0
mprotect(0x7f1095df9000, 16384, PROT_READ) = 0
mprotect(0x7f10963d0000, 4096, PROT_READ) = 0
mprotect(0x7f10963f0000, 4096, PROT_READ) = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f10962e7000
mprotect(0x7f1096226000, 53248, PROT_READ) = 0
mprotect(0x559e4be8d000, 61440, PROT_READ) = 0
mprotect(0x7f1096455000, 8192, PROT_READ) = 0
prlimit64(0, RLIMIT_STACK, NULL, {rlim_cur=8192*1024, rlim_max=RLIM64_INFINITY}) = 0
munmap(0x7f10963f4000, 176319)          = 0
getrandom("\xe6\x95\x5e\x01\xd3\xa4\x3f\xad", 8, GRND_NONBLOCK) = 8
brk(NULL)                               = 0x559e4ca5b000
brk(0x559e4ca7c000)                     = 0x559e4ca7c000
uname({sysname="Linux", nodename="dtm", ...}) = 0
newfstatat(1, "", {st_mode=S_IFCHR|0600, st_rdev=makedev(0x88, 0), ...}, AT_EMPTY_PATH) = 0
write(1, "smartctl 7.3 2022-02-28 r5338 [x"..., 74smartctl 7.3 2022-02-28 r5338 [x86_64-linux-5.18.1-arch1-1] (local build)
) = 74
write(1, "Copyright (C) 2002-22, Bruce All"..., 76Copyright (C) 2002-22, Bruce Allen, Christian Franke, www.smartmontools.org
) = 76
write(1, "\n", 1
)                       = 1
access("/etc/smart_drivedb.h", F_OK)    = -1 ENOENT (Adresář nebo soubor neexistuje)
access("/usr/share/smartmontools/drivedb.h", F_OK) = 0
openat(AT_FDCWD, "/usr/share/smartmontools/drivedb.h", O_RDONLY) = 3
newfstatat(3, "", {st_mode=S_IFREG|0644, st_size=234401, ...}, AT_EMPTY_PATH) = 0
read(3, "/*\n * drivedb.h - smartmontools "..., 4096) = 4096
read(3, "raw48,End-to-End_Error \"\n    // "..., 4096) = 4096
read(3, " with APSDM002G15AN-CT/SFDDA01C "..., 4096) = 4096
brk(0x559e4ca9d000)                     = 0x559e4ca9d000
read(3, "Device_User_Capacity \"\n    \"-v 1"..., 4096) = 4096
read(3, "   \"\",\n    \"This drive may hang "..., 4096) = 4096
brk(0x559e4cabf000)                     = 0x559e4cabf000
read(3, "Fail_Count \"\n    \"-v 172,raw48,E"..., 4096) = 4096
read(3, "-v 197,raw48,Current_Pending_Sec"..., 4096) = 4096
read(3, "e, tested with\n      // Corsair "..., 4096) = 4096
read(3, "/ SDSSDX240GG25/R201\n    \"SanDis"..., 4096) = 4096
brk(0x559e4cae0000)                     = 0x559e4cae0000
brk(0x559e4cb01000)                     = 0x559e4cb01000
read(3, "TON OM8P0S364B-A0/SBFK62A3,\n    "..., 4096) = 4096
read(3, "\" // tested with Supermicro SSD-"..., 4096) = 4096
read(3, "\n  //\"-v 233,raw48,Media_Wearout"..., 4096) = 4096
read(3, "wer_On_Hours \"\n  //\"-v 10,raw48,"..., 4096) = 4096
read(3, "ME3/S15A19,\n      // SATADOM-MV "..., 4096) = 4096
read(3, "    \"-v 192,raw48,Unsafe_Shutdow"..., 4096) = 4096
read(3, "imed Workload Media Wear Indicat"..., 4096) = 4096
read(3, "B\"\n  },\n  { \"Intel 53x and Pro 1"..., 4096) = 4096
read(3, "8 can be reset by 'smartctl -t v"..., 4096) = 4096
read(3, "   \"-v 241,raw48,Host_Writes_32M"..., 4096) = 4096
read(3, "w48,Workld_Media_Wear_Indic \" //"..., 4096) = 4096
read(3, "st_Reads_GiB \"\n    \"-v 250,raw48"..., 4096) = 4096
read(3, ",Total_LBAs_Written \"    // FW S"..., 4096) = 4096
read(3, " 500GB/RVT41B6Q,\n      // Samsun"..., 4096) = 4096
read(3, "/\"-v 178,raw48,Used_Rsvd_Blk_Cnt"..., 4096) = 4096
read(3, "SDH3 4T00\n    \"-v 171,raw48,Prog"..., 4096) = 4096
read(3, "-v 174,raw48,Unexpect_PwrLoss_Ct"..., 4096) = 4096
read(3, "2|64)GMSA630|\" // MSA630 mSATA S"..., 4096) = 4096
read(3, "005|P0510E|P0725A|Q(0627|1107)A0"..., 4096) = 4096
read(3, "ietary_MP \"\n    \"-v 112,hex64,Pr"..., 4096) = 4096
read(3, "123468AG][OF]A[56]AA\",\n    \"\", \""..., 4096) = 4096
read(3, "fminutes -v 194,10xCelsius -F sa"..., 4096) = 4096
read(3, " firmware *-25...34, tested with"..., 4096) = 4096
read(3, "603|804)H\",\n    \"\",\n    \"\",\n    "..., 4096) = 4096
read(3, "//\"-v 188,raw48,Command_Timeout "..., 4096) = 4096
read(3, "iamondMax 80\",\n    \"Maxtor (9819"..., 4096) = 4096
read(3, "JN]4230[23]0F9AT00\",\n    \"\",\n   "..., 4096) = 4096
read(3, "SA)00\",\n    \"\", \"\", \"\"\n  },\n  { "..., 4096) = 4096
read(3, "210(25|32|50|75|10)DLE630\",\n    "..., 4096) = 4096
read(3, " \"-v 22,raw48,Helium_Level \"\n   "..., 4096) = 4096
read(3, "  // TOSHIBA MQ01UBB200/34MATMZ5"..., 4096) = 4096
read(3, " HDWL1[12]0\",\n    \"\", \"\", \"\"\n  }"..., 4096) = 4096
read(3, "/215451en\\n\"\n    \"https://superu"..., 4096) = 4096
read(3, "ware\n    \"ST3(160813|320[68]13|5"..., 4096) = 4096
read(3, "[012]-.*\",\n    \"\", \"\",\n    \"-v 1"..., 4096) = 4096
read(3, "T1000NM0055, ST4000NM0045,\n  // "..., 4096) = 4096
read(3, ".2\", // tested with ST31000322CS"..., 4096) = 4096
read(3, "o ZA(240|480|960|1920|3840)NX100"..., 4096) = 4096
read(3, "2,raw48,Host_Reads_GiB \"\n    \"-v"..., 4096) = 4096
read(3, "0)00AAJS)-.*\",\n    \"\", \"\", \"\"\n  "..., 4096) = 4096
read(3, "|AZE)X-.*\",\n    // old series: W"..., 4096) = 4096
read(3, "H01,\n      // WDC WD141KRYZ-01C6"..., 4096) = 4096
read(3, "\"USB: ViPowER USB3.0 Storage; \","..., 4096) = 4096
read(3, "us\n  { \"USB: ; SunPlus\",\n    \"0x"..., 4096) = 4096
read(3, "rted\n  },\n  // Prolific\n  { \"USB"..., 4096) = 4096
read(3, "TA (unsupported)\n  },\n  // Addon"..., 4096) = 4096
read(3, " { \"USB: ; JMicron \", // USB->SA"..., 4096) = 4096
read(3, "   \"\",\n    \"-d sat\"\n  },\n  { \"US"..., 4096) = 4096
read(3, " { \"USB: SimpleTech;\", // USB 3."..., 4096) = 929
read(3, "", 4096)                       = 0
close(3)                                = 0
openat(AT_FDCWD, "/usr/share/zoneinfo/GMT", O_RDONLY|O_CLOEXEC) = 3
newfstatat(3, "", {st_mode=S_IFREG|0644, st_size=114, ...}, AT_EMPTY_PATH) = 0
newfstatat(3, "", {st_mode=S_IFREG|0644, st_size=114, ...}, AT_EMPTY_PATH) = 0
read(3, "TZif2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 4096) = 114
lseek(3, -60, SEEK_CUR)                 = 54
read(3, "TZif2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 4096) = 60
close(3)                                = 0
newfstatat(AT_FDCWD, "/etc/localtime", {st_mode=S_IFREG|0644, st_size=2301, ...}, 0) = 0
openat(AT_FDCWD, "/etc/localtime", O_RDONLY|O_CLOEXEC) = 3
newfstatat(3, "", {st_mode=S_IFREG|0644, st_size=2301, ...}, AT_EMPTY_PATH) = 0
newfstatat(3, "", {st_mode=S_IFREG|0644, st_size=2301, ...}, AT_EMPTY_PATH) = 0
read(3, "TZif2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\10\0\0\0\10\0\0\0\0"..., 4096) = 2301
lseek(3, -1461, SEEK_CUR)               = 840
read(3, "TZif2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\t\0\0\0\t\0\0\0\0"..., 4096) = 1461
close(3)                                = 0
newfstatat(AT_FDCWD, "/dev/sdc", {st_mode=S_IFBLK|0660, st_rdev=makedev(0x8, 0x20), ...}, AT_SYMLINK_NOFOLLOW) = 0
newfstatat(AT_FDCWD, "/sys/devices", {st_mode=S_IFDIR|0755, st_size=0, ...}, 0) = 0
newfstatat(AT_FDCWD, "/sys/block/sdc/device/..", {st_mode=S_IFDIR|0755, st_size=0, ...}, 0) = 0
access("/sys/block/sdc/device/../idVendor", F_OK) = -1 ENOENT (Adresář nebo soubor neexistuje)
newfstatat(AT_FDCWD, "/sys/block/sdc/device/../..", {st_mode=S_IFDIR|0755, st_size=0, ...}, 0) = 0
access("/sys/block/sdc/device/../../idVendor", F_OK) = -1 ENOENT (Adresář nebo soubor neexistuje)
newfstatat(AT_FDCWD, "/sys/block/sdc/device/../../..", {st_mode=S_IFDIR|0755, st_size=0, ...}, 0) = 0
access("/sys/block/sdc/device/../../../idVendor", F_OK) = -1 ENOENT (Adresář nebo soubor neexistuje)
newfstatat(AT_FDCWD, "/sys/block/sdc/device/../../../..", {st_mode=S_IFDIR|0755, st_size=0, ...}, 0) = 0
access("/sys/block/sdc/device/../../../../idVendor", F_OK) = 0
openat(AT_FDCWD, "/sys/block/sdc/device/../../../../idVendor", O_RDONLY) = 3
newfstatat(3, "", {st_mode=S_IFREG|0444, st_size=4096, ...}, AT_EMPTY_PATH) = 0
read(3, "174c\n", 4096)                 = 5
close(3)                                = 0
openat(AT_FDCWD, "/sys/block/sdc/device/../../../../idProduct", O_RDONLY) = 3
newfstatat(3, "", {st_mode=S_IFREG|0444, st_size=4096, ...}, AT_EMPTY_PATH) = 0
read(3, "55aa\n", 4096)                 = 5
close(3)                                = 0
openat(AT_FDCWD, "/sys/block/sdc/device/../../../../bcdDevice", O_RDONLY) = 3
newfstatat(3, "", {st_mode=S_IFREG|0444, st_size=4096, ...}, AT_EMPTY_PATH) = 0
read(3, "0100\n", 4096)                 = 5
close(3)                                = 0
uname({sysname="Linux", nodename="dtm", ...}) = 0
openat(AT_FDCWD, "/dev/sdc", O_RDONLY|O_NONBLOCK) = -1 EACCES (Operace zamítnuta)
write(1, "Smartctl open device: /dev/sdc ["..., 63Smartctl open device: /dev/sdc [SAT] failed: Permission denied
) = 63
exit_group(2)                           = ?
+++ exited with 2 +++

strace hdparm -H /dev/sdc:
Kód: [Vybrat]
execve("/usr/bin/hdparm", ["hdparm", "-H", "/dev/sdc"], 0x7ffe7a8a4d60 /* 63 vars */) = 0
brk(NULL)                               = 0x5648e2469000
arch_prctl(0x3001 /* ARCH_??? */, 0x7ffd27a60130) = -1 EINVAL (Nepřípustný argument)
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (Adresář nebo soubor neexistuje)
openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
newfstatat(3, "", {st_mode=S_IFREG|0644, st_size=176319, ...}, AT_EMPTY_PATH) = 0
mmap(NULL, 176319, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7fc1aaf0c000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0P\224\2\0\0\0\0\0"..., 832) = 832
pread64(3, "\6\0\0\0\4\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0"..., 784, 64) = 784
pread64(3, "\4\0\0\0@\0\0\0\5\0\0\0GNU\0\2\0\0\300\4\0\0\0\3\0\0\0\0\0\0\0"..., 80, 848) = 80
pread64(3, "\4\0\0\0\24\0\0\0\3\0\0\0GNU\0`\337\35\363\37\2\247\262=\250>\216\371#5\230"..., 68, 928) = 68
newfstatat(3, "", {st_mode=S_IFREG|0755, st_size=2100888, ...}, AT_EMPTY_PATH) = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fc1aaf0a000
pread64(3, "\6\0\0\0\4\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0"..., 784, 64) = 784
mmap(NULL, 2146032, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fc1aac00000
mprotect(0x7fc1aac28000, 1904640, PROT_NONE) = 0
mmap(0x7fc1aac28000, 1540096, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x28000) = 0x7fc1aac28000
mmap(0x7fc1aada0000, 360448, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1a0000) = 0x7fc1aada0000
mmap(0x7fc1aadf9000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1f8000) = 0x7fc1aadf9000
mmap(0x7fc1aadff000, 52976, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fc1aadff000
close(3)                                = 0
mmap(NULL, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fc1aaf07000
arch_prctl(ARCH_SET_FS, 0x7fc1aaf07740) = 0
set_tid_address(0x7fc1aaf07a10)         = 56971
set_robust_list(0x7fc1aaf07a20, 24)     = 0
rseq(0x7fc1aaf080e0, 0x20, 0, 0x53053053) = 0
mprotect(0x7fc1aadf9000, 16384, PROT_READ) = 0
mprotect(0x5648e22b0000, 4096, PROT_READ) = 0
mprotect(0x7fc1aaf6d000, 8192, PROT_READ) = 0
prlimit64(0, RLIMIT_STACK, NULL, {rlim_cur=8192*1024, rlim_max=RLIM64_INFINITY}) = 0
munmap(0x7fc1aaf0c000, 176319)          = 0
openat(AT_FDCWD, "/dev/sdc", O_RDONLY|O_NONBLOCK) = -1 EACCES (Operace zamítnuta)
dup(2)                                  = 3
fcntl(3, F_GETFL)                       = 0x2 (flags O_RDWR)
getrandom("\xe5\x90\x24\x80\x87\xc0\xb4\x72", 8, GRND_NONBLOCK) = 8
brk(NULL)                               = 0x5648e2469000
brk(0x5648e248a000)                     = 0x5648e248a000
newfstatat(3, "", {st_mode=S_IFCHR|0600, st_rdev=makedev(0x88, 0), ...}, AT_EMPTY_PATH) = 0
write(3, "/dev/sdc: Permission denied\n", 28/dev/sdc: Permission denied
) = 28
close(3)                                = 0
exit_group(13)                          = ?
+++ exited with 13 +++

sudo hdparm -H /dev/sda | grep is: | rev | cut -f 1 -d " " | rev:
Kód: [Vybrat]
SG_IO: bad/missing sense data, sb[]:  70 00 05 00 00 00 00 0a 04 51 40 00 21 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
-18

sudo smartctl -A /dev/sda | grep elsius | rev | cut -f 3 -d " " | rev:
vrací jenom prompt

sudo hdparm -H /dev/sdc | grep is: | rev | cut -f 1 -d " " | rev:
Kód: [Vybrat]
HDIO_DRIVE_CMD(hitachisensecondition) failed: Input/output error

Název: Re:Conky [Vyřešeno]
Přispěvatel: ramael 07 Června 2022, 13:22:17
A tento výstup?
Kód: [Vybrat]
hddtemp SATA:/dev/sdc
Název: Re:Conky [Vyřešeno]
Přispěvatel: PepanB 07 Června 2022, 13:23:08
Ehm, někdy jsou věci jednodušší než se zdají. Člověk se v něčem patlá a pak se koukne znova na man hddtemp a řešení vyskočí samo. Takže ten usb disk jsem jednoduše rozchodil v hddtempu:
Kód: [Vybrat]
hddtemp SATA:/dev/sda
u mne vypíše /dev/sda: Hitachi HTS545050B9A300: 31°C
U Tebe by mohlo zafungovat toto:
Kód: [Vybrat]
hddtemp SATA:/dev/sdc

To fuguje a teplota se u ssd i usb disku v boxu zobrazuje ;D
hddtemp SATA:/dev/sda:
Kód: [Vybrat]
/dev/sda: Samsung SSD 860 EVO 500G B              �@: 32°C

hddtemp SATA:/dev/sdc
Kód: [Vybrat]
/dev/sdc: WDC WD40EFAX-68JH4N1: 34°C
Název: Re:Conky [Vyřešeno]
Přispěvatel: PepanB 07 Června 2022, 13:24:14
A tento výstup?
Kód: [Vybrat]
hddtemp SATA:/dev/sdc
Kód: [Vybrat]
/dev/sdc: WDC WD40EFAX-68JH4N1: 34°C
Název: Re:Conky [Vyřešeno]
Přispěvatel: ramael 07 Června 2022, 13:32:18
Ok. odpolčo se nějak ozvu. Musím to odzkoušet na ženy PC jak to napáchat za využití vnitřní hddtemp v conky. To musím zkrátka na tvrdo otestovat spouštět daemona s více rozdílnýma diskama. A na laptopu to nejde páč mám nvme disk a to hddtemp nezvládne. Než si tam žena dofejsbůkuje, kouknu jak se vytváří vlastní model k jádru. Protože, žádnou jinou možnost jsem zatím neobjevil.
Název: Re:Conky [Vyřešeno]
Přispěvatel: ramael 07 Června 2022, 21:26:31
Zatím mám jedno řešení, co není moc dokonalé. Respektive funguje, ale jen do té doby než se USB disk připojí za běhu systému. Rozdílné rozhraní vyjma nvme disků skousne spuštění daemonu:
Kód: [Vybrat]
sudo hddtemp -d /dev/sd[ab] -d SATA:/dev/sdc
Funkčnost se může odzkoušet třeba takto
Kód: [Vybrat]
nc -w 1 localhost 7634
V conky pak stačí zadat v sekci conky.text
Kód: [Vybrat]
Teploty sda: ${hddtemp /dev/sda}°C sdb: ${hddtemp /dev/sdb}°C sdc: ${hddtemp /dev/sdc}°C
Na to nemusí být hddtemp ani v sudoers a ani změněná práva. Protože funkce hddtemp v conky je jen maskovaná síťová služba co čte ze soketu a parsuje výstup. Co se mne nelíbí, je ošklivé N/A pokud se disk odpojí. Dá se to vyřešit úpravou předcházejícího řádku na:
Kód: [Vybrat]
Teploty sda: ${hddtemp /dev/sda}°C sdb: ${hddtemp /dev/sdb}°C ${if_existing /dev/sdc} sdc: ${hddtemp /dev/sdc}°C ${endif}
Po odpojení disku se přestane díl sdc zobrazovat. Zatím je toto řešení nejmíň náročné na systém. Co je však na p.. Pokud se disk připojí za běhu systému, začne se místo jeho teploty zobrazovat N/A. Po restartu daemonu, už to začne spráně fungovat. Ale ten restart se dost blbě automatizuje (za vším hledej systemd). Conky neumí vlastní proměnné, aby se načetl uložil a porovnal výstup a popřípadě spustil jeden exec který by daemona zabil a hned spustil nového. Zkusím ještě nějak složit podmínku v conky. A pak si pořádně prostudovat kudy tudy k vlastnímu jadernému modulu. Ať to se to dá nacpat do hwmonu.
Název: Re:Conky [Vyřešeno]
Přispěvatel: PepanB 07 Června 2022, 22:26:29
sudo hddtemp -d /dev/sd[ab] -d SATA:/dev/sdc:
vratí jenom prompt

nc -w 1 localhost 7634:
Kód: [Vybrat]
|/dev/sda|Samsung SSD 860 EVO 500G B              �@|32|C||/dev/sdb|WDC WD1003FZEX-00K3CA0|31|C||/dev/sdc|WDC WD40EFAX-68JH4N1|28|C|[pepan ~]$ nc -w 1nc -w 1 localhost 7634

Teploty sda: ${hddtemp /dev/sda}°C sdb: ${hddtemp /dev/sdb}°C sdc: ${hddtemp /dev/sdc}°C:
Teploty sda: ${hddtemp /dev/sda}°C sdb: ${hddtemp /dev/sdb}°C ${if_existing /dev/sdc} sdc: ${hddtemp /dev/sdc}°C ${endif}:

Zkusil jsem obojí, ale chová se to velice nestabilně. Asi po 90se teploty zobrazily, ale po odpojení disku se zobrazuje pouze: sdc : N/A°C
Po restartu PC teploty i sda/sdb zmizely a všude je jenom  ...N/A°C
reload conky nic nezměnil tak nevím
Navíc když nyní spustím v terminálu:nc -w 1 localhost 7634 zůstane to viset a ani prompt se nevrátí a můžu jedině terminál zavřít >:(
Název: Re:Conky [Vyřešeno]
Přispěvatel: ramael 07 Června 2022, 22:35:47
Tak jsem to tak nějak vyřešil. Jediné co mi na tom vadí je, že je třeba přidat do sudoers příkaz killall. Cítím v tom  bezpečnostní riziko. Třeba se tu najde někdo kdo je obeznámený/rozumí systemd a postne sem řešení jak bez sudo práv restartovat daemona na základě připojení disku. A teď k mému řešení. První podmínku killall už jsem napsal. Druhá podmínka je mít v sudoers i hddtemp. A pak už jen stačí přidat tyto řádky do conky.conf:
Kód: [Vybrat]
Disky sda: ${hddtemp /dev/sda}°C sdb: ${hddtemp /dev/sdb}°C ${if_existing /dev/sdc}\
${if_match "${hddtemp /dev/sdc}"=="N/A"} ${exec sudo killall hddtemp; sudo hddtemp -d /dev/sd[ab] -d SATA:/dev/sdc}\
${else} ${hddtemp /dev/sdc}°C\
${endif}${endif}
To je celý ten "zázrak" přímo na míru pro PepanB. Vysvětlím pro další experimentátory:
Disky sda: ${hddtemp /dev/sda}°C sdb: ${hddtemp /dev/sdb}°C Zobrazí teploty pevných disků zabudovaných v PC. Teploty se načítají ze socketu, takže malá systémová režie. Pak máme podmínku ${if_existing /dev/sdc} která testuje jestli je usb disk připojen k PC. Nemusí být namountován, stačí fyzické připojení. Kam se připojuje zjistíme díky lsblk. U PepanB je to /dev/sdc. Pokud je připojen nastoupí další podmínka ${if_match "${hddtemp /dev/sdc}"=="N/A"} která testuje či obsahuje výstup socketu řetězec N/A. Důležité jsou ty uvozovky i kolem příkazu hddtemp. Pokud je řetězec nalezen, spustí se dva příkazy přez exec: ${exec sudo killall hddtemp; sudo hddtemp -d /dev/sd[ab] -d SATA:/dev/sdc} a to sudo killall hddtemp čímž se zabijou všechny procesy hddtemp. A sudo hddtemp -d /dev/sd[ab] -d SATA:/dev/sdc} spustí daemon hddtemp na normálním rozhraní disků /dev/sda, /dev/sdb a usb disku s natvrdo určeným SATA rozhraním /SATA:/dev/sdc. Pakliže není druhá podmínka splněna (disk je připojen a daemon o něm ví), zobrazí se teplota tohoto disku ${hddtemp /dev/sdc}°C. A jestli neplatí ani první podmínka (disk není připojen), tak se nezobrazí vůbec nic.
Název: Re:Conky [Vyřešeno]
Přispěvatel: PepanB 07 Června 2022, 22:52:06
Opět díky za podrobné vysvětlení.
Zkopíroval jsem uvedené řádky do conkyrc ale tentokrát se teploty sda a sdb se zobrazují stabilně, ale sdc se vůbec nezobrazí je tam prázdné místo bez ohledu jestli je disk připojený nebo připojený namountovaný...
Název: Re:Conky [Vyřešeno]
Přispěvatel: ramael 07 Června 2022, 22:52:54
 :)
sudo hddtemp -d /dev/sd[ab] -d SATA:/dev/sdc:
vratí jenom prompt

nc -w 1 localhost 7634:
Kód: [Vybrat]
|/dev/sda|Samsung SSD 860 EVO 500G B              �@|32|C||/dev/sdb|WDC WD1003FZEX-00K3CA0|31|C||/dev/sdc|WDC WD40EFAX-68JH4N1|28|C|[pepan ~]$ nc -w 1nc -w 1 localhost 7634

Teploty sda: ${hddtemp /dev/sda}°C sdb: ${hddtemp /dev/sdb}°C sdc: ${hddtemp /dev/sdc}°C:
Teploty sda: ${hddtemp /dev/sda}°C sdb: ${hddtemp /dev/sdb}°C ${if_existing /dev/sdc} sdc: ${hddtemp /dev/sdc}°C ${endif}:

Zkusil jsem obojí, ale chová se to velice nestabilně. Asi po 90se teploty zobrazily, ale po odpojení disku se zobrazuje pouze: sdc : N/A°C
Po restartu PC teploty i sda/sdb zmizely a všude je jenom  ...N/A°C
reload conky nic nezměnil tak nevím
Navíc když nyní spustím v terminálu:nc -w 1 localhost 7634 zůstane to viset a ani prompt se nevrátí a můžu jedině terminál zavřít >:(
Samozřejmě že vrátí prompt. Protože se to spustilo jako daemon (služba na pozadí). Další výstup ukazuje, že to funguje.
Citace
Navíc když nyní spustím v terminálu:nc -w 1 localhost 7634 zůstane to viset a ani prompt se nevrátí a můžu jedině terminál zavřít >:(
To je také v pořádku. Ten příkaz čeká na výstup toho daemonu, který není spuštěn.
Což mne teď napadlo, že jsem nenapsal jak ho automaticky spouštět. Přidej si na konec souboru .profile ve Tvém domovském adresáři tento řádek:
Kód: [Vybrat]
exec screen bash -c 'sudo hddtemp -d /dev/sd[ab] -d SATA:/dev/sdc'
Teď jsem ten řádek vystřelil z paměti (PC je opět obsazen). Tak kdyby to nestartovalo, zítra po poledni to okopčím z ženy PC. Můžeš to spustit ručně a terminál zavřít:
Kód: [Vybrat]
sudo hddtemp -d /dev/sd[ab] -d SATA:/dev/sdc
Název: Re:Conky [Vyřešeno]
Přispěvatel: PepanB 07 Června 2022, 23:06:22
Po přidání sudo hddtemp -d /dev/sd[ab] -d SATA:/dev/sdc do .profile startuje a usb teplotu zobrazuje :) Moc díky!
Název: Re:Conky [Vyřešeno]
Přispěvatel: GdH 08 Června 2022, 00:11:10
A co necpat spouštění démona do .profile, což je zvěrstvo, ale otevřít si /etc/default/hddtemp, povolit démona a přidat potřebné parametry sem. I kdyby to hddtemp přímo nepodporoval, je rozumnější udělat si jednoduchou službu pod tím zatracovaným systemd, který umí i spoustu užitečných věcí.
Mimochodem hddtemp má vlastní službu:
Kód: [Vybrat]
sudo systemctl start/stop/restart hddtemp.service
No a udev pravidla by se jistě dala využít k restartování démona po připojení disku, stačí odchytnout událost kernelu při připojení a spustit příkaz pro restart služby.

Jinak musím říct, že se mi ramaeli Tvůj přístup líbí, taky jsem se vždy snažil pochopit a vysvětlit. To, že na některé věci, které máme přímo pod nosem, přijdeme občas později,  je asi normální :)
Název: Re:Conky [Vyřešeno]
Přispěvatel: juwa2 08 Června 2022, 09:18:32
Se zájmem sleduji toto vlákno. Ačkoli vlastním 4 různé externí usb disky (2,5 i 3,5), ve všech případech je uvnitř boxu klasický SATA HDD.
Bohužel žádným z výše popsaných postupů se mi nepodařilo zobrazit jejich teplotu. Vygooglil jsem, že pouze některé určité (je jich poměrně málo)
převodníky SATA >> USB toto podporují... :-[
Nicméně windowsácká utilita CrystalDiskInfo teplotu všech externích usb disků zobrazit umí - takže to určitě "nějak jít musí". 
I když je na druhou stranu pravda, že plnohodnotný  s.m.a.r.t.  takovýchto disků taky nezobrazí....
Tohle zas až tak důležité pro mě momentálně není, jde spíše o princip.
Alespoň, co se interních disků týče, jsem si v conky  nahradil příkaz
Kód: [Vybrat]
Temp:  sda ${exec 30 hddtemp /dev/sda | cut -c 31-32} °C    sdb ${exec 30 hddtemp /dev/sdb | cut -c 31-32} °C
příkazem
Kód: [Vybrat]
Temp:  sda ${hddtemp /dev/sda} °C    sdb ${hddtemp /dev/sdb} °C
Tím pádem, že jsem vynechal exec  (díky @ramael)  jsem ušetřil nějakou desetinku %  syst. prostředků - ale pravdou je, že je to spíše jenom pro ten pověstný dobrý pocit  než pro skutečný užitek... ;)



Název: Re:Conky [Vyřešeno]
Přispěvatel: PepanB 08 Června 2022, 20:26:53
juwa2:
Já jsem to zkoušel s klasickými 3.5 disky. Jsem ujetej na WD mám 640GB/1TB/4TB. Čím starší(menší kapacita) tím víc v boxu topí.
Boxy které vlastním:
https://www.zbozi.cz/vyrobek/icy-box-ib-366stu3-b/
https://www.alza.cz/i-tec-usb-3-0-advance-mysafe-3-5-d4525187.htm?o=9
https://www.alza.cz/axagon-ee35-xa3-aline-d1775025.htm?o=1
Žádný z těchto boxů neodvádí dobře teplotu a ani moc nepomohlo vložení teplovodivé hmoty mezi disk a al obal :(
Název: Re:Conky [Vyřešeno]
Přispěvatel: ramael 08 Června 2022, 23:24:44
@GdH hraju si s tím a třídím myšlenky. /etc/default/hddtemp docela funguje, ale je tam pro mne jedno velké ale.
Právě se prokousávám skrz systemd a přemýšlím nad kompletní vlastní službou. udev není problém, už jsem kdysi pár věcí takto řešil kvůli WAF (Wife Appreciation Factor) :D Tenkrát šlo o automatické stahování a následné zpracování dat z Garmin GPS Trackeru a stahování dat do příslušných složek z určitých USB klíčenek. Mé myšlenky se na základě toho předchozího ubírají přez to ale -> Pokud si uživatel připojí jiný disk který bude v hddtempu mít rozdílný TYPE (třeba místo SATA: to bude PATA: nebo SCSI:), bude to celé v háji. Musím si všechny ty možnosti načrtnout a rozhodnout kudy tudy na to. Blbý je, že TYPE nejde zadat do databáze hddtemp.db. Bude se to muset načítat dynamicky a hlavní slovo bude mít zmiňovaný udev.

@juwa2 Narazil jsem na ne zcela jasnou cestu proč některé ano a jiné ne. Mám za to, že to bylo u tvůrců smartmontools, kteří si v poznámkách ve zdrojovém kódu "postěžovali" na knihovnu libata. A pak ještě na jiném zdroji jsem narazil na problémy komunikace kernelu. Tam se to dalo vyřešit přidáním do jaderného příkazového řádku parametr usb-storage.quirks=VIP:PID: kde se předalo jen Vendor ID a Product ID USB disku. Za druhou dvojtečkou není nic a tím se "quirk" vypnul a kernel začal akceptovat S.M.A.R.T. Více o volbách zde https://www.kernel.org/doc/html/latest/admin-guide/kernel-parameters.html Být na Tvém místě, zkusil bych to.

Dnes jsem takový pomalejší. Cvičili mě s rukou tak se tu kroutim jak žížala a tak mi nejde se na to pořádně soustředit. Nicméně jsem narazil na zajímavost ohledně conky. Třeba to někomu pomůže. Conky umožňuje substituci ve svém konfiguračním souboru pomocí concatenate. Příklad vysvětlí více než tisíc slov. Vidím v tom docela velký potenciál při tvorbě složitějšího konfiguráku.
Kód: [Vybrat]
conky.config = {
    zabudované conky proměnné,
    další conky proměnné,
    update_interval = 3.0
}

muj_sda = "${hddtemp /dev/sda}"
pozdrav = "Ahoj nádherný světe linuxu"

conky.text = [[
    $hr
    SDA disk: ]] ..muj_sda.. [[
]] ..pozdrav.. [[
    $hr
]]
Vytvořili jsme si makro/konstantu/statickou proměnnou názvu muj_sda a do toho vložili řetězec obsahující "funkci". Další proměnná se jmenuje pozdrav. Obě jsme pomocí zřetězení vložili do konfiguráku. Pokud chceme odřádkovat za vložením, je třeba za [[ vložit mezeru.
A ještě jeden tip. update_interval = je v základu nastaven na jednu vteřinu. U ženy PC conky v defaultu dělá 4,6%CPU. Pakliže jsem nastavil tři vteřiny update_interval = 3.0, kleslo to na 0,50% A to je dost velký rozdíl.
Název: Re:Conky [Vyřešeno]
Přispěvatel: GdH 09 Června 2022, 00:44:20
Já jsem si před více jak deseti lety napsal conky, které používám dodnes, jen to jednou za pár let malinko zefektivním a odprasím s novými poznatky, když to šolíchám pro nový HW. Součástí je i bash script, který mi načítá všechny aktuálně připojené filesystémy a generuje kód ve formátu conky, který si conky přes execpi načítá. Umí rozlišit root a home mount pointy a mám to včetně teplot ze síťového portu hddtemp, a i/o grafů. Takže připojím disk/filesystém, o kterém dopředu nemusím nic vědět a v conky se objeví řádek s grafem a infem, odpojím a zmizí. Když mi v panelu začne řádit graf vytížení disků, conky mi ukáže, který z filesystémů to má na svědomí. Aktuální conky má ovšem bug, který neaktualizuje grafy dodané přes execpi a ještě při tom brutálně leakuje paměť. Je fajn, že jsou dnes k dispozici appimage se staršími verzemi, takže jsem rychle našel poslední (1.11.3), ve které je vše, co používám, v pořádku.
Název: Re:Conky [Vyřešeno]
Přispěvatel: ramael 09 Června 2022, 18:18:30
Mám dotaz jak na PepanB tak na juwa2 a vlastně i pár ostatních čtenářů ohledně USB disků. Copak vám vypíše
udevadm info --query all --attribute-walk --path $(udevadm info -q path -n /dev/váš_disk) ?
U PepanB to bude takto:
Kód: [Vybrat]
udevadm info --query all --attribute-walk --path $(udevadm info -q path -n /dev/sdc)
Od ostatních včetně juwa2 bych chtěl ještě poznámku jestli hddtemp ten disk vidí.
Díky
Název: Re:Conky [Vyřešeno]
Přispěvatel: juwa2 09 Června 2022, 18:34:48
Kód: [Vybrat]
juwa@p-5738:~$ hddtemp /dev/sdc
/dev/sdc: TOSHIBA HDWD110:  drive supported, but it doesn't have a temperature sensor.

juwa@p-5738:~$ udevadm info --query all --attribute-walk --path $(udevadm info -q path -n /dev/sdc
>

juwa@p-5738:~$ udevadm info --query all --attribute-walk --path $(udevadm info -q path -n /dev/sdc)

Udevadm info starts with the device specified by the devpath and then
walks up the chain of parent devices. It prints for every device
found, all possible attributes in the udev rules key format.
A rule to match, can be composed by the attributes of the device
and the attributes from one single parent device.

  looking at device '/devices/pci0000:00/0000:00:1d.7/usb2/2-1/2-1:1.0/host0/target0:0:0/0:0:0:0/block/sdc':
    KERNEL=="sdc"
    SUBSYSTEM=="block"
    DRIVER==""
    ATTR{alignment_offset}=="0"
    ATTR{capability}=="50"
    ATTR{discard_alignment}=="0"
    ATTR{events}==""
    ATTR{events_async}==""
    ATTR{events_poll_msecs}=="-1"
    ATTR{ext_range}=="256"
    ATTR{hidden}=="0"
    ATTR{inflight}=="       0        0"
    ATTR{range}=="16"
    ATTR{removable}=="0"
    ATTR{ro}=="0"
    ATTR{size}=="1953525168"
    ATTR{stat}=="   14685        0  3198048    87375       39        4      344       39        0    81440    78244        0        0        0        0"

  looking at parent device '/devices/pci0000:00/0000:00:1d.7/usb2/2-1/2-1:1.0/host0/target0:0:0/0:0:0:0':
    KERNELS=="0:0:0:0"
    SUBSYSTEMS=="scsi"
    DRIVERS=="sd"
    ATTRS{blacklist}==""
    ATTRS{device_blocked}=="0"
    ATTRS{device_busy}=="0"
    ATTRS{dh_state}=="detached"
    ATTRS{eh_timeout}=="10"
    ATTRS{evt_capacity_change_reported}=="0"
    ATTRS{evt_inquiry_change_reported}=="0"
    ATTRS{evt_lun_change_reported}=="0"
    ATTRS{evt_media_change}=="0"
    ATTRS{evt_mode_parameter_change_reported}=="0"
    ATTRS{evt_soft_threshold_reached}=="0"
    ATTRS{inquiry}==""
    ATTRS{iocounterbits}=="32"
    ATTRS{iodone_cnt}=="0x39d4"
    ATTRS{ioerr_cnt}=="0xa"
    ATTRS{iorequest_cnt}=="0x39d4"
    ATTRS{model}=="HDWD110         "
    ATTRS{queue_depth}=="30"
    ATTRS{queue_type}=="simple"
    ATTRS{rev}=="8101"
    ATTRS{scsi_level}=="7"
    ATTRS{state}=="running"
    ATTRS{timeout}=="30"
    ATTRS{type}=="0"
    ATTRS{vendor}=="TOSHIBA "
    ATTRS{vpd_pg80}==""
    ATTRS{vpd_pg83}==""
    ATTRS{wwid}=="t10.TOSHIBA HDWD110         0000AB1235AE\0\0\0\0"

  looking at parent device '/devices/pci0000:00/0000:00:1d.7/usb2/2-1/2-1:1.0/host0/target0:0:0':
    KERNELS=="target0:0:0"
    SUBSYSTEMS=="scsi"
    DRIVERS==""

  looking at parent device '/devices/pci0000:00/0000:00:1d.7/usb2/2-1/2-1:1.0/host0':
    KERNELS=="host0"
    SUBSYSTEMS=="scsi"
    DRIVERS==""

  looking at parent device '/devices/pci0000:00/0000:00:1d.7/usb2/2-1/2-1:1.0':
    KERNELS=="2-1:1.0"
    SUBSYSTEMS=="usb"
    DRIVERS=="uas"
    ATTRS{authorized}=="1"
    ATTRS{bAlternateSetting}==" 1"
    ATTRS{bInterfaceClass}=="08"
    ATTRS{bInterfaceNumber}=="00"
    ATTRS{bInterfaceProtocol}=="62"
    ATTRS{bInterfaceSubClass}=="06"
    ATTRS{bNumEndpoints}=="04"
    ATTRS{supports_autosuspend}=="0"

  looking at parent device '/devices/pci0000:00/0000:00:1d.7/usb2/2-1':
    KERNELS=="2-1"
    SUBSYSTEMS=="usb"
    DRIVERS=="usb"
    ATTRS{authorized}=="1"
    ATTRS{avoid_reset_quirk}=="0"
    ATTRS{bConfigurationValue}=="1"
    ATTRS{bDeviceClass}=="00"
    ATTRS{bDeviceProtocol}=="00"
    ATTRS{bDeviceSubClass}=="00"
    ATTRS{bMaxPacketSize0}=="64"
    ATTRS{bMaxPower}=="500mA"
    ATTRS{bNumConfigurations}=="1"
    ATTRS{bNumInterfaces}==" 1"
    ATTRS{bcdDevice}=="0100"
    ATTRS{bmAttributes}=="80"
    ATTRS{busnum}=="2"
    ATTRS{configuration}==""
    ATTRS{devnum}=="9"
    ATTRS{devpath}=="1"
    ATTRS{idProduct}=="0578"
    ATTRS{idVendor}=="152d"
    ATTRS{ltm_capable}=="no"
    ATTRS{manufacturer}=="JMicron"
    ATTRS{maxchild}=="0"
    ATTRS{product}=="USB3.0 External HDD"
    ATTRS{quirks}=="0x0"
    ATTRS{removable}=="unknown"
    ATTRS{rx_lanes}=="1"
    ATTRS{serial}=="0000AB1235AE"
    ATTRS{speed}=="480"
    ATTRS{tx_lanes}=="1"
    ATTRS{urbnum}=="59203"
    ATTRS{version}==" 2.10"

  looking at parent device '/devices/pci0000:00/0000:00:1d.7/usb2':
    KERNELS=="usb2"
    SUBSYSTEMS=="usb"
    DRIVERS=="usb"
    ATTRS{authorized}=="1"
    ATTRS{authorized_default}=="1"
    ATTRS{avoid_reset_quirk}=="0"
    ATTRS{bConfigurationValue}=="1"
    ATTRS{bDeviceClass}=="09"
    ATTRS{bDeviceProtocol}=="00"
    ATTRS{bDeviceSubClass}=="00"
    ATTRS{bMaxPacketSize0}=="64"
    ATTRS{bMaxPower}=="0mA"
    ATTRS{bNumConfigurations}=="1"
    ATTRS{bNumInterfaces}==" 1"
    ATTRS{bcdDevice}=="0504"
    ATTRS{bmAttributes}=="e0"
    ATTRS{busnum}=="2"
    ATTRS{configuration}==""
    ATTRS{devnum}=="1"
    ATTRS{devpath}=="0"
    ATTRS{idProduct}=="0002"
    ATTRS{idVendor}=="1d6b"
    ATTRS{interface_authorized_default}=="1"
    ATTRS{ltm_capable}=="no"
    ATTRS{manufacturer}=="Linux 5.4.196-0504196-lowlatency ehci_hcd"
    ATTRS{maxchild}=="8"
    ATTRS{product}=="EHCI Host Controller"
    ATTRS{quirks}=="0x0"
    ATTRS{removable}=="unknown"
    ATTRS{rx_lanes}=="1"
    ATTRS{serial}=="0000:00:1d.7"
    ATTRS{speed}=="480"
    ATTRS{tx_lanes}=="1"
    ATTRS{urbnum}=="346"
    ATTRS{version}==" 2.00"

  looking at parent device '/devices/pci0000:00/0000:00:1d.7':
    KERNELS=="0000:00:1d.7"
    SUBSYSTEMS=="pci"
    DRIVERS=="ehci-pci"
    ATTRS{ari_enabled}=="0"
    ATTRS{broken_parity_status}=="0"
    ATTRS{class}=="0x0c0320"
    ATTRS{companion}==""
    ATTRS{consistent_dma_mask_bits}=="32"
    ATTRS{d3cold_allowed}=="1"
    ATTRS{device}=="0x293a"
    ATTRS{dma_mask_bits}=="32"
    ATTRS{driver_override}=="(null)"
    ATTRS{enable}=="1"
    ATTRS{irq}=="23"
    ATTRS{local_cpulist}=="0-1"
    ATTRS{local_cpus}=="3"
    ATTRS{msi_bus}=="1"
    ATTRS{numa_node}=="-1"
    ATTRS{revision}=="0x03"
    ATTRS{subsystem_device}=="0x0205"
    ATTRS{subsystem_vendor}=="0x1025"
    ATTRS{uframe_periodic_max}=="100"
    ATTRS{vendor}=="0x8086"

  looking at parent device '/devices/pci0000:00':
    KERNELS=="pci0000:00"
    SUBSYSTEMS==""
    DRIVERS==""

Název: Re:Conky [Vyřešeno]
Přispěvatel: ramael 09 Června 2022, 19:11:42
juwa2 dík. Myslel jsem si to. Koukni se sem:
Citace
looking at parent device '/devices/pci0000:00/0000:00:1d.7/usb2/2-1/2-1:1.0':
    KERNELS=="2-1:1.0"
    SUBSYSTEMS=="usb"
    DRIVERS=="uas"
    ATTRS{authorized}=="1"
    ATTRS{bAlternateSetting}==" 1"
    ATTRS{bInterfaceClass}=="08"
    ATTRS{bInterfaceNumber}=="00"
    ATTRS{bInterfaceProtocol}=="62"
    ATTRS{bInterfaceSubClass}=="06"
    ATTRS{bNumEndpoints}=="04"
    ATTRS{supports_autosuspend}=="0"
ATTRS{bInterfaceClass}=="08" určuje USB třídu Mass storage.
ATTRS{bInterfaceSubClass}=="06" Je podtřída SCSI a ta má ještě ještě čtyři rozhraní (00, 01, 50 a 62)
Problém proč ti nejde načíst je v driveru této vrstvy:DRIVERS=="uas". Pokud bys tam měl "usb-storage" mělo by to jít. A to se právě řešilo tím kernel cmd.
Název: Re:Conky [Vyřešeno]
Přispěvatel: juwa2 09 Června 2022, 19:31:03
Jo, zrovna mi došla aktualizace kernelu, takže stejně budu muset restartovat. Přitom vyzkouším ten parametr a dám vědět...
Název: Re:Conky [Vyřešeno]
Přispěvatel: ramael 09 Června 2022, 19:32:53
Ještě jedno řešení:
    if your system has the "usb-storage" driver compiled as a loadable kernel module, you can set it by creating a file (e.g. disable_uas.conf) under /etc/modprobe.d/ containing the line (with the proper id numbers substituted)

    options usb-storage quirks=0bc2:231a:u

    to disable UAS for that device (or

    options usb-storage quirks=0bc2:231a:
Název: Re:Conky [Vyřešeno]
Přispěvatel: juwa2 09 Června 2022, 20:39:44
Tak parametr do jádra zadán
Kód: [Vybrat]
juwa@p-5738:~$ udevadm info --query all --attribute-walk --path $(udevadm info -q path -n /dev/sdc)

Udevadm info starts with the device specified by the devpath and then
walks up the chain of parent devices. It prints for every device
found, all possible attributes in the udev rules key format.
A rule to match, can be composed by the attributes of the device
and the attributes from one single parent device.

  looking at device '/devices/pci0000:00/0000:00:1d.7/usb2/2-1/2-1:1.0/host7/target7:0:0/7:0:0:0/block/sdc':
    KERNEL=="sdc"
    SUBSYSTEM=="block"
    DRIVER==""
    ATTR{alignment_offset}=="0"
    ATTR{capability}=="50"
    ATTR{discard_alignment}=="0"
    ATTR{events}==""
    ATTR{events_async}==""
    ATTR{events_poll_msecs}=="-1"
    ATTR{ext_range}=="256"
    ATTR{hidden}=="0"
    ATTR{inflight}=="       0        0"
    ATTR{range}=="16"
    ATTR{removable}=="0"
    ATTR{ro}=="0"
    ATTR{size}=="1953525168"
    ATTR{stat}=="     696        0    74587     9642        4        0       32        4        0      785     9385        0        0        0        0        0        0"

  looking at parent device '/devices/pci0000:00/0000:00:1d.7/usb2/2-1/2-1:1.0/host7/target7:0:0/7:0:0:0':
    KERNELS=="7:0:0:0"
    SUBSYSTEMS=="scsi"
    DRIVERS=="sd"
    ATTRS{blacklist}==""
    ATTRS{device_blocked}=="0"
    ATTRS{device_busy}=="0"
    ATTRS{dh_state}=="detached"
    ATTRS{eh_timeout}=="10"
    ATTRS{evt_capacity_change_reported}=="0"
    ATTRS{evt_inquiry_change_reported}=="0"
    ATTRS{evt_lun_change_reported}=="0"
    ATTRS{evt_media_change}=="0"
    ATTRS{evt_mode_parameter_change_reported}=="0"
    ATTRS{evt_soft_threshold_reached}=="0"
    ATTRS{inquiry}==""
    ATTRS{iocounterbits}=="32"
    ATTRS{iodone_cnt}=="0x2df"
    ATTRS{ioerr_cnt}=="0x1"
    ATTRS{iorequest_cnt}=="0x2df"
    ATTRS{model}=="HDWD110         "
    ATTRS{queue_depth}=="30"
    ATTRS{queue_type}=="simple"
    ATTRS{rev}=="8101"
    ATTRS{scsi_level}=="7"
    ATTRS{state}=="running"
    ATTRS{timeout}=="30"
    ATTRS{type}=="0"
    ATTRS{vendor}=="TOSHIBA "
    ATTRS{vpd_pg0}==""
    ATTRS{vpd_pg80}==""
    ATTRS{vpd_pg83}==""
    ATTRS{wwid}=="naa.3000001212351500"

  looking at parent device '/devices/pci0000:00/0000:00:1d.7/usb2/2-1/2-1:1.0/host7/target7:0:0':
    KERNELS=="target7:0:0"
    SUBSYSTEMS=="scsi"
    DRIVERS==""

  looking at parent device '/devices/pci0000:00/0000:00:1d.7/usb2/2-1/2-1:1.0/host7':
    KERNELS=="host7"
    SUBSYSTEMS=="scsi"
    DRIVERS==""

  looking at parent device '/devices/pci0000:00/0000:00:1d.7/usb2/2-1/2-1:1.0':
    KERNELS=="2-1:1.0"
    SUBSYSTEMS=="usb"
    DRIVERS=="uas"
    ATTRS{authorized}=="1"
    ATTRS{bAlternateSetting}==" 1"
    ATTRS{bInterfaceClass}=="08"
    ATTRS{bInterfaceNumber}=="00"
    ATTRS{bInterfaceProtocol}=="62"
    ATTRS{bInterfaceSubClass}=="06"
    ATTRS{bNumEndpoints}=="04"
    ATTRS{supports_autosuspend}=="0"

  looking at parent device '/devices/pci0000:00/0000:00:1d.7/usb2/2-1':
    KERNELS=="2-1"
    SUBSYSTEMS=="usb"
    DRIVERS=="usb"
    ATTRS{authorized}=="1"
    ATTRS{avoid_reset_quirk}=="0"
    ATTRS{bConfigurationValue}=="1"
    ATTRS{bDeviceClass}=="00"
    ATTRS{bDeviceProtocol}=="00"
    ATTRS{bDeviceSubClass}=="00"
    ATTRS{bMaxPacketSize0}=="64"
    ATTRS{bMaxPower}=="500mA"
    ATTRS{bNumConfigurations}=="1"
    ATTRS{bNumInterfaces}==" 1"
    ATTRS{bcdDevice}=="0100"
    ATTRS{bmAttributes}=="80"
    ATTRS{busnum}=="2"
    ATTRS{configuration}==""
    ATTRS{devnum}=="3"
    ATTRS{devpath}=="1"
    ATTRS{idProduct}=="0578"
    ATTRS{idVendor}=="152d"
    ATTRS{ltm_capable}=="no"
    ATTRS{manufacturer}=="JMicron"
    ATTRS{maxchild}=="0"
    ATTRS{product}=="USB3.0 External HDD"
    ATTRS{quirks}=="0x0"
    ATTRS{removable}=="unknown"
    ATTRS{rx_lanes}=="1"
    ATTRS{serial}=="0000AB1235AE"
    ATTRS{speed}=="480"
    ATTRS{tx_lanes}=="1"
    ATTRS{urbnum}=="2945"
    ATTRS{version}==" 2.10"

  looking at parent device '/devices/pci0000:00/0000:00:1d.7/usb2':
    KERNELS=="usb2"
    SUBSYSTEMS=="usb"
    DRIVERS=="usb"
    ATTRS{authorized}=="1"
    ATTRS{authorized_default}=="1"
    ATTRS{avoid_reset_quirk}=="0"
    ATTRS{bConfigurationValue}=="1"
    ATTRS{bDeviceClass}=="09"
    ATTRS{bDeviceProtocol}=="00"
    ATTRS{bDeviceSubClass}=="00"
    ATTRS{bMaxPacketSize0}=="64"
    ATTRS{bMaxPower}=="0mA"
    ATTRS{bNumConfigurations}=="1"
    ATTRS{bNumInterfaces}==" 1"
    ATTRS{bcdDevice}=="0506"
    ATTRS{bmAttributes}=="e0"
    ATTRS{busnum}=="2"
    ATTRS{configuration}==""
    ATTRS{devnum}=="1"
    ATTRS{devpath}=="0"
    ATTRS{idProduct}=="0002"
    ATTRS{idVendor}=="1d6b"
    ATTRS{interface_authorized_default}=="1"
    ATTRS{ltm_capable}=="no"
    ATTRS{manufacturer}=="Linux 5.6.19-050619-lowlatency ehci_hcd"
    ATTRS{maxchild}=="8"
    ATTRS{product}=="EHCI Host Controller"
    ATTRS{quirks}=="0x0"
    ATTRS{removable}=="unknown"
    ATTRS{rx_lanes}=="1"
    ATTRS{serial}=="0000:00:1d.7"
    ATTRS{speed}=="480"
    ATTRS{tx_lanes}=="1"
    ATTRS{urbnum}=="65"
    ATTRS{version}==" 2.00"

  looking at parent device '/devices/pci0000:00/0000:00:1d.7':
    KERNELS=="0000:00:1d.7"
    SUBSYSTEMS=="pci"
    DRIVERS=="ehci-pci"
    ATTRS{ari_enabled}=="0"
    ATTRS{broken_parity_status}=="0"
    ATTRS{class}=="0x0c0320"
    ATTRS{companion}==""
    ATTRS{consistent_dma_mask_bits}=="32"
    ATTRS{d3cold_allowed}=="1"
    ATTRS{device}=="0x293a"
    ATTRS{dma_mask_bits}=="32"
    ATTRS{driver_override}=="(null)"
    ATTRS{enable}=="1"
    ATTRS{irq}=="23"
    ATTRS{local_cpulist}=="0-1"
    ATTRS{local_cpus}=="3"
    ATTRS{msi_bus}=="1"
    ATTRS{numa_node}=="-1"
    ATTRS{revision}=="0x03"
    ATTRS{subsystem_device}=="0x0205"
    ATTRS{subsystem_vendor}=="0x1025"
    ATTRS{uframe_periodic_max}=="100"
    ATTRS{vendor}=="0x8086"

  looking at parent device '/devices/pci0000:00':
    KERNELS=="pci0000:00"
    SUBSYSTEMS==""
    DRIVERS==""

Ale hddtemp teplotu stejně nezobrazí... :-[
Název: Re:Conky [Vyřešeno]
Přispěvatel: ramael 09 Června 2022, 20:44:23
Sakra, je to tam furt:
Citace
looking at parent device '/devices/pci0000:00/0000:00:1d.7/usb2/2-1/2-1:1.0':
    KERNELS=="2-1:1.0"
    SUBSYSTEMS=="usb"
    DRIVERS=="uas"
:o
Název: Re:Conky [Vyřešeno]
Přispěvatel: ramael 09 Června 2022, 20:56:06
A s tím učkem na konci?
usb_storage.quirks=0bc2:61b7:u
Název: Re:Conky [Vyřešeno]
Přispěvatel: ikx 10 Června 2022, 08:09:25
https://www.hdsentinel.com/hard_disk_sentinel_linux.php
Název: Re:Conky [Vyřešeno]
Přispěvatel: Ventero 10 Června 2022, 09:55:15
Vypadá dobře - Byť to selftest má, tak mi tam chybí kontrola sektorů se zobrazením vč adresy, jako u HDTune Pro.

A Linux verze koukám umí podle všeho prd - jen zobrazit pár hodnot.
No asi se v Linuxu nedočkáme plnohodnotného nástroje pro kontrolu disků - přitom to nemůže být kdovíjaká nálož - ve Win používám vypreparovaný exáč, který má jen něco přes 300kB ...
Název: Re:Conky [Vyřešeno]
Přispěvatel: juwa2 10 Června 2022, 15:07:08
A s tím učkem na konci?
usb_storage.quirks=0bc2:61b7:u

Výsledek stejný.... :-[
Název: Re:Conky [Vyřešeno]
Přispěvatel: juwa2 10 Června 2022, 19:07:02
Vyzkoušel jsem ten hdsentinel konzolovou verzi (https://www.hdsentinel.com/hdslin/hdsentinel-019c-x64.gz) a zdá se použitelný.
A hlavně - zobrazuje parametry všech externích USB disků.  :)
Soubor nakopírujeme třeba do /usr/bin a upravíme mu vlastnictví/práva:
Kód: [Vybrat]
sudo chown root:root /usr/bin/hdsentinel
sudo chmod u+s /usr/bin/hdsentinel

Pak funguje s právy roota (bez sudo), tj. je přímo použitelný v conky.
Konkrétní implementace může být různá, v závislosti na použitých parametrech (hdsentinelu). Já to vyřešil takto:
Kód: [Vybrat]
Temp: sda ${hddtemp /dev/sda}°C sdb ${hddtemp /dev/sdb}°C ${if_existing /dev/sdc} sdc ${execi 60 hdsentinel -solid -dev /dev/sdc | cut -c 10-11}°C ${endif} ${if_existing /dev/sdd} sdd ${execi 60 hdsentinel -solid -dev /dev/sdd | cut -c 10-11}°C ${endif}
Případné další externí disky lze snadno přidat. Pokud nejsou připojené, nic se na jejich pozici nezobrazuje.
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Ještě poznámka k hddtemp (tomu vnitřnímu co je v conky). Po rebootu se přestala zobrazovat teplota disků (N/A).
Conky spuštěné z terminálu hlásilo "could not connect to hddtemp host"  Přitom služba hddtemp.service  běžela, jak bylo zjištěno pomocí příkazu
Kód: [Vybrat]
sudo systemctl status hddtemp.service
Vyřešila to editace souboru /etc/default/hddtemp  Kde byl změněn řádek  RUN_DAEMON="false"  =>  RUN_DAEMON="true"
A byl proveden restart služby
Kód: [Vybrat]
sudo systemctl restart hddtemp.service
Název: Re:Conky [Vyřešeno]
Přispěvatel: ramael 11 Června 2022, 06:33:17
Kouknul a nainstaloval jsem si HDSentinel. Musím říct, že s problémy. https://www.hdsentinel.com/hdslin/hdsentinel-019c-x64.gz po rozbalení a nastavení práv u mne nejde spustit, hází to chybu souboru. Až tento script https://www.hdsentinel.com/hdslin/installers/HDSxterm64Installer.run pomohl. Ač tvůrci píšou podporu disků nvme u mne to zkrátka nefunguje. Externí disk vidí a pracuje s ním v pořádku. Má pěkně zpracovaný výstup pomocí přepínače -solid. Tím ty pěkné věci z mého pohledu končí. Neštimuje se mi uzavřený kód. Což bych v určitých případech (super funkčnost, atd) překousl. Avšak můj oblíbený test tento program zavrhl:
Kód: [Vybrat]
sudo strace HDSentinel -solid -dev /dev/sda 2> hdsen1.txt
sudo time HDSentinel -solid -dev /dev/sda
Pro porovnání smartctl:
Kód: [Vybrat]
sudo strace smartctl -A /dev/sda 2> smart1.txt
sudo time smartctl -A /dev/sda | grep ^194
strace má zvláštnost, že jeho výstup posílá na standardní chybový výstup. Proto jsem musel použít 2>. U smartctl jsem ještě navíc (v jeho neprospěch) použil grep ^194 aby byl výstup také jednořádkový. 194 je SMART ID teploty tohoto disku.
Výsledek vezmu od zadu.
time  HDSentinel ("roztočený" disk):
real   0m0,505s
user   0m0,000s
sys   0m0,009s

time HDSentinel (uspaný disk):
real   0m2,386s
user   0m0,000s
sys   0m0,009s

time smartctl (roztočený disk):
real   0m0,338s
user   0m0,017s
sys   0m0,005s

time smartctl (uspaný disk):
real   0m2,240s
user   0m0,016s
sys   0m0,007s

smartctl ještě na víc s grepem je rychlejší!

velikost výstupu strace (přehled kollik to spotřebuje systémových prostředků):
HDSentinel:
du -b hdsen1.txt
23198   hdsen1.txt

smartctl:
du -b smart1.txt
20350   smart1.txt

smartctl potřebuje o 12% méně.
Za mne je smartctl jasný vítěz a to ještě navíc umí nvme disky.

To juwa2, copak Ti vypíše toto?
Kód: [Vybrat]
sudo smartctl -a /dev/sdc
Název: Re:Conky [Vyřešeno]
Přispěvatel: juwa2 11 Června 2022, 11:41:21
Kód: [Vybrat]
juwa@p-5738:~$ sudo smartctl -a /dev/sdc
[sudo] heslo pro juwa:         
smartctl 6.6 2016-05-31 r4324 [x86_64-linux-5.4.196-0504196-lowlatency] (local build)
Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org

/dev/sdc: Unknown USB bridge [0x152d:0x0578 (0x100)]
Please specify device type with the -d option.

Use smartctl -h to get a usage summary

Takže jsem postupně zkoušel různé parametry/přepínače a konečně příkaz
Kód: [Vybrat]
sudo smartctl -l scttemp -d sat /dev/sdc
Zobrazil správnou teplotu 38 C (která by šla vyfiltrovat)
Kód: [Vybrat]
juwa@p-5738:~$ sudo smartctl -l scttemp -d sat /dev/sdc
smartctl 6.6 2016-05-31 r4324 [x86_64-linux-5.4.196-0504196-lowlatency] (local build)
Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF READ SMART DATA SECTION ===
SCT Status Version:                  3
SCT Version (vendor specific):       256 (0x0100)
SCT Support Level:                   1
Device State:                        SMART Off-line Data Collection executing in background (4)
Current Temperature:                    38 Celsius
Power Cycle Min/Max Temperature:     27/41 Celsius
Lifetime    Min/Max Temperature:     20/43 Celsius
Under/Over Temperature Limit Count:   0/0

SCT Temperature History Version:     2
Temperature Sampling Period:         1 minute
Temperature Logging Interval:        1 minute
Min/Max recommended Temperature:      0/60 Celsius
Min/Max Temperature Limit:           -40/70 Celsius
Temperature History Size (Index):    128 (39)

Index    Estimated Time   Temperature Celsius
  40    2022-06-11 09:47    38  *******************
 ...    ..(126 skipped).    ..  *******************
  39    2022-06-11 11:54    38  *******************

Jinak ten hdsentinel má u mě pouze jednu menší chybku. U externích disků které mají aktivní uspávání (po 10 min. nečinnosti) toto není funkční.
Jelikož si ta aplikace každou minutu na ten disk "sahá" pomocí exec. Ale domnívám se, že u smartctl to bude stejné...

Taky jsem zkoušel kernel 5.6 který má podporu modulu drivetemp. Modul spustit šel, teploty interních disků hwmon zobrazoval, externích nikoli.
Ale stejně ten kernel už není záplatovaný a novější do U18.04.6 nedostanu (nesplnitelné závislosti verze libc6 atd. - to ostatně vidím poprvé...)
Takže stejně pojedu na 5.4 HWE až do konce EOL
Název: Re:Conky [Vyřešeno]
Přispěvatel: ramael 11 Června 2022, 12:41:04
To vypadá velmi nadějně. Dík za vyčerpávající odpověď. Já se dopracoval jak ten disk neprobouzet:
sudo smartctl  -d sat -n standby /dev/sda
Pokud se disk "nepoužívá", vrátí to hodnotu Device is in STANDBY mode, exit(2). Což je fajn. Nemusí se hlídat teplota disku který ač připojen se nepoužívá (nehřeje se).
Hodně použitelný je přepínač -j (json). Unifikuje výstup do formátu json aniž by musel člověk hledat které to ID je správné. Jinak hddtemp ty disky také udržuje roztočené. Já se dnes ráno na tom zasekl při psaní skriptu, jak vyřešit to "točení". Pokud se jednou disk roztočí, tak už nemá cenu každou chvíli testovat jestli spí nebo ne. Páč kdy nespí, tak se načte hodnota, která ho točí dál a nemůže usnout ...  :)
Ještě bych poprosil o výstup:
Kód: [Vybrat]
sudo smartctl -d sat -a /dev/sdc
Při hraní abych nemusel čekat než zase disk usne mu to zadávám růčo:
Kód: [Vybrat]
sudo hdparm -y /dev/sda
a pak spí jak miminko  ;D
Název: Re:Conky [Vyřešeno]
Přispěvatel: juwa2 11 Června 2022, 13:24:25
Kód: [Vybrat]
juwa@p-5738:~$ sudo smartctl -d sat -a /dev/sdc
[sudo] heslo pro juwa:         
smartctl 6.6 2016-05-31 r4324 [x86_64-linux-5.4.196-0504196-lowlatency] (local build)
Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Device Model:     TOSHIBA HDWD110
Serial Number:    80HM91VFS
LU WWN Device Id: 5 000039 fdff30b92
Firmware Version: MS2OA8R0
User Capacity:    1 000 204 886 016 bytes [1,00 TB]
Sector Sizes:     512 bytes logical, 4096 bytes physical
Rotation Rate:    7200 rpm
Form Factor:      3.5 inches
Device is:        Not in smartctl database [for details use: -P showall]
ATA Version is:   ATA8-ACS T13/1699-D revision 4
SATA Version is:  SATA 3.0, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is:    Sat Jun 11 13:23:27 2022 CEST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

=== START OF READ SMART DATA SECTION ===
SMART Status not supported: Incomplete response, ATA output registers missing
SMART overall-health self-assessment test result: PASSED
Warning: This result is based on an Attribute check.

General SMART Values:
Offline data collection status:  (0x84) Offline data collection activity
was suspended by an interrupting command from host.
Auto Offline Data Collection: Enabled.
Self-test execution status:      (   0) The previous self-test routine completed
without error or no self-test has ever
been run.
Total time to complete Offline
data collection: ( 7070) seconds.
Offline data collection
capabilities: (0x5b) SMART execute Offline immediate.
Auto Offline data collection on/off support.
Suspend Offline collection upon new
command.
Offline surface scan supported.
Self-test supported.
No Conveyance Self-test supported.
Selective Self-test supported.
SMART capabilities:            (0x0003) Saves SMART data before entering
power-saving mode.
Supports SMART auto save timer.
Error logging capability:        (0x01) Error logging supported.
General Purpose Logging supported.
Short self-test routine
recommended polling time: (   1) minutes.
Extended self-test routine
recommended polling time: ( 118) minutes.
SCT capabilities:        (0x003d) SCT Status supported.
SCT Error Recovery Control supported.
SCT Feature Control supported.
SCT Data Table supported.

SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x000b   100   100   016    Pre-fail  Always       -       0
  2 Throughput_Performance  0x0005   141   141   054    Pre-fail  Offline      -       72
  3 Spin_Up_Time            0x0007   113   113   024    Pre-fail  Always       -       202 (Average 202)
  4 Start_Stop_Count        0x0012   100   100   000    Old_age   Always       -       543
  5 Reallocated_Sector_Ct   0x0033   100   100   005    Pre-fail  Always       -       0
  7 Seek_Error_Rate         0x000b   100   100   067    Pre-fail  Always       -       0
  8 Seek_Time_Performance   0x0005   110   110   020    Pre-fail  Offline      -       36
  9 Power_On_Hours          0x0012   099   099   000    Old_age   Always       -       8542
 10 Spin_Retry_Count        0x0013   100   100   060    Pre-fail  Always       -       0
 12 Power_Cycle_Count       0x0032   100   100   000    Old_age   Always       -       70
192 Power-Off_Retract_Count 0x0032   100   100   000    Old_age   Always       -       545
193 Load_Cycle_Count        0x0012   100   100   000    Old_age   Always       -       545
194 Temperature_Celsius     0x0002   157   157   000    Old_age   Always       -       38 (Min/Max 20/43)
196 Reallocated_Event_Count 0x0032   100   100   000    Old_age   Always       -       0
197 Current_Pending_Sector  0x0022   100   100   000    Old_age   Always       -       0
198 Offline_Uncorrectable   0x0008   100   100   000    Old_age   Offline      -       0
199 UDMA_CRC_Error_Count    0x000a   200   200   000    Old_age   Always       -       6

SMART Error Log Version: 1
ATA Error Count: 6 (device log contains only the most recent five errors)
CR = Command Register [HEX]
FR = Features Register [HEX]
SC = Sector Count Register [HEX]
SN = Sector Number Register [HEX]
CL = Cylinder Low Register [HEX]
CH = Cylinder High Register [HEX]
DH = Device/Head Register [HEX]
DC = Device Command Register [HEX]
ER = Error register [HEX]
ST = Status register [HEX]
Powered_Up_Time is measured from power on, and printed as
DDd+hh:mm:SS.sss where DD=days, hh=hours, mm=minutes,
SS=sec, and sss=millisec. It "wraps" after 49.710 days.

Error 6 occurred at disk power-on lifetime: 41 hours (1 days + 17 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  84 51 01 f7 82 6f 0b  Error: ICRC, ABRT 1 sectors at LBA = 0x0b6f82f7 = 191857399

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  35 00 08 f0 82 6f e0 00      01:13:59.295  WRITE DMA EXT
  35 00 08 90 82 6f e0 00      01:13:59.287  WRITE DMA EXT
  35 00 08 e8 81 6f e0 00      01:13:59.280  WRITE DMA EXT
  35 00 10 98 81 6f e0 00      01:13:59.266  WRITE DMA EXT
  35 00 08 88 81 6f e0 00      01:13:59.258  WRITE DMA EXT

Error 5 occurred at disk power-on lifetime: 41 hours (1 days + 17 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  84 51 21 87 28 86 03  Error: ICRC, ABRT 33 sectors at LBA = 0x03862887 = 59123847

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  35 00 80 28 28 86 e0 00      01:13:23.704  WRITE DMA EXT
  35 00 80 a8 27 86 e0 00      01:13:23.615  WRITE DMA EXT
  35 00 80 28 27 86 e0 00      01:13:23.524  WRITE DMA EXT
  35 00 80 a8 26 86 e0 00      01:13:23.431  WRITE DMA EXT
  35 00 80 28 26 86 e0 00      01:13:23.339  WRITE DMA EXT

Error 4 occurred at disk power-on lifetime: 41 hours (1 days + 17 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  84 51 21 87 f9 85 03  Error: ICRC, ABRT 33 sectors at LBA = 0x0385f987 = 59111815

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  35 00 80 28 f9 85 e0 00      01:13:14.914  WRITE DMA EXT
  35 00 80 a8 f8 85 e0 00      01:13:14.826  WRITE DMA EXT
  35 00 80 28 f8 85 e0 00      01:13:14.733  WRITE DMA EXT
  35 00 80 a8 f7 85 e0 00      01:13:14.651  WRITE DMA EXT
  35 00 80 28 f7 85 e0 00      01:13:14.558  WRITE DMA EXT

Error 3 occurred at disk power-on lifetime: 41 hours (1 days + 17 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  84 51 01 a7 ea 85 03  Error: ICRC, ABRT 1 sectors at LBA = 0x0385eaa7 = 59108007

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  35 00 80 28 ea 85 e0 00      01:13:11.948  WRITE DMA EXT
  35 00 80 a8 e9 85 e0 00      01:13:11.866  WRITE DMA EXT
  35 00 80 28 e9 85 e0 00      01:13:11.785  WRITE DMA EXT
  35 00 80 a8 e8 85 e0 00      01:13:11.703  WRITE DMA EXT
  35 00 80 28 e8 85 e0 00      01:13:11.615  WRITE DMA EXT

Error 2 occurred at disk power-on lifetime: 41 hours (1 days + 17 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  84 51 21 07 94 85 03  Error: ICRC, ABRT 33 sectors at LBA = 0x03859407 = 59085831

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  35 00 80 a8 93 85 e0 00      01:12:55.978  WRITE DMA EXT
  35 00 80 28 93 85 e0 00      01:12:55.884  WRITE DMA EXT
  35 00 80 a8 92 85 e0 00      01:12:55.794  WRITE DMA EXT
  35 00 80 28 92 85 e0 00      01:12:55.711  WRITE DMA EXT
  35 00 80 a8 91 85 e0 00      01:12:55.628  WRITE DMA EXT

SMART Self-test log structure revision number 1
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Short offline       Completed without error       00%         0         -

SMART Selective self-test log data structure revision number 1
 SPAN  MIN_LBA  MAX_LBA  CURRENT_TEST_STATUS
    1        0        0  Not_testing
    2        0        0  Not_testing
    3        0        0  Not_testing
    4        0        0  Not_testing
    5        0        0  Not_testing
Selective self-test flags (0x0):
  After scanning selected spans, do NOT read-scan remainder of disk.
If Selective self-test is pending on power-up, resume after 0 minute delay.

A ještě k tomu probouzení. Pokud má disk (vnitřně, to je dané) nastaven interval uspání na 10 min. nečinnosti, pak musí logicky být interval kontroly větší, tj. alespoň 11 min. Protože pokud se bude každou minutu kontrolovat teplota, disk nikdy do spánku (sám) nepřejde....
Navíc musím používat pro ext. disky  hddtemp -d sat /dev/sdx   přičemž parametr -n funguje jenom při -d ata. Je to ostatně uvedeno v helpu... Takže si můžu vybrat - buď zobrazení teplot nebo uspávání. Příkaz do conky pak vypadá takto:
Kód: [Vybrat]
${if_existing /dev/sdc}sdc ${execi 60 smartctl -l scttemp -d sat /dev/sdc | grep "Current Temperature" | cut -c 41-42}°C ${endif}
Název: Re:Conky [Vyřešeno]
Přispěvatel: ramael 13 Června 2022, 23:22:53
Uff, tak mám něco hotovo. Vše co šlo se přitom po... Kaput neovim po nějaké aktualizaci a nevím přesně které. No a psát něco v nano je víc než masochismus. Takže po různých testech mě neovim naběhl plně funkční až když jsem si dal do ppa unstable verzi a nainstaloval tu nejvyšší. Před tím downgrading samotného a závislostí také nepomohl. A tak jsem konečně mohl zase psát...
Přiložím pár skriptů. A i když to u mne funguje na 100% U ženy PC nemám šanci to rozběhnout z důvodu staré verze smartmontools --> 6.6 která ještě nemá přepínač --json. Je z roku 2016 a vyšší do toho starého systému nejde dát.

Takže v conky se teploty načítají tímto řádkem:
Kód: [Vybrat]
${head /tmp/conky_honky_tonky 1}

Aby to fungovalo je třeba vytvořit soubor /usr/local/sbin/conkys.sh a uložit do něho toto:
Kód: [Vybrat]
#! /usr/bin/env bash

# script přijímá jen jeden parametr a to adresu disku za /dev/
# ta se uloží do proměnné $DEVICE
# ********
# TODO:
# přidat ještě přepínač na automatické přidání disku do databáze
# a určitě to poladit

hlaska () {
  cat <<HLASKA
  Musí být spuštěno s root právy!
  Skript přijímá jen jeden parametr a to adresu za /dev/
  Např.:
  sudo $0 sda
  Pak vyplivne údaje pro pozdější zpracování skriptu pro conky.
  Type disku, ID teploty, u nvme disků správnou adresu hwmon.
  A identifikátor pro udev.
HLASKA
}

DEVICE=$1

case $DEVICE in
  -h) hlaska
  exit 0
  ;;
  --help) hlaska
  exit 0
  ;;
esac

# připravý se řetězec s příkazem na detekci disku
# string se zřetězí s obsahem proměnné $device
typetest='smartctl --json=g -d test /dev/'$DEVICE

# test návratové hodnoty
if ! $typetest 1> /dev/null ; then
  # chyba bad device
  # přesměrování chybové hlášky na standardní chybový výstup
  hlaska > /dev/stderr
  # v tomto případě musí být návratová hodnota nenulová
  exit 1
fi

# vyseparování typu disku
# najde se první řádek obsahující slovo type
# a cutem se vyseká řetězec označující typ disku
# TYPE=`$typetest | tail -n 1 | grep -m 1 "type" | cut -d "'" -f 2`
TYPE=`$typetest | grep 'json.device.type' | cut -d '"' -f 2`

# test na type nvme
if [[ $TYPE == nvme ]]; then
  # vyhledá se adresa hwmonu
  HWMON_ADRESA=`ls "/sys/class/nvme/"${DEVICE::5}"/device/hwmon"`
  # vyhledávaný řetězec pro UDEV
  # UDEV="ATTR{serial}"
  # řetězec o adrese hwmon
  HWMON_ADRESA='hwmon "adresa": '$HWMON_ADRESA
fi

# negovaný test návratové hodnoty příkazu zjištění ID
# využijem vlastnosti kdy je návratová hodnota testovaná zvlášť
# od výstupu příkazu. Ten ať je jakýkoliv se zapíše (jen první
# slovo!!!) do proměnné $IDECKO. Buď je to správný údaj nebo něco náhodného.
# Proběhne test návratové hodnoty. Když je nenulová přepíše se
# údaj v proměnné $IDECKO. Když je vše v pořádku (ticho na stderr)
# zůstane správný údaj v $IDECKO. Test proběhne pomocí regulárního výrazu na
# hodnotu 190 nebo 194 na začátku řádku
#if ! IDECKO=(`smartctl -A -d $TYPE /dev/$DEVICE | grep -E '^19?[04]'`); then
  # Ajajaj máme nějaký exotický kousek
  # IDECKO="neznámé"
#fi

# Předcházející řešení se mi moc nelíbí, protože nechápu proč se zapíše jen
# první slovo výsledku grepu do proměnné. Může to být náhodné
# chování/neznalost a tomu je lepší předejít vytvořením jiné konstrukce.

# Uloží se příkazy do proměnné $OO Je to takový hloupý hook, ale jinak to nejde.
OO=`smartctl -A -d $TYPE /dev/$DEVICE | grep -E '^19?[04]' | cut -d " " -f 1`

# A tady proběhne test výsledku. Pokud je nulový do proměnné $IDECKO se uloží
# řetězec "neznámé". Pokud je nenulový, jeho výsledek se uloží do $IDECKO
# Taková obdoba ternálního operátoru
IDECKO=${OO:="neznámé"}

# poupravení kvůli přehlednosti výstupu
IDECKO='ID teploty: '$IDECKO

# Do proměnné $HWMON se vloží hodnota HWMON_ADRESA pokud je nastavená, jinak $IDECKO
HWMON=${HWMON_ADRESA:=$IDECKO}

# pokud není UDEV řetězec nastaven, nastavíme ho
# UDEV=${UDEV:="ATTRS{model}"}
UDEV="ATTRS{model}"

cat <<END_VYPIS
**************************************************************************************
disk: /dev/$DEVICE
Typ smartctl: $TYPE
$HWMON
**************************************************************************************
Řádek do konfiguračního souboru:
$TYPE |  `udevadm info --query all --attribute-walk --path $(udevadm info -q path -n /dev/$DEVICE) | grep -m 1 $UDEV | tr -d ' ' | tr -d '\t'` | $OO

END_VYPIS

# `smartctl -A --json=g -d $TYPE /dev/$DEVICE`
# pošlem disk spinkat
hdparm -y /dev/$DEVICE

Dále vytvořit /usr/local/sbin/conktemp.sh s tímto obsahem:
Kód: [Vybrat]
#! /usr/bin/env bash


# *******************************************************
# *******************************************************
# Následující proměnné je možné (beztrestně) měnit

# adresa souboru s databází disků
CONF_DISC_FILE='/etc/conky/my_conf.conf'

# interval čtení v sekundách
UPDATE_INTERVAL=5

# symbol pokud je disk ve standby módu
STANDBY_ON="×"

# symbol znázorňující aktivní disk
STANDBY_OFF="↑"

# Zde končí beztrestnost
# *******************************************************
# *******************************************************


# ######################################################
# POZNÁMKY
# pro sda:
# smartctl -l scttempsts --json=g -d sat /dev/sd*
# pro nvme:
# smartctl -A --json=g -d nvme /dev/nvme0*
# ######################################################


# Zde jsou lvi:

# **************************
projdi_db () {

  # pomocná proměnná na detekci neznámého disku
  UNBEKANNT=

  # načtení konfiguračního souboru řádek po řádku
  # každý řádek bude rozdělen na tři pole:
  # TYPE | ATTR | TEMP_ID
  # rozdělení se provede podle přiřazeného delimiteru IFS
  while IFS=\| read -r TYPE ATTR TEMP_ID; do
   
    # vymazání všech mezer a tabů v proměnné pomocí expanze
    # ať se dá pracovat s čistou hodnotou
    TYPE=${TYPE//" "/""}; TYPE=${TYPE//$'\t'/""}
   
    # vymazání všech mezer a tabů v proměnné pomocí expanze
    # ať se dá pracovat s čistou hodnotou
    ATTR=${ATTR//" "/""}; ATTR=${ATTR//$'\t'/""}
   
    # vymazání všech mezer a tabů v proměnné pomocí expanze
    # ať se dá pracovat s čistou hodnotou
    TEMP_ID=${TEMP_ID//" "/""}; TEMP_ID=${TEMP_ID//$'\t'/""}
   
    # test na komentář, první pole(řádek) začíná znakem #
    # pokud ano, přeskoč to
    [[ $TYPE = \#* ]] && continue
   
    # úplně prázdný (beze znaků) řádek taky přeskoč
    [[ -z $TYPE ]] && continue
   
    # vyloučím nvme disky (asi zatím)
    # [[ $TYPE = \nvme ]] && continue
   
    # řádek je platný, pole byla přiřazena do
    # jednotlivých proměnných a je možno s nima pracovat dále
    if [[ "$UDEV_ATTR" = "$ATTR" ]]; then
      # odskok na zpracovávající funkci
      # rozkouskování kódu kvůli lepší editaci a modulárnosti
      elem_vypis

      # Zde se vypisuje teplota a stav disku
      VYSTUP="$VYSTUP$ADR_DEV: $TEPLOTA | "

      # vymazání proměnných
      STANDBY=
      TEPLOTA=

      # disk je rozpoznán
      UNBEKANNT="nein"
    fi

  # načti konfigurační soubor
  done < "$CONF_DISC_FILE"

  # celá databáze se porovnala s aktuálně načteným diskem
  # pokud nebyl disk zadán v databázi přidej na výstup upozornění
  [[ ! "$UNBEKANNT" ]] && VYSTUP="$VYSTUP $ADR_DEV: neznámý disk"
}


# **************************
# řídící funkce podle typu disku
elem_vypis () {
  case "$TYPE" in
    nvme) nvme_vypis;;
    sat) sata_vypis;;
    *) TEPLOTA="neznámý type";;
  esac
}

# **************************
# funkce zpracovávající výstup ze SATA rozhraní
sata_vypis () {
      # načítání údaje o teplotě a standby disku ze SMARTu bez probouzení disku
      TEPLOTA=`smartctl -l scttempsts --json=g -d $TYPE $RU | grep 'json.temperature.current' | cut -d '=' -f 2`
      STANDBY=`smartctl -l scttempsts --json=g -d $TYPE $RU | grep 'status.device_state.string' | awk '{print $3}'`
      # úprava hodnoty
      TEPLOTA=${TEPLOTA//';'/'°C '}
      TEPLOTA=${TEPLOTA//' '/''}

      # přiřazení znaku standby
      if [[ "$STANDBY" = '"Stand-by";' ]]; then
        STANDBY="$STANDBY_ON"
        else
        STANDBY="$STANDBY_OFF"
      fi

      # "výstup" z funkce
      TEPLOTA="$TEPLOTA$STANDBY"
}

# **************************
# funkce zpracovávající nvme teplotu čtením ze systémového souboru
nvme_vypis () {

  # podle standardu musí být aktuální teplota v souboru `temp1_input`
  # vyseparuje se dle adresy zařízení
  # další standard uvádí řazení a značení disků nvme
  # první disk je nvme0 další nvme1 atd.
  # pak následuje písmeno "n" a za ním jednotlivé partition
  # Ještě musím prostudovat celou logiku nvme disků, ale první partition se
  # prolíná/je částečně totožná s kořenem. Tzn. nvme0n1 je skoro totožné s nvme0
  TEPLOTA=`cat /sys/class/nvme/"${ADR_DEV::5}"/device/hwmon/*/temp1_input`

  # teplota má být vždy v tisícinách stupňů celsia
  # tak se oříznou poslední tři znaky a máme to ;D
  TEPLOTA="${TEPLOTA%%???}°C"
}


# *****************************************************************
# Hlavní loop
# *****************************************************************

while true; do

  # načtení připojených disků
  # DEVICES=`lsblk -dnp -o NAME`
  DEVICES=`lsblk -po NAME,TYPE | grep disk | awk {'print $1'}`
  VYSTUP=

  # procházení jednotlivými disky
  for RU in $DEVICES; do
   
    # není to zrovna moc košer, ale na lepší způsob
    # určení disku jsem nepřišel
    ADR_DEV=`echo "$RU" | awk -F '/' '{print $3}'`
   
    # načtení modelu aktuálního disku
    UDEV_ATTR=`udevadm info --query all --attribute-walk --path $(udevadm info -q path -n $RU) | grep -m 1 'ATTRS{model}'`
   
    # pomocí expanze se vykuchají mezery a tabulátory
    UDEV_ATTR=${UDEV_ATTR//' '/''}
    UDEV_ATTR=${UDEV_ATTR//$'\t'/''}
   
    # zavolá se funkce porovnávající aktuální údaj s databází
    # není třeba předávat parametry protože v rámci jednoho
    # shelu/skriptu jsou proměnné globální
    projdi_db
  done;

  # zde se vypisuje kompletní výstup
  echo "$VYSTUP" > /tmp/conky_honky_tonky
  sleep "$UPDATE_INTERVAL"
done

Oběma souborům je třeba nastavit práva:
Kód: [Vybrat]
cd /usr/local/sbin/
sudo chown root:root conkys.sh
sudo chown root:root conktemp.sh
sudo chmod +x *

A pak vytvořit soubor v /etc/conky/my_conf.conf s tímto:
Kód: [Vybrat]
# Privátní databáze disků připojovaných k systému.
# Řádek začínající znakem hash je považován za komentář a bude ignorován.
# Jako delimiter je použit znak roury |
# Každý řádek musí být ve tvaru:
# TYPE disku | UDEV identifikátor | ID teploty
# _______________________________________________________________________
# sat | ATTRS{model}=="HTS545050B9A300 " | 194
# _______________________________________________________________________
# U nvme disků se třetí údaj neudává (nemají ho)
     

sat | ATTRS{model}=="HTS545050B9A300 " | 194
nvme |    ATTRS{model}=="SKHynix_HFM512GDHTNI-87A0 B "   |

Pak ještě jako root vytvořit /usr/lib/systemd/system/conktemp.service obsahující:
Kód: [Vybrat]
################################################################################
# conktemp.service
#
################################################################################

[Unit]

Description=Spouštění skriptu na čtení teplot do conky

 
[Service]

ExecStart=-/usr/local/sbin/conktemp.sh
ExecStopPost=-/usr/bin/rm -f /tmp/conky_honky_tonky

[Install]

WantedBy=graphical.target
Tím si připravíme pro systemd konfigurační soubor naší služby. Poté spustitíme registraci služby. Od teď se bude vždy po startu systému sama spouštět. Dalším řádkem si ji spustíme hned.
Kód: [Vybrat]
sudo systemctl enable /usr/lib/systemd/system/conktemp.service
sudo systemctl start conktemp.service

Vše si hodně okomentovávám, takže byse v tom snad neměl nikdo ztratit.
Pointa je taková, že si conky žije svým životem a jen zobrazuje jeden řádek ze souboru v dočasném adresáři /tmp/conky_honky_tonky. Takže minimální režie. Dále tu máme soubor /etc/conky/my_conf.conf. To je databáze našich disků. Každý si ji upraví podle sebe tím že spustí
Kód: [Vybrat]
sudo conkys.sh vas_disk
kde vas_disk je disk který je připojen a chcete ho detekovat. Píše se bez cesty, jen název za dev třeba sda. Skript vyplivne údaj který si růčo nakopírujete a přidáte jako další řádek na konec souboru /etc/conky/my_conf.conf a pak disk uspí. Vlastně tady tím bych začal. Takto si nadetekujte všechny disky co si připojujete (nemusí to být hned a najednou). Jednodušší to bude pomocí příkazu
Kód: [Vybrat]
lsblk -dnp -o NAME
Hlavní skript spouštěný pomocí systemd čte informace o připojených discích v intervalu který se dá měnit. Pokaždé porovná díky udevu info o disku s databází a načte teplotu bez jeho probuzení! Přirom detekuje či disk spí nebo ne a vypíše to pomocí symbolu (dají se měnit). Skript vypisuje i teploty nvme disků díky hwmon. Program nepoužívá hddtemp protože neumí načítat hodnoty bez roztáčení disků a tím se opotřebovávají. Dělá to ikdyž běží jako daemon. A dělá to i smartctl přez exec* ve všech řešeních co jsem na netu našel. Disky se můžou připojovat a odpojovat bez přeregistrace, bez restartu atd. Přidávat nebo mazat z databáze se také může za běhu.

Na lepší řešení jsem zatím nepřišel a ani ho nikde nenašel. Chyby které se určitě vyskytnou mě hlašte a pokusím se je odstranit. Bohužel toho hardware nemám tolik abych mohl odzkoušet všechny možnosti. Tak se to bude muset řešit za vaší vydatné pomoci. Nejsem programátor (je to jen můj občasný koníček) tak uvítám připomínky a rady jak to udělat lépe.
EDIT:
Změněn řádek 154 v souboru conktemp.sh kvůli vyloučení detekce snapu a CD mechanik
Název: Re:Conky [Vyřešeno]
Přispěvatel: Ventero 14 Června 2022, 00:06:11
Sleduji tohle vlákno od začátku a chlape ty jsi génius.

Jenom mě zase děsí, jak je taková celkem banální věc neskutečně složitá - na tohle nemá normální smrtelník čas, nervy nebo trpělivost ani s Tvou a Juwovo pomocí ...

 ... co se prostě s tou koncepcí Linuxu děje? - už to tady padlo, že to je komplikovanější na nejspíše vrub systemd ...
Název: Re:Conky [Vyřešeno]
Přispěvatel: ramael 14 Června 2022, 07:26:54
Bych to nepřeháněl. Je to jen obalený příkaz do skriptu. Vlastně mě na to navedl juwa2. Jeho řešení sudo smartctl -l scttemp -d sat /dev/sdc u mne vyhodí velice dlouhý výpis. Což by podle manuálové stránky mělo udělat u každého. Ale přepínač scttempsts je už o něčem jiném  8) Já chtěl původně testovat jestli disk spí a pokud ano, tak brát teplotu z vlastní chache a upozornit na to nějakým znakem. To mělo používat hddtemp v daemon režimu a pořád ho podle potřeb restartovat přez systemd. Další restarty by byli díky udev pravidel. A co by šlo to si cucat v conky z hwmonu...
To byla původní koncepce. Což je vidět i ve skriptu a databázi. Je tam ten údaj ID který je vlastně už nepotřebný (zatím). Díky přepínači --json=b se celý výstup krásně unifikuje a tím i skvěle parsuje.
Velká čest tvůrcům smartmontools!
Testy využívající klasickou cestu které jsem zveřejnil před pár dny:
Citace
strace má zvláštnost, že jeho výstup posílá na standardní chybový výstup. Proto jsem musel použít 2>. U smartctl jsem ještě navíc (v jeho neprospěch) použil grep ^194 aby byl výstup také jednořádkový. 194 je SMART ID teploty tohoto disku.
Výsledek vezmu od zadu.
time  HDSentinel ("roztočený" disk):
real   0m0,505s
user   0m0,000s
sys   0m0,009s

time HDSentinel (uspaný disk):
real   0m2,386s
user   0m0,000s
sys   0m0,009s

time smartctl (roztočený disk):
real   0m0,338s
user   0m0,017s
sys   0m0,005s

time smartctl (uspaný disk):
real   0m2,240s
user   0m0,016s
sys   0m0,007s

smartctl ještě na víc s grepem je rychlejší!

velikost výstupu strace (přehled kollik to spotřebuje systémových prostředků):
HDSentinel:
du -b hdsen1.txt
23198   hdsen1.txt

smartctl:
du -b smart1.txt
20350   smart1.txt

A nový test na nynější řešení:
Citace
sudo time smartctl -l scttempsts --json=g -d sat /dev/sda (uspaný disk):
real   0m0,032s
user   0m0,022s
sys   0m0,004s

A běžící disk:
real   0m0,028s
user   0m0,014s
sys   0m0,011s

du -b s.txt
17463   s.txt
Je to 12X rychlejší než klasika s roztočeným diskem. A 70X oproti spícímu disku. Velikost výstupu (spotřeba systémových prostředků) klesla o víc než 10% Samotného mne to překvapilo. Něco si vezme režie vlastního skriptu. Ale i tak si myslím, že je to zatím nejmíň systémově náročné řešení. Je možné, že to na některých discích fungovat nebude. Pokud to někomu nebude fungovat ze stejného důvodu jako na PC mé ženy, tak tam podporu starší verze smartmontools dopíšu.
Název: Re:Conky [Vyřešeno]
Přispěvatel: juwa2 14 Června 2022, 08:35:21
Tak jsem to chtěl vyzkoušet, ale napadlo mě se podívat jakou mám verzi smartmontools. V U18.04 mám v 6.5  :-[
Nicméně existuje jeden backport PPA (https://launchpad.net/~savoury1/+archive/ubuntu/backports) kde je v 7.3 (je tam i pro xenial, takže můžeš doinstalovat manželce...)
Název: Re:Conky [Vyřešeno]
Přispěvatel: ramael 14 Června 2022, 09:13:50
Myslím, že to neudělám. Ona conky nepoužívá. Nainstaloval jsem to tam jen kvůli testování. Spouštím to tam z terminálu a po testech použiju ctrl+c. Když to u ní povýším nebudu moc testovat. Ještě se ve skriptu najde pár zakomentovaných řádků na původní verzi bez json. Ale připadalo mě to takové těžkopádné a narazil jsem na pár problémů ohledně detekce disků. Třeba, že disk se detekuje jako scsi jednotka, ale smartctl nakonec na něj použije rozhraní sat a funguje to. Jenže ten výpis není dobře bez instalace dodatečných nástrojů parsovatelný. Tak jsem nakonec použil ten json který to sdělí čistě a jasně. Ale to už jsem dodělal na laptopu. Až zpětně jsem zjistil,že u ní díky starší verzi smartmontools ten json nefunguje. Na mém laptopu conky nejede protože wayland. A ikdybych měl Xka, díky i3 a jeho liště bych se k conky stejně nevrátil. Conky jsem používal na starém laptopu kde jsem měl PekWM a ten nemá info lištu.
Snad to nevyznělo že mám něco proti conky. Jen osobně preferuju spartánskou plochu a fakt minimum rušivých informací. Třeba tady je můj prvotní výtvor https://github.com/RadekRojik/minilista který zobrazuje pro mne dostačující informace o systému.

EDIT:
Zkusím to dopsat i pro verzi bez json. Chvíli to bude trvat...
Název: Re:Conky [Vyřešeno]
Přispěvatel: ramael 14 Června 2022, 09:19:25
Tak jsem to chtěl vyzkoušet, ale napadlo mě se podívat jakou mám verzi smartmontools. V U18.04 mám v 6.5  :-[
Nicméně existuje jeden backport PPA (https://launchpad.net/~savoury1/+archive/ubuntu/backports) kde je v 7.3 (je tam i pro xenial, takže můžeš doinstalovat manželce...)
Moc nechápu proč tam máš starší verzi 6.5 než je u mojí ženy 6.6. Ona má U16.04 nebo možná ještě U14 Kouknu se až se vrátím domu jakou. A ty máš už U18.04.
Název: Re:Conky [Vyřešeno]
Přispěvatel: juwa2 14 Června 2022, 10:14:16
Ono je rozdíl, zda se jedná o verzi smartmontools nebo smartctl - nemusí být stejné (smartctl je jednou ze součástí).

Ale už tu mám první výsledek (v conky mě vyděsil - měl jsem conky přes celou Plochu). Z nějakého důvodu se detekují úplně všechny jednotky (i loop, mechaniky atd.).
Zde je obsah souboru /tmp/conky_honky_tonky
Kód: [Vybrat]
loop0: neznámý disk loop1: neznámý disk loop2: neznámý disk loop3: neznámý disk loop4: neznámý disk loop5: neznámý disk loop6: neznámý disk loop7: neznámý disk loop8: neznámý disk loop9: neznámý disk loop10: neznámý disk loop11: neznámý disk loop12: neznámý disksda: 46°C↑ | sdb: 39°C↑ | sdc: 37°C↑ | sdd: 29°C× |  sr0: neznámý disk
Jinak ty teploty (sda sdb sdc sdd) se načítají správně, disky se nebudí (tedy netočí se, nicméně kontrolka každých 5s blikne - je vidět, že na disk "něco sahá".
Asi by ten výstup chtělo nějak vyfiltrovat. Nebo skript nastavit aby si určitých disků nevšímal...
EDIT: V skriptu conktemp.sh stačí v hlavním loopu > načtení připojených disků změnit řádek 154:
Kód: [Vybrat]
DEVICES=`lsblk -dnp -o NAME | grep /dev/sd`
Tím se vyfiltruje vše kromě /dev/sdX
Aby se změna projevila, je třeba restartovat tu službu:
Kód: [Vybrat]
sudo systemctl restart conktemp.service

Potom soubor /tmp/conky_honky_tonky  vypadá takto:
Kód: [Vybrat]
sda: 46°C↑ | sdb: 40°C↑ | sdc: 36°C↑ | sdd: 29°C× |
A conky pochopitelně "ukazuje správně".  ;)
Název: Re:Conky [Vyřešeno]
Přispěvatel: ramael 14 Června 2022, 12:15:31
Dík za zpětnou vazbu. O to které disky to načítá se stará v conktemp.sh 154. řádek
Konkrétně příkaz lsblk -dnp -o NAME kde přepínače
d  má zajistit výstup jen fyzických disků. Bez partittion.
n  bez hlavičky/návěstí
p  výpis plné cesty
o NAME  vypíše jen sloupec s udanými názvy. V tomto případě NAME
Nemělo by to vypsat loopy
copak Ti to vypíše?:
Kód: [Vybrat]
sudo lsblk -dnp -o NAME
Popřípadě ještě
Kód: [Vybrat]
bash --version

EDIT:
Jsme psali přes sebe :D
Název: Re:Conky [Vyřešeno]
Přispěvatel: ramael 14 Června 2022, 12:28:44
Ono je rozdíl, zda se jedná o verzi smartmontools nebo smartctl - nemusí být stejné (smartctl je jednou ze součástí).

Ale už tu mám první výsledek (v conky mě vyděsil - měl jsem conky přes celou Plochu). Z nějakého důvodu se detekují úplně všechny jednotky (i loop, mechaniky atd.).
Zde je obsah souboru /tmp/conky_honky_tonky
Kód: [Vybrat]
loop0: neznámý disk loop1: neznámý disk loop2: neznámý disk loop3: neznámý disk loop4: neznámý disk loop5: neznámý disk loop6: neznámý disk loop7: neznámý disk loop8: neznámý disk loop9: neznámý disk loop10: neznámý disk loop11: neznámý disk loop12: neznámý disksda: 46°C↑ | sdb: 39°C↑ | sdc: 37°C↑ | sdd: 29°C× |  sr0: neznámý disk
Jinak ty teploty (sda sdb sdc sdd) se načítají správně, disky se nebudí (tedy netočí se, nicméně kontrolka každých 5s blikne - je vidět, že na disk "něco sahá".
Asi by ten výstup chtělo nějak vyfiltrovat. Nebo skript nastavit aby si určitých disků nevšímal...
EDIT: V skriptu conktemp.sh stačí v hlavním loopu > načtení připojených disků změnit řádek 154:
Kód: [Vybrat]
DEVICES=`lsblk -dnp -o NAME | grep /dev/sd`
Tím se vyfiltruje vše kromě /dev/sdX
Aby se změna projevila, je třeba restartovat tu službu:
Kód: [Vybrat]
sudo systemctl restart conktemp.service

Potom soubor /tmp/conky_honky_tonky  vypadá takto:
Kód: [Vybrat]
sda: 46°C↑ | sdb: 40°C↑ | sdc: 36°C↑ | sdd: 29°C× |
A conky pochopitelně "ukazuje správně".  ;)
Není to nejuniverzálnější řešení. Protože pokud budou disky jinak nazvány, třeba nvme. Tak se nezobrazí.
Jaký máš výstup z
Kód: [Vybrat]
sudo lsblk -dnp -o NAME
sudo lsblk
To blikání je dáno aktivitou chipu na disku. smartctl se zeptá chipu jen na jeho log jestli jsem to dobře pochopil. Což by nemělo být nic proti ničemu.
Název: Re:Conky [Vyřešeno]
Přispěvatel: juwa2 14 Června 2022, 13:15:49
Kód: [Vybrat]
juwa@p-5738:~$ sudo lsblk -dnp -o NAME
[sudo] heslo pro juwa:         
/dev/loop0
/dev/loop1
/dev/loop2
/dev/loop3
/dev/loop4
/dev/loop5
/dev/loop6
/dev/loop7
/dev/loop8
/dev/loop9
/dev/loop10
/dev/loop11
/dev/loop12
/dev/sda
/dev/sdb
/dev/sdc
/dev/sdd
/dev/sr0
juwa@p-5738:~$ sudo lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
loop0    7:0    0 113,9M  1 loop /snap/core/13308
loop1    7:1    0     4K  1 loop /snap/bare/5
loop2    7:2    0  81,3M  1 loop /snap/gtk-common-themes/1534
loop3    7:3    0  61,9M  1 loop /snap/core20/1518
loop4    7:4    0  55,5M  1 loop /snap/core18/2409
loop5    7:5    0 346,9M  1 loop /snap/wine-platform-runtime/302
loop6    7:6    0  13,5M  1 loop /snap/ubuntu-mate-welcome/709
loop7    7:7    0 164,8M  1 loop /snap/gnome-3-28-1804/161
loop8    7:8    0   9,3M  1 loop /snap/foobar2000/431
loop9    7:9    0   140K  1 loop /snap/gtk2-common-themes/13
loop10   7:10   0  17,9M  1 loop /snap/pdftk/9
loop11   7:11   0 101,5M  1 loop /snap/p7zip-desktop/220
loop12   7:12   0   323M  1 loop /snap/wine-platform-6-stable/19
sda      8:0    0 465,8G  0 disk
├─sda1   8:1    0 373,8G  0 part /mnt/film2
├─sda3   8:3    0     4G  0 part [SWAP]
├─sda5   8:5    0    38G  0 part /run/timeshift/backup
└─sda6   8:6    0    50G  0 part /home
sdb      8:16   0 931,5G  0 disk
├─sdb1   8:17   0 115,1G  0 part /media/juwa/REPO
├─sdb5   8:21   0 644,3G  0 part
└─sdb6   8:22   0 172,1G  0 part /mnt/651e76ac-0f63-48bc-93ff-de811417bbed
sdc      8:32   0   1,8T  0 disk
└─sdc1   8:33   0   1,8T  0 part
sdd      8:48   0 931,5G  0 disk
└─sdd1   8:49   0 931,5G  0 part
sr0     11:0    1  1024M  0 rom 

O ty názvy bych si starosti nedělal, to je to poslední...
Mám ale dojem, že mi to vytěžuje CPU a to jsem prodloužil ten interval na minutu. Ale i tak mám v klidu (nic jiného nejede) cca 10%
Předtím to byla sotva polovina...
Zkusím to ještě prozkoumat (a restartovat).

EDIT: Po odpojení všech ext. disků a násl. restartu vytížení CPU zmizelo, připojeno 6 disků, teploty se krásně zobrazují, už to vypadalo nadějně...
Bohužel disky se neuspí, jedou "furt pryč". Vždycky v tom intervalu dostanou "impuls" (je to i slyšet jako takové cuknutí) a ten jim zabrání ve spánku.

Službu jsem tedy zastavil a disky do 10 min. spaly. Takže bohužel - ale jako cvičení to bylo hezké.... :)
Ve windowsech se disky uspávají a teplota se přesto ukazuje. Jak to jenom dělají - mám silné nutkání spustit CrystalDiskInfo  ve wine, kdyby to fungovalo, to by byla ostuda. Asi to fakt vyzkouším... :-\
Název: Re:Conky [Vyřešeno]
Přispěvatel: ramael 14 Června 2022, 19:48:55
Je to celý divný. Mě se uspí úplně normálně. Možná mám štěstí na disky. Jeden už jsem vrátil, tak teď mohu experimentovat jen s jedním. Přepsal jsem ten 154. řádek na
Kód: [Vybrat]
DEVICES=`lsblk -po NAME,TYPE | grep disk | awk {'print $1'}`
Tím se vyfiltrují jen pevné/fyzické disky.
Jinak teď jsem to odzkoušel jak na dcery PC tak na ještě jednom netbooku https://www.samsung.com/cz/support/model/NP-N145-JP01CZ/ (https://www.samsung.com/cz/support/model/NP-N145-JP01CZ/) a fachá to bez vytížení systému. Zastav si conky. Zkus si uspat nějaký disk třeba
Kód: [Vybrat]
sudo hdparm -y /dev/sdd
Pusť si top. Chvíli, třeba 5 minut počkej jestli ho něco nevzbudí. A když ne, tak si růčo spusť sudo conktemp.sh. Nebude to nic psát, protože loop. V druhém terminálu se občas koukni na výsledek pomocí
Kód: [Vybrat]
cat /tmp/conky_honky_tonky
Jestli to neprobudí disk, tak je problém jinde. Občas koukni na top. Možná to bude chtít prostudovat kompletně co je to za disk a pak znova "man smartctl" a třeba se najde lepší řešení. Je třeba toho hodně zkusit aby se našlo co zlobí.

Odbočka od tématu
Jestli musíš mít ten snap tak ok. Avšak mě to vytěžovalo setsakramentsky systém a síť. Dokonce se spousta věcí chovala dost nestandardně. Řekl bych, že je to ještě větší zlo než systemd. A tak po každé instalaci nového systému provedu něco takového:
Kód: [Vybrat]
snap list
sudo snap remove #co ukázalo předchozí
sudo unmount /snap/core/#všechny core co tam jsou
sudo apt purge snapd
rm -rf ~/snap
sudo rm -rf /snap
sudo rm -rf /var/snap
sudo rm -rf /var/lib/snapd
a svatý klid.
Název: Re:Conky [Vyřešeno]
Přispěvatel: juwa2 14 Června 2022, 21:10:07
Vytížení je vyřešeno, souviselo s něčím jiným (po instalaci nové verze smartmontools nebyl proveden restart).

Řádek 154 je OK

Pokud disk (disky) uspím ručně, samy se nevzbudí. Nicméně ve výpisu sudo hdparm -y /dev/sdx  je vždy nějaká chyba.
Pokud disky ručně neuspím, samy neusnou.
Už na to prdím, momentálně to pro mě není až tak důležité, šlo o princip. Jinak hlavně že teploty exteráků zobrazovat jdou, neuspávání je podružné. A pokud chci uspávat, holt zase nebudou teploty...

Snap rád nemám, nicméně si ho držím jako nouzovku, v některých ojedinělých případech není jiná možnost. Zbavit se ho přirozeně umím...

Jo, a ten CDI jsem zkoušel - spustit jde, ale disky nevidí.. ;)
Ale ve windows teplotu externích disků sleduje (foukal jsem fénem) a přitom je nebudí...
Název: Re:Conky [Vyřešeno]
Přispěvatel: ramael 15 Června 2022, 11:41:48
Se v těch zkratkách ztrácím. Co je CDI?
Strašně mě štve když věci nefungují jak mají. A ještě víc když dělám chyby. Půl noci vzhůru a nad ránem myšlenka. Tak se v tom nimrám. Mojí chybu mám na mysli, že jsem sem nedal testovací verzi conktemp.sh a hlavně si neuvědomil při testování, že jí mám jinou. Spouští se tam na začátku podshel hozený na pozadí, který mi testovací disk uspí abych nemusel čekat než to udělá sám.
(sleep 8m; smartctl -s standby,now -d sat /dev/sda)& No, co na to říct. Jsem (#$%&*)^²!!
Každopádně to byl posun vpřed tak i tak. Protože ostatní řešení aby byla teplota, ty disky vždy probudí. Toto řešení to neudělá, pokud disk spí. Jakmile se disk z jakéhokoliv důvodu rozběhne, tak už "nemá" šanci usnout. Ono je to ještě trošku složitější, rozlišuje se ještě sleep, standby a idle. Pro nás je žádoucí standby. Dá se nastavit a to fakt funfuje, že disk po vykonání jakékoliv činnosti přejde neprodleně do standby módu. Ale to je pro životnost disku také nic moc (pořád se rozbíhá a zastavuje). To už je lepší ho nechat běžet. Anebo ho nechat automaticky přepnout do standby po nějaké době nečinnosti.
A řekl bych, že tady vývojáři linuxu nejspíš zaspali:
Jádro vyřizuje diskové operace mimo jiné pomocí ioctl() Díky kterému proudí info mezi diskem a jádrem. A tady je i zakopaný pes. Jádro v tomto smyslu nemá žádný treshold Vnímá přesně buď nic, nebo aktivita a tím nepředá disku info teď po tobě nic nechci tak si "to udělej po svém". Avšak je tu nějaká možnost si to dodělat. Původně jsem chtěl načítat připojené disky ze souboru /proc/diskstats páč čím méně externích programů, tím lépe. Avšak jsem si to rozmyslel protože program lsblk je součástí core a tak musí být v systému pokaždé a není třeba ho doinstalovávat. Od výše zmiňovaného souboru už je jen krůček k informacím o prováděných a provedených operací na daném diskovém zařízení. Aby se nemusel číst celý soubor, který je souhrnem více dílčích souborů, dá se číst přesně co potřebujem ze stat souboru daného disku. Ty jsou mapovány v /sys/block/*/stat. Jsou to jaderné výstupy, takže stále aktuální a mají přesně daný formát: https://docs.kernel.org/admin-guide/iostats.html Napsal jsem pokusný skript na přečtení informací a proběhlých čtecích operací (ostatní operace jsou pro tento účel as nepotřebné) na disku:
Kód: [Vybrat]
#! /usr/bin/env bash

ktery_disk="sdc"
pocet_cyklu=10
cyklu=$pocet_cyklu
sekund_sleep_loop=1


# načtem kolik proběhlo operací read před našim testem
poc_sektoru=`cat /sys/block/$ktery_disk/stat | awk {'print $1'}`

# smyčka o zadaném počtu cyklů
while [ "$pocet_cyklu" -gt 0 ]; do

  # načtem teplotu z disku
  TEPLOTA=`sudo smartctl -l scttempsts --json=g -d sat /dev/$ktery_disk | grep 'json.temperature.current' | cut -d '=' -f 2`

  # vypisem teplotu
  echo ${TEPLOTA//';'/'°C'}
 
  # počkáme si ať nežerem procesorový čas
  sleep $sekund_sleep_loop

  # dekrementace cyklu
  pocet_cyklu=$(( $pocet_cyklu - 1 ))
done

# kolik readů po testu
kon_sektoru=`cat /sys/block/$ktery_disk/stat | awk {'print $1'}`

# rozdíl v počtu readů
rozdil=$(( $kon_sektoru - $poc_sektoru ))
echo "start sektoru: $poc_sektoru | end sektoru: $kon_sektoru | rozdíl: $rozdil"
echo "Jeden read = $(( $rozdil / $cyklu ))"
Testoval jsem to na disku ve standby módu. A pak na roztočeném bez jakýchkoliv jiných operací s diskem. A nakonec spustil ikdyž byl disk používán. Nastavoval jsem různé časové hodnoty $sekund_sleep_loop i počtu cyklů $pocet_cyklu. Vyšlo mi, že jedno čtení infa teploty dělá dva ready, pokud se disk nepoužívá. Zajímá mne kolik to dělá u vás?
Pokud to bude i u ostatních také tak, dalo by se to použít na zmiňovaný treshold. Počítalo byse kolikrát za nějaký časový úsek proběhlo čtení teploty. To vydělilo počtem readů a pokud by to bylo v tresholdu, dát disku povel na okamžitý přechod do standby módu. Jen jsem přesvědčen, že bash už na to bude krátký. Vidím to spíš na jazyk kde se dá vytvořit třída disk a od ní by vznikali instance jednotlivých připojených disků.

Je to dlouhý psaní také proto abych si to sám ujasnil. A aby mne někdo popřípadě poupravil v mých myšlenkových pochodech.

P.S.: taková blbost kvůli diskům kterých je čím dál méně :D
Název: Re:Conky [Vyřešeno]
Přispěvatel: ramael 16 Června 2022, 00:34:32
Tak jsem napsal první zkušební, ale fakt hodně zkušební skript v bash. On to ten bash dá i bez těch tříd. Tady je prvotina na vypisování teploty disku (jednoho) do terminálu.
disk_handle.sh :
Kód: [Vybrat]
#! /usr/bin/env bash


# $$ - vlastní pid

# #######################################################
# sichr je sichr
# přednastavíme defaultní hodnoty

# po jaké době se má uspat disk v sekundách
m_sleep='120'

# rychlost hlavního loopu v sekundách
m_loop='2'

# defaultní treshold
treshold='2'

NAS_READ='0'

# magické hodnoty mag_x a mag_y
# inspirace u autora conky na "doštelování" tresholdu
# podle vzorce treshold = treshold * mag_x + mag_y
mag_x='1'
mag_y='0'
# vzorec bude až za zpracováním argumentů

# později je třeba načítat z databáze !!!!
typ='sat'

# #######################################################
# argumenty a jejich pořadí
# první bude disk!
# doba na uspání disku v sekundách
# jak rychlý má být loop
# treshold

# test na přítonost parametru disku
m_disk=$1
if ! [[ $m_disk ]] ; then
  echo "chybí disk" > /dev/stderr
  exit 1
fi

# přiřazení argumentů. Pokud nejsou zadány nastavíme je do defaultu
m_sleep=${2-$m_sleep}
m_loop=${3-$m_loop}
treshold=${4-$treshold}

# magika doštelování
treshold=$(( $treshold * $mag_x + $mag_y ))

# #######################################################
# zde budou funkce

## pomocná funkce na výpis
hlaska () {
  cat <<LOG_HLASKA
  -----------------------------------------------
  teplota: $TEPLOTA°C
  stand: $STANDBY
  tre: $treshold
  poč * $pocatecni_cas
  akt * $(date +%s)
LOG_HLASKA
}


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

# časové razítko
pocatecni_cas=$(date +%s)

# místo `true` dáme dvojtečku, ušetříme tím strojový čas
while :;do

  # načtem hodnotu read
  TR=$(cat /sys/block/$m_disk/stat | awk {'print $1'})

  if [ $STANDBY ]; then
    # disk nespííí

    if [ $(( $TR - $NAS_READ )) -ne $treshold ]; then
      # pokud jsme mimo treshold nastavujem časové razítko
      echo "startuji časové razítko disk nehajá"
      pocatecni_cas=$(date +%s)
    else
      # jsme v rámci tresholdu
      # porovnáme časové razítko s aktuálním časem
      if [ $(( $pocatecni_cas + $m_sleep )) -lt $(date +%s) ]; then
        # počátek s námi udaným časem aktivity je menší než aktuální čas
        # je čas jít spinkat
        sudo smartctl -s standby,now -d $typ /dev/$m_disk
      fi
    fi
  fi

  # načtem informace ze S.M.A.R.T.u disku
  SMART=$(sudo smartctl -l scttempsts -d $typ /dev/$m_disk)
  TEPLOTA=$(echo "$SMART" | grep -i 'current temperature' | cut -d ':' -f 2)
  STANDBY=$(echo "$SMART" | grep -i 'device state' | cut -d '(' -f 2)

  # vykuchání nežádoucích znaků díky expanzi regulárního výrazu
  TEPLOTA=${TEPLOTA//[a-zA-Z ]/''}
  STANDBY=${STANDBY//[)1]/''}

  NAS_READ=$TR
  hlaska
# reset proměnných
# STANDBY
sleep $m_loop
done
Zatím jsem to zkoušel jen na mém laptopu. Dopolčo zkusím ještě na dalších PC. Mělo by to jet i se starším smartmontools bez json. Skript stačí spustit jen s jedním argumentem a to systémovým názvem disku. Např.:
disk_handle.sh sdc Jako další nepovinný argument se dá přidat za jak dlouho se má disk přepnout do standby režimu. Argument musí být ve vteřinách (600 je deset minut :D ). Pokud se tento argument nezadá, přednastavil jsem jen dvě minuty aby to testování trochu "odsejpalo". Skript vypisuje pár údajů včetně teploty a stavů co jak momentálně je. Po zadané době se disk "uspí" a přesto bude dále vypisovat teplotu. Disk probuďte nějakou aktivitou a dokud se bude používat skript ho nechá jak je a bude psát pořád teplotu. Až se disk přestane používat, po zadané době opět "usne". Přivítám zprávy jak o funkčnosti tak opačného stavu.
P.S.: je to zatím přednastaveno na typ disku sat
Citace
Se v těch zkratkách ztrácím. Co je CDI?
už vím  ;)
Název: Re:Conky [Vyřešeno]
Přispěvatel: ikx 16 Června 2022, 08:16:38
...mne teploty disku ukazuje aj PSENSOR... :o :o :o
Název: Re:Conky [Vyřešeno]
Přispěvatel: GdH 16 Června 2022, 08:52:55
Nemám čas na víc, ale když vidím tu snahu o efektivitu.. Každá roura vytváří nový subproces, ve kterém běží následující příkaz/program, takže je dobré zvážit, kdy má přínos. awk umí "grepovat" také a když nejde o dlouhé seznamy, kde je grep pro předfiltraci efektivnější, je dobré toho využít:
Kód: [Vybrat]
lsblk -po NAME,TYPE | awk '/disk/{print $1}'Zde je přínos malý, ale na tisíci opakováních to na mém deset let starém i5 nahoní necelých 200 ms.
sed je v tomto případě ještě o maličko rychlejší, než awk.
Kód: [Vybrat]
lsblk -po NAME,TYPE | sed -n '/disk/s@/\(.*/[^ ]\+\).*@\1@p'
Edit:
Ještě tohle třeba, bez zbytečných mezikroků:
Kód: [Vybrat]
TEPLOTA=$(echo "$SMART" | sed -n '/current temperature/Is/[^0-9]*\([0-9]\+\).*/\1/p')
TEPLOTA=$(echo "$SMART" | awk 'tolower($0) ~ /current temperature/{match($0, /[0-9]+/); print substr($0, RSTART, RLENGTH)}')
Mimochodem tady je třeba awk (přesněji mawk v Ubuntu) zásadně rychlejší, než sed a to cca 3,5x na mém systému.

Edit2:
Zrovna tak nedává smysl používat cat, když awk, sed, i grep umí číst ze souboru přímo:
Kód: [Vybrat]
cat /sys/block/$ktery_disk/stat | awk {'print $1'}
awk {'print $1'} /sys/block/$ktery_disk/stat
I když je fakt, že time mi rozdíl neukázal a cat s rourou mi vyprodukoval polovinu dat pro strace, než read přímo z awk, což mě doposud nenapadlo jako pravděpodobné.
Název: Re:Conky [Vyřešeno]
Přispěvatel: ramael 16 Června 2022, 16:11:18
Nemám čas na víc, ale když vidím tu snahu o efektivitu.. Každá roura vytváří nový subproces, ve kterém běží následující příkaz/program, takže je dobré zvážit, kdy má přínos. awk umí "grepovat" také a když nejde o dlouhé seznamy, kde je grep pro předfiltraci efektivnější, je dobré toho využít:
Kód: [Vybrat]
lsblk -po NAME,TYPE | awk '/disk/{print $1}'Zde je přínos malý, ale na tisíci opakováních to na mém deset let starém i5 nahoní necelých 200 ms.
sed je v tomto případě ještě o maličko rychlejší, než awk.
Kód: [Vybrat]
lsblk -po NAME,TYPE | sed -n '/disk/s@/\(.*/[^ ]\+\).*@\1@p'
Edit:
Ještě tohle třeba, bez zbytečných mezikroků:
Kód: [Vybrat]
TEPLOTA=$(echo "$SMART" | sed -n '/current temperature/Is/[^0-9]*\([0-9]\+\).*/\1/p')
TEPLOTA=$(echo "$SMART" | awk 'tolower($0) ~ /current temperature/{match($0, /[0-9]+/); print substr($0, RSTART, RLENGTH)}')
Mimochodem tady je třeba awk (přesněji mawk v Ubuntu) zásadně rychlejší, než sed a to cca 3,5x na mém systému.

Edit2:
Zrovna tak nedává smysl používat cat, když awk, sed, i grep umí číst ze souboru přímo:
Kód: [Vybrat]
cat /sys/block/$ktery_disk/stat | awk {'print $1'}
awk {'print $1'} /sys/block/$ktery_disk/stat
I když je fakt, že time mi rozdíl neukázal a cat s rourou mi vyprodukoval polovinu dat pro strace, než read přímo z awk, což mě doposud nenapadlo jako pravděpodobné.
JJ, dík za podměty. Už jsem to přepracoval. Nejdřív jsem se trápil s regulárními výrazy v sed. Nejsem v tom kovaný. A když už konečně to bylo jak jsem zamýšlel, tak mě time prozradil, že je lepší to číst rovnou z awk jak píšeš. Taky jsem si rozmyslel koncept. Je zbytečné aby skript ukazoval teplotu. Od toho už jsem napsal předchozí funkční věc. Tady jde o to uspávání disků po určité "neaktivitě". Tady je trochu "ostřejší" výsledek:
disk_handle.sh
Kód: [Vybrat]
#! /usr/bin/env bash

# *******************************************************
# skript má za úkol sledovat aktivitu na disku
# od poslední aktivity po nastaveném čase přepne disk
# do standby módu. Skript vyžaduje buď hdparm nebo smartctl
# smartctl (i starší verze) je rozumnější řešení. Lepší je skript
# spouštět s root právy. Nebo mít v .sudoers nastaveno bezheslové
# spouštění smartctl nebo hdparm
# zatím se skript spouští růčo:
# disk_handle.sh sdb &
# kde sdb je disk který chcete tímto způsobem "kontrolovat"
# pokud je někdo zvědavý ať si na konci skriptu odkomentuje
# tento řádek:
# echo $nespi
# mezi hvězdičkovými řádky
# pak se skript spustí bez posledního znaku &
# disk_handle.sh sdb
# alternativní spuštění: 
# disk_handle.sh sdb 900
# kde 900 je čas v sekundách za jak dlouho se má disk přepnout
#********************************************************

# #######################################################
# #######################################################
# Tady se dají vcelku bezproblémově nastavit různé
# parametry:


# po jaké době se má uspat disk v sekundách
m_sleep='600'

# rychlost hlavního loopu v sekundách
# čím vyšší číslo tím více šetříme CPU
# na úkor rychlosti odezvy
m_loop='2'

# defaultní treshold
treshold='2'

# #######################################################
# #######################################################
# a odtud už jen s velkou opatrností

NAS_READ='0'

# magické hodnoty mag_x a mag_y
# inspirace u autora conky na "doštelování" tresholdu
# podle vzorce treshold = treshold * mag_x + mag_y
mag_x='1'
mag_y='0'
# vzorec bude až za zpracováním argumentů

# později je třeba načítat z databáze !!!!
# typ='sat'

# #######################################################
# argumenty a jejich pořadí
# první bude disk!
# doba na uspání disku v sekundách
# jak rychlý má být loop
# treshold

# načtem název disku z prvního argumentu
m_disk=$1

# test jestli existuje soubor rotational
# pokud neexistuje, máme špatně zadaný disk nebo neexistuje
# když existuje jeho obsah předáme do proměnné rotation
# v opačném případě se skript ukončí s nenulovou návratovou hodnotou
rotation=$(cat /sys/block/$m_disk/queue/rotational) || exit 1

# pokud má předchozí výsledek hodnotu 0 disk by měl
# být bezplotnový a ukončíme to protože bezplotnové
# disky se neuspávají
# Zde se může vyskytnout problém. Třeba jedna prehistorická
# USB klíčenka (512MB = to bylo tenkrát dělo :D ) je registrována v
# systému jako plotnový disk. Nicméně smartctl ji nedokáže zpracovat
# a končí chybou
[[ $rotation -ne 0 ]] || exit 0

# pro hlavní funkci potřebujem smartctl nebo hdparm
# vytvoříme si vlastní konstrukt příkazu na uspávání
# teoreticky by smartctl měl v tomto případě fungovat bez
# určení typu - to se bude muset odzkoušet
uspavadlo=$( ((which smartctl) && echo ' -s standby,now ') || ((which hdparm) && echo ' -y ') ) || exit 1
kontrola_stavu=$( ((which smartctl) && echo ' -l scttempsts') || (( which hdparm) && echo ' -C') ) || exit 1

# přiřazení argumentů. Pokud nejsou zadány nastavíme je do defaultu
m_sleep=${2-$m_sleep}
m_loop=${3-$m_loop}
treshold=${4-$treshold}

# magika doštelování
# to tu není třeba
# treshold=$(( $treshold * $mag_x + $mag_y ))

# #######################################################
# zde budou funkce

## pomocná funkce na výpisy
hlaska () {
  cat <<LOG_HLASKA
  -----------------------------------------------
  teplota: $TEPLOTA°C
  stand: $STANDBY
  tre: $treshold
  poč * $pocatecni_cas
  akt * $(date +%s)
LOG_HLASKA
}


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

# předregistrace časového razítka aby se disk neposlal hned spát
pocatecni_cas=$(date +%s)

# místo `true` dáme dvojtečku, ušetříme tím strojový čas
while :;do

  # načtem hodnotu read
  # jasně nejpomalejší:
  # TR=$(cat /sys/block/$m_disk/stat | awk {'print $1'})
  # time sed -n 's/ *//;s/ .*//p' /sys/block/sda/stat
  # je pomalejší a o drtek náročnější než toto:
  TR=$(awk {'print $1'} /sys/block/$m_disk/stat) || exit 0

# později proměnnou zakomentovat nebo vymazat
  nespi='Disk je ve standby módu'
# *************************

  # test jestli disk spí
  if [ "$STANDBY" ]; then
    # disk nespííí
# později proměnnou zakomentovat nebo vymazat
    nespi='Disk je aktivní'
# *************************

    if [ $(( $TR - $NAS_READ )) -gt $treshold ]; then
      # pokud jsme mimo treshold nastavujem časové razítko
# později proměnnou zakomentovat nebo vymazat
      nespi='startuji časové razítko od teď za $m_sleep sekund se přejde \
      do standby módu pokud se disk nebude používat'
# *************************
      pocatecni_cas=$(date +%s)
    else
      # jsme v rámci tresholdu
      # porovnáme časové razítko s aktuálním časem
      # if [ $(( $pocatecni_cas + $m_sleep )) -lt $(date +%s) ]; then
        # počátek s námi udaným časem aktivity je menší než aktuální čas
        # je čas jít spinkat
        # sudo smartctl -s standby,now -d $typ /dev/$m_disk
        # echo 'jdu spát'
        # sudo $uspavadlo /dev/$m_disk
        [ $(( $pocatecni_cas + $m_sleep )) -lt $(date +%s) ] && sudo $uspavadlo /dev/$m_disk
      # fi
    fi
  fi

  # Tohle vlastně není nutné! To by neměla být práce tohoto scriptu
  # načtem informace ze S.M.A.R.T.u disku
  # SMART=$(sudo smartctl -l scttempsts -d $typ /dev/$m_disk)
  # STANDBY=$(echo "$SMART" | grep -i 'device state' | cut -d '(' -f 2)
  # Tohle se mi nedaří lépe napsat aniž by to přestalo fungovat ;(
  STANDBY=`sudo $kontrola_stavu /dev/$m_disk | grep -i 'active'`

  # uložíme si starou hodnotu na pozdější porovnání
  NAS_READ=$TR
  # výpis stavů různých proměnných
  # hlaska

# ***********************************************************************
# Pro zvědavce odkomentovat na sledování průběhu:
# echo $nespi
# ***********************************************************************

# reset proměnných
# STANDBY
sleep $m_loop
done
V komentářích je napsáno co a jak. Pokud mne bude moci rodina večer postrádat, napíšu pravidlo pro udev.
Ten pak s každý připojeným diskem spustí toto na pozadí a hotovo. Skript jsem napsal tak aby se sám po odpojení disku ukončil.
Pak ještě zoptimalizuju skript na výpis hodnot pro conky.
Název: Re:Conky [Vyřešeno]
Přispěvatel: ramael 16 Června 2022, 16:17:11
...mne teploty disku ukazuje aj PSENSOR... :o :o :o
Merit věci je od začátku zobrazovat teploty v conky s co nejmenším zatížením systému. Což se tak nějak povedlo. K tomu se nabalil problém přechodu disků do standby režimu. Což je problém snad všech "zobrazovačů teploty" v linuxu.
Název: Re:Conky [Vyřešeno]
Přispěvatel: juwa2 16 Června 2022, 16:37:01
Výsledky:
Skript 1
Začne vypisovat. Po vypsání sedmi hodnot se vypisování zastaví a mění se jen hodnoty poč  a akt
Disk se po 2 min neuspí
Samotný uspávací příkaz funguje
Pokud je skript spuštěn když disk spí, probudí ho to

Skript 2
Nedělá/nevypisuje nic - nevrátí ani prompt

Psensor mám - tepotu externích disků ale zobrazit neumí...

Název: Re:Conky [Vyřešeno]
Přispěvatel: ramael 16 Června 2022, 16:51:10
Výsledky:
Skript 1
Začne vypisovat. Po vypsání sedmi hodnot se vypisování zastaví a mění se jen hodnoty poč  a akt
Disk se po 2 min neuspí
Samotný uspávací příkaz funguje
Pokud je skript spuštěn když disk spí, probudí ho to

Skript 2
Nedělá/nevypisuje nic - nevrátí ani prompt

Psensor mám - tepotu externích disků ale zobrazit neumí...
Skript 2 nemá nic vypisovat. Pokud někdo chce něco vypsat je třeba odkomentovat řádek. Je to popsáno v komentáři.
Název: Re:Conky [Vyřešeno]
Přispěvatel: juwa2 16 Června 2022, 17:25:26
Skript 2
Disk běží
Skript spuštěn
Vypsal asi 50x  "Disk je ve standby módu"  (což není pravda) a výpis se zastavil
Dále se neděje nic - disk se neuspí...
Název: Re:Conky [Vyřešeno]
Přispěvatel: ramael 16 Června 2022, 17:43:14
Skript 2
Disk běží
Skript spuštěn
Vypsal asi 50x  "Disk je ve standby módu"  (což není pravda) a výpis se zastavil
Dále se neděje nic - disk se neuspí...
Dík za info. Uspí se po tomto?:
Kód: [Vybrat]
smartctl -s standby,now /dev/tvuj_disk
Anebo potřebuje?:
Kód: [Vybrat]
smartctl -s standby,now -d sat /dev/tvuj_disk
A když disk běží, co vypíše tohle:
Kód: [Vybrat]
smartctl -l scttempsts /dev/tvuj_disk

EDIT:
přidán ještě jeden dotaz
Název: Re:Conky [Vyřešeno]
Přispěvatel: PepanB 16 Června 2022, 18:23:15
ramael:
Sice nejsem na Ubuntu ale zkusil jsem:
smartctl -s standby,now /dev/sdc:
Kód: [Vybrat]
Device placed in STANDBY mode

smartctl -s standby,now -d sat /dev/sdc
Kód: [Vybrat]
Device placed in STANDBY mode

smartctl -l scttempsts /dev/sdc:
Kód: [Vybrat]
=== START OF READ SMART DATA SECTION ===
SCT Status Version:                  3
SCT Version (vendor specific):       258 (0x0102)
Device State:                        Active (0)
Current Temperature:                    26 Celsius
Power Cycle Min/Max Temperature:     26/26 Celsius
Lifetime    Min/Max Temperature:     13/41 Celsius
Under/Over Temperature Limit Count:   0/0
Vendor specific:
01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Název: Re:Conky [Vyřešeno]
Přispěvatel: juwa2 16 Června 2022, 18:30:41
1. Disk uspí oba příkazy.
2. Výpis příkazu (disk běží)
Kód: [Vybrat]
juwa@p-5738:~$ smartctl -l scttempsts /dev/sdc
smartctl 7.3 2022-02-28 r5338 [x86_64-linux-5.4.196-0504196-lowlatency] (local build)
Copyright (C) 2002-22, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF READ SMART DATA SECTION ===
SCT Status Version:                  3
SCT Version (vendor specific):       256 (0x0100)
Device State:                        SMART Off-line Data Collection executing in background (4)
Current Temperature:                    32 Celsius
Power Cycle Min/Max Temperature:     27/41 Celsius
Lifetime    Min/Max Temperature:     20/43 Celsius
Under/Over Temperature Limit Count:   0/0

Pokud disk spí, výpis příkazu je stejný. Nejprve je ale disk tímto příkazem probuzen.


Název: Re:Conky [Vyřešeno]
Přispěvatel: ramael 16 Června 2022, 18:34:15
ramael:
Sice nejsem na Ubuntu ale zkusil jsem:
smartctl -s standby,now /dev/sdc:
Kód: [Vybrat]
Device placed in STANDBY mode

smartctl -s standby,now -d sat /dev/sdc
Kód: [Vybrat]
Device placed in STANDBY mode

smartctl -l scttempsts /dev/sdc:
Kód: [Vybrat]
=== START OF READ SMART DATA SECTION ===
SCT Status Version:                  3
SCT Version (vendor specific):       258 (0x0102)
Device State:                        Active (0)
Current Temperature:                    26 Celsius
Power Cycle Min/Max Temperature:     26/26 Celsius
Lifetime    Min/Max Temperature:     13/41 Celsius
Under/Over Temperature Limit Count:   0/0
Vendor specific:
01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Takto je to v pořádku. Teda pokud je toto smartctl -l scttempsts /dev/sdc zadáno před tímto smartctl -s standby,now -d sat /dev/sdc.
V opačném pořadí je to špatně. Device placed in STANDBY mode Znamená, že se disk přepíná do režimu standby(bez točení ploten)
A tohle znamená, že se ty plotny točí: Device State:                        Active (0)
Název: Re:Conky [Vyřešeno]
Přispěvatel: ramael 16 Června 2022, 18:36:24
1. Disk uspí oba příkazy (Device placed in STANDBY mode)

2. Výpis příkazu
Kód: [Vybrat]
juwa@p-5738:~$ smartctl -l scttempsts /dev/sdc
smartctl 7.3 2022-02-28 r5338 [x86_64-linux-5.4.196-0504196-lowlatency] (local build)
Copyright (C) 2002-22, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF READ SMART DATA SECTION ===
SCT Status Version:                  3
SCT Version (vendor specific):       256 (0x0100)
Device State:                        SMART Off-line Data Collection executing in background (4)
Current Temperature:                    32 Celsius
Power Cycle Min/Max Temperature:     27/41 Celsius
Lifetime    Min/Max Temperature:     20/43 Celsius
Under/Over Temperature Limit Count:   0/0
Aha, tak to už ten problém vidím. Podumám nad tím. Dík za info.
Tady je ten problém:
Device State:                        SMART Off-line Data Collection executing in background (4)

EDIT:
Ještě poprosím o tento výpis:
Kód: [Vybrat]
smartctl -l scttempsts --json=g /dev/sdc
Název: Re:Conky [Vyřešeno]
Přispěvatel: juwa2 16 Června 2022, 18:45:44
Kód: [Vybrat]
juwa@p-5738:~$ smartctl -l scttempsts --json=g /dev/sdc
json = {};
json.json_format_version = [];
json.json_format_version[0] = 1;
json.json_format_version[1] = 0;
json.smartctl = {};
json.smartctl.version = [];
json.smartctl.version[0] = 7;
json.smartctl.version[1] = 3;
json.smartctl.svn_revision = "5338";
json.smartctl.platform_info = "x86_64-linux-5.4.196-0504196-lowlatency";
json.smartctl.build_info = "(local build)";
json.smartctl.argv = [];
json.smartctl.argv[0] = "smartctl";
json.smartctl.argv[1] = "-l";
json.smartctl.argv[2] = "scttempsts";
json.smartctl.argv[3] = "--json=g";
json.smartctl.argv[4] = "/dev/sdc";
json.smartctl.drive_database_version = {};
json.smartctl.drive_database_version.string = "7.3/5319";
json.smartctl.exit_status = 0;
json.local_time = {};
json.local_time.time_t = 1655397908;
json.local_time.asctime = "Thu Jun 16 18:45:08 2022 CEST";
json.device = {};
json.device.name = "/dev/sdc";
json.device.info_name = "/dev/sdc [SAT]";
json.device.type = "sat";
json.device.protocol = "ATA";
json.ata_sct_status = {};
json.ata_sct_status.format_version = 3;
json.ata_sct_status.sct_version = 256;
json.ata_sct_status.device_state = {};
json.ata_sct_status.device_state.value = 4;
json.ata_sct_status.device_state.string = "SMART Off-line Data Collection executing in background";
json.ata_sct_status.temperature = {};
json.ata_sct_status.temperature.current = 34;
json.ata_sct_status.temperature.power_cycle_min = 27;
json.ata_sct_status.temperature.power_cycle_max = 41;
json.ata_sct_status.temperature.lifetime_min = 20;
json.ata_sct_status.temperature.lifetime_max = 43;
json.ata_sct_status.temperature.under_limit_count = 0;
json.ata_sct_status.temperature.over_limit_count = 0;
json.temperature = {};
json.temperature.current = 34;
json.temperature.power_cycle_min = 27;
json.temperature.power_cycle_max = 41;
json.temperature.lifetime_min = 20;
json.temperature.lifetime_max = 43;
Název: Re:Conky [Vyřešeno]
Přispěvatel: ramael 16 Června 2022, 18:52:35
Kód: [Vybrat]
juwa@p-5738:~$ smartctl -l scttempsts --json=g /dev/sdc
json = {};
json.json_format_version = [];
json.json_format_version[0] = 1;
json.json_format_version[1] = 0;
json.smartctl = {};
json.smartctl.version = [];
json.smartctl.version[0] = 7;
json.smartctl.version[1] = 3;
json.smartctl.svn_revision = "5338";
json.smartctl.platform_info = "x86_64-linux-5.4.196-0504196-lowlatency";
json.smartctl.build_info = "(local build)";
json.smartctl.argv = [];
json.smartctl.argv[0] = "smartctl";
json.smartctl.argv[1] = "-l";
json.smartctl.argv[2] = "scttempsts";
json.smartctl.argv[3] = "--json=g";
json.smartctl.argv[4] = "/dev/sdc";
json.smartctl.drive_database_version = {};
json.smartctl.drive_database_version.string = "7.3/5319";
json.smartctl.exit_status = 0;
json.local_time = {};
json.local_time.time_t = 1655397908;
json.local_time.asctime = "Thu Jun 16 18:45:08 2022 CEST";
json.device = {};
json.device.name = "/dev/sdc";
json.device.info_name = "/dev/sdc [SAT]";
json.device.type = "sat";
json.device.protocol = "ATA";
json.ata_sct_status = {};
json.ata_sct_status.format_version = 3;
json.ata_sct_status.sct_version = 256;
json.ata_sct_status.device_state = {};
json.ata_sct_status.device_state.value = 4;
json.ata_sct_status.device_state.string = "SMART Off-line Data Collection executing in background";
json.ata_sct_status.temperature = {};
json.ata_sct_status.temperature.current = 34;
json.ata_sct_status.temperature.power_cycle_min = 27;
json.ata_sct_status.temperature.power_cycle_max = 41;
json.ata_sct_status.temperature.lifetime_min = 20;
json.ata_sct_status.temperature.lifetime_max = 43;
json.ata_sct_status.temperature.under_limit_count = 0;
json.ata_sct_status.temperature.over_limit_count = 0;
json.temperature = {};
json.temperature.current = 34;
json.temperature.power_cycle_min = 27;
json.temperature.power_cycle_max = 41;
json.temperature.lifetime_min = 20;
json.temperature.lifetime_max = 43;
Něco s tím diskem je. Minulý výpis tam psal nějaké errory. Tohle json.ata_sct_status.device_state.value = 4; je při standby nebo běžícím disku?
Název: Re:Conky [Vyřešeno]
Přispěvatel: PepanB 16 Června 2022, 18:52:47
juwa2:
Máš velký přehled tak bych se chtěl ještě zeptat na Conky. Často narážím na názor že Conky po Waylandem nefungují. Nyní píšu na Waylandu s Nvidií a KDE, má to spostu much jako trhavý obraz svislé šedé pruhy v panelu a naprosto nestabilní kurzor  ;D Pro mě těžko použitelné, ale conky se zobrazují na ploše opravdu naprosto stejně jako pod Xkama. Veze Conky je 1.12.2-2 Nvidie ovladač je 515.48.07. Zájímalo by mě jestli je možné že conky tak pěkně pod waylandem fungují, nebo jestli  nemůže být že si conky neco berou z Xek?
Název: Re:Conky [Vyřešeno]
Přispěvatel: ramael 16 Června 2022, 18:57:26
Kód: [Vybrat]
juwa@p-5738:~$ sudo smartctl -d sat -a /dev/sdc
[sudo] heslo pro juwa:         
smartctl 6.6 2016-05-31 r4324 [x86_64-linux-5.4.196-0504196-lowlatency] (local build)
Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Device Model:     TOSHIBA HDWD110
Serial Number:    80HM91VFS
LU WWN Device Id: 5 000039 fdff30b92
Firmware Version: MS2OA8R0
User Capacity:    1 000 204 886 016 bytes [1,00 TB]
Sector Sizes:     512 bytes logical, 4096 bytes physical
Rotation Rate:    7200 rpm
Form Factor:      3.5 inches
Device is:        Not in smartctl database [for details use: -P showall]
ATA Version is:   ATA8-ACS T13/1699-D revision 4
SATA Version is:  SATA 3.0, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is:    Sat Jun 11 13:23:27 2022 CEST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

=== START OF READ SMART DATA SECTION ===
SMART Status not supported: Incomplete response, ATA output registers missing
SMART overall-health self-assessment test result: PASSED
Warning: This result is based on an Attribute check.

General SMART Values:
Offline data collection status:  (0x84) Offline data collection activity
was suspended by an interrupting command from host.
Auto Offline Data Collection: Enabled.
Self-test execution status:      (   0) The previous self-test routine completed
without error or no self-test has ever
been run.
Total time to complete Offline
data collection: ( 7070) seconds.
Offline data collection
capabilities: (0x5b) SMART execute Offline immediate.
Auto Offline data collection on/off support.
Suspend Offline collection upon new
command.
Offline surface scan supported.
Self-test supported.
No Conveyance Self-test supported.
Selective Self-test supported.
SMART capabilities:            (0x0003) Saves SMART data before entering
power-saving mode.
Supports SMART auto save timer.
Error logging capability:        (0x01) Error logging supported.
General Purpose Logging supported.
Short self-test routine
recommended polling time: (   1) minutes.
Extended self-test routine
recommended polling time: ( 118) minutes.
SCT capabilities:        (0x003d) SCT Status supported.
SCT Error Recovery Control supported.
SCT Feature Control supported.
SCT Data Table supported.

SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x000b   100   100   016    Pre-fail  Always       -       0
  2 Throughput_Performance  0x0005   141   141   054    Pre-fail  Offline      -       72
  3 Spin_Up_Time            0x0007   113   113   024    Pre-fail  Always       -       202 (Average 202)
  4 Start_Stop_Count        0x0012   100   100   000    Old_age   Always       -       543
  5 Reallocated_Sector_Ct   0x0033   100   100   005    Pre-fail  Always       -       0
  7 Seek_Error_Rate         0x000b   100   100   067    Pre-fail  Always       -       0
  8 Seek_Time_Performance   0x0005   110   110   020    Pre-fail  Offline      -       36
  9 Power_On_Hours          0x0012   099   099   000    Old_age   Always       -       8542
 10 Spin_Retry_Count        0x0013   100   100   060    Pre-fail  Always       -       0
 12 Power_Cycle_Count       0x0032   100   100   000    Old_age   Always       -       70
192 Power-Off_Retract_Count 0x0032   100   100   000    Old_age   Always       -       545
193 Load_Cycle_Count        0x0012   100   100   000    Old_age   Always       -       545
194 Temperature_Celsius     0x0002   157   157   000    Old_age   Always       -       38 (Min/Max 20/43)
196 Reallocated_Event_Count 0x0032   100   100   000    Old_age   Always       -       0
197 Current_Pending_Sector  0x0022   100   100   000    Old_age   Always       -       0
198 Offline_Uncorrectable   0x0008   100   100   000    Old_age   Offline      -       0
199 UDMA_CRC_Error_Count    0x000a   200   200   000    Old_age   Always       -       6

SMART Error Log Version: 1
ATA Error Count: 6 (device log contains only the most recent five errors)
CR = Command Register [HEX]
FR = Features Register [HEX]
SC = Sector Count Register [HEX]
SN = Sector Number Register [HEX]
CL = Cylinder Low Register [HEX]
CH = Cylinder High Register [HEX]
DH = Device/Head Register [HEX]
DC = Device Command Register [HEX]
ER = Error register [HEX]
ST = Status register [HEX]
Powered_Up_Time is measured from power on, and printed as
DDd+hh:mm:SS.sss where DD=days, hh=hours, mm=minutes,
SS=sec, and sss=millisec. It "wraps" after 49.710 days.

Error 6 occurred at disk power-on lifetime: 41 hours (1 days + 17 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  84 51 01 f7 82 6f 0b  Error: ICRC, ABRT 1 sectors at LBA = 0x0b6f82f7 = 191857399

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  35 00 08 f0 82 6f e0 00      01:13:59.295  WRITE DMA EXT
  35 00 08 90 82 6f e0 00      01:13:59.287  WRITE DMA EXT
  35 00 08 e8 81 6f e0 00      01:13:59.280  WRITE DMA EXT
  35 00 10 98 81 6f e0 00      01:13:59.266  WRITE DMA EXT
  35 00 08 88 81 6f e0 00      01:13:59.258  WRITE DMA EXT

Error 5 occurred at disk power-on lifetime: 41 hours (1 days + 17 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  84 51 21 87 28 86 03  Error: ICRC, ABRT 33 sectors at LBA = 0x03862887 = 59123847

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  35 00 80 28 28 86 e0 00      01:13:23.704  WRITE DMA EXT
  35 00 80 a8 27 86 e0 00      01:13:23.615  WRITE DMA EXT
  35 00 80 28 27 86 e0 00      01:13:23.524  WRITE DMA EXT
  35 00 80 a8 26 86 e0 00      01:13:23.431  WRITE DMA EXT
  35 00 80 28 26 86 e0 00      01:13:23.339  WRITE DMA EXT

Error 4 occurred at disk power-on lifetime: 41 hours (1 days + 17 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  84 51 21 87 f9 85 03  Error: ICRC, ABRT 33 sectors at LBA = 0x0385f987 = 59111815

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  35 00 80 28 f9 85 e0 00      01:13:14.914  WRITE DMA EXT
  35 00 80 a8 f8 85 e0 00      01:13:14.826  WRITE DMA EXT
  35 00 80 28 f8 85 e0 00      01:13:14.733  WRITE DMA EXT
  35 00 80 a8 f7 85 e0 00      01:13:14.651  WRITE DMA EXT
  35 00 80 28 f7 85 e0 00      01:13:14.558  WRITE DMA EXT

Error 3 occurred at disk power-on lifetime: 41 hours (1 days + 17 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  84 51 01 a7 ea 85 03  Error: ICRC, ABRT 1 sectors at LBA = 0x0385eaa7 = 59108007

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  35 00 80 28 ea 85 e0 00      01:13:11.948  WRITE DMA EXT
  35 00 80 a8 e9 85 e0 00      01:13:11.866  WRITE DMA EXT
  35 00 80 28 e9 85 e0 00      01:13:11.785  WRITE DMA EXT
  35 00 80 a8 e8 85 e0 00      01:13:11.703  WRITE DMA EXT
  35 00 80 28 e8 85 e0 00      01:13:11.615  WRITE DMA EXT

Error 2 occurred at disk power-on lifetime: 41 hours (1 days + 17 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  84 51 21 07 94 85 03  Error: ICRC, ABRT 33 sectors at LBA = 0x03859407 = 59085831

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  35 00 80 a8 93 85 e0 00      01:12:55.978  WRITE DMA EXT
  35 00 80 28 93 85 e0 00      01:12:55.884  WRITE DMA EXT
  35 00 80 a8 92 85 e0 00      01:12:55.794  WRITE DMA EXT
  35 00 80 28 92 85 e0 00      01:12:55.711  WRITE DMA EXT
  35 00 80 a8 91 85 e0 00      01:12:55.628  WRITE DMA EXT

SMART Self-test log structure revision number 1
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Short offline       Completed without error       00%         0         -

SMART Selective self-test log data structure revision number 1
 SPAN  MIN_LBA  MAX_LBA  CURRENT_TEST_STATUS
    1        0        0  Not_testing
    2        0        0  Not_testing
    3        0        0  Not_testing
    4        0        0  Not_testing
    5        0        0  Not_testing
Selective self-test flags (0x0):
  After scanning selected spans, do NOT read-scan remainder of disk.
If Selective self-test is pending on power-up, resume after 0 minute delay.

A ještě k tomu probouzení. Pokud má disk (vnitřně, to je dané) nastaven interval uspání na 10 min. nečinnosti, pak musí logicky být interval kontroly větší, tj. alespoň 11 min. Protože pokud se bude každou minutu kontrolovat teplota, disk nikdy do spánku (sám) nepřejde....
Navíc musím používat pro ext. disky  hddtemp -d sat /dev/sdx   přičemž parametr -n funguje jenom při -d ata. Je to ostatně uvedeno v helpu... Takže si můžu vybrat - buď zobrazení teplot nebo uspávání. Příkaz do conky pak vypadá takto:
Kód: [Vybrat]
${if_existing /dev/sdc}sdc ${execi 60 smartctl -l scttemp -d sat /dev/sdc | grep "Current Temperature" | cut -c 41-42}°C ${endif}
Tady to píše ty chybové kódy
Název: Re:Conky [Vyřešeno]
Přispěvatel: ramael 16 Června 2022, 18:59:27
juwa2:
Máš velký přehled tak bych se chtěl ještě zeptat na Conky. Často narážím na názor že Conky po Waylandem nefungují. Nyní píšu na Waylandu s Nvidií a KDE, má to spostu much jako trhavý obraz svislé šedé pruhy v panelu a naprosto nestabilní kurzor  ;D Pro mě těžko použitelné, ale conky se zobrazují na ploše opravdu naprosto stejně jako pod Xkama. Veze Conky je 1.12.2-2 Nvidie ovladač je 515.48.07. Zájímalo by mě jestli je možné že conky tak pěkně pod waylandem fungují, nebo jestli  nemůže být že si conky neco berou z Xek?
To běží přez XWayland. Pokud bys měl čistý Wayland nemáš šanci.
Název: Re:Conky [Vyřešeno]
Přispěvatel: PepanB 16 Června 2022, 19:06:32
Moc díky. Někde jsem před časem četl že xwayland neumí conky, ale je to asi dopilovaný a conky jsou ok.
Název: Re:Conky [Vyřešeno]
Přispěvatel: juwa2 16 Června 2022, 19:06:52
Kód: [Vybrat]
juwa@p-5738:~$ smartctl -l scttempsts --json=g /dev/sdc
json = {};
json.json_format_version = [];
json.json_format_version[0] = 1;
json.json_format_version[1] = 0;
json.smartctl = {};
json.smartctl.version = [];
json.smartctl.version[0] = 7;
json.smartctl.version[1] = 3;
json.smartctl.svn_revision = "5338";
json.smartctl.platform_info = "x86_64-linux-5.4.196-0504196-lowlatency";
json.smartctl.build_info = "(local build)";
json.smartctl.argv = [];
json.smartctl.argv[0] = "smartctl";
json.smartctl.argv[1] = "-l";
json.smartctl.argv[2] = "scttempsts";
json.smartctl.argv[3] = "--json=g";
json.smartctl.argv[4] = "/dev/sdc";
json.smartctl.drive_database_version = {};
json.smartctl.drive_database_version.string = "7.3/5319";
json.smartctl.exit_status = 0;
json.local_time = {};
json.local_time.time_t = 1655397908;
json.local_time.asctime = "Thu Jun 16 18:45:08 2022 CEST";
json.device = {};
json.device.name = "/dev/sdc";
json.device.info_name = "/dev/sdc [SAT]";
json.device.type = "sat";
json.device.protocol = "ATA";
json.ata_sct_status = {};
json.ata_sct_status.format_version = 3;
json.ata_sct_status.sct_version = 256;
json.ata_sct_status.device_state = {};
json.ata_sct_status.device_state.value = 4;
json.ata_sct_status.device_state.string = "SMART Off-line Data Collection executing in background";
json.ata_sct_status.temperature = {};
json.ata_sct_status.temperature.current = 34;
json.ata_sct_status.temperature.power_cycle_min = 27;
json.ata_sct_status.temperature.power_cycle_max = 41;
json.ata_sct_status.temperature.lifetime_min = 20;
json.ata_sct_status.temperature.lifetime_max = 43;
json.ata_sct_status.temperature.under_limit_count = 0;
json.ata_sct_status.temperature.over_limit_count = 0;
json.temperature = {};
json.temperature.current = 34;
json.temperature.power_cycle_min = 27;
json.temperature.power_cycle_max = 41;
json.temperature.lifetime_min = 20;
json.temperature.lifetime_max = 43;
Něco s tím diskem je. Minulý výpis tam psal nějaké errory. Tohle json.ata_sct_status.device_state.value = 4; je při standby nebo běžícím disku?

Běžícím. Pokud disk spí, příkaz jej nejprve probudí..
Název: Re:Conky [Vyřešeno]
Přispěvatel: ramael 16 Června 2022, 19:15:03
Kód: [Vybrat]
juwa@p-5738:~$ smartctl -l scttempsts --json=g /dev/sdc
json = {};
json.json_format_version = [];
json.json_format_version[0] = 1;
json.json_format_version[1] = 0;
json.smartctl = {};
json.smartctl.version = [];
json.smartctl.version[0] = 7;
json.smartctl.version[1] = 3;
json.smartctl.svn_revision = "5338";
json.smartctl.platform_info = "x86_64-linux-5.4.196-0504196-lowlatency";
json.smartctl.build_info = "(local build)";
json.smartctl.argv = [];
json.smartctl.argv[0] = "smartctl";
json.smartctl.argv[1] = "-l";
json.smartctl.argv[2] = "scttempsts";
json.smartctl.argv[3] = "--json=g";
json.smartctl.argv[4] = "/dev/sdc";
json.smartctl.drive_database_version = {};
json.smartctl.drive_database_version.string = "7.3/5319";
json.smartctl.exit_status = 0;
json.local_time = {};
json.local_time.time_t = 1655397908;
json.local_time.asctime = "Thu Jun 16 18:45:08 2022 CEST";
json.device = {};
json.device.name = "/dev/sdc";
json.device.info_name = "/dev/sdc [SAT]";
json.device.type = "sat";
json.device.protocol = "ATA";
json.ata_sct_status = {};
json.ata_sct_status.format_version = 3;
json.ata_sct_status.sct_version = 256;
json.ata_sct_status.device_state = {};
json.ata_sct_status.device_state.value = 4;
json.ata_sct_status.device_state.string = "SMART Off-line Data Collection executing in background";
json.ata_sct_status.temperature = {};
json.ata_sct_status.temperature.current = 34;
json.ata_sct_status.temperature.power_cycle_min = 27;
json.ata_sct_status.temperature.power_cycle_max = 41;
json.ata_sct_status.temperature.lifetime_min = 20;
json.ata_sct_status.temperature.lifetime_max = 43;
json.ata_sct_status.temperature.under_limit_count = 0;
json.ata_sct_status.temperature.over_limit_count = 0;
json.temperature = {};
json.temperature.current = 34;
json.temperature.power_cycle_min = 27;
json.temperature.power_cycle_max = 41;
json.temperature.lifetime_min = 20;
json.temperature.lifetime_max = 43;
Něco s tím diskem je. Minulý výpis tam psal nějaké errory. Tohle json.ata_sct_status.device_state.value = 4; je při standby nebo běžícím disku?

Běžícím. Pokud disk spí, příkaz jej nejprve probudí..
Tímto se také probudí?:
Kód: [Vybrat]
smartctl -l scttempsts --json=g -d sat /dev/sdc
Název: Re:Conky [Vyřešeno]
Přispěvatel: juwa2 16 Června 2022, 19:27:07
Ano, probudí...
Název: Re:Conky [Vyřešeno]
Přispěvatel: ramael 16 Června 2022, 19:38:58
Ano, probudí...
Uff, to by se nemělo dít. Ještě mne napadlo, někde jsem přitom bádání kolem toho, narazil na pár stížností. Stačilo vypnout a při úspěchu pak i zakázat smartd daemona. Ostatní disky třeba sdb  ti taky takhle "zlobí"?
Je mi jasný co to píše, ale druhá věc je co to doopravdy znamená:
SMART Off-line Data Collection executing in background
Název: Re:Conky [Vyřešeno]
Přispěvatel: juwa2 16 Června 2022, 19:41:18
Moc díky. Někde jsem před časem četl že xwayland neumí conky, ale je to asi dopilovaný a conky jsou ok.

Ano, xwayland - kolega byl rychlejší.... ;)
Ale obecně, pokud se vyskytne nějaká "novinka", vždy zvažuji její přínosy/nedostatky především pro mě jako uživatele.
V případě waylandu jsem přínos pro sebe nenašel vůbec žádný, zato komplikací (při běžném užívání systému) požehnaně.
Z tohoto důvodu wayland nepoužívám (je sice výchozí, ale zatím není povinný). U systemd "skřípu zuby".
Ostatně, zajímalo by mě z jakého důvodu tam vývojáři stále tlačí tyhle "novoty" které běžnému uživateli pouze komplikují život.
Když ostatních, skutečných problémů (i dlouhodobě neřešených) je stále až až... :-\

P.S. Mým snem je rozběhnout na ubuntu HW akceleraci videa (aspoň x264) na igpu intel.  Ani po dlouhodobém úsilí se mi to dosud nepodařilo, přitom na stejném stroji pod windows to funguje (díky directx).
Název: Re:Conky [Vyřešeno]
Přispěvatel: juwa2 16 Června 2022, 19:44:18
Ano, probudí...
Uff, to by se nemělo dít. Ještě mne napadlo, někde jsem přitom bádání kolem toho, narazil na pár stížností. Stačilo vypnout a při úspěchu pak i zakázat smartd daemona. Ostatní disky třeba sdb  ti taky takhle "zlobí"?
Je mi jasný co to píše, ale druhá věc je co to doopravdy znamená:
SMART Off-line Data Collection executing in background

Ano, dělají to všechny "uspávací" ext. disky.
Příkaz na vypnutí toho smartd daemona?
Název: Re:Conky [Vyřešeno]
Přispěvatel: ramael 16 Června 2022, 19:51:39
Ano, probudí...
Uff, to by se nemělo dít. Ještě mne napadlo, někde jsem přitom bádání kolem toho, narazil na pár stížností. Stačilo vypnout a při úspěchu pak i zakázat smartd daemona. Ostatní disky třeba sdb  ti taky takhle "zlobí"?
Je mi jasný co to píše, ale druhá věc je co to doopravdy znamená:
SMART Off-line Data Collection executing in background

Ano, dělají to všechny "uspávací" ext. disky.
Příkaz na vypnutí toho smart daemona?
sudo systemctl stop smartd.service
Tady se taky řeší toshiba:
https://www.smartmontools.org/ticket/1510
Název: Re:Conky [Vyřešeno]
Přispěvatel: ramael 16 Června 2022, 19:58:28
Ano, probudí...
Uff, to by se nemělo dít. Ještě mne napadlo, někde jsem přitom bádání kolem toho, narazil na pár stížností. Stačilo vypnout a při úspěchu pak i zakázat smartd daemona. Ostatní disky třeba sdb  ti taky takhle "zlobí"?
Je mi jasný co to píše, ale druhá věc je co to doopravdy znamená:
SMART Off-line Data Collection executing in background

Ano, dělají to všechny "uspávací" ext. disky.
Příkaz na vypnutí toho smartd daemona?
Fakt nevím kudy tudy. Příkaz na uspání funguje, což je fajn. Ale nevím jak jinak detekovat standby mod.
Ještě mě napadlo, copak vypíše toto při standby a při běžícím? A také to popřípadě probudí disk?:
Kód: [Vybrat]
sudo hdparm -C /dev/sdc
Název: Re:Conky [Vyřešeno]
Přispěvatel: juwa2 16 Června 2022, 20:09:15
Při uspaném disku (disk to probudí):
Kód: [Vybrat]
juwa@p-5738:~$ sudo hdparm -C /dev/sdc
/dev/sdc:
SG_IO: bad/missing sense data, sb[]:  70 00 01 00 00 00 00 0a 00 00 00 00 00 1d 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 drive state is:  unknown

Při běžícím disku to vypíše to samé...
Daemona jsem vypnul, čekám až se disk uspí. Pak zkusím  smartctl -l scttempsts --json=g -d sat /dev/sdc  jestli ho to probudí...
Edit: Probudí  :-[
Název: Re:Conky [Vyřešeno]
Přispěvatel: ramael 16 Června 2022, 20:17:30
Při uspaném disku (disk to probudí):
Kód: [Vybrat]
juwa@p-5738:~$ sudo hdparm -C /dev/sdc
/dev/sdc:
SG_IO: bad/missing sense data, sb[]:  70 00 01 00 00 00 00 0a 00 00 00 00 00 1d 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 drive state is:  unknown

Při běžícím disku to vypíše to samé...
Máš dualboot s Windowsem? Pokud ano, copak ti vypíše smartctl tam? Tohle je fakt prekérní situace...
Citace
Pak zkusím  smartctl -l scttempsts --json=g -d sat /dev/sdc  jestli ho to probudí...
Myslím, že probudí. Oni tam píšou, že při detekci/problému to probudí disk. Zkusím kouknout do manuálu, jestli tam někde nejdou ty sektory, nebo co to zlobí "opravit". Měl jsem za to že S.M.A.R.T. by si uměl sám vadný části vyhradit/znepřístupnit a ignorovat je.
Sakra dlouhej manuál, než si přečtu jednu sekci, zapomenu co bylo v předchozích  ::)
Název: Re:Conky [Vyřešeno]
Přispěvatel: juwa2 16 Června 2022, 20:21:39
Ne, na tomto stroji dualboot nemám. Jediný OS je Ubuntu.
Externí disky (uspávací) jsou
1. Jakási toshiba (3,5 SATA) v externím boxu Evolveo Tiny 5.
2. Externí disk WD My Book (uvnitř je 3,5 SATA WD green)
Název: Re:Conky [Vyřešeno]
Přispěvatel: ramael 16 Června 2022, 21:00:29
Tak něco bych tu měl:
Kód: [Vybrat]
sudo smartctl -o off /dev/sdc
A pak komplet výpis:
Kód: [Vybrat]
sudo smartctl -a /dev/sdc
A tohle by stálo asi také za přečtení:
Kód: [Vybrat]
sudo smartctl -g all /dev/sdc
Flag APM mi včera dělal divy když jsem si s tím hrál...
Název: Re:Conky [Vyřešeno]
Přispěvatel: juwa2 16 Června 2022, 21:42:59
1. sudo smartctl -o off /dev/sdc  okamžitě pobudí disk a vypíše
Kód: [Vybrat]
=== START OF ENABLE/DISABLE COMMANDS SECTION ===
SMART Automatic Offline Testing Disabled.

2. sudo smartctl -a /dev/sdc vypíše
Kód: [Vybrat]
=== START OF INFORMATION SECTION ===
Model Family:     Toshiba P300 (CMR)
Device Model:     TOSHIBA HDWD110
Serial Number:    80HM91VFS
LU WWN Device Id: 5 000039 fdff30b92
Firmware Version: MS2OA8R0
User Capacity:    1 000 204 886 016 bytes [1,00 TB]
Sector Sizes:     512 bytes logical, 4096 bytes physical
Rotation Rate:    7200 rpm
Form Factor:      3.5 inches
Device is:        In smartctl database 7.3/5319
ATA Version is:   ATA8-ACS T13/1699-D revision 4
SATA Version is:  SATA 3.0, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is:    Thu Jun 16 21:37:25 2022 CEST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

=== START OF READ SMART DATA SECTION ===
SMART Status not supported: Incomplete response, ATA output registers missing
SMART overall-health self-assessment test result: PASSED
Warning: This result is based on an Attribute check.

General SMART Values:
Offline data collection status:  (0x04) Offline data collection activity
was suspended by an interrupting command from host.
Auto Offline Data Collection: Disabled.
Self-test execution status:      (   0) The previous self-test routine completed
without error or no self-test has ever
been run.
Total time to complete Offline
data collection: ( 7070) seconds.
Offline data collection
capabilities: (0x5b) SMART execute Offline immediate.
Auto Offline data collection on/off support.
Suspend Offline collection upon new
command.
Offline surface scan supported.
Self-test supported.
No Conveyance Self-test supported.
Selective Self-test supported.
SMART capabilities:            (0x0003) Saves SMART data before entering
power-saving mode.
Supports SMART auto save timer.
Error logging capability:        (0x01) Error logging supported.
General Purpose Logging supported.
Short self-test routine
recommended polling time: (   1) minutes.
Extended self-test routine
recommended polling time: ( 118) minutes.
SCT capabilities:        (0x003d) SCT Status supported.
SCT Error Recovery Control supported.
SCT Feature Control supported.
SCT Data Table supported.

SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x000b   100   100   016    Pre-fail  Always       -       0
  2 Throughput_Performance  0x0005   141   141   054    Pre-fail  Offline      -       73
  3 Spin_Up_Time            0x0007   114   114   024    Pre-fail  Always       -       200 (Average 202)
  4 Start_Stop_Count        0x0012   100   100   000    Old_age   Always       -       592
  5 Reallocated_Sector_Ct   0x0033   100   100   005    Pre-fail  Always       -       0
  7 Seek_Error_Rate         0x000b   100   100   067    Pre-fail  Always       -       0
  8 Seek_Time_Performance   0x0005   110   110   020    Pre-fail  Offline      -       36
  9 Power_On_Hours          0x0012   099   099   000    Old_age   Always       -       8670
 10 Spin_Retry_Count        0x0013   100   100   060    Pre-fail  Always       -       0
 12 Power_Cycle_Count       0x0032   100   100   000    Old_age   Always       -       70
192 Power-Off_Retract_Count 0x0032   100   100   000    Old_age   Always       -       594
193 Load_Cycle_Count        0x0012   100   100   000    Old_age   Always       -       594
194 Temperature_Celsius     0x0002   200   200   000    Old_age   Always       -       30 (Min/Max 20/43)
196 Reallocated_Event_Count 0x0032   100   100   000    Old_age   Always       -       0
197 Current_Pending_Sector  0x0022   100   100   000    Old_age   Always       -       0
198 Offline_Uncorrectable   0x0008   100   100   000    Old_age   Offline      -       0
199 UDMA_CRC_Error_Count    0x000a   200   200   000    Old_age   Always       -       6

SMART Error Log Version: 1
ATA Error Count: 6 (device log contains only the most recent five errors)
CR = Command Register [HEX]
FR = Features Register [HEX]
SC = Sector Count Register [HEX]
SN = Sector Number Register [HEX]
CL = Cylinder Low Register [HEX]
CH = Cylinder High Register [HEX]
DH = Device/Head Register [HEX]
DC = Device Command Register [HEX]
ER = Error register [HEX]
ST = Status register [HEX]
Powered_Up_Time is measured from power on, and printed as
DDd+hh:mm:SS.sss where DD=days, hh=hours, mm=minutes,
SS=sec, and sss=millisec. It "wraps" after 49.710 days.

Error 6 occurred at disk power-on lifetime: 41 hours (1 days + 17 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  84 51 01 f7 82 6f 0b  Error: ICRC, ABRT 1 sectors at LBA = 0x0b6f82f7 = 191857399

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  35 00 08 f0 82 6f e0 00      01:13:59.295  WRITE DMA EXT
  35 00 08 90 82 6f e0 00      01:13:59.287  WRITE DMA EXT
  35 00 08 e8 81 6f e0 00      01:13:59.280  WRITE DMA EXT
  35 00 10 98 81 6f e0 00      01:13:59.266  WRITE DMA EXT
  35 00 08 88 81 6f e0 00      01:13:59.258  WRITE DMA EXT

Error 5 occurred at disk power-on lifetime: 41 hours (1 days + 17 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  84 51 21 87 28 86 03  Error: ICRC, ABRT 33 sectors at LBA = 0x03862887 = 59123847

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  35 00 80 28 28 86 e0 00      01:13:23.704  WRITE DMA EXT
  35 00 80 a8 27 86 e0 00      01:13:23.615  WRITE DMA EXT
  35 00 80 28 27 86 e0 00      01:13:23.524  WRITE DMA EXT
  35 00 80 a8 26 86 e0 00      01:13:23.431  WRITE DMA EXT
  35 00 80 28 26 86 e0 00      01:13:23.339  WRITE DMA EXT

Error 4 occurred at disk power-on lifetime: 41 hours (1 days + 17 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  84 51 21 87 f9 85 03  Error: ICRC, ABRT 33 sectors at LBA = 0x0385f987 = 59111815

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  35 00 80 28 f9 85 e0 00      01:13:14.914  WRITE DMA EXT
  35 00 80 a8 f8 85 e0 00      01:13:14.826  WRITE DMA EXT
  35 00 80 28 f8 85 e0 00      01:13:14.733  WRITE DMA EXT
  35 00 80 a8 f7 85 e0 00      01:13:14.651  WRITE DMA EXT
  35 00 80 28 f7 85 e0 00      01:13:14.558  WRITE DMA EXT

Error 3 occurred at disk power-on lifetime: 41 hours (1 days + 17 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  84 51 01 a7 ea 85 03  Error: ICRC, ABRT 1 sectors at LBA = 0x0385eaa7 = 59108007

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  35 00 80 28 ea 85 e0 00      01:13:11.948  WRITE DMA EXT
  35 00 80 a8 e9 85 e0 00      01:13:11.866  WRITE DMA EXT
  35 00 80 28 e9 85 e0 00      01:13:11.785  WRITE DMA EXT
  35 00 80 a8 e8 85 e0 00      01:13:11.703  WRITE DMA EXT
  35 00 80 28 e8 85 e0 00      01:13:11.615  WRITE DMA EXT

Error 2 occurred at disk power-on lifetime: 41 hours (1 days + 17 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  84 51 21 07 94 85 03  Error: ICRC, ABRT 33 sectors at LBA = 0x03859407 = 59085831

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  35 00 80 a8 93 85 e0 00      01:12:55.978  WRITE DMA EXT
  35 00 80 28 93 85 e0 00      01:12:55.884  WRITE DMA EXT
  35 00 80 a8 92 85 e0 00      01:12:55.794  WRITE DMA EXT
  35 00 80 28 92 85 e0 00      01:12:55.711  WRITE DMA EXT
  35 00 80 a8 91 85 e0 00      01:12:55.628  WRITE DMA EXT

SMART Self-test log structure revision number 1
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Short offline       Completed without error       00%         0         -

SMART Selective self-test log data structure revision number 1
 SPAN  MIN_LBA  MAX_LBA  CURRENT_TEST_STATUS
    1        0        0  Not_testing
    2        0        0  Not_testing
    3        0        0  Not_testing
    4        0        0  Not_testing
    5        0        0  Not_testing
Selective self-test flags (0x0):
  After scanning selected spans, do NOT read-scan remainder of disk.
If Selective self-test is pending on power-up, resume after 0 minute delay.

3. sudo smartctl -g all /dev/sdc   vypíše
Kód: [Vybrat]
AAM feature is:   Unavailable
APM feature is:   Disabled
Rd look-ahead is: Enabled
Write cache is:   Enabled
DSN feature is:   Unavailable
ATA Security is:  Disabled, NOT FROZEN [SEC1]
Název: Re:Conky [Vyřešeno]
Přispěvatel: ramael 16 Června 2022, 21:52:12
Aha. Tak si zapni APM:
Kód: [Vybrat]
sudo smartctl -s apm,128 /dev/sdc
A co to zahlásí při tom zapnutí
Název: Re:Conky [Vyřešeno]
Přispěvatel: juwa2 16 Června 2022, 22:08:15
Kód: [Vybrat]
=== START OF ENABLE/DISABLE COMMANDS SECTION ===
APM set to level 128 (minimum power consumption without standby)
Název: Re:Conky [Vyřešeno]
Přispěvatel: ramael 16 Června 2022, 22:13:01
To by mělo být ono!
Tak testy:
Kód: [Vybrat]
sudo smartctl -l scttempsts -d sat /dev/sdc
sudo smartctl -s standby,now -d sat /dev/sdc
sudo smartctl -l scttempsts -d sat /dev/sdc
Ta série s třeba dvouminutovýma odstupama. A doufám, že to poslední nechá disk ve standby ležet...
Název: Re:Conky [Vyřešeno]
Přispěvatel: juwa2 16 Června 2022, 22:30:35
První příkaz spící disk probudil.
Druhý příkaz disk uspal.
Třetí příkaz disk neprobudil, teplotu přečetl..
Kód: [Vybrat]
=== START OF READ SMART DATA SECTION ===
SCT Status Version:                  3
SCT Version (vendor specific):       256 (0x0100)
Device State:                        Stand-by (1)
Current Temperature:                    33 Celsius
Power Cycle Min/Max Temperature:     27/41 Celsius
Lifetime    Min/Max Temperature:     20/43 Celsius
Under/Over Temperature Limit Count:   0/0
Název: Re:Conky [Vyřešeno]
Přispěvatel: ramael 16 Června 2022, 22:34:21
Ano, třetí příkaz disk neprobudil...
Huráááá!!!
Půjdu si dát frťana!
To nastavení co jsi měl bylo na extrémní výkony, ale není moc dobré pro disk. Takhle jsem to pochopil z manuálů.
A ještě co ten ten poslední příkaz vypsal?

Ok, už to vidím.
Název: Re:Conky [Vyřešeno]
Přispěvatel: ramael 16 Června 2022, 22:38:57
Ano, třetí příkaz disk neprobudil, teplotu přečetl..
Kód: [Vybrat]
=== START OF READ SMART DATA SECTION ===
SCT Status Version:                  3
SCT Version (vendor specific):       256 (0x0100)
Device State:                        Stand-by (1)
Current Temperature:                    33 Celsius
Power Cycle Min/Max Temperature:     27/41 Celsius
Lifetime    Min/Max Temperature:     20/43 Celsius
Under/Over Temperature Limit Count:   0/0
Teď by ti měl fungovat ten můj skript na hlídání aktivity a uspávání disků. Vyzkoušej si to až budeš mít chuť se v tom ještě/znova vrtat. Napíšu ještě pravidla pro udev ať to sám spouští kdy bude třeba. A pak ještě optimalizace skriptu co čte teploty pro conky.
Název: Re:Conky [Vyřešeno]
Přispěvatel: juwa2 16 Června 2022, 22:41:48
To je ten tvůj první nebo druhý skript?
A pokud jsem to celé pochopil, problém byl v (SW) nastavení disku na max. výkon - pak nereagoval na příkaz "uspat"?
Název: Re:Conky [Vyřešeno]
Přispěvatel: ramael 16 Června 2022, 22:47:32
To je ten tvůj první nebo druhý skript?
A pokud jsem to celé pochopil, problém byl v (SW) nastavení disku na max. výkon - pak nereagoval na příkaz "uspat"?
Na "uspat" asi reagoval, ale při jakémkoliv přístupu, se aktivoval na maximum.

Tenhle je to. přednastavil jsem to na 10minut. Ale jde to měnit parametry.
Kód: [Vybrat]
#! /usr/bin/env bash

# *******************************************************
# skript má za úkol sledovat aktivitu na disku
# od poslední aktivity po nastaveném čase přepne disk
# do standby módu. Skript vyžaduje buď hdparm nebo smartctl
# smartctl (i starší verze) je rozumnější řešení. Lepší je skript
# spouštět s root právy. Nebo mít v .sudoers nastaveno bezheslové
# spouštění smartctl nebo hdparm
# zatím se skript spouští růčo:
# disk_handle.sh sdb &
# kde sdb je disk který chcete tímto způsobem "kontrolovat"
# pokud je někdo zvědavý ať si na konci skriptu odkomentuje
# tento řádek:
# echo $nespi
# mezi hvězdičkovými řádky
# pak se skript spustí bez posledního znaku &
# disk_handle.sh sdb
# alternativní spuštění: 
# disk_handle.sh sdb 900
# kde 900 je čas v sekundách za jak dlouho se má disk přepnout
#********************************************************

# #######################################################
# #######################################################
# Tady se dají vcelku bezproblémově nastavit různé
# parametry:


# po jaké době se má uspat disk v sekundách
m_sleep='600'

# rychlost hlavního loopu v sekundách
# čím vyšší číslo tím více šetříme CPU
# na úkor rychlosti odezvy
m_loop='2'

# defaultní treshold
treshold='2'

# #######################################################
# #######################################################
# a odtud už jen s velkou opatrností

NAS_READ='0'

# magické hodnoty mag_x a mag_y
# inspirace u autora conky na "doštelování" tresholdu
# podle vzorce treshold = treshold * mag_x + mag_y
mag_x='1'
mag_y='0'
# vzorec bude až za zpracováním argumentů

# později je třeba načítat z databáze !!!!
# typ='sat'

# #######################################################
# argumenty a jejich pořadí
# první bude disk!
# doba na uspání disku v sekundách
# jak rychlý má být loop
# treshold

# načtem název disku z prvního argumentu
m_disk=$1

# test jestli existuje soubor rotational
# pokud neexistuje, máme špatně zadaný disk nebo neexistuje
# když existuje jeho obsah předáme do proměnné rotation
# v opačném případě se skript ukončí s nenulovou návratovou hodnotou
rotation=$(cat /sys/block/$m_disk/queue/rotational) || exit 1

# pokud má předchozí výsledek hodnotu 0 disk by měl
# být bezplotnový a ukončíme to protože bezplotnové
# disky se neuspávají
# Zde se může vyskytnout problém. Třeba jedna prehistorická
# USB klíčenka (512MB = to bylo tenkrát dělo :D ) je registrována v
# systému jako plotnový disk. Nicméně smartctl ji nedokáže zpracovat
# a končí chybou
[[ $rotation -ne 0 ]] || exit 0

# pro hlavní funkci potřebujem smartctl nebo hdparm
# vytvoříme si vlastní konstrukt příkazu na uspávání
# teoreticky by smartctl měl v tomto případě fungovat bez
# určení typu - to se bude muset odzkoušet
uspavadlo=$( ((which smartctl) && echo ' -s standby,now ') || ((which hdparm) && echo ' -y ') ) || exit 1
kontrola_stavu=$( ((which smartctl) && echo ' -l scttempsts') || (( which hdparm) && echo ' -C') ) || exit 1

# přiřazení argumentů. Pokud nejsou zadány nastavíme je do defaultu
m_sleep=${2-$m_sleep}
m_loop=${3-$m_loop}
treshold=${4-$treshold}

# magika doštelování
# to tu není třeba
# treshold=$(( $treshold * $mag_x + $mag_y ))

# #######################################################
# zde budou funkce

## pomocná funkce na výpisy
hlaska () {
  cat <<LOG_HLASKA
  -----------------------------------------------
  teplota: $TEPLOTA°C
  stand: $STANDBY
  tre: $treshold
  poč * $pocatecni_cas
  akt * $(date +%s)
LOG_HLASKA
}


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

# předregistrace časového razítka aby se disk neposlal hned spát
pocatecni_cas=$(date +%s)

# místo `true` dáme dvojtečku, ušetříme tím strojový čas
while :;do

  # načtem hodnotu read
  # jasně nejpomalejší:
  # TR=$(cat /sys/block/$m_disk/stat | awk {'print $1'})
  # time sed -n 's/ *//;s/ .*//p' /sys/block/sda/stat
  # je pomalejší a o drtek náročnější než toto:
  TR=$(awk {'print $1'} /sys/block/$m_disk/stat) || exit 0

# později proměnnou zakomentovat nebo vymazat
  nespi='Disk je ve standby módu'
# *************************

  # test jestli disk spí
  if [ "$STANDBY" ]; then
    # disk nespííí
# později proměnnou zakomentovat nebo vymazat
    nespi='Disk je aktivní'
# *************************

    if [ $(( $TR - $NAS_READ )) -gt $treshold ]; then
      # pokud jsme mimo treshold nastavujem časové razítko
# později proměnnou zakomentovat nebo vymazat
      nespi='startuji časové razítko od teď za $m_sleep sekund se přejde \
      do standby módu pokud se disk nebude používat'
# *************************
      pocatecni_cas=$(date +%s)
    else
      # jsme v rámci tresholdu
      # porovnáme časové razítko s aktuálním časem
      # if [ $(( $pocatecni_cas + $m_sleep )) -lt $(date +%s) ]; then
        # počátek s námi udaným časem aktivity je menší než aktuální čas
        # je čas jít spinkat
        # sudo smartctl -s standby,now -d $typ /dev/$m_disk
        # echo 'jdu spát'
        # sudo $uspavadlo /dev/$m_disk
        [ $(( $pocatecni_cas + $m_sleep )) -lt $(date +%s) ] && sudo $uspavadlo /dev/$m_disk
      # fi
    fi
  fi

  # Tohle vlastně není nutné! To by neměla být práce tohoto scriptu
  # načtem informace ze S.M.A.R.T.u disku
  # SMART=$(sudo smartctl -l scttempsts -d $typ /dev/$m_disk)
  # STANDBY=$(echo "$SMART" | grep -i 'device state' | cut -d '(' -f 2)
  # Tohle se mi nedaří lépe napsat aniž by to přestalo fungovat ;(
  STANDBY=`sudo $kontrola_stavu /dev/$m_disk | grep -i 'active'`

  # uložíme si starou hodnotu na pozdější porovnání
  NAS_READ=$TR
  # výpis stavů různých proměnných
  # hlaska

# ***********************************************************************
# Pro zvědavce odkomentovat na sledování průběhu:
# echo $nespi
# ***********************************************************************

# reset proměnných
# STANDBY
sleep $m_loop
done
Název: Re:Conky [Vyřešeno]
Přispěvatel: juwa2 16 Června 2022, 22:57:26
Skript 1 teď (správně) běží furt pryč, nicméně časy poč a akt jsou stejné - tím pádem není splněna podmínka ve skriptu a disk se neuspí....
Skript 2 od počátku hlásí, že disk spí, ale není to pravda...
Název: Re:Conky [Vyřešeno]
Přispěvatel: ramael 16 Června 2022, 23:12:00
Skript 1 teď (správně) běží furt pryč, nicméně časy poč a akt jsou stejné - tím pádem není splněna podmínka ve skriptu a disk se neuspí....
Skript 2 od počátku hlásí, že disk spí, ale není to pravda...
Nevím který druhý myslíš. Avšak pokud jsou časy stejné, tak je problém v tresholdu. Je moc nízký. U mě dělá ty zmiňované 2. Na ženy PC je to čistá nula. Ještě sem postnu jeden skript na měření tresholdu.
Nejspíš zítra to přesunu na github, ať se to tu nezasírá fragmenty kódů a budem si psát jménama skriptů.
Název: Re:Conky [Vyřešeno]
Přispěvatel: ramael 16 Června 2022, 23:17:28
Kód: [Vybrat]
#! /usr/bin/env bash                                                                                               
                                                                                                                   
# $$ - vlastní pid                                                                                                 
ktery_disk="sdc"                                                                                                   
pocet_cyklu=10                                                                                                     
cyklu=$pocet_cyklu                                                                                                 
sekund_sleep_loop=1                                                                                                 
                                                                                                                   
                                                                                                                   
# načtem kolik proběhlo operací read před našim testem                                                             
poc_sektoru=`cat /sys/block/$ktery_disk/stat | awk {'print $1'}`                                                   
                                                                                                                   
# smyčka o zadaném počtu cyklů                                                                                     
while [ "$pocet_cyklu" -gt 0 ]; do                                                                                 
                                                                                                                   
  # načtem teplotu z disku                                                                                         
  TEPLOTA=`sudo smartctl -l scttempsts --json=g -d sat /dev/$ktery_disk | grep 'json.temperature.current' | cut -d '
=' -f 2`                                                                                                           
                                                                                                                   
  # vypisem teplotu                                                                                                 
  echo ${TEPLOTA//';'/'°C'}                                                                                         
                                                                                                                   
  # počkáme si ať nežerem procesorový čas                                                                           
  sleep $sekund_sleep_loop                                                                                         
                                                                                                                   
  # dekrementace cyklu                                                                                             
  pocet_cyklu=$(( $pocet_cyklu - 1 ))                                                                               
done
# kolik readů po testu                                                                                             
kon_sektoru=`cat /sys/block/$ktery_disk/stat | awk {'print $1'}`                                                   
                                                                                                                   
# rozdíl v počtu readů                                                                                             
                                                                                                                   
rozdil=$(( $kon_sektoru - $poc_sektoru ))                                                                           
echo "start sektoru: $poc_sektoru | end sektoru: $kon_sektoru | rozdíl: $rozdil"                                   
echo "Jeden read = $(( $rozdil / $cyklu ))"       
Když nic nebude přistupovat k disku a bude spát, spusť si to. Mělo by to ukázat Tvůj treshold.

Se to nenakopírovalo celé. Už jsem to zkompletoval
Název: Re:Conky [Vyřešeno]
Přispěvatel: juwa2 16 Června 2022, 23:51:24
Kód: [Vybrat]
juwa@p-5738:~$ ./disk_handle3.sh
cut: oddělovač musí být jediný znak
Více informací získáte příkazem „cut --help“.

cut: oddělovač musí být jediný znak
Více informací získáte příkazem „cut --help“.

cut: oddělovač musí být jediný znak
Více informací získáte příkazem „cut --help“.

cut: oddělovač musí být jediný znak
Více informací získáte příkazem „cut --help“.

cut: oddělovač musí být jediný znak
Více informací získáte příkazem „cut --help“.

cut: oddělovač musí být jediný znak
Více informací získáte příkazem „cut --help“.

cut: oddělovač musí být jediný znak
Více informací získáte příkazem „cut --help“.

cut: oddělovač musí být jediný znak
Více informací získáte příkazem „cut --help“.

cut: oddělovač musí být jediný znak
Více informací získáte příkazem „cut --help“.

cut: oddělovač musí být jediný znak
Více informací získáte příkazem „cut --help“.

start sektoru: 570 | end sektoru: 570 | rozdíl: 0
Jeden read = 0
Název: Re:Conky [Vyřešeno]
Přispěvatel: ramael 16 Června 2022, 23:56:39
Kód: [Vybrat]
juwa@p-5738:~$ ./disk_handle3.sh
cut: oddělovač musí být jediný znak
Více informací získáte příkazem „cut --help“.

cut: oddělovač musí být jediný znak
Více informací získáte příkazem „cut --help“.

cut: oddělovač musí být jediný znak
Více informací získáte příkazem „cut --help“.

cut: oddělovač musí být jediný znak
Více informací získáte příkazem „cut --help“.

cut: oddělovač musí být jediný znak
Více informací získáte příkazem „cut --help“.

cut: oddělovač musí být jediný znak
Více informací získáte příkazem „cut --help“.

cut: oddělovač musí být jediný znak
Více informací získáte příkazem „cut --help“.

cut: oddělovač musí být jediný znak
Více informací získáte příkazem „cut --help“.

cut: oddělovač musí být jediný znak
Více informací získáte příkazem „cut --help“.

cut: oddělovač musí být jediný znak
Více informací získáte příkazem „cut --help“.

start sektoru: 570 | end sektoru: 570 | rozdíl: 0
Jeden read = 0

To má být jeden řádek:
Kód: [Vybrat]
TEPLOTA=`sudo smartctl -l scttempsts --json=g -d sat /dev/$ktery_disk | grep 'json.temperature.current' | cut -d '=' -f 2`
Někde se to špatně přeneslo. Nejspíš u mne.

EDIT:
Pro jistotu ještě jednou výpisem catu:
Kód: [Vybrat]
#! /usr/bin/env bash

# $$ - vlastní pid
ktery_disk="sda"
pocet_cyklu=10
cyklu=$pocet_cyklu
sekund_sleep_loop=1


# načtem kolik proběhlo operací read před našim testem
poc_sektoru=`cat /sys/block/$ktery_disk/stat | awk {'print $1'}`

# smyčka o zadaném počtu cyklů
while [ "$pocet_cyklu" -gt 0 ]; do

  # načtem teplotu z disku
  TEPLOTA=`sudo smartctl -l scttempsts --json=g -d sat /dev/$ktery_disk | grep 'json.temperature.current' | cut -d '=' -f 2`

  # vypisem teplotu
  echo ${TEPLOTA//';'/'°C'}
 
  # počkáme si ať nežerem procesorový čas
  sleep $sekund_sleep_loop

  # dekrementace cyklu
  pocet_cyklu=$(( $pocet_cyklu - 1 ))
done

# kolik readů po testu
kon_sektoru=`cat /sys/block/$ktery_disk/stat | awk {'print $1'}`

# rozdíl v počtu readů

rozdil=$(( $kon_sektoru - $poc_sektoru ))
echo "start sektoru: $poc_sektoru | end sektoru: $kon_sektoru | rozdíl: $rozdil"
echo "Jeden read = $(( $rozdil / $cyklu ))"
Jsem to sem pro jistotu ještě jednou přenesl. Chyba byla na mé straně.
Název: Re:Conky [Vyřešeno]
Přispěvatel: juwa2 17 Června 2022, 00:19:15
Spící disk to probudilo:
Kód: [Vybrat]
juwa@p-5738:~$ ./disk_handle3.sh
34°C
34°C
34°C
34°C
34°C
34°C
34°C
34°C
34°C
34°C
start sektoru: 771 | end sektoru: 771 | rozdíl: 0
Jeden read = 0
Název: Re:Conky [Vyřešeno]
Přispěvatel: ramael 17 Června 2022, 00:35:49
Spící disk to probudilo:
Kód: [Vybrat]
juwa@p-5738:~$ ./disk_handle3.sh
34°C
34°C
34°C
34°C
34°C
34°C
34°C
34°C
34°C
34°C
start sektoru: 771 | end sektoru: 771 | rozdíl: 0
Jeden read = 0
To je v pořádku. Takže ty čísla byla stejná, protože tě něco přistupovalo k disku. Něco z něho četlo. Jinak si to nedovedu vysvětlit (zatím).
Už ten problém vidím. Zítra to budu muset otestovat.
Název: Re:Conky [Vyřešeno]
Přispěvatel: PepanB 17 Června 2022, 09:02:10
ramael:
chtěl bych se zeptat kde hledat chybu. Nevím jestli v smartctl nebo v konfiguraci conky. Chtěl jsem přidat i teplotu druhého USB disku. Stejný box a podobný disk tentokrát wd blue.
Když do conky přidám tyto dva řádky:
Kód: [Vybrat]
${color}sdc:  ${execi 60 smartctl -A /dev/sdc | egrep Temperature_Celsius | awk '{print $10}'
${color}sdd:  ${execi 60 smartctl -A /dev/sdd | egrep Temperature_Celsius | awk '{print $10}'
tak se zobrazí jenom jedna teplota. V tomto případě teplota sdc. Když sdc zakomentuji zobrazí se správně teplota sdd, ale nikdy obě najednou. Zkusil jsem hddtemp a tam se zobrazí obě teploty správně.
Název: Re:Conky [Vyřešeno]
Přispěvatel: ramael 17 Června 2022, 09:42:25
ramael:
chtěl bych se zeptat kde hledat chybu. Nevím jestli v smartctl nebo v konfiguraci conky. Chtěl jsem přidat i teplotu druhého USB disku. Stejný box a podobný disk tentokrát wd blue.
Když do conky přidám tyto dva řádky:
Kód: [Vybrat]
${color}sdc:  ${execi 60 smartctl -A /dev/sdc | egrep Temperature_Celsius | awk '{print $10}'
${color}sdd:  ${execi 60 smartctl -A /dev/sdd | egrep Temperature_Celsius | awk '{print $10}'
tak se zobrazí jenom jedna teplota. V tomto případě teplota sdc. Když sdc zakomentuji zobrazí se správně teplota sdd, ale nikdy obě najednou. Zkusil jsem hddtemp a tam se zobrazí obě teploty správně.
Myslím, že ti chybí ukončovací závorky:
Kód: [Vybrat]
${color}sdc:  ${execi 60 smartctl -A /dev/sdc | egrep Temperature_Celsius | awk '{print $10}'}
${color}sdd:  ${execi 60 smartctl -A /dev/sdd | egrep Temperature_Celsius | awk '{print $10}'}
Můžeš to zkrátit:
Kód: [Vybrat]
${color}sdc:  ${execi 60 smartctl -A /dev/sdc | awk '/Temperature_Celsius/{print $10}'}
${color}sdd:  ${execi 60 smartctl -A /dev/sdd | awk '/Temperature_Celsius/{print $10}'}
Název: Re:Conky [Vyřešeno]
Přispěvatel: PepanB 17 Června 2022, 11:08:13
ramael:
chtěl bych se zeptat kde hledat chybu. Nevím jestli v smartctl nebo v konfiguraci conky. Chtěl jsem přidat i teplotu druhého USB disku. Stejný box a podobný disk tentokrát wd blue.
Když do conky přidám tyto dva řádky:
Kód: [Vybrat]
${color}sdc:  ${execi 60 smartctl -A /dev/sdc | egrep Temperature_Celsius | awk '{print $10}'
${color}sdd:  ${execi 60 smartctl -A /dev/sdd | egrep Temperature_Celsius | awk '{print $10}'
tak se zobrazí jenom jedna teplota. V tomto případě teplota sdc. Když sdc zakomentuji zobrazí se správně teplota sdd, ale nikdy obě najednou. Zkusil jsem hddtemp a tam se zobrazí obě teploty správně.
Myslím, že ti chybí ukončovací závorky:
Kód: [Vybrat]
${color}sdc:  ${execi 60 smartctl -A /dev/sdc | egrep Temperature_Celsius | awk '{print $10}'}
${color}sdd:  ${execi 60 smartctl -A /dev/sdd | egrep Temperature_Celsius | awk '{print $10}'}
Můžeš to zkrátit:
Kód: [Vybrat]
${color}sdc:  ${execi 60 smartctl -A /dev/sdc | awk '/Temperature_Celsius/{print $10}'}
${color}sdd:  ${execi 60 smartctl -A /dev/sdd | awk '/Temperature_Celsius/{print $10}'}
Mooc dík, opravdu to bylo ukončovacími zavorkami. Slibuju že již nebudu otravovat. S Conky jsem zcela spokojený a určitě budou mít využití v nadcházejících vedrech
Název: Re:Conky [Vyřešeno]
Přispěvatel: ramael 17 Června 2022, 13:13:17
Skript na uspávání disků
Tak jsem trochu zeštíhlil skript a přidal automatickou kontrolu typu disku. Postnul jsem to na github ať se to tu neplevelí:
https://github.com/RadekRojik/conkys/blob/main/disk_handle.sh
Skript nemá v základním nastavení nic vypisovat! Spouští se buď s root právy nebo musíte mít nastaveno v .sudoers a .bashrc bezheslový smartctl. Skript po spuštění probudí disk kvůli kontrole typu disku. Pokud bude disk bezplotnový, skript se sám ukončí. Kdo si chce testovat funkčnost musí v něm odkomentovat dva označené řádky skoro na konci, aby viděl výstupy.
Včera/vlastně dnes nad ránem jsem zjistil, že namoutovaný disk malinko zvedá treshold oproti jen fyzicky připojenému (což je vlastně logické). Každý program na čtení informací o tom disku (zatížení, jak je plný, atd) zvyšuje hodnotu čtení nad treshold. Proto si v klidu pohrajte s třetím argumentem když vám neběží ostatní diskové operace (muzika, kopírování, filmy, atd). Čtení informací o disku je doporučeno. Takže když vám toto:
Kód: [Vybrat]
sudo disk_handle.sh sdb 120 2
po dvou minutách neuspí disk při splnění podmínek výše napsaných. Zkuste si to malinko zvednout:
Kód: [Vybrat]
sudo disk_handle.sh sdb 120 3
Atd. Jen pro zajímavost, spuštěný film z disku mi zvedl treshold na 6.
Připomínky a podněty samozřejmě vítány.

P.S. tento skript je malou částí celku aby se nejen v conky dali načítat teploty s minimální režií a zároveň se neudržovali disky stále roztočené. Je to takové drbání se levou rukou za pravým uchem, ale lepší řešení jsem zatím nenašel a nevymyslel.
Název: Re:Conky [Vyřešeno]
Přispěvatel: juwa2 17 Června 2022, 13:41:46
Kód: [Vybrat]
juwa@p-5738:~$ ./disk_handle4.sh sdc 120 2
awk: cmd. line:1: warning: escape sequence `\;' treated as plain `;'
  -----------------------------------------------
  stand: Device State:                        Active (0)
  treshold: 2
  počáteční čas: 1655465878
  aktuální čas 1655465878
Disk je ve standby módu
  -----------------------------------------------
  stand: Device State:                        Active (0)
  treshold: 2
  počáteční čas: 1655465878
  aktuální čas 1655465880
Disk je aktivní
  -----------------------------------------------
  stand: Device State:                        Active (0)
  treshold: 2
  počáteční čas: 1655465878
  aktuální čas 1655465882
Disk je aktivní

Před spuštěním skriptu disk běžel, běží stále, po 2 min. se neuspí....
EDIT_1: Po 10 min. přešel do standby (toho svého interního), skript "jede" dál, vypisuje hodnoty.
EDIT_2: Skript ukončen a spuštěn znovu (disk ve standby). Skript píše "Disk je aktivní" ale není to pravda....
EDIT_3: Teď se ale sám rozběhl a běží, skript vypisuje hodnoty....
Název: Re:Conky [Vyřešeno]
Přispěvatel: ramael 17 Června 2022, 13:56:01
Kód: [Vybrat]
juwa@p-5738:~$ ./disk_handle4.sh sdc 120 2
awk: cmd. line:1: warning: escape sequence `\;' treated as plain `;'
  -----------------------------------------------
  stand: Device State:                        Active (0)
  treshold: 2
  počáteční čas: 1655465878
  aktuální čas 1655465878
Disk je ve standby módu
  -----------------------------------------------
  stand: Device State:                        Active (0)
  treshold: 2
  počáteční čas: 1655465878
  aktuální čas 1655465880
Disk je aktivní
  -----------------------------------------------
  stand: Device State:                        Active (0)
  treshold: 2
  počáteční čas: 1655465878
  aktuální čas 1655465882
Disk je aktivní

Před spuštěním skriptu disk běžel, běží stále, po 2 min. se neuspí....
EDIT_1: Po 10 min. přešel do standby (toho svého interního), skript "jede" dál, vypisuje hodnoty.
EDIT_2: Skript ukončen a spuštěn znovu (disk ve standby). Skript píše "Disk je aktivní" ale není to pravda....
EDIT_3: Teď se ale sám rozběhl a běží, skript vypisuje hodnoty....

Nechápu co se mu nelíbí:
Citace
awk: cmd. line:1: warning: escape sequence `\;' treated as plain `;'

Když přidáš na 101. řádek
Kód: [Vybrat]
echo "*typ: $TYPE"
Copak to bude vypisovat?
Název: Re:Conky [Vyřešeno]
Přispěvatel: juwa2 17 Června 2022, 14:04:04
Ten výpis je pořád stejný... Teď píše "Disk je aktivní" a přitom disk spí....
Kód: [Vybrat]
Device placed in STANDBY mode
  -----------------------------------------------
  stand: Device State:                        Active (0)
  treshold: 2
  počáteční čas: 1655467394
  aktuální čas 1655467592
Disk je aktivní
smartctl 7.3 2022-02-28 r5338 [x86_64-linux-5.4.199-0504199-lowlatency] (local build)
Copyright (C) 2002-22, Bruce Allen, Christian Franke, www.smartmontools.org

Device placed in STANDBY mode
  -----------------------------------------------
  stand: Device State:                        Active (0)
  treshold: 2
  počáteční čas: 1655467394
  aktuální čas 1655467595
Disk je aktivní


Teď jsem ho probudil, ve výpisu se nic nezměnilo (vypisuje stále to stejné)...
Název: Re:Conky [Vyřešeno]
Přispěvatel: ramael 17 Června 2022, 14:08:22
Ten výpis je pořád stejný... Teď píše "Disk je aktivní" a přitom disk spí....
Aktualizoval jsem skript.
Na prví průchod vždy napíše blbost, ale další průchody už by měli být v pořádku. Ale pokaždé bez chybové hlášky.
Zkus tam přidat to "echo" ať víme kde je chybča
Název: Re:Conky [Vyřešeno]
Přispěvatel: ramael 17 Června 2022, 14:57:10
Ten výpis je pořád stejný... Teď píše "Disk je aktivní" a přitom disk spí....
Kód: [Vybrat]
Device placed in STANDBY mode
  -----------------------------------------------
  stand: Device State:                        Active (0)
  treshold: 2
  počáteční čas: 1655467394
  aktuální čas 1655467592
Disk je aktivní
smartctl 7.3 2022-02-28 r5338 [x86_64-linux-5.4.199-0504199-lowlatency] (local build)
Copyright (C) 2002-22, Bruce Allen, Christian Franke, www.smartmontools.org

Device placed in STANDBY mode
  -----------------------------------------------
  stand: Device State:                        Active (0)
  treshold: 2
  počáteční čas: 1655467394
  aktuální čas 1655467595
Disk je aktivní


Teď jsem ho probudil, ve výpisu se nic nezměnilo (vypisuje stále to stejné)...
Mě žena pustila na chvilku k jejímu PC. Tam to zlobilo taky. Než jsem si uvědomil, že nemá smartctl v sudoers.
Spustil jsem skript se sudo:
sudo disk_handle.sh sdb 60 2
přestal psát nesmysl o aktivitě a za minutu se přepnul do standby

Budem to asi řešit přez SZ, ať to téma tady tak nenabobtnává
Název: Re:Conky [Vyřešeno]
Přispěvatel: Roman Vacho 19 Června 2022, 09:48:38
Budem to asi řešit přez SZ, ať to téma tady tak nenabobtnává
Tam to lidi neuvidí. Určitě to ničemu nevadí. Vaše volba.
Název: Re:Conky [Vyřešeno]
Přispěvatel: ramael 19 Června 2022, 19:07:44
Zatím žádné SZ neproběhlo. Testuju všechny možnosti i nemožnosti. Přitom se dovzdělávám v bash skriptování. Bohužel jsem dost hardwarově omezen. Píšu a testuju na laptopu. Pak můžu pár testů provést na ženy PC (Zotac-ID81) se starým U16. Pak ještě jeden zotac u potomka s U20, který mi heslo nesdělí protože puberťák a tajemství. Ještě pár PC z ThinkClientů. Takže žádná výkonostní hitparáda. A hlavně žádná možnost přidat další disk. A tak jsou testy jen s jedním půjčeným USB diskem. Vše proháním přez strace a time. Už jsem to psal někde na začátku, nejmíň zatěžující a nejrychlejší z těch všech možností je příkaz hdparm.
Zajímalo by mne co vám vypíše příkaz
Kód: [Vybrat]
sudo hdparm -IBCH /dev/vas_disk
Předem děkuji za zveřejnění plného výpisu.
Název: Re:Conky [Vyřešeno]
Přispěvatel: juwa2 19 Června 2022, 19:42:54
Kód: [Vybrat]
juwa@p-5738:~$ sudo hdparm -IBCH /dev/sdc
[sudo] heslo pro juwa:         

/dev/sdc:
SG_IO: bad/missing sense data, sb[]:  70 00 01 00 00 00 00 0a 00 00 00 00 00 1d 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 drive temperature (celsius) is:  -6
 drive temperature in range:  yes
SG_IO: bad/missing sense data, sb[]:  70 00 01 00 00 00 00 0a 00 00 00 00 00 1d 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 drive state is:  unknown

ATA device, with non-removable media
Model Number:       TOSHIBA HDWD110                         
Serial Number:      80HM91VFS
Firmware Revision:  MS2OA8R0
Transport:          Serial, ATA8-AST, SATA 1.0a, SATA II Extensions, SATA Rev 2.5, SATA Rev 2.6, SATA Rev 3.0; Revision: ATA8-AST T13 Project D1697 Revision 0b
Standards:
Used: unknown (minor revision code 0x0029)
Supported: 8 7 6 5
Likely used: 8
Configuration:
Logical max current
cylinders 16383 16383
heads 16 16
sectors/track 63 63
--
CHS current addressable sectors:    16514064
LBA    user addressable sectors:   268435455
LBA48  user addressable sectors:  1953525168
Logical  Sector size:                   512 bytes
Physical Sector size:                  4096 bytes
Logical Sector-0 offset:                  0 bytes
device size with M = 1024*1024:      953869 MBytes
device size with M = 1000*1000:     1000204 MBytes (1000 GB)
cache/buffer size  = unknown
Form Factor: 3.5 inch
Nominal Media Rotation Rate: 7200
Capabilities:
LBA, IORDY(can be disabled)
Queue depth: 32
Standby timer values: spec'd by Standard, no device specific minimum
R/W multiple sector transfer: Max = 16 Current = 0
Advanced power management level: disabled
DMA: mdma0 mdma1 mdma2 udma0 udma1 udma2 udma3 udma4 udma5 *udma6
     Cycle time: min=120ns recommended=120ns
PIO: pio0 pio1 pio2 pio3 pio4
     Cycle time: no flow control=120ns  IORDY flow control=120ns
Commands/features:
Enabled Supported:
   * SMART feature set
    Security Mode feature set
   * Power Management feature set
   * Write cache
   * Look-ahead
   * Host Protected Area feature set
   * WRITE_BUFFER command
   * READ_BUFFER command
   * NOP cmd
   * DOWNLOAD_MICROCODE
    Advanced Power Management feature set
    Power-Up In Standby feature set
   * SET_FEATURES required to spinup after power up
    SET_MAX security extension
   * 48-bit Address feature set
   * Device Configuration Overlay feature set
   * Mandatory FLUSH_CACHE
   * FLUSH_CACHE_EXT
   * SMART error logging
   * SMART self-test
    Media Card Pass-Through
   * General Purpose Logging feature set
   * WRITE_{DMA|MULTIPLE}_FUA_EXT
   * 64-bit World wide name
   * URG for READ_STREAM[_DMA]_EXT
   * URG for WRITE_STREAM[_DMA]_EXT
   * WRITE_UNCORRECTABLE_EXT command
   * {READ,WRITE}_DMA_EXT_GPL commands
   * Segmented DOWNLOAD_MICROCODE
    unknown 119[7]
   * Gen1 signaling speed (1.5Gb/s)
   * Gen2 signaling speed (3.0Gb/s)
   * Gen3 signaling speed (6.0Gb/s)
   * Native Command Queueing (NCQ)
   * Host-initiated interface power management
   * Phy event counters
   * NCQ priority information
    Non-Zero buffer offsets in DMA Setup FIS
    DMA Setup Auto-Activate optimization
    Device-initiated interface power management
    In-order data delivery
    Software settings preservation
   * SMART Command Transport (SCT) feature set
   * SCT Write Same (AC2)
   * SCT Error Recovery Control (AC3)
   * SCT Features Control (AC4)
   * SCT Data Tables (AC5)
Security:
Master password revision code = 65534
supported
not enabled
not locked
not frozen
not expired: security count
not supported: enhanced erase
156min for SECURITY ERASE UNIT.
Logical Unit WWN Device Identifier: 5000039fdff30b92
NAA : 5
IEEE OUI : 000039
Unique ID : fdff30b92
Checksum: correct
 APM_level = off
Název: Re:Conky [Vyřešeno]
Přispěvatel: ramael 19 Června 2022, 20:01:37
Kód: [Vybrat]
juwa@p-5738:~$ sudo hdparm -IBCH /dev/sdc
[sudo] heslo pro juwa:         

/dev/sdc:
SG_IO: bad/missing sense data, sb[]:  70 00 01 00 00 00 00 0a 00 00 00 00 00 1d 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 drive temperature (celsius) is:  -6
 drive temperature in range:  yes
SG_IO: bad/missing sense data, sb[]:  70 00 01 00 00 00 00 0a 00 00 00 00 00 1d 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 drive state is:  unknown

ATA device, with non-removable media
Model Number:       TOSHIBA HDWD110                         
Serial Number:      80HM91VFS
Firmware Revision:  MS2OA8R0
Transport:          Serial, ATA8-AST, SATA 1.0a, SATA II Extensions, SATA Rev 2.5, SATA Rev 2.6, SATA Rev 3.0; Revision: ATA8-AST T13 Project D1697 Revision 0b
Standards:
Used: unknown (minor revision code 0x0029)
Supported: 8 7 6 5
Likely used: 8
Configuration:
Logical max current
cylinders 16383 16383
heads 16 16
sectors/track 63 63
--
CHS current addressable sectors:    16514064
LBA    user addressable sectors:   268435455
LBA48  user addressable sectors:  1953525168
Logical  Sector size:                   512 bytes
Physical Sector size:                  4096 bytes
Logical Sector-0 offset:                  0 bytes
device size with M = 1024*1024:      953869 MBytes
device size with M = 1000*1000:     1000204 MBytes (1000 GB)
cache/buffer size  = unknown
Form Factor: 3.5 inch
Nominal Media Rotation Rate: 7200
Capabilities:
LBA, IORDY(can be disabled)
Queue depth: 32
Standby timer values: spec'd by Standard, no device specific minimum
R/W multiple sector transfer: Max = 16 Current = 0
Advanced power management level: disabled
DMA: mdma0 mdma1 mdma2 udma0 udma1 udma2 udma3 udma4 udma5 *udma6
     Cycle time: min=120ns recommended=120ns
PIO: pio0 pio1 pio2 pio3 pio4
     Cycle time: no flow control=120ns  IORDY flow control=120ns
Commands/features:
Enabled Supported:
   * SMART feature set
    Security Mode feature set
   * Power Management feature set
   * Write cache
   * Look-ahead
   * Host Protected Area feature set
   * WRITE_BUFFER command
   * READ_BUFFER command
   * NOP cmd
   * DOWNLOAD_MICROCODE
    Advanced Power Management feature set
    Power-Up In Standby feature set
   * SET_FEATURES required to spinup after power up
    SET_MAX security extension
   * 48-bit Address feature set
   * Device Configuration Overlay feature set
   * Mandatory FLUSH_CACHE
   * FLUSH_CACHE_EXT
   * SMART error logging
   * SMART self-test
    Media Card Pass-Through
   * General Purpose Logging feature set
   * WRITE_{DMA|MULTIPLE}_FUA_EXT
   * 64-bit World wide name
   * URG for READ_STREAM[_DMA]_EXT
   * URG for WRITE_STREAM[_DMA]_EXT
   * WRITE_UNCORRECTABLE_EXT command
   * {READ,WRITE}_DMA_EXT_GPL commands
   * Segmented DOWNLOAD_MICROCODE
    unknown 119[7]
   * Gen1 signaling speed (1.5Gb/s)
   * Gen2 signaling speed (3.0Gb/s)
   * Gen3 signaling speed (6.0Gb/s)
   * Native Command Queueing (NCQ)
   * Host-initiated interface power management
   * Phy event counters
   * NCQ priority information
    Non-Zero buffer offsets in DMA Setup FIS
    DMA Setup Auto-Activate optimization
    Device-initiated interface power management
    In-order data delivery
    Software settings preservation
   * SMART Command Transport (SCT) feature set
   * SCT Write Same (AC2)
   * SCT Error Recovery Control (AC3)
   * SCT Features Control (AC4)
   * SCT Data Tables (AC5)
Security:
Master password revision code = 65534
supported
not enabled
not locked
not frozen
not expired: security count
not supported: enhanced erase
156min for SECURITY ERASE UNIT.
Logical Unit WWN Device Identifier: 5000039fdff30b92
NAA : 5
IEEE OUI : 000039
Unique ID : fdff30b92
Checksum: correct
 APM_level = off
Uff, a ještě jednou:
Kód: [Vybrat]
sudo smartctl -g all /dev/sdc

EDIT:
Bych řekl, že máš ten disk opět ve stavu "max výkonu"
Název: Re:Conky [Vyřešeno]
Přispěvatel: juwa2 19 Června 2022, 21:36:09
Kód: [Vybrat]
juwa@p-5738:~$ sudo smartctl -g all /dev/sdc
smartctl 7.3 2022-02-28 r5338 [x86_64-linux-5.4.199-0504199-lowlatency] (local build)
Copyright (C) 2002-22, Bruce Allen, Christian Franke, www.smartmontools.org

AAM feature is:   Unavailable
APM feature is:   Disabled
Rd look-ahead is: Enabled
Write cache is:   Enabled
DSN feature is:   Unavailable
ATA Security is:  Disabled, NOT FROZEN [SEC1]
Název: Re:Conky [Vyřešeno]
Přispěvatel: ramael 19 Června 2022, 21:49:01
Kód: [Vybrat]
juwa@p-5738:~$ sudo smartctl -g all /dev/sdc
smartctl 7.3 2022-02-28 r5338 [x86_64-linux-5.4.199-0504199-lowlatency] (local build)
Copyright (C) 2002-22, Bruce Allen, Christian Franke, www.smartmontools.org

AAM feature is:   Unavailable
APM feature is:   Disabled
Rd look-ahead is: Enabled
Write cache is:   Enabled
DSN feature is:   Unavailable
ATA Security is:  Disabled, NOT FROZEN [SEC1]
Jo, to je ten samý problém jako minule. Buď ti to něco přepisuje, nebo je třeba to v tom disku nějak uložit.
Název: Re:Conky [Vyřešeno]
Přispěvatel: ramael 19 Června 2022, 21:53:50
Kód: [Vybrat]
sudo smartctl -o off /dev/sdc
sudo smartctl -s apm,128 /dev/sdc
A pak opět výpis
Kód: [Vybrat]
sudo hdparm -IBCH /dev/sdc
Název: Re:Conky [Vyřešeno]
Přispěvatel: juwa2 19 Června 2022, 22:03:02
Já co vím z windowsů, tu hodnotu APM si nepamatuje žádný disk. O to se právě stará utilita CDI která si to pamatuje a toto nastavení udržuje.
Bez ní se disky řídí nastavením ve svém firmware.

V Ubuntu to stejné dělá utilita Disky (gnome-discs). V ní lze hodnotu APM nastavit a aplikace toto nastavení udržuje. Tohle je ale k dispozici pouze pro interní disky. Externí si dělají co chtějí. Ano, hodnotu lze příkazem sice změnit, ale po jeho odpojení nebo restartu OS je "vše při starém"...

Kód: [Vybrat]
juwa@p-5738:~$ sudo hdparm -IBCH /dev/sdc
[sudo] heslo pro juwa:         

/dev/sdc:
SG_IO: bad/missing sense data, sb[]:  70 00 01 00 00 00 00 0a 00 00 00 00 00 1d 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 drive temperature (celsius) is:  -6
 drive temperature in range:  yes
SG_IO: bad/missing sense data, sb[]:  70 00 01 00 00 00 00 0a 00 00 00 00 00 1d 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 drive state is:  unknown

ATA device, with non-removable media
Model Number:       TOSHIBA HDWD110                         
Serial Number:      80HM91VFS
Firmware Revision:  MS2OA8R0
Transport:          Serial, ATA8-AST, SATA 1.0a, SATA II Extensions, SATA Rev 2.5, SATA Rev 2.6, SATA Rev 3.0; Revision: ATA8-AST T13 Project D1697 Revision 0b
Standards:
Used: unknown (minor revision code 0x0029)
Supported: 8 7 6 5
Likely used: 8
Configuration:
Logical max current
cylinders 16383 16383
heads 16 16
sectors/track 63 63
--
CHS current addressable sectors:    16514064
LBA    user addressable sectors:   268435455
LBA48  user addressable sectors:  1953525168
Logical  Sector size:                   512 bytes
Physical Sector size:                  4096 bytes
Logical Sector-0 offset:                  0 bytes
device size with M = 1024*1024:      953869 MBytes
device size with M = 1000*1000:     1000204 MBytes (1000 GB)
cache/buffer size  = unknown
Form Factor: 3.5 inch
Nominal Media Rotation Rate: 7200
Capabilities:
LBA, IORDY(can be disabled)
Queue depth: 32
Standby timer values: spec'd by Standard, no device specific minimum
R/W multiple sector transfer: Max = 16 Current = 0
Advanced power management level: 128
DMA: mdma0 mdma1 mdma2 udma0 udma1 udma2 udma3 udma4 udma5 *udma6
     Cycle time: min=120ns recommended=120ns
PIO: pio0 pio1 pio2 pio3 pio4
     Cycle time: no flow control=120ns  IORDY flow control=120ns
Commands/features:
Enabled Supported:
   * SMART feature set
    Security Mode feature set
   * Power Management feature set
   * Write cache
   * Look-ahead
   * Host Protected Area feature set
   * WRITE_BUFFER command
   * READ_BUFFER command
   * NOP cmd
   * DOWNLOAD_MICROCODE
   * Advanced Power Management feature set
    Power-Up In Standby feature set
   * SET_FEATURES required to spinup after power up
    SET_MAX security extension
   * 48-bit Address feature set
   * Device Configuration Overlay feature set
   * Mandatory FLUSH_CACHE
   * FLUSH_CACHE_EXT
   * SMART error logging
   * SMART self-test
    Media Card Pass-Through
   * General Purpose Logging feature set
   * WRITE_{DMA|MULTIPLE}_FUA_EXT
   * 64-bit World wide name
   * URG for READ_STREAM[_DMA]_EXT
   * URG for WRITE_STREAM[_DMA]_EXT
   * WRITE_UNCORRECTABLE_EXT command
   * {READ,WRITE}_DMA_EXT_GPL commands
   * Segmented DOWNLOAD_MICROCODE
    unknown 119[7]
   * Gen1 signaling speed (1.5Gb/s)
   * Gen2 signaling speed (3.0Gb/s)
   * Gen3 signaling speed (6.0Gb/s)
   * Native Command Queueing (NCQ)
   * Host-initiated interface power management
   * Phy event counters
   * NCQ priority information
    Non-Zero buffer offsets in DMA Setup FIS
    DMA Setup Auto-Activate optimization
    Device-initiated interface power management
    In-order data delivery
    Software settings preservation
   * SMART Command Transport (SCT) feature set
   * SCT Write Same (AC2)
   * SCT Error Recovery Control (AC3)
   * SCT Features Control (AC4)
   * SCT Data Tables (AC5)
Security:
Master password revision code = 65534
supported
not enabled
not locked
not frozen
not expired: security count
not supported: enhanced erase
156min for SECURITY ERASE UNIT.
Logical Unit WWN Device Identifier: 5000039fdff30b92
NAA : 5
IEEE OUI : 000039
Unique ID : fdff30b92
Checksum: correct
 APM_level = 128
Název: Re:Conky [Vyřešeno]
Přispěvatel: ramael 27 Června 2022, 23:34:53
Dolaďuju skripty. Bohužel času už moc není, tak se k tomu dostávám sporadicky. Mám tu opět všeobecný dotaz, avšak hlavně na Juwa2 (protože tam máš ty snapové disky). Copak vypíšou tyto příkazy postupně:
Kód: [Vybrat]
ls -l1  /proc/scsi/
cat /proc/scsi/scsis
cat /proc/partitions
cat /proc/diskstats
ls -1 /sys/block/
ls -1 /dev/disk/by-path/

Pro zvědavce a šťourali. Čtyři příkazy co mají stejný úkol (naplnit proměnnou nase_ready hodnotou ze statu). Docela zajímavé výsledky testů:

time read -r nase_ready zbytek < <(cat /sys/block/nvme0n1/stat)

real   0m0,002s
user   0m0,001s
sys   0m0,000s

time  nase_ready=`cut -d " " -f 4  /sys/block/nvme0n1/stat`

real   0m0,002s
user   0m0,002s
sys   0m0,000s

time nase_ready=`awk {'print $1'} /sys/block/nvme0n1/stat`

real   0m0,003s
user   0m0,001s
sys   0m0,003s

time nase_ready=`sed -n 's/ *//;s/ .*//p' /sys/block/nvme0n1/stat`

real   0m0,004s
user   0m0,000s
sys   0m0,003s
Název: Re:Conky [Vyřešeno]
Přispěvatel: juwa2 28 Června 2022, 00:17:48
Kód: [Vybrat]
juwa@p-5738:~$ ls -l1  /proc/scsi/
celkem 0
-r--r--r-- 1 root root 0 čen 28 00:12 device_info
-r--r--r-- 1 root root 0 čen 28 00:12 scsi
dr-xr-xr-x 9 root root 0 čen 28 00:12 sg

juwa@p-5738:~$ cat /proc/scsi/scsis
cat: /proc/scsi/scsis: Adresář nebo soubor neexistuje

juwa@p-5738:~$ cat /proc/partitions
major minor  #blocks  name

   7        0      56868 loop0
   7        1      83212 loop1
   7        2     116620 loop2
   7        3      63412 loop3
   7        4       9536 loop4
   7        5      18276 loop5
   7        6     168712 loop6
   7        7     330700 loop7
   8        0  488386584 sda
   8        1  391917568 sda1
   8        2          1 sda2
   8        3    4194328 sda3
   8        5   39846912 sda5
   8        6   52424704 sda6
   8       16  976762584 sdb
   8       17  120688640 sdb1
   8       19          1 sdb3
   8       21  675617792 sdb5
   8       22  180451328 sdb6
   7        8      13840 loop8
   7        9        140 loop9
   7       10     355488 loop10
   7       11          4 loop11
  11        0    1048575 sr0
   8       32  976762584 sdc
   8       33  976758784 sdc1

juwa@p-5738:~$ cat /proc/diskstats
   7       0 loop0 54 0 698 1623 0 0 0 0 0 1608 1606 0 0 0 0
   7       1 loop1 55 0 2106 5635 0 0 0 0 0 2538 5613 0 0 0 0
   7       2 loop2 22994 0 48022 115397 0 0 0 0 0 7025 112197 0 0 0 0
   7       3 loop3 56 0 702 1810 0 0 0 0 0 1697 1790 0 0 0 0
   7       4 loop4 58 0 260 2914 0 0 0 0 0 1981 2888 0 0 0 0
   7       5 loop5 39 0 662 1966 0 0 0 0 0 1972 1955 0 0 0 0
   7       6 loop6 57 0 2092 2767 0 0 0 0 0 1954 2742 0 0 0 0
   7       7 loop7 57 0 2158 2653 0 0 0 0 0 2433 2635 0 0 0 0
   8       0 sda 261024 48681 32785062 5131091 1617793 779882 85674840 17549970 0 6124115 21813034 0 0 0 0
   8       1 sda1 23349 6116 3279586 231318 1302 2307 53584 49381 0 188239 271683 0 0 0 0
   8       2 sda2 11 0 58 386 0 0 0 0 0 397 383 0 0 0 0
   8       3 sda3 506 530 20680 17912 196450 93430 2319040 963233 0 124030 887081 0 0 0 0
   8       5 sda5 127787 2461 25621824 3368077 887517 72962 61662408 10033875 0 2103852 12915831 0 0 0 0
   8       6 sda6 109328 39574 3859738 1512631 514594 611183 21639808 4888844 0 2794246 6131652 0 0 0 0
   8      16 sdb 12152 4188 2931710 27771 7048 665930 5546952 58204 0 48653 75371 0 0 0 0
   8      17 sdb1 5177 0 1248592 7775 6364 658700 5320512 48304 0 23727 50162 0 0 0 0
   8      19 sdb3 6 0 36 2 0 0 0 0 0 9 0 0 0 0 0
   8      21 sdb5 68 0 6256 410 0 0 0 0 0 410 387 0 0 0 0
   8      22 sdb6 6825 4188 1672522 19432 680 7230 226440 9754 0 24894 24553 0 0 0 0
   7       8 loop8 46 0 682 1267 0 0 0 0 0 1235 1250 0 0 0 0
   7       9 loop9 16 0 80 487 0 0 0 0 0 492 484 0 0 0 0
   7      10 loop10 62 0 2140 3084 0 0 0 0 0 1888 3065 0 0 0 0
   7      11 loop11 5 0 16 132 0 0 0 0 0 135 132 0 0 0 0
   7      12 loop12 5 0 16 0 0 0 0 0 0 3 0 0 0 0 0
  11       0 sr0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
 252       0 pktcdvd0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
   8      32 sdc 680 0 70616 9749 0 0 0 0 0 8979 9471 0 0 0 0
   8      33 sdc1 645 0 68488 4192 0 0 0 0 0 3514 3933 0 0 0 0

juwa@p-5738:~$ ls -1 /sys/block/
loop0
loop1
loop10
loop11
loop12
loop2
loop3
loop4
loop5
loop6
loop7
loop8
loop9
pktcdvd0
sda
sdb
sdc
sr0

juwa@p-5738:~$ ls -1 /dev/disk/by-path/
pci-0000:00:1d.7-usb-0:1:1.0-scsi-0:0:0:0
pci-0000:00:1d.7-usb-0:1:1.0-scsi-0:0:0:0-part1
pci-0000:00:1f.2-ata-1
pci-0000:00:1f.2-ata-1-part1
pci-0000:00:1f.2-ata-1-part2
pci-0000:00:1f.2-ata-1-part3
pci-0000:00:1f.2-ata-1-part5
pci-0000:00:1f.2-ata-1-part6
pci-0000:00:1f.2-ata-2
pci-0000:00:1f.2-ata-2-part1
pci-0000:00:1f.2-ata-2-part3
pci-0000:00:1f.2-ata-2-part5
pci-0000:00:1f.2-ata-2-part6
platform-vhba-scsi-0:0:0:0
Název: Re:Conky [Vyřešeno]
Přispěvatel: ramael 28 Června 2022, 00:20:21
Kód: [Vybrat]
juwa@p-5738:~$ ls -l1  /proc/scsi/
celkem 0
-r--r--r-- 1 root root 0 čen 28 00:12 device_info
-r--r--r-- 1 root root 0 čen 28 00:12 scsi
dr-xr-xr-x 9 root root 0 čen 28 00:12 sg

juwa@p-5738:~$ cat /proc/scsi/scsis
cat: /proc/scsi/scsis: Adresář nebo soubor neexistuje

juwa@p-5738:~$ cat /proc/partitions
major minor  #blocks  name

   7        0      56868 loop0
   7        1      83212 loop1
   7        2     116620 loop2
   7        3      63412 loop3
   7        4       9536 loop4
   7        5      18276 loop5
   7        6     168712 loop6
   7        7     330700 loop7
   8        0  488386584 sda
   8        1  391917568 sda1
   8        2          1 sda2
   8        3    4194328 sda3
   8        5   39846912 sda5
   8        6   52424704 sda6
   8       16  976762584 sdb
   8       17  120688640 sdb1
   8       19          1 sdb3
   8       21  675617792 sdb5
   8       22  180451328 sdb6
   7        8      13840 loop8
   7        9        140 loop9
   7       10     355488 loop10
   7       11          4 loop11
  11        0    1048575 sr0
   8       32  976762584 sdc
   8       33  976758784 sdc1

juwa@p-5738:~$ cat /proc/diskstats
   7       0 loop0 54 0 698 1623 0 0 0 0 0 1608 1606 0 0 0 0
   7       1 loop1 55 0 2106 5635 0 0 0 0 0 2538 5613 0 0 0 0
   7       2 loop2 22994 0 48022 115397 0 0 0 0 0 7025 112197 0 0 0 0
   7       3 loop3 56 0 702 1810 0 0 0 0 0 1697 1790 0 0 0 0
   7       4 loop4 58 0 260 2914 0 0 0 0 0 1981 2888 0 0 0 0
   7       5 loop5 39 0 662 1966 0 0 0 0 0 1972 1955 0 0 0 0
   7       6 loop6 57 0 2092 2767 0 0 0 0 0 1954 2742 0 0 0 0
   7       7 loop7 57 0 2158 2653 0 0 0 0 0 2433 2635 0 0 0 0
   8       0 sda 261024 48681 32785062 5131091 1617793 779882 85674840 17549970 0 6124115 21813034 0 0 0 0
   8       1 sda1 23349 6116 3279586 231318 1302 2307 53584 49381 0 188239 271683 0 0 0 0
   8       2 sda2 11 0 58 386 0 0 0 0 0 397 383 0 0 0 0
   8       3 sda3 506 530 20680 17912 196450 93430 2319040 963233 0 124030 887081 0 0 0 0
   8       5 sda5 127787 2461 25621824 3368077 887517 72962 61662408 10033875 0 2103852 12915831 0 0 0 0
   8       6 sda6 109328 39574 3859738 1512631 514594 611183 21639808 4888844 0 2794246 6131652 0 0 0 0
   8      16 sdb 12152 4188 2931710 27771 7048 665930 5546952 58204 0 48653 75371 0 0 0 0
   8      17 sdb1 5177 0 1248592 7775 6364 658700 5320512 48304 0 23727 50162 0 0 0 0
   8      19 sdb3 6 0 36 2 0 0 0 0 0 9 0 0 0 0 0
   8      21 sdb5 68 0 6256 410 0 0 0 0 0 410 387 0 0 0 0
   8      22 sdb6 6825 4188 1672522 19432 680 7230 226440 9754 0 24894 24553 0 0 0 0
   7       8 loop8 46 0 682 1267 0 0 0 0 0 1235 1250 0 0 0 0
   7       9 loop9 16 0 80 487 0 0 0 0 0 492 484 0 0 0 0
   7      10 loop10 62 0 2140 3084 0 0 0 0 0 1888 3065 0 0 0 0
   7      11 loop11 5 0 16 132 0 0 0 0 0 135 132 0 0 0 0
   7      12 loop12 5 0 16 0 0 0 0 0 0 3 0 0 0 0 0
  11       0 sr0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
 252       0 pktcdvd0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
   8      32 sdc 680 0 70616 9749 0 0 0 0 0 8979 9471 0 0 0 0
   8      33 sdc1 645 0 68488 4192 0 0 0 0 0 3514 3933 0 0 0 0

juwa@p-5738:~$ ls -1 /sys/block/
loop0
loop1
loop10
loop11
loop12
loop2
loop3
loop4
loop5
loop6
loop7
loop8
loop9
pktcdvd0
sda
sdb
sdc
sr0

juwa@p-5738:~$ ls -1 /dev/disk/by-path/
pci-0000:00:1d.7-usb-0:1:1.0-scsi-0:0:0:0
pci-0000:00:1d.7-usb-0:1:1.0-scsi-0:0:0:0-part1
pci-0000:00:1f.2-ata-1
pci-0000:00:1f.2-ata-1-part1
pci-0000:00:1f.2-ata-1-part2
pci-0000:00:1f.2-ata-1-part3
pci-0000:00:1f.2-ata-1-part5
pci-0000:00:1f.2-ata-1-part6
pci-0000:00:1f.2-ata-2
pci-0000:00:1f.2-ata-2-part1
pci-0000:00:1f.2-ata-2-part3
pci-0000:00:1f.2-ata-2-part5
pci-0000:00:1f.2-ata-2-part6
platform-vhba-scsi-0:0:0:0
Aááá chybka (moje) u druhého příkazu. Ten měl být :
Kód: [Vybrat]
cat /proc/scsi/scsi
Název: Re:Conky [Vyřešeno]
Přispěvatel: ramael 28 Června 2022, 00:34:48
Hmm, a ještě na tohle jsem opomenul:
Kód: [Vybrat]
ls -1 /sys/class/scsi_disk/

Díky
Název: Re:Conky [Vyřešeno]
Přispěvatel: juwa2 28 Června 2022, 01:16:17
Kód: [Vybrat]
juwa@p-5738:~$ cat /proc/scsi/scsi
Attached devices:
Host: scsi0 Channel: 00 Id: 00 Lun: 00
  Vendor: ATA      Model: TOSHIBA MQ01ABD0 Rev: 1A 
  Type:   Direct-Access                    ANSI  SCSI revision: 05
Host: scsi1 Channel: 00 Id: 00 Lun: 00
  Vendor: ATA      Model: ST1000LM035-1RK1 Rev: SDM1
  Type:   Direct-Access                    ANSI  SCSI revision: 05
Host: scsi6 Channel: 00 Id: 00 Lun: 00
  Vendor: CDEmu    Model: CD-ROM           Rev: 1.0
  Type:   CD-ROM                           ANSI  SCSI revision: 00
Host: scsi7 Channel: 00 Id: 00 Lun: 00
  Vendor: TOSHIBA  Model: HDWD110          Rev: 8101
  Type:   Direct-Access                    ANSI  SCSI revision: 06

juwa@p-5738:~$ ls -1 /sys/class/scsi_disk/
0:0:0:0
1:0:0:0
7:0:0:0
Název: Re:Conky [Vyřešeno]
Přispěvatel: ramael 01 Července 2022, 23:57:58
Tak už jsem to snad dal dohromady: https://github.com/RadekRojik/conkys
Stačí stáhnout archív, rozbalit a spustit
Kód: [Vybrat]
sudo ./install.sh
Na příslušná místa se nakopírují soubory se správnýma právama a pak se načte konfigurace udev a systemd. Takže by nemělo být nutné PC restartovat. Odzkoušeno se čtyřma různýma diskama přez USB rozhraní. PATA disky mi smartctl nechce pobrat. Ale je to možná dané HW bridgema co mám k dispozici. Jinak klasické USB SSD by měli být v poho. Šuplíkové nemám šanci odzkoušet (klidně se může někdo přidat). Pořešil jsem to tak, že na každý připojený disk se spustí obslužný skript. Ten vytvoří v RAM/SWAP /dev/shm/conkys/pripojeny_disk/ adresář. A v něm tři soubory PID, activity a temp. V PIDu je uložený PID obslužného skriptu. Activity má hodnotu 0|1 podle toho, jestli se disk točí, nebo ne. A v temp je teplota disku. Pokud je disk aktivní, je v něm teplota aktuální. Pokud je ve standby bude tam poslední naměřená teplota kdy byl aktivní. Skript si automaticky zjistí treshold. Při připojení disku projede databázi v ~/.conky/my_conf.conf. Pokud tam není disk zaregistrován, automaticky se zaregistruje. Soubor je popsaný a můžou se parametry pro každý registrovaný disk upravovat. Jak často má proběhnout načtení aktuálních údajů, po jaké době neaktivity se má disk uspat, a jako poslední treshold (na doladění). Pakliže se disk fyzicky odpojí, udev hned spustí skript který zabije ten obslužný. Pomocí trap se smaže celá větev v RAM. V ~/.conky/conkys_data.conf.sh se dá zapnout/vypnout logování (kdy jaký disk se připojil/odpojil, přešel do standby a naopak) a přednastavit pár defaultních hodnot pro ještě neregistrované disky.
Celé to jde jednoduše odinstalovat:
Kód: [Vybrat]
sudo ./install.sh -u
V tomto případě, se všechny skripty/soubory smažou a obnoví se udev a systemd do původního stavu.
Celé jsem to odzkoušel na mém laptopu a potomkovo Zotacu. Jsem si vědom omezení jen na disky registrované v /dev/. Což je ale základní nastavení ubuntu. Ten kdo si disky mapuje podle sebe, si jistě zvládne skripty poupravit.

Napsal jsem to v bash aby to bylo co nejvíce univerzální. Musím říct, klobouk dolu před lidma, co jsou schopni v tom napsat velké projekty. Za systemd bych Lennarta nejradši přibil na zeď krovákama. To když zkrátka udev spustí skript, ale systemd ho zabije po cca dvou minutách. To se pak hledá, píšou obslužné podprogramy co kde proč a jak jsem asi pos... A nakonec z logů najít problém.A pak nezbylo nic jiného, než si přečíst těch X stovek řádků dokumentace jak k udev tak potom k systemd. Abych zjistil, že systemd přebral vedení nad udevem v plné míře. Už to bylo dost mrzuté. Našel jsem hack jak to obejít, aby skript běžel dál. Ale bylo by to za cenu, že by si musel uživatel stáhnout další program. Tak jsem napsal pravidla která spouštěla ..... Zkrátka ani tohle systemd nezvládl pořádně! Spouští se to přez něj a ukončuje na tvrdo po staru. Jinak to nešlo.

Podměty, připomínky, hlášení o funkčnosti ale i o nefunkčnosti vítány.
Ještě chci přidat dvě kolonky do databáze. Jedna na ignorování disku. To třeba když se klíčenka snaží chovat jako disk. A druhá na volné přidání parametrů pro smartctl. Kdyby měl někdo disk jako @juwa2 a chtěl by ho automaticky umravnit.

EDIT: Poupraveny adresy k aktuálnímu stavu
Název: Re:Conky [Vyřešeno]
Přispěvatel: ramael 02 Července 2022, 03:55:17
Mi to nedalo spát. Přidal jsem ještě ignorování disku. A po trochu se poprání s pravidly pro sed jsou tam i ty parametry pro smartctl. V souboru ~/.conky/my_conf.conf je jeden disk jako vzor. Soubor je okomentován. Takže stačí připojit disk a pak si ho v souboru donastavit dle předlohy. Samozřejmě jdou disky z té databáze také mazat :)
Pozor, není to nijak ošetřeno proti špatně zadaným údajům!!!
Při problémech nebo testování více napoví:
Kód: [Vybrat]
tail -n 15 -f /var/log/syslog
Název: Re:Conky [Vyřešeno]
Přispěvatel: juwa2 02 Července 2022, 10:12:07
Chybka se vloudila...
Kód: [Vybrat]
juwa@p-5738:~/Stazene/conkys-main$ sudo ./install.sh
install: nelze vytvořit obyčejný soubor '/home/juwa/.config/conky/conkys_data.conf.sh': Adresář nebo soubor neexistuje
install: nelze vytvořit obyčejný soubor '/home/juwa/.config/conky/my_conf.conf': Adresář nebo soubor neexistuje
Created symlink /etc/systemd/system/graphical.target.wants/conkys@.service → /etc/systemd/system/conkys@.service.

Složku je třeba vytvořit nejprve ručně, pak instalace proběhne ok.
Jinak konfigurace conky je standardně v adresáři
Kód: [Vybrat]
~/.conky
Název: Re:Conky [Vyřešeno]
Přispěvatel: ramael 02 Července 2022, 10:44:32
@Juwa2 díky, už jsem to opravil.
Název: Re:Conky [Vyřešeno]
Přispěvatel: juwa2 02 Července 2022, 11:11:25
Dotaz - jakým příkazem (v conky) se teda ty teploty načtou?
Ze souborů  /dev/shm/conkys/sdX/temp  ?

Ke konfiguráku my_conf.conf:
Interní disky nechci uspávat - jak to tam zohlednit? 
Interní disky tam nemám, externí se tam po připojení automaticky načetl.
Po ručním přidání interních disků se toto v /dev/shm/conkys  neprojeví...
Ignorance disků 0 znamená, že je disk ignorovaný nebo není?
Název: Re:Conky [Vyřešeno]
Přispěvatel: ramael 02 Července 2022, 11:28:34
Při připojení disku dejme tomu sda se vytvoří /dev/shm/conkys/sda/[PID, activity, temp]
Při odpojení se to automaticky smaže. v temp je teplota. Pokud je někde chyba a nemáš zakomentovaný LOG v ~/.conky/conkys_data.conf.sh Tak by se tam mimo jiné mělo objevit kdy a kde se ta chyba vyskytla (což mě hodně zajímá).
Pokud je nežádoucí disk "uspat", nastavil bych mu SPAT_ZA třeba na hodinu (3600). Do té doby snad něco k disku přistoupí a čas se automaticky zase posune o hodinu.
Název: Re:Conky [Vyřešeno]
Přispěvatel: juwa2 02 Července 2022, 11:41:57
Interní disky (sda  a  sdb) byly v době spuštění  skriptu samozřejmě připojené.  sdb jsem zkusil cvičně odpojit/připojit - bez efektu.
Ještě zkusím restartovat, zda bude změna....
Co je však pozitivní, u externích disků to funguje dobře - disky se uspávají, teploty se zobrazují správně - dokonce i během spánku (foukal jsem fénem).
Název: Re:Conky [Vyřešeno]
Přispěvatel: ramael 02 Července 2022, 11:42:42
Citace
Ze souborů  /dev/shm/conkys/sdX/temp
Ano, z těchto souborů se to načte.
Ignorace disku je dána hodnotou 1.
Citace
Po ručním přidání interních disků se toto v /dev/shm/conkys neprojeví...
Nad tím musím ještě popřemýšlet. Protože je to nastavené pomocí udev A ten disk tam byl dřív než jsi to spustil. Je fakt, že jsem nastavil systemd na grafický target. Možná zkusit ho na tvrdo zaregistrovat:
Kód: [Vybrat]
sudo /usr/local/sbin/conkys_start.sh sda
Kde sda je ten interní disk.
Název: Re:Conky [Vyřešeno]
Přispěvatel: ramael 02 Července 2022, 11:55:53
Citace
sdb jsem zkusil cvičně odpojit/připojit - bez efektu.
Ono je to dáno fyzickým připojením/odpojením ne mountem.
Copak řekne toto na interní disk?
Kód: [Vybrat]
udevadm info --query all --attribute-walk --path $(udevadm info -q path -n /dev/interni_disk)
Kde interni_disk bude nejspíš sdb
Název: Re:Conky [Vyřešeno]
Přispěvatel: juwa2 02 Července 2022, 12:01:02
Tak po restartu se (podle předpokladu) interní disky zaregistrovaly, soubory v /dev/shm/conkys  se vytvořily.  Což už ničemu nevadí.
Uspávání jsem nastavil na 3600

Jediné co zbývá dořešit je příkaz do conky, protože pokud tam dám
Kód: [Vybrat]
Temp: sdc ${head /dev/shm/conkys/sdc/temp 1}
Tak se sice teplota zobrazí, ale po odpojení disku celé conky spadne - jelikož ten soubor přestane existovat. Bude tam třeba dát podmínku if_exist
Název: Re:Conky [Vyřešeno]
Přispěvatel: juwa2 02 Července 2022, 12:04:56
Citace
sdb jsem zkusil cvičně odpojit/připojit - bez efektu.
Ono je to dáno fyzickým připojením/odpojením ne mountem.
Copak řekne toto na interní disk?
Kód: [Vybrat]
udevadm info --query all --attribute-walk --path $(udevadm info -q path -n /dev/interni_disk)
Kde interni_disk bude nejspíš sdb

Jo, to fyzické připojen/odpojení mě taky napadlo - řeší to restart, tím je to vyřešeno...  Nicméně pro zajímavost
Kód: [Vybrat]
juwa@p-5738:~$ udevadm info --query all --attribute-walk --path $(udevadm info -q path -n /dev/sdb)

Udevadm info starts with the device specified by the devpath and then
walks up the chain of parent devices. It prints for every device
found, all possible attributes in the udev rules key format.
A rule to match, can be composed by the attributes of the device
and the attributes from one single parent device.

  looking at device '/devices/pci0000:00/0000:00:1f.2/ata2/host1/target1:0:0/1:0:0:0/block/sdb':
    KERNEL=="sdb"
    SUBSYSTEM=="block"
    DRIVER==""
    ATTR{alignment_offset}=="0"
    ATTR{capability}=="50"
    ATTR{discard_alignment}=="0"
    ATTR{events}==""
    ATTR{events_async}==""
    ATTR{events_poll_msecs}=="-1"
    ATTR{ext_range}=="256"
    ATTR{hidden}=="0"
    ATTR{inflight}=="       0        0"
    ATTR{range}=="16"
    ATTR{removable}=="0"
    ATTR{ro}=="0"
    ATTR{size}=="1953525168"
    ATTR{stat}=="     354      299    27942     1736        1        0        8       46        0     1037     1644        0        0        0        0"

  looking at parent device '/devices/pci0000:00/0000:00:1f.2/ata2/host1/target1:0:0/1:0:0:0':
    KERNELS=="1:0:0:0"
    SUBSYSTEMS=="scsi"
    DRIVERS=="sd"
    ATTRS{blacklist}==""
    ATTRS{device_blocked}=="0"
    ATTRS{device_busy}=="0"
    ATTRS{dh_state}=="detached"
    ATTRS{eh_timeout}=="10"
    ATTRS{evt_capacity_change_reported}=="0"
    ATTRS{evt_inquiry_change_reported}=="0"
    ATTRS{evt_lun_change_reported}=="0"
    ATTRS{evt_media_change}=="0"
    ATTRS{evt_mode_parameter_change_reported}=="0"
    ATTRS{evt_soft_threshold_reached}=="0"
    ATTRS{inquiry}==""
    ATTRS{iocounterbits}=="32"
    ATTRS{iodone_cnt}=="0x352"
    ATTRS{ioerr_cnt}=="0x120"
    ATTRS{iorequest_cnt}=="0x355"
    ATTRS{model}=="ST1000LM035-1RK1"
    ATTRS{ncq_prio_enable}=="0"
    ATTRS{queue_depth}=="32"
    ATTRS{queue_ramp_up_period}=="120000"
    ATTRS{queue_type}=="simple"
    ATTRS{rev}=="SDM1"
    ATTRS{scsi_level}=="6"
    ATTRS{state}=="running"
    ATTRS{timeout}=="30"
    ATTRS{type}=="0"
    ATTRS{unload_heads}=="0"
    ATTRS{vendor}=="ATA     "
    ATTRS{vpd_pg80}==""
    ATTRS{vpd_pg83}==""
    ATTRS{wwid}=="naa.5000c5009d4b8d77"

  looking at parent device '/devices/pci0000:00/0000:00:1f.2/ata2/host1/target1:0:0':
    KERNELS=="target1:0:0"
    SUBSYSTEMS=="scsi"
    DRIVERS==""

  looking at parent device '/devices/pci0000:00/0000:00:1f.2/ata2/host1':
    KERNELS=="host1"
    SUBSYSTEMS=="scsi"
    DRIVERS==""

  looking at parent device '/devices/pci0000:00/0000:00:1f.2/ata2':
    KERNELS=="ata2"
    SUBSYSTEMS==""
    DRIVERS==""

  looking at parent device '/devices/pci0000:00/0000:00:1f.2':
    KERNELS=="0000:00:1f.2"
    SUBSYSTEMS=="pci"
    DRIVERS=="ahci"
    ATTRS{ari_enabled}=="0"
    ATTRS{broken_parity_status}=="0"
    ATTRS{class}=="0x010601"
    ATTRS{consistent_dma_mask_bits}=="64"
    ATTRS{d3cold_allowed}=="1"
    ATTRS{device}=="0x2929"
    ATTRS{dma_mask_bits}=="64"
    ATTRS{driver_override}=="(null)"
    ATTRS{enable}=="1"
    ATTRS{irq}=="24"
    ATTRS{local_cpulist}=="0-1"
    ATTRS{local_cpus}=="3"
    ATTRS{msi_bus}=="1"
    ATTRS{numa_node}=="-1"
    ATTRS{revision}=="0x03"
    ATTRS{subsystem_device}=="0x0205"
    ATTRS{subsystem_vendor}=="0x1025"
    ATTRS{vendor}=="0x8086"

  looking at parent device '/devices/pci0000:00':
    KERNELS=="pci0000:00"
    SUBSYSTEMS==""
    DRIVERS==""
Název: Re:Conky [Vyřešeno]
Přispěvatel: ramael 02 Července 2022, 12:09:22
Citace
Tak se sice teplota zobrazí, ale po odpojení celé conky spadne - jelikož ten soubor přestane existovat. Bude tam třeba dát podmínku if_exist
Ano, pořešit to podmínkou. Pokud zbyde nějaký čas zkusím napsat nějaký conky extensions v Lua. Lua jako jazyk mne začíná čím dál více zajímat. Kdysi jsem ho vnitřně zavrhl, že nemá budoucnost. Jsem se setsakra zmýlil. Jede na tom čím dál více aplikací. Je to dáno nejenom "jednoduchostí" jazyka, tak hlavně """jednoduchou""" implementací začlenění jádra do aplikace. A samozřejmě malinkatou velikostí toho jádra.
Název: Re:Conky [Vyřešeno]
Přispěvatel: juwa2 02 Července 2022, 12:21:16
No, zdálo se to sice nepravděpodobné, ale nakonec se ti to povedlo vyřešit... :)
Takže ještě zbývá prověřit to v dlouhodobějším horizontu a hlavně s více různými ext. disky - nicméně viděl bych to nadějně....

Ještě taková drobnost, která s tím zdánlivě nesouvisí. Všiml jsem si, že pokud restartuji s připojeným externím diskem:
Vých. situace
interní disky:  sda sdb
externí disk:   sdc

Po restartu
interní disky: sdb sdc
externí disk:  sda

Systém samozřejmě funguje, ale pokud je "měření" navázáno na označení sda, sdb, sdc atd.  ukazuje to po každé teplotu jiného disku.
Možná by "šlo nějak zařídit" aby určitý disk na základě sériového čísla vždy dostal konkrétní pevné označení (sda, sdb, sdc atd).

Ze stejného důvodu jsem byl nuce při "měření" místa na discích nahradit /dev/sdX  mountpointem který je pro každý oddíl jedinečný a nezaměnitený.
Název: Re:Conky [Vyřešeno]
Přispěvatel: ramael 02 Července 2022, 12:34:47
No, zdálo se to sice nepravděpodobné, ale nakonec se ti to povedlo vyřešit... :)
Takže ještě zbývá prověřit to v dlouhodobějším horizontu a hlavně s více různými ext. disky - nicméně viděl bych to nadějně....
Sám jsem zvědav. Ještě není odzkoušeno jak se to bude chovat při uspání PC a určitě spousta jiných "standardních" situací které mne při "mém běžném používání" nenapadnou, že to někdo má a používá úplně jinak.
Vzpoměl jsem si ještě na jedno omezení: nebude to fungovat na víceuživatelském systému!
Respektive by to mělo fungovat, ale jen podle nastavení prvního uživatele.
Název: Re:Conky [Vyřešeno]
Přispěvatel: ramael 02 Července 2022, 13:13:44
Citace
Systém samozřejmě funguje, ale pokud je "měření" navázáno na označení sda, sdb, sdc atd.  ukazuje to po každé teplotu jiného disku.
Možná by "šlo nějak zařídit" aby určitý disk na základě sériového čísla vždy dostal konkrétní pevné označení (sda, sdb, sdc atd).
Ukazuje to pokaždé teplotu toho správného disku podle udev. sda je měřeno jako sda atd.
Nevím jestli jsem to správně pochopil. Pokud chceš aby měl nějaký disk vyhrazen název pro sebe, třeba WD bude vždy sdc a hitachi vždy sdb, tak od toho tu je fstab. Nebo vlastní udev pravidla na pojmenování disků.
Název: Re:Conky [Vyřešeno]
Přispěvatel: ramael 02 Července 2022, 13:35:49
Nechce se mi totiž těmito skripty suplovat funkce které už OS má. To už pak zavání politikou systemd.
Citace
Ze stejného důvodu jsem byl nuce při "měření" místa na discích nahradit /dev/sdX  mountpointem který je pro každý oddíl jedinečný a nezaměnitený.
Možná bych mohl přidat do /dev/shm/conkys/sdX/ soubor dejme tomu mount. Pakliže by se disk přimountnul, obsahoval by soubor na jakém mountpointu je konkrétní disk připojen. Takto by to stačilo?
Název: Re:Conky [Vyřešeno]
Přispěvatel: juwa2 02 Července 2022, 14:58:49
Nechce se mi totiž těmito skripty suplovat funkce které už OS má. To už pak zavání politikou systemd.
Citace
Ze stejného důvodu jsem byl nuce při "měření" místa na discích nahradit /dev/sdX  mountpointem který je pro každý oddíl jedinečný a nezaměnitený.
Možná bych mohl přidat do /dev/shm/conkys/sdX/ soubor dejme tomu mount. Pakliže by se disk přimountnul, obsahoval by soubor na jakém mountpointu je konkrétní disk připojen. Takto by to stačilo?

Ano, určitě.
Název: Re:Conky [Vyřešeno]
Přispěvatel: ramael 02 Července 2022, 17:00:42
No, to jsem zase napsal blbost a naka... si do bot. Takhle to vypadá když je pomalejší hlava... Teď se půl ubuntího fóra nejspíš baví na můj účet  ::)
Citace
Možná bych mohl přidat do /dev/shm/conkys/sdX/ soubor dejme tomu mount. Pakliže by se disk přimountnul, obsahoval by soubor na jakém mountpointu je konkrétní disk připojen. Takto by to stačilo?
To přece z podstaty věci nejde. Mountují se jednotlivé partition a ne celé disky. Takže měření místa je jasně v pořádku, ale teplota na partition je blbost. Ta platí pro celý disk, který může mít v lepším případě jen jednu partition! Tak i tak ta partition má narozdíl od disku číselné značení. Takže dejme tomu disk sda, pokud má nějakou partition, tak ta první je sda1. A až teprve ta jde mountnout (má mountpoint), ne její "rodič" celá sda.
Nebo mě něco uniká?
Název: Re:Conky [Vyřešeno]
Přispěvatel: juwa2 02 Července 2022, 18:00:35
No, to jsem zase napsal blbost a naka... si do bot. Takhle to vypadá když je pomalejší hlava... Teď se půl ubuntího fóra nejspíš baví na můj účet  ::)
Citace
Možná bych mohl přidat do /dev/shm/conkys/sdX/ soubor dejme tomu mount. Pakliže by se disk přimountnul, obsahoval by soubor na jakém mountpointu je konkrétní disk připojen. Takto by to stačilo?
To přece z podstaty věci nejde. Mountují se jednotlivé partition a ne celé disky. Takže měření místa je jasně v pořádku, ale teplota na partition je blbost. Ta platí pro celý disk, který může mít v lepším případě jen jednu partition! Tak i tak ta partition má narozdíl od disku číselné značení. Takže dejme tomu disk sda, pokud má nějakou partition, tak ta první je sda1. A až teprve ta jde mountnout (má mountpoint), ne její "rodič" celá sda.
Nebo mě něco uniká?

Ne - samozř. máš pravdu, toto se týká jenom partitions (u měření místa je to OK).

Ale - nové poznatky:
1. Interní čistě datový disk sdb se po 10 min. uspával - což nechci (je to moc často). Změna času v my_conf.conf  byla neúčinná (i po restartu).
Nakonec funguje přidání parametru -s standby,off
EDIT: Tak nefunguje, disk se stále uspává (ani nastavení apm na 255 nepomohlo)  >>  v Disky nyní nastaveno "nikdy neuspávat" - uvidíme....

2. Naopak externí disk v dokině Axagon, který se nikdy neuspával (a volby v aplikaci Disky byly zašedlé) se najednou po 10 min. uspává - což chci (a volby jsou najednou aktivní). Dokonce i když disk z usb odpojím, tak se sám od sebe po 10 min. uspí - což dříve rozhodně nebylo. Toto mi vyhovuje.  :)

3. V conky - pokud ext. disk připojím, za cca 1s conky padne. Po opětovném ručním spuštění conky je vše OK, teplota se zobrazuje. Po odpojení disku teplota zmizí, conky běží normálně dál. Po opětovném připojení disku conky zase spadne...
Tuším, že by to tam chtělo dát nějaký timeout (asi ten temp  soubor ještě není pořádně vytvořený a head  už se ho snaží číst...)
EDIT: Tak tohle už nepadá
Kód: [Vybrat]
${if_existing /dev/sdc}sdc ${execi 5 cat /dev/shm/conkys/sdc/temp}°C${endif}
Ale zase je tam ten exec.... :-\

4. Pokud je ext. disk uspaný a PC se uspí (do ram), po probuzení PC se disk rovněž probudí. Teplota se zobrazuje OK, po 10 min. se disk uspí. To mi rovněž vyhovuje.
Název: Re:Conky [Vyřešeno]
Přispěvatel: ramael 02 Července 2022, 20:54:02
1. Zkus mu dát malou treshold hodnotu, třeba 1 nebo nula.
2. Je tedy asi v pořádku.
3. Nainstaloval jsem si Xwayland a conky. Jdu si s tím pohrát.
Jak vypadá
Kód: [Vybrat]
cat ~/.conky/my_conf.conf
Název: Re:Conky [Vyřešeno]
Přispěvatel: ramael 02 Července 2022, 21:00:33
Citace
Tuším, že by to tam chtělo dát nějaký timeout (asi ten temp  soubor ještě není pořádně vytvořený a head  už se ho snaží číst...)
EDIT: Tak tohle už nepadá
Kód: [Vybrat]

${if_existing /dev/sdc}sdc ${execi 5 cat /dev/shm/conkys/sdc/temp}°C${endif}
On tam naskočí PID hned, ale temp a activity se zdrží, než proběhne první načtení.
Asi bych v conky ten test udělal nějak takto
Kód: [Vybrat]
${if_existing /dev/shm/conkys/sdc/temp} sdc .....
Název: Re:Conky [Vyřešeno]
Přispěvatel: juwa2 02 Července 2022, 21:07:13
1. Zkus mu dát malou treshold hodnotu, třeba 1 nebo nula.
2. Je tedy asi v pořádku.
3. Nainstaloval jsem si Xwayland a conky. Jdu si s tím pohrát.
Jak vypadá
Kód: [Vybrat]
cat ~/.conky/my_conf.conf

Právě že ten sdb co se budí (3. shora) už treshold 0 má.....
Kód: [Vybrat]
# Privátní databáze disků připojovaných k systému.
# Řádek začínající znakem hash je považován za komentář a bude ignorován.
# Jako delimiter je použit znak roury |
# Každý řádek musí být ve tvaru:
# -----------------------------------------------------------------------
# Ignorace disku | TYPE disku | sériové číslo | doba uspání | rychlost kontroly | treshold | argumenty
# -----------------------------------------------------------------------

#0|sat|TOSHIBAMQ01ABD0|600|10|12|-o off -s apm,128



|sat|80HM91VFS|600|10|0|
|sat|Y82WP4Z2T|3600|10|17| -s apm,255
|sat|WDE0QKX8|3600|10|0| -s standby,off
|usbjmicron|WD-WCC4M5KTEANX|600|10|0|
Název: Re:Conky [Vyřešeno]
Přispěvatel: juwa2 02 Července 2022, 21:08:46
Citace
Tuším, že by to tam chtělo dát nějaký timeout (asi ten temp  soubor ještě není pořádně vytvořený a head  už se ho snaží číst...)
EDIT: Tak tohle už nepadá
Kód: [Vybrat]

${if_existing /dev/sdc}sdc ${execi 5 cat /dev/shm/conkys/sdc/temp}°C${endif}
On tam naskočí PID hned, ale temp a activity se zdrží, než proběhne první načtení.
Asi bych v conky ten test udělal nějak takto
Kód: [Vybrat]
${if_existing /dev/shm/conkys/sdc/temp} sdc .....

Ano, je to tak - disk/teplota se zobrazí s cca 2s prodlevou, ale už to nespadne.... ;)
Ještě přijít na to, jak udělat aby se znak °C nezobrazoval až na dalším řádku....  Ale to už nějak vymyslím pomocí combine
Nebo by ho šlo přidat k teplotě v tom temp  souboru (úpravou skriptu).
Každopádně externí disky se chovají příkladně, jsem nadšen Ještě dořešit spánek toho interního....
Název: Re:Conky [Vyřešeno]
Přispěvatel: ramael 02 Července 2022, 21:55:03
Tohle mi zobrazí teplotu i se znakem na jednom řádku:
Kód: [Vybrat]
${if_existing /dev/shm/conkys/sda/temp}sda ${tail /dev/shm/conkys/sda/temp 1}°C${endif}
Tak jestli parametr -s standby,off pomohl proti uspání, tak bych to dál neřešil.
Název: Re:Conky [Vyřešeno]
Přispěvatel: ramael 02 Července 2022, 21:59:40
Aha, už to vidím
Citace
1. Interní čistě datový disk sdb se po 10 min. uspával - což nechci (je to moc často). Změna času v my_conf.conf  byla neúčinná (i po restartu).
Nakonec funguje přidání parametru -s standby,off
EDIT: Tak nefunguje, disk se stále uspává (ani nastavení apm na 255 nepomohlo)  >>  v Disky nyní nastaveno "nikdy neuspávat" - uvidíme....
A těch 3600 způsobí uspání po hodině, nebo dřív?
Název: Re:Conky [Vyřešeno]
Přispěvatel: juwa2 02 Července 2022, 22:15:40
Aha, už to vidím
Citace
1. Interní čistě datový disk sdb se po 10 min. uspával - což nechci (je to moc často). Změna času v my_conf.conf  byla neúčinná (i po restartu).
Nakonec funguje přidání parametru -s standby,off
EDIT: Tak nefunguje, disk se stále uspává (ani nastavení apm na 255 nepomohlo)  >>  v Disky nyní nastaveno "nikdy neuspávat" - uvidíme....
A těch 3600 způsobí uspání po hodině, nebo dřív?

Po deseti minutách.  Ani nastavení "nikdy neuspávat" v Disky nepomohlo..
Ale zaujalo mě, proč změny v souboru my_conf.conf nejsou v reflektovány (včetně ignorance disků). Přitom pokaždé dělám restart...
Zkrátka chybička 2 se vloudila:  Soubor conkys_data.conf.sh musí mít nastavenou spustitelnost, což nemá.
Oprav to prosím v tom instalačním skriptu (ani ten instalační skript neměl spustitelnost).....

Nyní už ignorance funguje, věřím, že bude fungovat i ostatní.... ;)
Název: Re:Conky [Vyřešeno]
Přispěvatel: ramael 02 Července 2022, 22:26:07
Citace
Zkrátka chybička 2 se vloudila:  Soubor conkys_data.conf.sh musí mít nastavenou spustitelnost, což nemá.
Oprav to prosím v tom instalačním skriptu (ani ten instalační skript neměl spustitelnost).....
Hned to napravím. Zajímavé je že mne to funguje jen s právy na čtení a editaci...

EDIT
Hotovo, opraveno.
Název: Re:Conky [Vyřešeno]
Přispěvatel: juwa2 02 Července 2022, 22:35:14
Hele, všiml sis, kolik má tohle vlákno přečtení (založeno 26.5. 2022)?   ;)
sdb zatím jede (cca půl hodiny), nic na něj "nesahá"
Kód: [Vybrat]
0|sat|WDE0QKX8|3600|10|0| -s standby,off
Takže čekám, zda se za tu hodinu uspí nebo ne (jestli tam ten parametr "-s standby,off" k něčemu je.
Ale i kdyby se za tu hodinu uspal, to už by mi vyhovovalo....
EDIT: sdb stále běží (ale nevím, jestli je to už celá hodina...)
Název: Re:Conky [Vyřešeno]
Přispěvatel: juwa2 02 Července 2022, 22:57:52
Zajímavé je že mne to funguje jen s právy na čtení a editaci...

EDIT
Hotovo, opraveno.

Ano, opraveno to je. Domnívám se ale, že pokud má soubor koncovku .sh a v záhlaví interpreter, měl by být spustitelný - v opačném případě by to mohl být nespustitelný soubor např. s koncovkou .conf bez interpreteru...

EDIT:  Navrhuji upravit v souboru  conky_start.sh  řádek č. 220 takto:
Kód: [Vybrat]
[ $TEMP ] && echo $TEMP°C > $OPERATIVNI_DIR/$DISK/temp
Kvůli problematickému zobrazení symbolu "°C" v souvislosti s conky příkazem "head". (symbol se zobrazuje se až na dalším řádku)
Název: Re:Conky [Vyřešeno]
Přispěvatel: ramael 02 Července 2022, 23:12:52
Hele, všiml sis, kolik má tohle vlákno přečtení (založeno 26.5. 2022)?   ;)
sdb zatím jede (cca půl hodiny), nic na něj "nesahá"
Kód: [Vybrat]
0|sat|WDE0QKX8|3600|10|0| -s standby,off
Takže čekám, zda se za tu hodinu uspí nebo ne (jestli tam ten parametr "-s standby,off" k něčemu je.
Ale i kdyby se za tu hodinu uspal, to už by mi vyhovovalo....
EDIT: sdb stále běží (ale nevím, jestli je to už celá hodina...)
Ale 200X z toho jsem byl asi já, když jsem si zpětně procházel všechny výpisy abych si to tak nějak dával dohromady.
Citace
EDIT: sdb stále běží (ale nevím, jestli je to už celá hodina...)
Pokud máš zapnutý LOG, což v defaultu je. Tak to zjistíš jednoduše:
Kód: [Vybrat]
tail -n 10 -f /var/log/conkys
Název: Re:Conky [Vyřešeno]
Přispěvatel: ramael 02 Července 2022, 23:17:04
Citace
Kvůli problematickému zobrazení symbolu "°C" v souvislosti s conky příkazem "head". (symbol se zobrazuje se až na dalším řádku)
Takhle ti to nefunguje? Místo head tam dát tail:
Kód: [Vybrat]
${if_existing /dev/shm/conkys/sda/temp}sda ${tail /dev/shm/conkys/sda/temp 1}°C${endif}
EDIT
Jsem to chtěl časem sjednotit s hwmon. Tam to má být v tisícinách stupňů celsia.
Název: Re:Conky [Vyřešeno]
Přispěvatel: juwa2 02 Července 2022, 23:18:12
1. 200 ze 6000 není mnoho... ;)
2. sdb běží zatím dál
Kód: [Vybrat]
juwa@p-5738:~$ tail -n 10 -f /var/log/conkys
2022-07-02 21:51:49 graphical byl odpojen a adresář smazán
2022-07-02 21:51:49 sda spouštím
2022-07-02 21:51:51 sdb spouštím
2022-07-02 21:59:26 sda byl odpojen a adresář smazán
2022-07-02 21:59:27 sdb byl odpojen a adresář smazán
2022-07-02 22:00:11 sdb spouštím
2022-07-02 22:00:11 graphical končím: nelze načíst info o sériovém čísle disku za SMARTu
2022-07-02 22:00:11 sda končím: je ignorován
2022-07-02 22:00:11 graphical byl odpojen a adresář smazán
2022-07-02 22:00:11 sda byl odpojen a adresář smazán

Takže už by měl běžet od 22:00 tj. cca 1:30 h...
EDIT: 23:45 sdb spí....
Takže parametr "-s standby,off" nefunguje. Tohle zkoušení je náročné na čas, navíc ty restarty....
sdb běžel 1:45:00 a pak se uspal....
Název: Re:Conky [Vyřešeno]
Přispěvatel: juwa2 02 Července 2022, 23:19:07
Citace
Kvůli problematickému zobrazení symbolu "°C" v souvislosti s conky příkazem "head". (symbol se zobrazuje se až na dalším řádku)
Takhle ti to nefunguje? Místo head tam dát tail:
Kód: [Vybrat]
${if_existing /dev/shm/conkys/sda/temp}sda ${tail /dev/shm/conkys/sda/temp 1}°C${endif}

Ano, tail  funguje OK... :)
Název: Re:Conky [Vyřešeno]
Přispěvatel: ramael 02 Července 2022, 23:22:39
1. 200 ze 6000 není mnoho... ;)
2. sdb běží zatím dál
Kód: [Vybrat]
juwa@p-5738:~$ tail -n 10 -f /var/log/conkys
2022-07-02 21:51:49 graphical byl odpojen a adresář smazán
2022-07-02 21:51:49 sda spouštím
2022-07-02 21:51:51 sdb spouštím
2022-07-02 21:59:26 sda byl odpojen a adresář smazán
2022-07-02 21:59:27 sdb byl odpojen a adresář smazán
2022-07-02 22:00:11 sdb spouštím
2022-07-02 22:00:11 graphical končím: nelze načíst info o sériovém čísle disku za SMARTu
2022-07-02 22:00:11 sda končím: je ignorován
2022-07-02 22:00:11 graphical byl odpojen a adresář smazán
2022-07-02 22:00:11 sda byl odpojen a adresář smazán

Takže už by měl běžet od 21:52 tj. cca hodinu a půl...

Takže -s standby,off funguje dobře. Ještě, že jsem tam to pole argumentů přidal.
Název: Re:Conky [Vyřešeno]
Přispěvatel: ramael 03 Července 2022, 00:19:49
Citace
EDIT: 23:45 sdb spí....
Takže parametr "-s standby,off" nefunguje. Tohle zkoušení je náročné na čas, navíc ty restarty....
sdb běžel 1:45:00 a pak se uspal....
Parametr "-s standby,250" by měl podle manuálu nastavit uspání po 300minutách:

tandby,[N|off] - [ATA only] Sets the standby (spindown) timer and places the drive in the IDLE mode. A value of 0 or 'off' disables the standby timer. Values from 1 to 240 specify timeouts from 5 seconds to 20 minutes in 5 second increments. Values from 241 to 251 specify timeouts from 30 minutes to 330 minutes in 30 minute increments. Value 252 specifies 21 minutes. Value 253 specifies a vendor specific time between 8 and 12 hours. Value 255 specifies 21 minutes and 15 seconds. Some drives may use a vendor specific interpretation for the values. Note that there is no get option because ATA standards do not specify a method to read the standby timer.

Možná zkusit i těch 253
Název: Re:Conky [Vyřešeno]
Přispěvatel: juwa2 03 Července 2022, 00:20:34
No, takže jsem v podstatě spokojen - šlo mi hlavně o externí disky a to se vyřešilo. Interní můžu dát do "ignored" a jejich teplotu zobrazovat klasicky.
Takže příslušná sekce v conky nyní vypadá takto
Kód: [Vybrat]
${color}Temp: sda ${hddtemp /dev/sda}°C sdb ${hddtemp /dev/sdb}°C${if_existing /dev/shm/conkys/sdc/temp} sdc ${tail /dev/shm/conkys/sdc/temp 1}°C${endif}${if_existing /dev/shm/conkys/sdd/temp} sdd ${tail /dev/shm/conkys/sdd/temp 1}°C${endif}${if_existing /dev/shm/conkys/sde/temp} sde ${tail /dev/shm/conkys/sde/temp 1}°C${endif}
Název: Re:Conky [Vyřešeno]
Přispěvatel: juwa2 03 Července 2022, 00:27:41
Citace
EDIT: 23:45 sdb spí....
Takže parametr "-s standby,off" nefunguje. Tohle zkoušení je náročné na čas, navíc ty restarty....
sdb běžel 1:45:00 a pak se uspal....
Parametr "-s standby,250" by měl podle manuálu nastavit uspání po 300minutách:

tandby,[N|off] - [ATA only] Sets the standby (spindown) timer and places the drive in the IDLE mode. A value of 0 or 'off' disables the standby timer. Values from 1 to 240 specify timeouts from 5 seconds to 20 minutes in 5 second increments. Values from 241 to 251 specify timeouts from 30 minutes to 330 minutes in 30 minute increments. Value 252 specifies 21 minutes. Value 253 specifies a vendor specific time between 8 and 12 hours. Value 255 specifies 21 minutes and 15 seconds. Some drives may use a vendor specific interpretation for the values. Note that there is no get option because ATA standards do not specify a method to read the standby timer.

Možná zkusit i těch 253

Momentálně tam mám    -s standby,off
No jo, ale ty disky nejsou ATA, nýbrž SAT....
Název: Re:Conky [Vyřešeno]
Přispěvatel: ramael 03 Července 2022, 01:23:24
Bych to tedy považoval za uzavřený. Umí to číst a ovládat (částečně) disky. Skripty běží nezávisle na conky a tak můžou mít svůj pomalejší "šetrnější" život. Ale připojení a odpojení je díky udev bleskové. Pokud chce někdo aby se disky neuspávali, je hddtemp dobrá volba s kombinací ignorování disku v naší databázi.
Kdyby někoho zajímalo, proč hddtemp ač je to síťová služba nedovolí disku usnout. Hddtemp v conky čte info ze soketu. Což je vlastně taková lepší pojmenovaná roura. A pokaždé, když se conky nebo i jiný program zeptá soketu na data. Soket to oznámí druhé straně (daemonu) a ten se kvůli tomu spustí a řekne si o ta data disku. A tím je disk neustále v provozu.
EDIT: Je docela pravděpodobné, že drivetemp by ty disky také nenechal usnout a bylo by to, z mého pohledu, ještě čistější řešení než hddtemp.
Název: Re:Conky [Vyřešeno]
Přispěvatel: juwa2 03 Července 2022, 01:54:01
Ano, souhlas - u disků kde nevadí nemožnost uspávání (či by naopak bylo nežádoucí) použít klasické měření teploty (hddtemp příp. jiné).
U disků kde je uspávání naopak žádoucí (převážně externí disky) použít řešení viz výše - funguje dobře.
Obě metody lze libovolně (v conky) pro různé disky kombinovat.  :)
Název: Re:Conky [Vyřešeno]
Přispěvatel: ramael 03 Července 2022, 02:22:22
Mám tu ještě takový malý tip. Místo tohoto dlouhého řádku:
Kód: [Vybrat]
${color}Temp: sda ${hddtemp /dev/sda}°C sdb ${hddtemp /dev/sdb}°C${if_existing /dev/shm/conkys/sdc/temp} sdc ${tail /dev/shm/conkys/sdc/temp 1}°C${endif}${if_existing /dev/shm/conkys/sdd/temp} sdd ${tail /dev/shm/conkys/sdd/temp 1}°C${endif}${if_existing /dev/shm/conkys/sde/temp} sde ${tail /dev/shm/conkys/sde/temp 1}°C${endif}
Bych použil template:
Kód: [Vybrat]
conky.config = {
    nějaké = nastavení,
    další = takynastavení,
    template0 = "${if_existing /dev/shm/conkys/\\1/temp} \\1 ${tail /dev/shm/conkys/\\1/temp 1}°C${endif}"
}

conky.text = [[
${color}Temp: sda ${hddtemp /dev/sda}°C sdb ${hddtemp /dev/sdb}°C ${template0 sdc} ${template0 sdd} ${template0 sde}
]]
Název: Re:Conky [Vyřešeno]
Přispěvatel: juwa2 03 Července 2022, 02:45:59
Ale jo, trošku to ten zápis zkrátí, proč ne...
A musím uvážit, co bude pro ten sdb lepší (pro jeho životnost). Jestli stálý běh (jako doposud) nebo kombinace běhu a spánku (tím pádem sice kratší běh, ale zase častější rozběh). Zkrátka co bude pro něj lepší - 24 hod. běhu v kuse nebo 12 hod běhu přerušovaného 12x spánkem po hodině.
Tj. co je horší: 24 hod. běhu v kuse nebo pouze 12 hod. běhu ale zato 12 startů denně?
U sda (=systémový) to řešit nemusím, ten neusne nikdy (furt na něj něco "sahá", to je zkrátka dané). A za druhé - stejně bude brzy nahrazen SSD.
Teď mě ale napadlo:  Mají SSD disky taky nějaký sleep režim?  Ano, nic se tam pochopitelně "netočí", ale možná u nich nějaký standby/úsporný režim existuje....
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
A když už jsme u toho conky, existuje aplikace conky-manager která umožňuje mezi conkyrc  sobory (cizí nebo vlastní) pohodlně přepínat/editovat je atd.
Lze nainstalovat na 18.04 (ověřeno), na vyšší nutno vyzkoušet (vždy instalovat pomocí gdebi!). Balíčky .deb jsou v příloze .zip
EDIT: conky-manager neumí pracovat ("nevidí" je) s novějšími lua soubory. Náprava je naštěstí jednoduchá - na začátek lua souboru vložíme tyto 3 řádky
Kód: [Vybrat]
--[[
TEXT
]]

Pak už je normálně vidí/načte.  Skript pro konverzi "starých" conky na lua viz níže.
Název: Re:Conky [Vyřešeno]
Přispěvatel: ramael 03 Července 2022, 10:05:30
Citace
A musím uvážit, co bude pro ten sdb lepší (pro jeho životnost). Jestli stálý běh (jako doposud) nebo kombinace běhu a spánku (tím pádem sice kratší běh, ale zase častější rozběh). Zkrátka co bude pro něj lepší - 24 hod. běhu v kuse nebo 12 hod běhu přerušovaného 12x spánkem po hodině.
Tj. co je horší: 24 hod. běhu v kuse nebo pouze 12 hod. běhu ale zato 12 startů denně?
Těžko soudit. Jsem koupil v roce 2009 tento disk: wdbaau0010hbk-00 Někdy kolem 20[15|16] Jsem udělal ze, už tenkrát starého, thinclienta domácí NAS. Systém je na vnitřním 1GB disku a výše zmíněný disk je jako datové úložiště. Už dávno nemám přihlašovací údaje abych se koukl jak jsem to nastavil. Ale mám, za to, že asi po 30min neaktivitě, se uspí. A disk funguje pořád.
Citace
Teď mě ale napadlo:  Mají SSD disky taky nějaký sleep režim?  Ano, nic se tam pochopitelně "netočí", ale možná u nich nějaký standby/úsporný režim existuje....
Tak to vůbec nevím. Doma máme vše SSD vyjma zmíněného NAS úložiště. Nikdy jsem to neřešil. Když to funguje jak má tak se v tom nešťourám.
Název: Re:Conky [Vyřešeno]
Přispěvatel: ramael 05 Července 2022, 01:15:21
Porušil jsem takové *nixové pravidlo a zbytečně to zkomplikoval. A tak jsem to přepracoval. S tím už to funguje i na víceuživatelském systému. Trochu jsem se nad tím zamyslel. Ten soubor skriptů má za úkol číst teplotu disků a trochu je umravňovat. Nic víc nic míň. A to je starost administrátora! Ne nás bfuček ikdyž máme přístup k rootu.
Takže nová verze si instalací vytvoří adresář /etc/conkys/ a tam si uloží dva soubory. conkys.conf.sh obsahující pár základních nastavení. A conkys_data.conf obsahující databázi disků. Každý disk (vyjma nvme) který se připojí k PC se automaticky zapíše do této databáze. Ta se dá upravovat v textovém editoru a doladit si chování disků k obrazu svému. Každá změna v těchto souborech se projeví po opětovném připojení konkrétního disku. Každý fyzicky připojený disk, pokud mu to ve výše zmíněném souboru nezakážete (sloupec ignoring kde jednička 1 je ignorace disku), si vytvoří svůj adresář v RAM/SWAP paměti /dev/shm/conkys/sdX/ se třemi soubory. A to temp, activity a PID. V tempu je teplota disku ve stupních. V activity je jestli je disk aktivní 1 nebo ve standby režimu 0 (spí). Ty se dají číst externími programy mimo jiné i pomocí conky (o to tu šlo od začátku). Pokud nemáte zakázáno logování, můžete za běhu kouknout jak se mění stavy disků ap. pomocí
Kód: [Vybrat]
tail -n 10 -f /var/log/conkys
Ukončuje se to klávesovou zkratkou ctrl+c
A teď k instalaci. Stáhněte si https://github.com/RadekRojik/conkys/releases/latest Dejme tomu, že to bude soubor conkys-1.0.2.tar.gz Pak spusťe sérii příkazů:
Kód: [Vybrat]
tar xf conkys-1.0.2.tar.gz
cd ~/conkys-1.0.2/
chmod +x ./install.sh
sudo ./install.sh
A je to. Od teď už to funguje! Avšak je třeba disky znova připojit, proto bude lepší restartovat PC:
Kód: [Vybrat]
reboot
No a protože vlákno začal @PepanB dotazem který se vyvinul v toto. Odpovím mu jak si nastavit conky řádek (vlastně tři řádky) k obrazu jeho aby to fungovalo s tím co jsem napsal předtím. Předpokládám, že používáš hwmon, na sda máš nainstalovaný systém a disk sdb občas vyndáš/odpojíš.
Do sekce conky.config si přidej tyto dva řádky:
Kód: [Vybrat]
template0 = "${if_existing /dev/shm/conkys/\\1/temp} \\1: ${tail /dev/shm/conkys/\\1/temp 1}°C${endif}",
template1 = "${if_existing /sys/class/hwmon/hwmon\\1/temp1_input} \\2: ${hwmon \\1 temp 1}°C${endif}"
Nezapoměň na konci každého řádku na čárku, vyjma posledního řádku!
A pak v sekci conky.text přidej tento magický řádek kde chceš aby ti to ukazovalo teploty:
Kód: [Vybrat]
${color}Temp:  ${template1 1 sda} ${template1 2 sdb} ${template0 sdb} ${template0 sdc} ${template0 sdd}
Tímto vším nepotřebuješ speciální oprávnění v sudoers ani jinak poupravená přístupová práva k programům.

P.S. děkuji @juwa2 za aktivní pomoc při testování a stavění mě před nové a nové problémy  ;D avšak díky tomu vzniklo to co vzniklo a ještě navíc funkční.

Připomínky a rady adresujte sem nebo na https://github.com/RadekRojik/conkys/issues

EDIT:
Teprve se s githubem učím tak to tam mám takové zmatečné. Zde by měla být vždy ta nejaktuálnější verze https://github.com/RadekRojik/conkys/archive/refs/heads/main.zip
Přidal jsem tam malinký samostatný skript conk_reader.sh stačí mu přidat právo na spuštění chmod +x conk_reader.sh Pak jako běžný uživatel stačí spustit v terminálu a vypíšou se aktuální hodnoty:
Kód: [Vybrat]
./conk_reader.sh
sda: 24°C sdb: 20°C
Je možno si to přejmenovat a třeba nakopírovat do /usr/local/bin. Pak už to půjde využít odkudkoli a třeba jako součást nějakého většího skriptu.
Název: Re:Conky [Vyřešeno]
Přispěvatel: juwa2 06 Července 2022, 10:55:50
Takže další zkušenost:
Na ext. disk jsem dal stahovat z jistého úložiště rychlostí 300kB/s   A disk začal po 10 minutách "throtlovat" = každých 10s se uspával a zase opětovně probouzel.  Přičemž stahování probíhalo dál. Ve /var/log/conkys  to uspávání bylo vidět.

Proč je vůbec v tom logu každých 10s hláška  "sdX přepínám do standby" když ten disk už ve standby aktuálně je?
Neměl by se přepínat do standby pouze v případě, že ve standby není + uplynula určitá doba?
A proč vlastně přechází po pouhých 10s do standby i když se na něj (byť přerušovaně) zapisuje?
Název: Re:Conky [Vyřešeno]
Přispěvatel: ramael 06 Července 2022, 11:53:35
Takže další zkušenost:
Na ext. disk jsem dal stahovat z jistého úložiště rychlostí 300kB/s   A disk začal po 10 minutách "throtlovat" = každých 10s se uspával a zase opětovně probouzel.
Přičemž stahování probíhalo dál. Ve /var/log/conkys  to uspávání bylo vidět.
Proč je vůbec v tom logu každých 10s hláška  "sdX přepínám do standby" když ten disk už ve standby aktuálně je?
A proč vlastně přechází po pouhých 10s do standby i když se na něj (byť přerušovaně) zapisuje?

Tipuju, že to bude moc vysokým tresholdem. Postni sem výpis databáze disků.
Název: Re:Conky [Vyřešeno]
Přispěvatel: juwa2 06 Července 2022, 11:58:41
Kód: [Vybrat]
# Privátní databáze disků připojovaných k systému.
# Řádek začínající znakem hash je považován za komentář a bude ignorován.
# Jako delimiter je použit znak roury |
# Každý řádek musí být ve tvaru:
# -----------------------------------------------------------------------
# Ignorace disku | TYPE disku | sériové číslo | doba uspání | rychlost kontroly | treshold | argumenty
# -----------------------------------------------------------------------

#0|sat|TOSHIBAMQ01ABD0|600|10|12|-o off -s apm,128

|sat|80HM91VFS|600|10|0|
1|sat|Y82WP4Z2T|3600|10|17| -s apm,255   #interní sda
1|sat|WDE0QKX8|3600|10|0| -s standby,253  #interní sdb
|usbjmicron|WD-WCC4M5KTEANX|600|10|0|
|usbsunplus|100920PBN203DSD0PP7M|600|20|0|

A navíc - ze souboru /dev/shm/conkys/sdX/activity je přeci zřejmé, zda disk spí nebo ne - proč potom dostává každých 10s (ať už spí či nikoli) příkaz k uspání?
(u spícího disku se to projevuje "probliknutím kontrolky" každých 10s, disk se "netočí".....)
To mě (neprávem) "ukolébalo".  V případě "ostrého provozu" je vše samozř. jinak.... :-[
Název: Re:Conky [Vyřešeno]
Přispěvatel: ramael 06 Července 2022, 12:08:17
Příkaz?
Nevím jestli máš tu novější verzi, nebo verzi nula.
takže buď to bude
Kód: [Vybrat]
cat /etc/conkys/conkys_data.conf
nebo
Kód: [Vybrat]
cat ~/conky/my_conf.conf
Tam co si ty disky edituješ.
Název: Re:Conky [Vyřešeno]
Přispěvatel: juwa2 06 Července 2022, 12:09:53
Příkaz?
Nevím jestli máš tu novější verzi, nebo verzi nula.
takže buď to bude
Kód: [Vybrat]
cat /etc/conkys/conkys_data.conf
nebo
Kód: [Vybrat]
cat ~/conky/my_conf.conf
Tam co si ty disky edituješ.

Jo, jasně , už mi to došlo viz výše.... :)
Název: Re:Conky [Vyřešeno]
Přispěvatel: ramael 06 Července 2022, 12:23:46
Citace
A navíc - ze souboru /dev/shm/conkys/sdX/activity je přeci zřejmé, zda disk spí nebo ne - proč potom dostává každých 10s (ať už spí či nikoli) příkaz k uspání?
Ne, ten zápis do toho souboru je až na základě podmínky. To kdyby někdo chtěl mít hezčí conky ap.
Máš tam chyby u kterých si nejsem jist jestli náhodou nenarušují ten běh. # je považován jako komentář, ale jen na začátku řádky. V tvém případě, je to předáno jako parametr do smartctl.

EDIT:
Aha, ty tam máš ignorování. Tak OK. Musím popřemýšlet.
Název: Re:Conky [Vyřešeno]
Přispěvatel: ramael 06 Července 2022, 13:38:22
Myslím, že jsem našel chybu. Skript testuje a dělá treshold jen na čtení. Což jsem považoval za správné, protože pokud se nemýlím tak nízkoúrovňově se zápis bez čtení neobejde. Vypadá to, že jádro do statu už promítá zápis bez těch čtení. Takže nezbývá než napsat funkci na treshold zápisu. Teď si ještě promyslím jak to implementovat. Jestli nechat databázi tak jak je a treshold bude součet obou tresholdů(rw). Nebo přidat ještě jedno pole na wtreshold. Ta první možnost mě připadá výhodnější.
Jak to vidíš ty?
Název: Re:Conky [Vyřešeno]
Přispěvatel: ramael 06 Července 2022, 17:45:27
Opraveno, odzkoušeno. Vydána nová verze: https://github.com/RadekRojik/conkys/archive/refs/heads/main.zip . Spíš bude lepší úplně tu první odinstalovat sudo ./install.sh -u.
Původně jsem si ráno hrál se sokety. A nakonec jsem přidal pár souborů. Jak si s tím hrát a jakým směrem se dá také jít je tady: https://github.com/RadekRojik/conkys/wiki
Název: Re:Conky [Vyřešeno]
Přispěvatel: juwa2 06 Července 2022, 20:56:19
V souboru conkys_data.conf jsou dvě nezakomentované položky (ty příklady).
Oproti dřívějšímu stavu nelze disky ručně probouzet/uspávat (v aplikaci Disky). Volba je sice aktivní (nezašedlá), ale nereaguje. Po přístupu na disk ze správce souborů se ale disk probudí. 
Interní disky se nadále uspávají (10 min.) bez ohledu na nastavení.
EDIT1:
a: Interní disky dány do ignorance (= neuspávají se).
b: Ext. disky se uspávají po 10 min, teploty se zobrazují OK.  Zda lze čas uspání měnit jsem nezkoušel, 10 min. mi vyhovuje....
Další chování postupně sleduji.....
EDIT2:
a: Zkoušeno stahování, vše OK, throtling se nekoná... ;)
b: Interní disky se neuspávají, skript si jich nevšímá, což je dobře...
c: Zkoušena kombinace tří různých usb ext. disků současně - vše OK, teploty správné, uspávání/probouzení/činnost nezávislé na sobě.
Název: Re:Conky [Vyřešeno]
Přispěvatel: ramael 06 Července 2022, 22:31:35
Citace
Oproti dřívějšímu stavu nelze disky ručně probouzet/uspávat (v aplikaci Disky). Volba je sice aktivní (nezašedlá), ale nereaguje. Po přístupu na disk ze správce souborů se ale disk probudí.
To mě připadá jako náhodné chování (předtím). Když se koukneš na diff souboru conkys_start.sh, tak jsem jen přidal proměnné na načtení první a páté hodnoty dle specifikace https://docs.kernel.org/block/stat.html Žádná funkce, podmínka ani větev navíc.
Citace
EDIT2:
a: Zkoušeno stahování, vše OK, throtling se nekoná... ;)
b: Interní disky se neuspávají, skript si jich nevšímá, což je dobře...
Uff, to je dobře.
EDIT
Všiml sis toho nádherného "hacku" hddtempu co se mi povedl? Zkrátil jsem v conky zápisy, ale zároveň je udělal víc univerzální. A hlavně nezávislé na adrese souborů. Místo hddtemp jsem vytvořil vlastní soket na portu hddtemp (jde to změnit jak ve skriptu tak v conky). A tak v conky se dají načítat díky ${hddtemp } hodnoty teplot z conkysu, ale i z hwmonu a to jen jedním univerzálním "příkazem" na každý disk.
Název: Re:Conky [Vyřešeno]
Přispěvatel: juwa2 06 Července 2022, 22:46:51
Takže zatím to vypadá dobře..
Otázka je, proč interní disky (možná i externí - nevyzkoušeno) ignorují nastavení doby uspání.
A jak spolu souvisí nastavení tímto "custom scriptem" a nastavení v aplikaci "Disky" (zdá se, že se to spolu "pere").
Momentáně mě to sice netrápí, ale....

Ten svůj "hack" hddtemp prosím vysvětli podrobněji (příklady), to mě docela zajímá...
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Conky od určité verze (1.12 ?) prý přešlo z klasických na lua scripty. Nicméně i novější verze (conky) stále akceptují i conkyrc soubory v původním (starém) formátu. Což deklarováno nebylo. Zkusím vymyslet skript na převod classic >> lua
Název: Re:Conky [Vyřešeno]
Přispěvatel: ramael 06 Července 2022, 23:00:01
Takže zatím to vypadá dobře..
Otázka je, proč interní disky (možná i externí - nevyzkoušeno) ignorují nastavení doby uspání.
A jak spolu souvisí nastavení tímto "custom scriptem" a nastavení v aplikaci "Disky" (zdá se, že se to spolu "pere").
Momentáně mě to sice netrápí, ale....
To nějak nechápu. Jsem si abych nečekal nastavil na disk 300:
Kód: [Vybrat]
2022-07-06 17:01:37 sda started
2022-07-06 17:01:47 sda set new timestamp
2022-07-06 17:03:37 sda set new timestamp
2022-07-06 17:08:39 sda switch to standby mode
2022-07-06 17:08:49 sda activity has been switched from 1 into 0
2022-07-06 17:09:29 sda activity has been switched from 0 into 1
2022-07-06 17:09:29 sda set new timestamp
2022-07-06 17:09:40 sda set new timestamp
2022-07-06 17:09:50 sda set new timestamp
2022-07-06 17:10:00 sda set new timestamp
2022-07-06 17:10:10 sda set new timestamp
2022-07-06 17:10:21 sda set new timestamp
2022-07-06 17:10:31 sda set new timestamp
2022-07-06 17:10:41 sda set new timestamp
2022-07-06 17:10:51 sda set new timestamp
2022-07-06 17:11:02 sda set new timestamp
2022-07-06 17:11:12 sda set new timestamp
2022-07-06 17:11:22 sda set new timestamp
2022-07-06 17:11:32 sda set new timestamp
2022-07-06 17:11:42 sda set new timestamp
2022-07-06 17:11:53 sda set new timestamp
2022-07-06 17:12:03 sda set new timestamp
2022-07-06 17:17:04 sda switch to standby mode
2022-07-06 17:17:14 sda activity has been switched from 1 into 0
2022-07-06 17:18:05 sda activity has been switched from 0 into 1
2022-07-06 17:18:05 sda set new timestamp
2022-07-06 17:18:15 sda set new timestamp
2022-07-06 17:18:45 sda set new timestamp
2022-07-06 17:23:47 sda switch to standby mode
2022-07-06 17:23:57 sda activity has been switched from 1 into 0
2022-07-06 17:24:13 sda process has been ended
2022-07-06 17:24:13 sda was disconnect and directory removed
A jak je vidět z logu, dělá to těch pět minut.

Citace
Ten svůj "hack" hddtemp prosím vysvětli podrobněji.
Nakopčím to sem z wiki:
Opět conky a parazitování na hddtemp:
Ujistěte se, že hddtemp neběží jako daemon. Přidejte spustitelná práva chmod +x hdd.sh a chmod +x conkys_socket.sh. Do sekce conky.config přidat řádek
Kód: [Vybrat]
template0="${if_match \"${hddtemp \\1}\"!=\"N/A\"}\\1:${hddtemp \\1}°C ${endif}"Do sekce conky.text pak už jen stačí
Kód: [Vybrat]
${template0 nvme0n1} ${template0 sda} atd. Je žádoucí kvůli zabránění duplicity hodnot přidat do databáze disků conkys_data.conf hodnotu 1 ve sloupci ignorace nvme disků. Je možné to zakázat i podle TYPE disku.
Pak stačí spustit conkys_socket.sh. Vyžaduje nainstalovaný socat. Pakliže je to to co se chce, je třeba si to nastavit na automatické spouštění při startu PC.
Jestli běží conkys_socket.sh může se přistupovat k teplotám i přez webový prohlížeč na adrese 127.0.0.1:7634

EDIT:
Tou duplicitou hodnot je kvůli modulu drivetemp. Skript hdd.sh čte nejdřív hodnoty disků z adresáře hwmon a pak z adresáře conkys. To znamená, že by mohl číst disk který jde přez drivetemp dvakrát. Lepší bude ho číst z hwmon a v conkys mu dát ignoraci. Výsledné hodnoty převede do formátu hddtemp. Jen s malým rozdílem, dává tam disky bez /dev/. Díky tomu se to dalo unifikovat s hwmon. A funkce hddtemp v conkysu to zvládá příkladně.
Název: Re:Conky [Vyřešeno]
Přispěvatel: juwa2 06 Července 2022, 23:06:33
1. Doba uspání - musím prověřit - možná se to s novou verzí změnilo...
2. Ano, vysvětlení hacku je dostatečné, paráda....
3. Teď jsem dostahoval na ext. disk a čekám zda se do 10 min. uspí....
EDIT1: Uspal se v pohodě. Další dva ext. disky připojeny, chování nezávislé.... ;)
EDIT2: Vše stále (8.7. 2022 21:30) OK, vypadá to konečně dobře, potíže žádné (interní disky dány do ignorance). Všechny externí disky se chovají příkladně... ;)
Název: Re:Conky [Vyřešeno]
Přispěvatel: ramael 06 Července 2022, 23:20:28
Citace
Conky od určité verze (1.12 ?) prý přešlo z klasických na lua scripty. Nicméně i novější verze (conky) stále akceptují i conkyrc soubory v původním (starém) formátu. Což deklarováno nebylo. Zkusím vymyslet skript na převod classic >> lua
Není třeba. Autor už to udělal https://github.com/brndnmtthws/conky/wiki/Configurations
Přímo tady je to popsáno https://github.com/brndnmtthws/conky/wiki/Configurations#syntax
Název: Re:Conky [Vyřešeno]
Přispěvatel: juwa2 06 Července 2022, 23:32:41
Citace
Conky od určité verze (1.12 ?) prý přešlo z klasických na lua scripty. Nicméně i novější verze (conky) stále akceptují i conkyrc soubory v původním (starém) formátu. Což deklarováno nebylo. Zkusím vymyslet skript na převod classic >> lua
Není třeba. Autor už to udělal https://github.com/brndnmtthws/conky/wiki/Configurations
Přímo tady je to popsáno https://github.com/brndnmtthws/conky/wiki/Configurations#syntax

Díky -  tak mám zase ušetřenou práci... :)
EDIT:
1. Ta "změna" se týká přechodu conky z verze 1.9 > 1.10 a vyšší.
2. Aby skript fungoval, je třeba doinstalovat lua (= balíček lua5.2  nebo lua5.3 ).
3. Skript je rovněž k dispozici zde:
Kód: [Vybrat]
/usr/share/doc/conky-std/convert.lua
Doporučuji ho nakopírovat někam do PATH (/usr/local/bin  nebo  stačí  ~/bin )  + nastavit mu spustitelnost.
Příkaz pro konverzi pak je:
Kód: [Vybrat]
convert.lua <starý_soubor> <nový_soubor>
Název: Re:Conky [Vyřešeno]
Přispěvatel: juwa2 25 Srpna 2022, 12:27:12
Prosím uživatele @ramarl o pomoc.
Skript na zobrazení teplot disků funguje, ale:
Všechny připojené ext. disky (9) zobrazují teplotu správně. Ale jeden jediný nezobrazí nic, nepřidá se do souboru /etc/conkys/conkys_data.conf
Dále je divné, že jsou ignorovány interní disky (to mi ale nevadí) aniž by to bylo třeba v config souboru nastavit (rovněž se do něj nepřidají).
Třeba to spolu nějak souvisí...

EDIT:  Zapnul jsem log a v něm stojí:
Kód: [Vybrat]
2022-08-25 11:26:50 sdc terminated: can not read info about serial number from S.M.A.R.T
2022-08-25 11:26:50 sdc was disconnect and directory removed
2022-08-25 11:27:15 sdc do not exist
2022-08-25 12:14:19 sdc terminated: something is bad, can not read threshold
2022-08-25 12:14:19 sdc was disconnect and directory removed

To bude asi ono - ale je divné, že smartctl to číslo normálně zobrazí
Kód: [Vybrat]
juwa@p-5738:~$ smartctl -a /dev/sdc
smartctl 7.3 2022-02-28 r5338 [x86_64-linux-5.4.209-0504209-lowlatency] (local build)
Copyright (C) 2002-22, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Model Family:     Western Digital Caviar Green (AF)
Device Model:     WDC WD20EARS-00MVWB0
Serial Number:    WD-WCAZA1959638
LU WWN Device Id: 5 0014ee 2afd3a002
Firmware Version: 51.0AB51
User Capacity:    2 000 398 934 016 bytes [2,00 TB]
Sector Size:      512 bytes logical/physical
Device is:        In smartctl database 7.3/5319
ATA Version is:   ATA8-ACS (minor revision not indicated)
SATA Version is:  SATA 2.6, 3.0 Gb/s
Local Time is:    Thu Aug 25 12:15:09 2022 CEST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
Název: Re:Conky [Vyřešeno]
Přispěvatel: ramael 25 Srpna 2022, 16:54:17
Jak vypadá výpis "zlobivého" disku v této podobě:
Kód: [Vybrat]
smartctl -i --json=g /dev/sdZlobivyDisk
Ten výpis z logu doufám, že časový odstup se týká dvou pokusů o připojení. Jinak mi to moc nedává smysl.
A ještě pro jistotu
Kód: [Vybrat]
cat /etc/conkys/conkys_data.conf
Název: Re:Conky [Vyřešeno]
Přispěvatel: juwa2 28 Srpna 2022, 06:42:34
Ten json vypadá taky normálně:
Kód: [Vybrat]
juwa@p-5738:~$ sudo smartctl -i --json=g /dev/sdc
[sudo] heslo pro juwa:         
json = {};
json.json_format_version = [];
json.json_format_version[0] = 1;
json.json_format_version[1] = 0;
json.smartctl = {};
json.smartctl.version = [];
json.smartctl.version[0] = 7;
json.smartctl.version[1] = 3;
json.smartctl.svn_revision = "5338";
json.smartctl.platform_info = "x86_64-linux-5.4.209-0504209-lowlatency";
json.smartctl.build_info = "(local build)";
json.smartctl.argv = [];
json.smartctl.argv[0] = "smartctl";
json.smartctl.argv[1] = "-i";
json.smartctl.argv[2] = "--json=g";
json.smartctl.argv[3] = "/dev/sdc";
json.smartctl.drive_database_version = {};
json.smartctl.drive_database_version.string = "7.3/5319";
json.smartctl.exit_status = 0;
json.local_time = {};
json.local_time.time_t = 1661661133;
json.local_time.asctime = "Sun Aug 28 06:32:13 2022 CEST";
json.device = {};
json.device.name = "/dev/sdc";
json.device.info_name = "/dev/sdc [SAT]";
json.device.type = "sat";
json.device.protocol = "ATA";
json.model_family = "Western Digital Caviar Green (AF)";
json.model_name = "WDC WD20EARS-00MVWB0";
json.serial_number = "WD-WCAZA1959638";
json.wwn = {};
json.wwn.naa = 5;
json.wwn.oui = 5358;
json.wwn.id = 11539816450;
json.firmware_version = "51.0AB51";
json.user_capacity = {};
json.user_capacity.blocks = 3907029168;
json.user_capacity.bytes = 2000398934016;
json.logical_block_size = 512;
json.physical_block_size = 512;
json.trim = {};
json.trim.supported = false;
json.in_smartctl_database = true;
json.ata_version = {};
json.ata_version.string = "ATA8-ACS (minor revision not indicated)";
json.ata_version.major_value = 510;
json.ata_version.minor_value = 0;
json.sata_version = {};
json.sata_version.string = "SATA 2.6";
json.sata_version.value = 30;
json.interface_speed = {};
json.interface_speed.max = {};
json.interface_speed.max.sata_value = 6;
json.interface_speed.max.string = "3.0 Gb/s";
json.interface_speed.max.units_per_second = 30;
json.interface_speed.max.bits_per_unit = 100000000;
json.smart_support = {};
json.smart_support.available = true;
json.smart_support.enabled = true;

A disk se do databáze (na rozdíl od ostatních) nepřidá:
Kód: [Vybrat]
juwa@p-5738:~$ cat /etc/conkys/conkys_data.conf
# Privat database of disks connected to this PC
# Lines begin with char # (hash) are ignored
# Delimiter is char | (pipe)
# Form line must be:
# -----------------------------------------------------------------------
# Ignoring HD | TYPE HD | serial number | HD timeout | Loop delay | treshold | arguments
# -----------------------------------------------------------------------
# Where
# *Ignorig HD-> if value 1 HD is ignored
# *TYPE HD -> TYPE from smartctl
# *serial number -> from smartctl
# *HD timeout -> After how many seconds HD has to switch to standby mode
# *Loop delay -> how often has to script run (in sec)
# *threshold -> how many reads are needed by smartctl to read temperature
# *arguments -> we make HD better thanks to smartctl arguments

|sat|80HM91VFS|600|10|0|
|usbjmicron|WD-WCC4M5KTEANX|600|10|0|
|sat|WD-WXH1A71N8997|600|10|37|
|usbsunplus|100920PBN203DSD0PP7M|600|10|1|
|usbjmicron|WD-WXC1A70U6538|600|10|10|

Pozoroval jsem složku /dev/shm/conkys - po připojení toho disku se v ní na okamžik složka sdc  objeví a hned zase zmizí....
Ještě mám konfigurák (z doby před víceuživatelskou verzí)  ~/.conky/my_conf.conf  ve kterém jsou načteny i oba interní disky (a bylo třeba je ignorovat). Což nyní není.
Takže mě napadlo, zda náhodou není ten problémový disk pokládán z nějaké příčiny za interní...
Kód: [Vybrat]
juwa@p-5738:~$ cat ~/.conky/my_conf.conf
# Privátní databáze disků připojovaných k systému.
# Řádek začínající znakem hash je považován za komentář a bude ignorován.
# Jako delimiter je použit znak roury |
# Každý řádek musí být ve tvaru:
# -----------------------------------------------------------------------
# Ignorace disku | TYPE disku | sériové číslo | doba uspání | rychlost kontroly | treshold | argumenty
# -----------------------------------------------------------------------

#0|sat|TOSHIBAMQ01ABD0|600|10|12|-o off -s apm,128

|sat|80HM91VFS|600|10|0|
1|sat|Y82WP4Z2T|3600|10|17| -s apm,255
1|sat|WDE0QKX8|3600|10|0| -s standby,253
|usbjmicron|WD-WCC4M5KTEANX|600|10|0|
|usbsunplus|100920PBN203DSD0PP7M|600|20|0|

Název: Re:Conky [Vyřešeno]
Přispěvatel: ramael 28 Srpna 2022, 09:34:46
Jediné co mě teď napadá je řádek č. 29 v /usr/local/sbin/conkys_start.sh
Místo
Kód: [Vybrat]
awk /"$co"/'{sub(";","",$3); gsub("\"","",$3); print $3; konec=1}; END {exit !konec}'
zkus dát (odstranit dvojité závorky kolem proměnné $co):
Kód: [Vybrat]
awk /$co/'{sub(";","",$3); gsub("\"","",$3); print $3; konec=1}; END {exit !konec}'
Skript totiž může úspěšně "načíst sériové číslo". Ale výsledek musí projít like parsováním. V tomto případě oříznutí znaků " a ;
Pokud se tam něco zvrtne, končí to exitem 1 a ten vyvolá hlášku o nemožnosti čtení S.M.A.R.T.u a automaticky se vše ukončí. Nastoupí Viktor čistič a vymaže příslušný dočasný sdresář v /dev/shm/conkys/jsem_bad_disk který se vytvořil ihned po připojení disku. To aby se předcházelo kolizím či nepředvídatelnému chování. Proto hned příslušná složka zmizela.
Možná by pomohlo připojit nějaký pravý json parser. Ale už je to další utilita navíc.
Budu čekat na výsledek. Tak i tak jsem to chtěl trochu přepsat. Jen se budu muset mentálně přepnout do bash uvažování a to mne trvá.

EDIT:
Možná by nebylo špatné se na to kouknout přímo z pohledu zmiňovaného kódu přez který to neprojde:
Kód: [Vybrat]
sudo -i
co="json.serial_number"
awk /"$co"/'{sub(";","",$3); gsub("\"","",$3); print $3; konec=1}; END {exit !konec}' <<< $(smartctl -i --json=g /dev/sdc) || echo "$co je velmi bad request :)"
Jaký to má výsledek? Výsledek by neměl obsahovat uvozovky ani středník.
Nedaří se mi v tom vyvolat chybu, tak to nemohu nijak porovnat. Jediné kdy to chybové hlášení vyplivlo, byla nedostatečná oprávnění se smartctl (zkusil jsem to spustit jako běžný uživatel). Ale v tomto případě by Ti nefungovali teploty ostatních disků...

EDIT II:
Jednodušeji a s menší režií jde ten řádek napsat takto:
Kód: [Vybrat]
awk -F '"' /"$co"/'{ print $2; konec=1 }; END{ exit !konec }'
Takže test by mohl vypadat takto:
Kód: [Vybrat]
sudo -i
co="json.serial_number"
awk -F '"' /"$co"/'{ print $2; konec=1}; END {exit !konec}' <<< $(smartctl -i --json=g /dev/sdc) || echo "$co je velmi bad request :)"
Název: Re:Conky [Vyřešeno]
Přispěvatel: ramael 24 Prosince 2022, 16:12:38
@juwa2 jak to vypadá s tím problémem? Momentálně jsem to začal přepisovat. Našel jsem pár chyb (kontrola a následná nemožnost instalalce v závislosti na verzi smartmontools) a zbytečností co se týče instalace a systemd. Ptám se protože jsem narazil na nestandardní chování dvou disků. První ještě s ATA rozhraním, který začal hlásit blbosti. Chvíli OK a pak zase divné výsledky. Až přestal úplně komunikovat. Bylo na něm ještě ubuntu 14.04. Nejspíš odešel řadič. Druhý disk mega překvapení, kdy je to SATA a přesto se hlásí jako ATA. Ač jsem mu zapnul S.M.A.R.T, je schopen jen nahlásit co je zač a kapacitu. Jinak nic. Ovšem, funguje skvěle (zápis, čtení).
Název: Re:Conky [Vyřešeno]
Přispěvatel: juwa2 24 Prosince 2022, 17:01:03
Kód: [Vybrat]
root@p-5738:~# co="json.serial_number"
root@p-5738:~# awk -F '"' /"$co"/'{ print $2; konec=1}; END {exit !konec}' <<< $(smartctl -i --json=g /dev/sdc) || echo "$co je velmi bad request :)"
WD-WCAZA1959638

Takže ten test vrátí serial number toho disku.
Uvozovky na ř. 29 jsem odstranil, změna žádná..... :-[