SMART - additional configuration options for hardware RAID controllers

Recommended Posts



I would like to request a feature concering the unRAID 6 webUI.


I would like to change the smartctl call to another one for getting it to work with a hardware RAID controller.


Several years ago, there was unMENU with this thread:

In unMENU, one could set a "smartopt" variable. I never had unRAID 5 with unMENU, but that is the information I found.


Now in unRAID 6, the smartctl commands are fixed inside the webUI - if you do a search in the github repository, you can see that:


The error I am getting is the following: "you may need to replace /dev/sdb with /dev/twlN, /dev/twaN or /dev/tweN"

So the smartctl call to /dev/sdb says:


root@Tower:~# smartctl -a /dev/sdb
smartctl 6.2 2013-07-26 r3841 [x86_64-linux-4.0.4-unRAID] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian Franke,

Smartctl open device: /dev/sdb failed: AMCC/3ware controller, please try adding '-d 3ware,N',
you may need to replace /dev/sdb with /dev/twlN, /dev/twaN or /dev/tweN


But when I change the call like it is proposed, I see the correct output:

root@Tower:~# smartctl -d 3ware,13 -a /dev/twa0

... correct output ...


I need to change the call to /dev/twaN for all /dev/sdX calls AND I need to set the additionals parameter "-d 3ware,N" for each device where N is the device number in the hardware controller.


So I need an input field where I can set an additional "-d controller,N" parameter for all smartctl calls the webUI does and I need a field for overwriting the /dev/sdX call with another device.

I am sure that would be an easy change inside the webUI, as two additional fields for configuring each disk and a change to the few smartctl calls I found via the github search honoring the additionals fields are no big deal.


I would be glad if that could be implemented so that I can see all smartctl values in the webUI.

Thanks a lot!

Link to comment

Information about the "twaN" device can be found in the man-page of smartctl:


I am quoting the relevant part:

              3ware,N - [FreeBSD and Linux only] the device consists of one or
              more  ATA  disks connected to a 3ware RAID controller.  The non-
              negative integer N (in  the  range  from  0  to  127  inclusive)
              denotes  which  disk on the controller is monitored.  Use syntax
              such as:
              smartctl -a -d 3ware,2 /dev/sda  [Linux only]
              smartctl -a -d 3ware,0 /dev/twe0
              smartctl -a -d 3ware,1 /dev/twa0
              smartctl -a -d 3ware,1 /dev/twl0 [Linux only]
              smartctl -a -d 3ware,1 /dev/tws0 [FreeBSD only]
              The first two forms,  which  refer  to  devices  /dev/sda-z  and
              /dev/twe0-15, may be used with 3ware series 6000, 7000, and 8000
              series controllers that use the 3x-xxxx driver.  Note  that  the
              /dev/sda-z form is deprecated starting with the Linux 2.6 kernel
              series and may not be supported by the Linux kernel in the  near
              future.   The  final form, which refers to devices /dev/twa0-15,
              must be used with 3ware 9000 series controllers, which  use  the
              3w-9xxx driver.

              The  devices /dev/twl0-15 [Linux] or /dev/tws0-15 [FreeBSD] must
              be used with the 3ware/LSI 9750 series controllers which use the
              3w-sas driver.

              Note  that  if  the special character device nodes /dev/tw[ls]?,
              /dev/twa?  and /dev/twe? do not exist, or exist with the  incor-
              rect  major or minor numbers, smartctl will recreate them on the
              fly.  Typically /dev/twa0 refers to the first  9000-series  con-
              troller,  /dev/twa1 refers to the second 9000 series controller,
              and so on.  The /dev/twl0  devices  refers  to  the  first  9750
              series  controller,  /dev/twl1 resfers to the second 9750 series
              controller, and so on.  Likewise /dev/twe0 refers to  the  first
              6/7/8000-series  controller,  /dev/twe1  refers  to  the  second
              6/7/8000 series controller, and so on.

              Note that for the 6/7/8000  controllers,  any  of  the  physical
              disks  can  be queried or examined using any of the 3ware's SCSI
              logical device  /dev/sd?   entries.   Thus,  if  logical  device
              /dev/sda  is made up of two physical disks (3ware ports zero and
              one) and logical device /dev/sdb is made up of two other  physi-
              cal  disks  (3ware ports two and three) then you can examine the
              SMART data on any of the four physical disks using  either  SCSI
              device  /dev/sda or /dev/sdb.  If you need to know which logical
              SCSI device a particular physical disk (3ware port)  is  associ-
              ated  with, use the dmesg or SYSLOG output to show which SCSI ID
              corresponds to a particular 3ware unit, and then use  the  3ware
              CLI or 3dm tool to determine which ports (physical disks) corre-
              spond to particular 3ware units.

              If the value of N corresponds to a port that does not  exist  on
              the 3ware controller, or to a port that does not physically have
              a disk attached to it, the behavior of smartctl depends upon the
              specific  controller model, firmware, Linux kernel and platform.
              In some cases you will get a warning  message  that  the  device
              does  not  exist.   In  other  cases  you will be presented with
              'void' data for a non-existent device.

              Note that if the /dev/sd? addressing form is  used,  then  older
              3w-xxxx  drivers do not pass the "Enable Autosave" ('-S on') and
              "Enable Automatic Offline" ('-o on') commands to the  disk,  and
              produce  these  types of harmless syslog error messages instead:
              "3w-xxxx: tw_ioctl(): Passthru size (123392) too big".  This can
              be fixed by upgrading to version or later of the 3w-
              xxxx driver, or by applying a patch to older versions.  Alterna-
              tively, use the character device /dev/twe0-15 interface.

              The  selective  self-test  functions  ('-t select,A-B') are only
              supported using the  character  device  interface  /dev/twl0-15,
              /dev/tws0-15,  /dev/twa0-15  and  /dev/twe0-15.   The  necessary
              WRITE LOG commands can not be passed through the SCSI interface.


