Feature #1932

Add SMART support and serial #s through hptiop(Highpoint) driver

Added by Cyber Jock over 1 year ago. Updated about 1 month ago.

Status:ScreenedStart date:
Priority:NormalDue date:
Assignee:Josh Paetzel% Done:

0%

Category:Backend
Target version:Future

Description

This is a followup from ticket 1872(https://support.freenas.org/ticket/1872).

I have a Highpoint RocketRAID 4520 until the end of 2012 and I would like to add SMART support and serial numbers to the GUI of FreeNAS. This controller was sent to me on loan so I can test and ensure that FreeNAS works well with this new generation of controllers.

William and I had taken a look at this before and it is not an easy fix. He wasn't sure how we were going to get it to work(or IF we could get it to work). The Highpoint FreeBSD CLI didn't appear to give any indication of what physical ports were in use to allow a link between daXX and PortXX on the controller. He was going to consult some other people and do a little more research.

This ticket is only to track that this controller still does not have SMART support(developers are busy people!) to ensure that this feature is added, if possible. This ticket is not meant as a "how about now" ticket. If its too low on the priority that is fine, I'll just let Highpoint know and they can decide what they want to do.

I do have SSH and FTP access for a FreeNAS server setup for anyone to log into. Send me a PM in the forums for the IP and username/password. The server contains no actual data.

I would like to have this fixed before the end of the year since I got this card from Highpoint so that we can ensure proper support for this new generation of controllers.

Because this controller uses the hptiop driver I believe that adding support for SMART and serial numbers will actually benefit the entire 45xx, 43xx and 35xx families of cards.

I am actually using build 12712(nightly build from shortly after 8.3.0 was released) since it has support for the controller. I kept the same installation since William may have stuff installed unique to what we were doing. I can install the latest nightly on request.

Thanks!

Associated revisions

Revision 2b2b68f5
Added by William Grzybowski 3 months ago

Add ix script to detect HPT controller and start daemon properly

Ticket: #1932, #371

History

#1 Updated by Shahar - over 1 year ago

Could this fix [https://support.freenas.org/ticket/1950] improve this issue in some way?

#2 Updated by Cyber Jock over 1 year ago

I doubt it, but you never know. I'd expect that the driver and not the Highpoint CLI should be required for the controller to be properly detected. The Highpoint CLI is a bit more complex than the typical RAID controller CLI, so who knows.

I'd say that the CLI may help identify the actual issue but I wouldn't hold my breath on that.

#3 Updated by Shahar - over 1 year ago

just for trying... try the following:

smartctl -a -d hpt,L/1/1 /dev/hptiop0

where L is 2,3 or 4.

in any case isn't this should be fixed in the smartctl level?
[http://sourceforge.net/apps/trac/smartmontools/wiki]

#4 Updated by Shahar - over 1 year ago

btw, I was trying to figure out how to get the smartctl to work on my rr 2720sgl ...

and I found out this:

smartctl -i -d hpt,1/X/1 /dev/hpt27xx

where X is the drive number from the /dev/daX (in my case) to some extent.
I have 5 drives connected, and I'm getting valid response on 2,3,4 & 7,8 ???
where my /dev is as follows:

./          ada3        cd0         da3         da5s4       kbd0@       nfslock     pass6       ttyv0       ttyvc       ugen4.1@
../         ada3p1      console     da3p1       devctl      kbd1@       null        pass7       ttyv1       ttyvd       ugen5.1@
acpi        ada3p2      consolectl  da3p2       devstat     kbd2@       pass0       pass8       ttyv2       ttyve       ugen6.1@
ada0        ada4        crypto      da4         dumpdev@    kbdmux0     pass1       pass9       ttyv3       ttyvf       uhid0
ada0p1      ada5        ctty        da4p1       ext2fs/     klog        pass10      pci         ttyv4       ufs/        ukbd0
ada0p2      ada6        da0         da4p2       fd/         kmem        pass11      ptmx        ttyv5       ufsid/      urandom@
ada1        ada6p1      da1         da5         fido        log@        pass12      pts/        ttyv6       ugen0.1@    usb/
ada1p1      ada6p2      da1p1       da5s1       geom.ctl    md0         pass13      random      ttyv7       ugen1.1@    usbctl
ada1p2      atkbd0      da1p2       da5s1a      ggctl       md1         pass2       stderr@     ttyv8       ugen2.1@    xpt0
ada2        audit       da2         da5s2       gptid/      md2         pass3       stdin@      ttyv9       ugen2.2@    zero
ada2p1      bpf         da2p1       da5s2a      hpt27xx     mdctl       pass4       stdout@     ttyva       ugen3.1@    zfs
ada2p2      bpf0@       da2p2       da5s3       io          mem         pass5       sysmouse    ttyvb       ugen3.2@

did you try with the same command on your card?

#5 Updated by Cyber Jock over 1 year ago

The 35xx, 43xx, 44xx and 45xx series controllers do not use the hpt27xx driver. They use the hptiop driver. You cannot do any SMART commands at all. The expectation is that everything is handled by the CLI.

For instance, if I run smartctl -a -d hpt,1/1/1 /dev/hptiop0 (I just so happen to have a FreeNAS server running right now with the Highpoint RocketRAID 4520) I get:

Smartctl: Device Read Identity Failed: Bad address

A mandatory SMART command failed: exiting. To continue, add one or more '-T permissive' options.

If I add -T permissive I get:

Smartctl: Device Read Identity Failed: Bad address.

Device Model: [No Information Found]
Serial Number: [No Information Found]
Firmware Version: [No Information Found]
Device is: Not in smartctl database [for details use: -P showall]
ATA Version is: [No Information Found]
ATA Standard is: [No Information Found]
Local Time is: Tue Dec 18 01:32:13 2012 PST
SMART support is: Ambiguous - ATA IDENTIFY DEVICE words 82-83 don't show if SMART supported.
SMART support is: Ambiguous - ATA IDENTIFY DEVICE words 85-87 don't show if SMART is enabled.
A mandatory SMART command failed: exiting. To continue, add one or more '-T permissive' options.

When I did my research back in late Oct when I found this issue the consensus from other people was that you HAD to use the CLI to obtain SMART data and run SMART tests. That's why I mentioned adding the serial numbers in this ticket as it is impossible to obtain the serial numbers(at least.. that I know of) without using the Highpoint CLI.

It's kind of crappy that Highpoint would require the CLI the way they do but I'm fairly sure there is no way around it. It's also quite crappy that you have no easy way to identify da*X* to a given physical port on the controller.

#6 Updated by Cyber Jock over 1 year ago

Replying to [comment:6 ShaharHD]:

just for trying... try the following:

> smartctl -a -d hpt,L/1/1 /dev/hptiop0

where L is 2,3 or 4.

in any case isn't this should be fixed in the smartctl level?
[http://sourceforge.net/apps/trac/smartmontools/wiki]

I get the same error regardless of what "L" value I use.

You mean shouldn't this be fixed in the smartctl program? Yes, it should. But the CLI is not open source and nobody knows how Highpoint's proprietary SMART data is requested and parsed out. I'm sure it could be handled correctly with a bit of reverse engineering, but nobody has done it yet.

If you find any information contrary to what I'm posting feel free to make a comment about it. I've yet to find anything contradicting this or that this issue is being addressed. I'm not even sure where to put a ticket in to see if it is fixable with smartctl.

#7 Updated by Shahar - over 1 year ago

the sourceforge link is the active development of smartmon tools.

if you can give them access to a machine with this card I think they might be able to see things we can't :)

I actually found an interesting ticket there:

[http://sourceforge.net/apps/trac/smartmontools/ticket/71]

#8 Updated by Cyber Jock over 1 year ago

I just created an account with them so I can open a ticket. I have no problem giving someone access.. I'd REALLY like to see this work! I'll post back here and in the forum if a fix is ever made.

#9 Updated by Shahar - over 1 year ago

I'll create a user as well and add info to your ticket.
I can give them access to RR2720SGL and R640L

#10 Updated by Cyber Jock over 1 year ago

I have opened a ticket with smartmontools(https://sourceforge.net/apps/trac/smartmontools/ticket/253) to see if support can be added through smartctl. Please do not close this ticket to that ticket. If support is added to smartmontools then this ticket would still be necessary to support adding the SMART info and control to the GUI. I will update this ticket when necessary.

#11 Updated by Jordan Hubbard about 1 month ago

  • Target version set to Future

Any luck?

#12 Updated by Jordan Hubbard about 1 month ago

  • Assignee set to Josh Paetzel

#13 Updated by Cyber Jock about 1 month ago

No luck. Highpoint hasn't responded to my ticket from a year ago. I still have the controller though.

My recommendation is to simply add the Highpoint CLI tool available from their website at http://www.highpoint-tech.com/USA_new/series_rr4520-Download.htm#download and close this. That will at least allow people to write scripts to test their hard drives. Many people use Highpoint despite these drawbacks and the CLI is basically the best we can give them since we're not getting answers from Highpoint.

#14 Updated by Josh Paetzel about 1 month ago

  • Status changed from Unscreened to Screened

Also available in: Atom PDF