Opened 6 years ago

Closed 6 years ago

#261 closed defect (invalid)

smartctl on OpenSolaris (OpenIndiana, illumos) outputs kernel errors

Reported by: olafmarzocchi Owned by: somebody
Priority: minor Milestone:
Component: all Version: 6.0
Keywords: solaris Cc:

Description

Every time I use smartctl I get these on /var/messages:

Mar 4 14:19:48 openindiana scsi: [ID 107833 kern.warning] WARNING: /pci@0,0/pci8086,1c1c@1c,6/pci12d8,e111@0/pci1095,7124@0/disk@2,0 (sd3):
Mar 4 14:19:48 openindiana Error for Command: <undecoded cmd 0xa1> Error Level: Recovered
Mar 4 14:19:48 openindiana scsi: [ID 107833 kern.notice] Requested Block: 0 Error Block: 0
Mar 4 14:19:48 openindiana scsi: [ID 107833 kern.notice] Vendor: ATA Serial Number:
Mar 4 14:19:48 openindiana scsi: [ID 107833 kern.notice] Sense Key: Soft_Error
Mar 4 14:19:48 openindiana scsi: [ID 107833 kern.notice] ASC: 0x0 (no additional sense info), ASCQ: 0x0, FRU: 0x0

Still, smartctl works ok.

Change History (3)

comment:1 Changed 6 years ago by Christian Franke

Keywords: solaris added

Which smartctl parameters were used ?

The "undecoded cmd 0xa1" is actually the SAT ATA PASS-THROUGH(12) command. It optionally returns ATA output registers in ATA RETURN DESCRIPTOR as part of SCSI sense data. Some kernels do not properly detect this and interpret the sense data as some "unknown" SCSI error instead.

The sense data is only requested for SMART STATUS ("smartctl -H", included in -a) and SCT ERC GET ("smartctl -l scterc", included in -x). Please test whether the messages also occur if only "smartctl -i ..." is used.

comment:2 Changed 6 years ago by olafmarzocchi

I used
smartctl -a -s on -d sat,12 _device_

but then I spoke with some guys of the OpenIndiana? support and they told me it is caused by the illumos kernel, not on smartctl.

comment:3 Changed 6 years ago by Christian Franke

Resolution: invalid
Status: newclosed

Problem of kernel, not smartctl.

Workaround: Avoid SMART STATUS (-H, -a) command. The following should not produce log messages:

smartctl -i -c -A -l error -l selftest -l selective ...
Note: See TracTickets for help on using tickets.