+ Alexandre, hdparm maintainer
On Friday 11 November 2016 23:11:24 Rainer Dorsch wrote:
> Hi,
>
> I configure sdb in /etc/hdparm.conf to apm=64, but when I start the system,
> apm does not change. Interesting enough a /etc/init.d/hdparm restart fixes
> the problem:
>
>
> root@Silberkiste:~# cat /etc/hdparm.conf
> ## This is the default configuration for hdparm for Debian. It is a
> ## rather simple script, so please follow the following guidelines :)
> ## Any line that begins with a comment is ignored - add as many as you
> ## like. Note that an in-line comment is not supported. If a line
> ## consists of whitespace only (tabs, spaces, carriage return), it will be
> ## ignored, so you can space control fields as you like. ANYTHING ELSE
> ## IS PARSED!! This means that lines with stray characters or lines that
> ## use non # comment characters will be interpreted by the initscript.
> ## This has probably minor, but potentially serious, side effects for your
> ## hard drives, so please follow the guidelines. Patches to improve
> ## flexibilty welcome. Please read /usr/share/doc/hdparm/README.Debian for
> ## notes about known issues, especially if you have an MD array.
> ##
> ## Note that if the init script causes boot problems, you can pass 'nohdparm'
> ## on the kernel command line, and the script will not be run.
> ##
> ## Uncommenting the options below will cause them to be added to the DEFAULT
> ## string which is prepended to options listed in the blocks below.
> ##
> ## If an option is listed twice, the second instance replaces the first.
> ##
> ## /sbin/hdparm is not run unless a block of the form:
> ## DEV {
> ## option
> ## option
> ## ...
> ## }
> ## exists. This blocks will cause /sbin/hdparm OPTIONS DEV to be run.
> ## Where OPTIONS is the concatenation of all options previously defined
> ## outside of a block and all options defined with in the block.
>
> # -q be quiet
> quiet
> # -a sector count for filesystem read-ahead
> #read_ahead_sect = 12
> # -A disable/enable the IDE drive's read-lookahead feature
> #lookahead = on
> # -b bus state
> #bus = on
> # -B apm setting
> #apm = 255
> # -B apm setting when on battery
> #apm_battery = 127
> # -c enable (E)IDE 32-bit I/O support - can be any of 0,1,3
> #io32_support = 1
> # -d disable/enable the "using_dma" flag for this drive
> #dma = off
> # -D enable/disable the on-drive defect management
> #defect_mana = off
> # -E cdrom speed
> #cd_speed = 16
> # -k disable/enable the "keep_settings_over_reset" flag for this drive
> #keep_settings_over_reset = off
> # -K disable/enable the drive's "keep_features_over_reset" flag
> #keep_features_over_reset = on
> # -m sector count for multiple sector I/O
> #mult_sect_io = 32
> # -P maximum sector count for the drive's internal prefetch mechanism
> #prefetch_sect = 12
> # -r read-only flag for device
> #read_only = off
> # -s Turn on/off power on in standby mode
> # poweron_standby = off
> # -S standby (spindown) timeout for the drive
> #spindown_time = 24
> # -u interrupt-unmask flag for the drive
> #interrupt_unmask = on
> # -W Disable/enable the IDE drive's write-caching feature
> #write_cache = off
> # -X IDE transfer mode for newer (E)IDE/ATA2 drives
> #transfer_mode = 34
> # -y force to immediately enter the standby mode
> #standby
> # -Y force to immediately enter the sleep mode
> #sleep
> # -Z Disable the power-saving function of certain Seagate drives
> #disable_seagate
> # -M Set the acoustic management properties of a drive
> #acoustic_management
> # -p Set the chipset PIO mode
> # chipset_pio_mode
> # --security-freeze Freeze the drive's security status
> # security_freeze
> # --security-unlock Unlock the drive's security
> # security_unlock = PWD
> # --security-set-pass Set security password
> # security_pass = password
> # --security-disable Disable drive locking
> # security_disable
> # --user-master Select password to use
> # user-master = u
> # --security-mode Set the security mode
> # security_mode = h
>
> # Root file systems. Please see README.Debian for details
> # ROOTFS = /dev/hda
>
> ## New note - you can use straight hdparm commands in this config file
> ## as well - the set up is ugly, but it keeps backwards compatibility
> ## Additionally, it should be noted that any blocks that begin with
> ## the keyword 'command_line' are not run until after the root filesystem
> ## is mounted. This is done to avoid running blocks twice. If you need
> ## to run hdparm to set parameters for your root disk, please use the
> ## standard format.
>
> #Samples follow:
> #First three are good for devfs systems, fourth one for systems that do
> #not use devfs. The fifth example uses straight hdparm command line
> #syntax. Any of the blocks that use command line syntax must begin with
> #the keyword 'command_line', and no attempt is made to validate syntax.
> #It is provided for those more comfortable with hdparm syntax.
>
> #/dev/discs/disc0/disc {
> # mult_sect_io = 16
> # write_cache = off
> # spindown_time = 240
> #}
>
> #/dev/discs/disc1/disc {
> # mult_sect_io = 32
> # spindown_time = 36
> # write_cache = off
> #}
>
> #/dev/cdroms/cdrom0 {
> # dma = on
> # interrupt_unmask = on
> # io32_support = 0
> #}
>
> #/dev/hda {
> # mult_sect_io = 16
> # write_cache = off
> # dma = on
> #}
>
> /dev/sdb {
> apm = 64
> spindown_time = 5
> }
>
> root@Silberkiste:~# hdparm -I /dev/sdb|grep level
> Advanced power management level: 254
> root@Silberkiste:~# /etc/init.d/hdparm restart
> [ ok ] Restarting hdparm (via systemctl): hdparm.service.
> root@Silberkiste:~# hdparm -I /dev/sdb|grep level
> Advanced power management level: 64
> root@Silberkiste:~#
>
>
> Any insight, why I need the /etc/init.d/hdparm restart is very welcome.
>
> Thanks
> Rainer
>
>
--
Rainer Dorsch
http://bokomoko.de/