How to solve daemon:smartd failed 

Summary 

Solve the problem why smartd daemon failed to start.

Symptom 

% /etc/init.d/smartmontools start
Starting S.M.A.R.T. daemon: smartd failed!

Solution 

The device /dev/sda is actually SATA disk.

Need to add "-d ata" to /etc/smartd.conf

Conclusion 

Although it is OK to omit the '-d ata' switch from 'smartctl' command:

% smartctl -i -d ata /dev/sda
Model Family:     Maxtor DiamondMax 10 family (ATA/133 and SATA/150)
Device Model:     Maxtor 6B200M0
Serial Number:    B405M10H
Firmware Version: BANC1B10
User Capacity:    203,928,109,056 bytes
Device is:        In smartctl database [for details use: -P show]
ATA Version is:   7
ATA Standard is:  ATA/ATAPI-7 T13 1532D revision 0
Local Time is:    Sat Mar 29 16:25:18 2008 EDT
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
% smartctl -i /dev/sda
Model Family:     Maxtor DiamondMax 10 family (ATA/133 and SATA/150)
Device Model:     Maxtor 6B200M0
Serial Number:    B405M10H
Firmware Version: BANC1B10
User Capacity:    203,928,109,056 bytes
Device is:        In smartctl database [for details use: -P show]
ATA Version is:   7
ATA Standard is:  ATA/ATAPI-7 T13 1532D revision 0
Local Time is:    Sat Mar 29 16:25:18 2008 EDT
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

in daemon config file, the '-d ata' switch is still necessary.

Working History 

# change /etc/default/smartmontools
$ diff -wU 1 /etc/default/smartmontools.org /etc/default/smartmontools
--- /etc/default/smartmontools.org      2008-03-29 15:56:43.000000000 -0400
+++ /etc/default/smartmontools  2008-03-29 15:57:57.000000000 -0400
@@ -8,3 +8,3 @@
 # uncomment to start smartd on system startup
-#start_smartd=yes
+start_smartd=yes
# try start the daemon
% /etc/init.d/smartmontools start
Starting S.M.A.R.T. daemon: smartd failed!
# probe error
% tail /var/log/messages /var/log/daemon.log
==> /var/log/daemon.log <==
Mar 29 16:11:11 cxmr smartd[10621]: smartd version 5.37 [i686-pc-linux-gnu] Copyright (C) 2002-6 Bruce Allen
Mar 29 16:11:11 cxmr smartd[10621]: Home page is http://smartmontools.sourceforge.net/
Mar 29 16:11:11 cxmr smartd[10621]: Opened configuration file /etc/smartd.conf
Mar 29 16:11:11 cxmr smartd[10621]: Configuration file /etc/smartd.conf parsed.
Mar 29 16:11:11 cxmr smartd[10621]: Device: /dev/sda, opened
Mar 29 16:11:11 cxmr smartd[10621]: Device /dev/sda: ATA disk detected behind SAT layer
Mar 29 16:11:11 cxmr smartd[10621]:   Try adding '-d sat' to the device line in the smartd.conf file.
Mar 29 16:11:11 cxmr smartd[10621]:   For example: '/dev/sda -a -d sat'
Mar 29 16:11:11 cxmr smartd[10621]: Unable to register SCSI device /dev/sda at line 23 of file /etc/smartd.conf
Mar 29 16:11:11 cxmr smartd[10621]: Unable to register device /dev/sda (no Directive -d removable). Exiting.
# change /etc/smartd.conf
$ diff -wU 1 /etc/smartd.conf.org /etc/smartd.conf
--- /etc/smartd.conf.org        2007-04-05 04:36:42.000000000 -0400
+++ /etc/smartd.conf    2008-03-29 16:12:24.000000000 -0400
@@ -21,3 +21,4 @@
 # list the devices that they wish to monitor.
-DEVICESCAN -m root -M exec /usr/share/smartmontools/smartd-runner
+#DEVICESCAN -m root -M exec /usr/share/smartmontools/smartd-runner
+ /dev/sda -a -o on -S on -s (S/../.././04|L/../../6/04) -I 194 -m root -d ata
# try start the daemon
% /etc/init.d/smartmontools start
Starting S.M.A.R.T. daemon: smartd.
% tail /var/log/daemon.log
Mar 29 16:12:32 cxmr smartd[10720]: Device: /dev/sda, enable SMART Automatic Offline Testing failed.
Mar 29 16:12:32 cxmr smartd[10720]: Device: /dev/sda, is SMART capable. Adding to "monitor" list.
Mar 29 16:12:32 cxmr smartd[10720]: Monitoring 1 ATA and 0 SCSI devices
Mar 29 16:12:32 cxmr smartd[10720]: Device: /dev/sda, Failed SMART usage Attribute: 194 Temperature_Celsius.
Mar 29 16:12:32 cxmr smartd[10720]: Sending warning via mail to root ...
Mar 29 16:12:33 cxmr smartd[10720]: Warning via mail to root: successful
Mar 29 16:12:33 cxmr smartd[10738]: smartd has fork()ed into background mode. New PID=10738.
Mar 29 16:12:33 cxmr smartd[10738]: file /var/run/smartd.pid written containing PID 10738

documented on: 2008-03-29