nepo Posted May 12, 2017 Posted May 12, 2017 (edited) Hi orange pi +2e with Distribution: Ubuntu 16.04.2 LTS Kernel version: Linux 3.4.113-sun8i armv7l rpimonitor installed with sudo armbianmonitor -r I use Rpimonitor to control temperature, upgradable packages and cpu frequency, nice tool ! Unfortunately it looks that rpimonitor has access to my external external hard drives, so no spin off . I change rpimonitor config files sudo nano /etc/rpimonitor/data.conf #include=/etc/rpimonitor/template/sdcard.conf and sudo nano /etc/rpimonitor/template/Allwinner_H3_Extended_Mainline.conf #dynamic.7.name=externaltemp #dynamic.7.source=/tmp/externaltemp #dynamic.7.regexp=(.*) #dynamic.7.postprocess=sprintf("%.1f", $1/1000) #dynamic.7.rrd=GAUGE #dynamic.8.name=disktemp #dynamic.8.source=/tmp/disktemp #dynamic.8.regexp=(.*) #dynamic.8.postprocess=sprintf("%.1f", $1/1000) #dynamic.8.rrd=GAUGE But no success Only if I stoped rpimonitor service, my hard disks spin off. Can anybody help Bye nepo @edit: With only armbianmonitor -m no problems Edited May 12, 2017 by nepo
tkaiser Posted May 12, 2017 Posted May 12, 2017 There's a helper script running in the background (IIRC rpimonitor-helper or such) where the relevant code line that writes to /tmp/disktemp should be accompanied by excessive comments how to prevent the issues (search for hdparm there, check manually and adjust). Feedback welcome!
nepo Posted May 12, 2017 Author Posted May 12, 2017 hi Services rpimonitor and rpimonitor-helper.service runs but no information in /tmp/disktemp nor /tmp/externaltemp (the files exists), also by editing to the orig. conf-files. sudo hdparm /dev/sda /dev/sda: multcount = 16 (on) readonly = 0 (off) readahead = 256 (on) geometry = 60801/255/63, sectors = 976773168, start = 0 sudo hdparm -I /dev/sda1 /dev/sda1: ATA device, with non-removable media Model Number: TOSHIBA MQ01UBD050 Serial Number: 54R5TCLYT Firmware Revision: AX001U Transport: Serial, ATA8-AST, SATA 1.0a, SATA II Extensions, SATA Rev 2.5, SATA Rev 2.6 Standards: 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: 976773168 Logical Sector size: 512 bytes Physical Sector size: 4096 bytes Logical Sector-0 offset: 0 bytes device size with M = 1024*1024: 476940 MBytes device size with M = 1000*1000: 500107 MBytes (500 GB) cache/buffer size = 8192 KBytes Form Factor: 2.5 inch Nominal Media Rotation Rate: 5400 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 = 16 Advanced power management level: 254 DMA: sdma0 sdma1 sdma2 mdma0 mdma1 *mdma2 udma0 udma1 udma2 udma3 udma4 udma5 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 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 * General Purpose Logging feature set * WRITE_{DMA|MULTIPLE}_FUA_EXT * 64-bit World wide name * IDLE_IMMEDIATE with UNLOAD * WRITE_UNCORRECTABLE_EXT command * {READ,WRITE}_DMA_EXT_GPL commands * Segmented DOWNLOAD_MICROCODE * Gen1 signaling speed (1.5Gb/s) * Gen2 signaling speed (3.0Gb/s) * Native Command Queueing (NCQ) * Host-initiated interface power management * Phy event counters * Idle-Unload when NCQ is active DMA Setup Auto-Activate optimization Device-initiated interface power management * 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 supported: enhanced erase 112min for SECURITY ERASE UNIT. 112min for ENHANCED SECURITY ERASE UNIT. Logical Unit WWN Device Identifier: 0000000000000000 NAA : 0 IEEE OUI : 000000 Unique ID : 000000000 Checksum: correct
tkaiser Posted May 12, 2017 Posted May 12, 2017 I was talking about Checking/adjusting the GetDiskTemp function in /usr/local/sbin/rpimonitor-helper.sh. Most probably switching to hddtemp might already solve it (but hddtemp refuses to work with an amazing lot of USB-to-SATA bridges so test manually first) GetDiskTemp() { # get disk temperate using hddtemp (doesn't wake up sleeping disks and knows how to deal # with different disks due to an included database with known disk models). # RawTemp=$(/usr/sbin/hddtemp -n ${1} 2>/dev/null) RawTemp=$(/sbin/hdparm -C ${1} | egrep -q "standby|sleeping" || /usr/sbin/smartctl -d sat -a ${1} | awk -F" " '/Temperature_Cel/ {printf ("%0.0f",$10); }') if [ "X${RawTemp}" = "X" ]; then # drive is sleeping, we return 0 echo 0 else echo ${RawTemp} | awk '{printf ("%0.0f",$1*1000); }' fi # The commented smartctl call below is meant as an alternative and an example for USB # disks in external enclosures that are able to answer S.M.A.R.T. queries since they're # SAT capable: # # /usr/sbin/smartctl -d sat -a ${1} | awk -F" " '/Temperature_Cel/ {printf ("%0.0f",$10); }' # # You should be aware that not every enclosure supports that and that some USB-to-SATA # bridges require different parameters (eg. '-d usbjmicron' -- have a close look at # https://www.smartmontools.org/wiki/Supported_USB-Devices and test with smartctl to # get the correct value of the correct attribute). # # You should also be aware that a query by smartctl always wakes up sleeping disks. So # in case you want to query an external USB disk only if it's neither standby nor sleeping # and in case the enclosure is SAT capable think about prefixing the smartctl call with # something like: # # /sbin/hdparm -C ${1} | egrep -q "standby|sleeping" || /usr/sbin/smartctl ... # # In case you try to query multiple disks you might end up with something like # # case ${1} in # /dev/sda) /usr/sbin/hddtemp -n ${1} ... ;; # /dev/sdb) /usr/sbin/smartctl -d usbprolific -a ${1} ... ;; # /dev/sdc) /sbin/hdparm -C ${1} | egrep -q "standby|sleeping" || /usr/sbin/smartctl -d sat ... ;; # esac } # GetDiskTemp
nepo Posted May 12, 2017 Author Posted May 12, 2017 1 hour ago, tkaiser said: but hddtemp refuses to work with an amazing lot of USB-to-SATA bridges It doesn't work Is the helper-service necessary ? Without rpimonitor runs and hard drive spin down.
tkaiser Posted May 12, 2017 Posted May 12, 2017 3 hours ago, nepo said: Is the helper-service necessary Collects some data. Simply comment the GetDiskTemp call and you're done.
nepo Posted May 12, 2017 Author Posted May 12, 2017 1 hour ago, tkaiser said: Simply comment the GetDiskTemp call and you're done Works thank you for your help ! Bye nepo!
Recommended Posts