So basically, the /dev/twaN device does not exist in the system after boot and is created automatically by smartctl after the first call.

The first call of the command "smartctl -d 3ware,13 -a /dev/twa0" after boot does not work and says that the /dev/twa0 device does not exist - but the smartctl tool creates the device and the second call of the same command (and any further calls) do work exactly like they should.


The /dev/twaN device is for the 3ware 9000 Series - other series do have other devicenames, so my suggestion for having the possibility to overwrite the device per disk (to /dev/twa0 for example) and to have the ability to add additional parameters (like -d 3ware,13) per disk would solve the problem in my case and also be flexible enough for other users to overwrite with the device they need (like /dev/twe0 for 6/7/8000 series) and with the parameters they need (like -d areca,N for another manufacturer). It would be important to have that flexibility, for example when you have multiple RAID controllers and need to address via /dev/twa0 and /dev/twa1 for different disks at different controllers.


So the /dev/sdN device is the correct device for mounting, writing and doing everything concering the filesystem.

But the /dev/twaN device (for refering the RAID controller) is needed for SMART only as these devices are created via smartctl. So I can use the unRAID correctly with the /dev/sdN devices, but cannot see the SMART values but only the error I already posted. "you may need to replace /dev/sdb with /dev/twlN, /dev/twaN or /dev/tweN".


(Well I can call the values via SSH access manually, but who does want to call all SMART values from every disk via SSH when you have a Web-Interface)


Hope that helps!

Link to comment

Will look into a solution for a next release, won't have time to include anything in the upcoming 6.0 release.


When you have time to work on this, you may want to look into the Areca Controller thread.  bjp999 and bubbaQ did quite a bit of work identifying the parameters and options needed.


It would be hard to implement all of their work, but does seem worthwhile to add user-configurable fields for the options necessary to obtaining temps and SMART info, and whether they are available when spun down, maybe other things too.


I'd love to see bjp999 working with you, as he had to do a lot of this kind of thing as the author of MyMain, the customizable Main screen face of UnMENU.  As much as I liked UnMenu with its extras and versatility and customizability, there's no way but to consider it the past, and Dynamix the future.  It served its generation, and served it well.  It still has some life left, but is beginning to fade away.  It would be great to see the best of UnMenu migrated to the new webGui.

Link to comment

I have several areca cards and I would like to see them better supported by unRaid. Temp display is the main lack today on v6 dashboard.  I have to load the web interface of the areca cards to see temperatures.


They provide me with a way to use my older smaller 2tb disks in a raid0 parity disk configuration. Showing temperatures where multiple disks are combined would be even more helpful.

Link to comment
  • 1 month later...

Is there any progress in this case? I would be happy to know! Thank you!


by the way (commenting the post by tr0910): For multiple disks combined, it would propably work if one can not only tune the smartctl command per disk for one drive but for multiple drives per disk (like adding multiple smartctl command-parameters per disk)... I guess that could be a seperate request for later...

Link to comment
  • 1 year later...

Support for RAID controllers has been added to the GUI since unRAID version 6.2. Settings can be changed globally (see: Settings -> Disk Settings) and/or individually for each disk (see: Main -> Disk XX -> Settings).


The GUI support allows for making the proper SMART reports of disks attached to a controller, but do not control the display of the disk temperature on the main page, this is done by emhttp.


Link to comment
  • 2 months later...
On 1/9/2017 at 1:47 PM, bonienl said:

Support for RAID controllers has been added to the GUI since unRAID version 6.2. Settings can be changed globally (see: Settings -> Disk Settings) and/or individually for each disk (see: Main -> Disk XX -> Settings).


The GUI support allows for making the proper SMART reports of disks attached to a controller, but do not control the display of the disk temperature on the main page, this is done by emhttp.



Sorry if this is a dumb question, but when you say "do not control the display of the disk temperature on the main page, this is done by emhttp" how would I go about getting the main screen or even the dashboard to show the disk temp? SMART is working  perfectly on my 3ware card, but as you know, no temp is shown. The attributes 190 and 194 work perfectly though.

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.