You are not logged in.

#1 2017-04-19 17:55:40

heiko-san
Member
Registered: 2017-04-19
Posts: 4

Healthstatus of a Portmultiplier card

Hi,

I'm using this card on an Arch Linux Installation:
http://www.sybausa.com/index.php?route= … uct_id=184

I'm using 5 Disks in RAID 5 mode, which works well, but I wonder if there is a possibility to query the health status of the disks connected to the card.

The card itself is connected to the mainboard using only a SATA port.
It uses a JMB393 processor.
There is a software for Windows which allows to query the status, so basically it should be possible.

However "smartctl -x /dev/<raiddisk>" only gives:

smartctl 6.5 2016-05-07 r4318 [x86_64-linux-4.10.9-1-ARCH] (local build)
Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Device Model:     JMicron H/W RAID5
Serial Number:    706KJB4ZI1ETUFZCARZ8
Firmware Version: 0955
User Capacity:    4.000.627.818.496 bytes [4,00 TB]
Sector Size:      512 bytes logical/physical
Device is:        Not in smartctl database [for details use: -P showall]
ATA Version is:   ATA/ATAPI-7 (minor revision not indicated)
Local Time is:    Wed Apr 19 19:18:52 2017 CEST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
AAM feature is:   Unavailable
APM feature is:   Disabled
Rd look-ahead is: Disabled
Write cache is:   Disabled
ATA Security is:  Disabled, frozen [SEC2]
Wt Cache Reorder: Unavailable

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

General SMART Values:
Offline data collection status:  (0x00)	Offline data collection activity
					was never started.
					Auto Offline Data Collection: Disabled.
Total time to complete Offline 
data collection: 		(    0) seconds.
Offline data collection
capabilities: 			 (0x00) 	Offline data collection not supported.
SMART capabilities:            (0x0000)	Automatic saving of SMART data					is not implemented.
Error logging capability:        (0x00)	Error logging NOT supported.
					No General Purpose Logging support.

SMART Attributes Data Structure revision number: 5
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAGS    VALUE WORST THRESH FAIL RAW_VALUE
194 Temperature_Celsius     -O---K   044   050   000    -    44 (0 21 0 0 0)
                            ||||||_ K auto-keep
                            |||||__ C event count
                            ||||___ R error rate
                            |||____ S speed/performance
                            ||_____ O updated online
                            |______ P prefailure warning

Read SMART Log Directory failed: scsi error badly formed scsi parameters

General Purpose Log Directory not supported

SMART Extended Comprehensive Error Log (GP Log 0x03) not supported

SMART Error Log not supported

SMART Extended Self-test Log (GP Log 0x07) not supported

SMART Self-test Log not supported

Selective Self-tests/Logging not supported

SCT Commands not supported

Device Statistics (GP/SMART Log 0x04) not supported

SATA Phy Event Counters (GP Log 0x11) not supported

The "PASSED" status doesn't change even if I remove a disk.

Does anyone know how the health status of the disks can be queried?
Or does anyone at least have an idea how it might be possible?

Offline

#2 2017-04-19 21:07:59

R00KIE
Forum Fellow
From: Between a computer and a chair
Registered: 2008-09-14
Posts: 4,734

Re: Healthstatus of a Portmultiplier card

Try 'man smartctl', read it carefully and if you miss it on the first read double check what the man page as to say about the option '-d TYPE, --device=TYPE'.


R00KIE
Tm90aGluZyB0byBzZWUgaGVyZSwgbW92ZSBhbG9uZy4K

Offline

#3 2017-04-20 15:50:44

heiko-san
Member
Registered: 2017-04-19
Posts: 4

Re: Healthstatus of a Portmultiplier card

Hi,

thanks, this is indeed a good hint which I could have thought of on my own... sorry.
However I can't seem to find the correct device type to use.

VALID ARGUMENTS ARE: ata, scsi, nvme[,NSID], sat[,auto][,N][+TYPE], usbcypress[,X], usbjmicron[,p][,x][,N], usbprolific, usbsunplus, marvell, areca,N/E, 3ware,N, hpt,L/M/N, megaraid,N, aacraid,H,L,ID, cciss,N, auto, test

Of course "usbjmicron" is eye-catching but it's not an USB device and trying to use it gives an error:
Smartctl open device: /dev/sdb [USB JMicron] failed: scsi error unsupported scsi opcode

Offline

#4 2017-04-20 17:42:05

R00KIE
Forum Fellow
From: Between a computer and a chair
Registered: 2008-09-14
Posts: 4,734

Re: Healthstatus of a Portmultiplier card

Did you try with usbjmicron,0 or just usbjmicron? It was a bit of a long shot but since the bridge (or something in the data path) is made by jmicron there was a remote chance it could work. If using usbjmicron,0 doesn't work then I suppose the windows tools use some kind of proprietary commands to get the smart status of all disks, unless they provide documentation about that there isn't much you can do to implement the same functionality under linux.


R00KIE
Tm90aGluZyB0byBzZWUgaGVyZSwgbW92ZSBhbG9uZy4K

Offline

#5 2017-04-20 18:13:56

heiko-san
Member
Registered: 2017-04-19
Posts: 4

Re: Healthstatus of a Portmultiplier card

I tried both, the "best" (or better the most^^) I could get using this type was:

smartctl -a /dev/sdb -d usbjmicron,0 -T permissive
smartctl 6.5 2016-05-07 r4318 [x86_64-linux-4.10.9-1-ARCH] (local build)
Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org

Read Device Identity failed: scsi error unsupported scsi opcode

=== START OF INFORMATION SECTION ===
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]
Local Time is:    Thu Apr 20 20:06:51 2017 CEST
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.

I guess you are right with the proprietary commands.
The post was a bit of a long shot, too. I thought maybe someone did some reverse enginerring on this card/chip before. Or at least would have hints on how to start reverse engineering stuff like this.
In the past I reverse enigneered an USB device by passing it to a Windows Virtualbox which had the driver installed, and collecting the communication on linux side (usbmon), I sucessfully wrote some kind of driver (maybe not really best practice code and more implementing separate commands then a real protocol, but it worked).
But I'm not sure how to do something like this with a SATA device.

Last edited by heiko-san (2017-04-20 19:18:44)

Offline

#6 2017-04-20 21:24:21

R00KIE
Forum Fellow
From: Between a computer and a chair
Registered: 2008-09-14
Posts: 4,734

Re: Healthstatus of a Portmultiplier card

I have no experience with software reverse engineering so I can't be of much help there.

What you can try, and it is also a long shot, is trying to run the vendor program with wine, with a bit lot of luck it might just work.

Another thing you could try is asking on the smartmontools mailing list how/what you could do to try and reverse engineer this, maybe you will get some useful hints. The ideal situation would be to get some documentation from JMicron directly but I don't think that is going to happen, but you can still try smile


R00KIE
Tm90aGluZyB0byBzZWUgaGVyZSwgbW92ZSBhbG9uZy4K

Offline

#7 2017-04-21 07:40:55

heiko-san
Member
Registered: 2017-04-19
Posts: 4

Re: Healthstatus of a Portmultiplier card

Thanks for your hints, maybe I'll try wine this weekend.
But I think there is little hope it will work (and another thing is, that I don't have a GUI installed on my machine).
However I contacted the support of the maintainer for some details, let's see what he replies. smile

Last edited by heiko-san (2017-04-21 07:42:02)

Offline

Board footer

Powered by FluxBB