Jump to content

Recommended Posts

Posted (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 by nepo
Posted

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!

Posted

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

 

 

Posted

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

 

Posted
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.

Posted
3 hours ago, nepo said:

Is the helper-service necessary

 

Collects some data. Simply comment the GetDiskTemp call and you're done.

Posted
1 hour ago, tkaiser said:

Simply comment the GetDiskTemp call and you're done

Works :D

 

thank you for your help !

 

Bye nepo!

Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines