Giter Site home page Giter Site logo

ashaduri / gsmartcontrol Goto Github PK

View Code? Open in Web Editor NEW
341.0 12.0 30.0 4.82 MB

GSmartControl - Hard disk drive and SSD health inspection tool

Home Page: https://gsmartcontrol.shaduri.dev

License: GNU General Public License v3.0

Shell 0.87% CMake 5.04% Makefile 0.03% Roff 0.22% C++ 93.12% NSIS 0.72%
smart smartctl smartmontools sata ide ata ssd hdd linux windows

gsmartcontrol's Introduction

I'm a professional C++ software developer since 2002.

While I strongly believe in using the right tool for the job, I'm also an avid fan of safe, reliable and efficient programming, so safe C++ and Rust code is where my interests are focused. Most of my software is cross-platform, but I mainly use Linux as my desktop and development platform.

You can reach me at https://shaduri.dev and [email protected].

gsmartcontrol's People

Contributors

ashaduri avatar codacy-badger avatar davoper avatar ferdnyc avatar hjudt avatar pinotree avatar skitt avatar translate-sw avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

gsmartcontrol's Issues

Ability to display current disk temperature in the drive list

Version and Environment

  • GSmartControl version: [Are you using the latest released version or git?] 1.1.4, Arch
  • OS: [e.g. openSUSE Linux 15.4] Manjaro

Is your feature request related to a problem? Please describe.
I have multiple WD USB disks. Gnome Disks can't show Smart data for them, but GsmartControl can. But to check the current temperature, which I think is important to monitor in real time to prevent overheating, I have to open the disk and click the temperature tab, which is tedious.

Describe the solution you'd like
Option to display current temperature data below the disk icons.

Describe alternatives you've considered
None.

Additional context
For example, Crystal Disk Info allows users to see the current temperatures of multiple disks at once.

image

GSmartControl fails to start. Errors and warnings in terminal.

Hello!

When I try to start GSmasrtControl, it crashes. I've been using it successfully before, but the last time I used it was quite a long time ago, so I don't know when the problem started. I get to "Scanning system, please wait...", but then the window disappears. When I try to start the program from the terminal, I get the following:
.........................
[gtk] _g_io_module_get_default: Found default implementation gvfs (GDaemonVfs) for ‘gio-vfs’
[gtk] setenv()/putenv() are not thread-safe and should not be used after threads are created
[gtk] posix_spawn avoided (workdir specified) (fd close requested)
[gtk] setenv()/putenv() are not thread-safe and should not be used after threads are created
[gtk] setenv()/putenv() are not thread-safe and should not be used after threads are created
[gtk] posix_spawn avoided (workdir specified) (fd close requested)
[gtk] setenv()/putenv() are not thread-safe and should not be used after threads are created
[hz] Warning: exit: Command line did not parse.
[app] execute_smartctl(): Smartctl binary did not execute cleanly.
[app] StorageDevice::execute_device_smartctl(): Smartctl binary did not execute cleanly.
[gtk] setenv()/putenv() are not thread-safe and should not be used after threads are created
[gtk] posix_spawn avoided (workdir specified) (fd close requested)
[gtk] setenv()/putenv() are not thread-safe and should not be used after threads are created
[hz] Warning: exit: Device open failed, or device did not return an IDENTIFY DEVICE structure.
[app] SmartctlParser::parse_full(): No ATA sections could be parsed. Returning.
[gtk] setenv()/putenv() are not thread-safe and should not be used after threads are created
[gtk] posix_spawn avoided (workdir specified) (fd close requested)
[gtk] setenv()/putenv() are not thread-safe and should not be used after threads are created
[hz] Warning: exit: Device open failed, or device did not return an IDENTIFY DEVICE structure.
[app] SmartctlParser::parse_full(): No ATA sections could be parsed. Returning.
[gtk] setenv()/putenv() are not thread-safe and should not be used after threads are created
[gtk] posix_spawn avoided (workdir specified) (fd close requested)
[gtk] setenv()/putenv() are not thread-safe and should not be used after threads are created
[hz] Warning: exit: Device open failed, or device did not return an IDENTIFY DEVICE structure.
[gtk] setenv()/putenv() are not thread-safe and should not be used after threads are created
[gtk] posix_spawn avoided (workdir specified) (fd close requested)
[gtk] setenv()/putenv() are not thread-safe and should not be used after threads are created
[hz] Warning: exit: Device open failed, or device did not return an IDENTIFY DEVICE structure.
[app] SmartctlParser::parse_full(): No ATA sections could be parsed. Returning.
[gtk] setenv()/putenv() are not thread-safe and should not be used after threads are created
[gtk] posix_spawn avoided (workdir specified) (fd close requested)
[gtk] setenv()/putenv() are not thread-safe and should not be used after threads are created
[hz] Warning: exit: Device open failed, or device did not return an IDENTIFY DEVICE structure.
[app] SmartctlParser::parse_full(): No ATA sections could be parsed. Returning.
[gtk] setenv()/putenv() are not thread-safe and should not be used after threads are created
[gtk] posix_spawn avoided (workdir specified) (fd close requested)
[gtk] setenv()/putenv() are not thread-safe and should not be used after threads are created
[hz] Warning: exit: Device open failed, or device did not return an IDENTIFY DEVICE structure.
[app] SmartctlParser::parse_full(): No ATA sections could be parsed. Returning.
Muistialueen ylitys (luotiin core-tiedosto)
.........................
The last line is something like "Memory area exceeded (core file was created)" in English.

I don't know if this is a problem with my Linux Mint 20.1 installation or GSmartControl, so I just decided to start asking here. My system seems to work without problems otherwise. Thanks!

When installing from source on Ubuntu - gsmartcontrol-root does not execute the GUI

When installing from repo's and clicking on the menu item GSmartControl it will prompt for a password, and it opens up the GUI.
But if i install from source, whether i click on the menu item, or whether i run gsmartcontrol-root in terminal it pops up with password prompt but when password is entered, the GUI never opens.
I get this if run gsmartcontrol-root from terminal:

Unable to init server: Could not connect: Connection refused
(gsmartcontrol:4088): Gtk-WARNING **: 19:23:32.852: cannot open display: :0

My issue is the same as these links:
https://forums.opensuse.org/showthread.php/556993-gsmartcontrol-doesn-t-start
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=963510

It only runs if i do sudo gsmartcontrol - but its obviously not supposed to be run like this.

Any solutions to this when installing from source?

Ubuntu 20.04

smartd (SMART Disk Monitoring Daemon) integration

Version and Environment

  • GSmartControl version: latest released (1.1.4)
  • OS: Windows 10 22H2

Is your feature request related to a problem? Please describe.
I like to monitor my hard drives on a periodic basis. Currently, I need to manually check the SMART status and run the self-tests every week, and compare them to the results from last week (which I have to remember for each of my drives).

Describe the solution you'd like
It appears smartmontools already has a solution for this, namely smartd. It would be great to have it integrated into gsmartcontrol where I could configure it, monitor its status, etc.

Describe alternatives you've considered
Configure and run smartd without a GUI, and periodically verify that it's running properly (smartd status).

Additional context
Even though the d in smartd stands for "daemon" which is a linux term, it seems to be implemented for Windows as well: https://sourceforge.net/projects/smartmontools/

Unknown device

Version and Environment

  • GSmartControl version: 1.1.4
  • OS: Ubuntu 22.04.2

Issue description

I am running your excellent software on a Dell Precision 7560 equipped with 2 NVME SSD, where both are Western Digital.

Unfortunately I get an "Unknown model" for them without any detail.

I attach the gsmartcontrol-root -v output to allow you to investigate.

gsmartcontrol-root.log

Software open then crash:

This is the error that I have got:
[gtk] posix_spawn avoided (workdir specified) (fd close requested)
[gtk] setenv()/putenv() are not thread-safe and should not be used after threads are created
[gtk] setenv()/putenv() are not thread-safe and should not be used after threads are created
[gtk] posix_spawn avoided (workdir specified) (fd close requested)
[gtk] setenv()/putenv() are not thread-safe and should not be used after threads are created
[gtk] setenv()/putenv() are not thread-safe and should not be used after threads are created
[gtk] posix_spawn avoided (workdir specified) (fd close requested)
[gtk] setenv()/putenv() are not thread-safe and should not be used after threads are created
Segmentation fault

Dont know what it means but might be a bug in the code.
Thanks Jonathan

Error log tab shown in red, but no errors shown

Version and Environment

  • GSmartControl version: 1.1.3
  • OS: Linux Mint 20.3 Cinnamon x86_64

Describe the Bug
If errors in the SMART log exist but don't have any description, the tab is shown in red, but the table in the GUI is empty.

gsmartcontrol-1

gsmartcontrol-2

(you can see the errors noted in the text log below)

I don't know how often this happens in the real world, and I'd guess not often, but it would be good if the table had entries to show that the error log entry is empty/has no description.

To Reproduce

Not necessarily very easy to reproduce, as you need a drive that exhibits this weird behaviour.

Steps to reproduce the behavior:

  1. Plug in a drive that has the issue.
  2. Go to the error log tab and see the issue.

If there's another way I can help, let me know - I'm going to guess it's going to be pretty hard to reproduce this.

Screenshots
See above.

Additional Context
Kernel version: Linux 5.15.0-46-generic #49~20.04.1-Ubuntu SMP Thu Aug 4 19:15:44 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

Graphical environment: Cinnamon (X11)

GTK version: GTK3 3.24.20

Thank you!

Thank you!

Thank you for your project and software!

Thank you for maintenance in the past and in the future!

Kind regards and season's greetings!

Deprecate menu bar with CSD

When CSD is enabled, lose the menu bar and migrate its functionailty to the CSD header. This will make the UI consistent with other GNOME 3 applications.

Fix "Running smartctl..." popup behavior

Reported by email:

The popup that says "Running 'smartctl' on /dev/sdx..." will float above
all other windows on the desktop even when they should be on top (e.g.
switching to Firefox while this popup is active, the popup will render
on top of the Firefox window.) Also, Gnome's greying out of the windows
behind the popup doesn't work properly. I suspect that the popup does
not have it's parent window properly set, which would cause these types
of issues.

Tested with GSmartControl 1.1.3 on Ubuntu 20.04.1.

Hitachi HUA72202's all report MAX_INT "Mechanical Start Failures"

The Hitachi HUA72202's with Dell FW JKAOA3HA I've tested (6 as of now) all show "Number of Mechanical Start Failures" under Statistics as 4294967295. I assume this is some sort of firmware deficiency, but reporting in case you maintain a quirks table.

How do you get this statistic from smartctl? It's not part of the ones reported by a regular "smartvtl -a"

GSmartControl version: 1.1.3 from Ubuntu 20.04.3

Arch: Missing dependency pcre

Version and Environment

  • GSmartControl version: 1.1.4
  • OS: Arch

Describe the Bug
gsmartcontrol can not start with the following error:
gsmartcontrol: error while loading shared libraries: libpcrecpp.so.0: cannot open shared object file: No such file or directory

Search for "libpcrecpp.so" reveals:

pacman -Ss  libpcrecpp.so
core/pcre 8.45-4
        A deprecated library that implements Perl 5-style regular expressions

After installing "pcre" gsmartcontrol can start again, so please add "pcre" as dependency for arch

Pre-releases of smartctl no longer work due to "pre-" prefix in version info

Version and Environment

  • GSmartControl version: 1.1.4
  • OS: Windows 10 22H2 (but affects all platforms)

Describe the Bug
Pre-releases of smartctl no longer work due to "pre-" prefix in version info

To Reproduce
Steps to reproduce the behavior:

  1. Install a CI release from https://builds.smartmontools.org/ or build it from source.
  2. Select "Look for smartctl in smartmontools installation directory first" in GSmartControl preferences.
  3. Press ^R
  4. "Unknown model" is shown for all drives.

Additional Context
First smartctl output line of CI builds after smartmontools 7.3:
smartctl pre-7.4 2023-06-13 r5481 [x86_64-w64-mingw32-w10-22H2] (CircleCI)

If the "pre-" is removed, GSmartControl works again. So current GSmartControl 1.1.4 will work with upcoming smartmontools 7.4 release.

Crash on Windows 10 21H1

Reported by email:

It appears that GSmartControl 1.1.3 crashes on Windows 10 21H1.

The program starts just fine and scans the drives, then it crashes when
I double-click on a drive to see details.

Tried debugging in Visual Studio and it appears that the problem is an
assertion in some GTK library, but it's hard to be sure without symbols.

Running "smartctl" from the command line works without problems, I can
scan for drives and print SMART data.

Tried both the win64 and win32 versions.

Downgraded to version 1.1.2 -> same problem.
Downgraded to version 1.0.2 -> it works!

Automatic "re-read data" when it fails to read smart info of USB external disks.

Version and Environment

  • GSmartControl version: [Are you using the latest released version or git?] 1.1.4
  • OS: [e.g. openSUSE Linux 15.4] Manjaro

Is your feature request related to a problem? Please describe.
If I leave a USB external WD disk attached for a while and then try to see its smart info, it shows a message box saying that it is getting the info, and then it fails and show the following:

image

If I click the left button, it says

smartctl 7.3 2022-02-28 r5338 [x86_64-linux-6.1.31-2-MANJARO] (local build)
Copyright (C) 2002-22, Bruce Allen, Christian Franke, www.smartmontools.org

Read Device Identity failed: scsi error device will be ready soon

If this is a USB connected device, look at the various --device=TYPE variants
A mandatory SMART command failed: exiting. To continue, add one or more '-T permissive' options.

It only works if I right-click the drive and select "re-read data".

Describe the solution you'd like
When it fails to retrieve the info, maybe GsmartControl can automatically try re-read the data?

Support operation on multiple drives

Version and Environment

  • GSmartControl version: 1.1.4 (latest released)
  • OS: Windows 10 22H2

Is your feature request related to a problem? Please describe.
I'm always frustrated when I want to run the quick test on all my drives - I have to double click each one, go to the Self-Tests tab, and finally click Execute.

Describe the solution you'd like

  1. Select all drives at once (drag / ctrl+click / select all)
  2. Right click
  3. Perform self-test

At this point all selected drive windows would pop up, auto-switch to the self-test tab and start execution.

Describe alternatives you've considered
Keyboard shortcuts could help as well (e.g. ctrl+shift+e for self-test execution). Ideally, they'd do the above, namely pop up the drive window, auto-switch to the self-test tab and start the test. However, any button click save would be an improvement, and any combination of the above could help. For example:

  • Select all devices from the main window
  • Press enter to open all their windows at once
  • In each window, press the keyboard shortcut to switch to the self-test tab and start execution

Additional context
I do this every week and I have 6 hard drives :)

Cannot open Help menu links in gsmartcontrol-root

Hi, many thanks for this app. I am using 1.1.3 on Ubuntu Mate 21.04.

I notice that all links in the Help menu (Help, Support, About/Website and the mailto: links in About/Credits) do not work when using gsmartcontrol-root (they work in non-root gsmartcontrol).

Running gsmartcontrol-root -v I see:

<info>  [app] GscMainWindow::on_action_activated(): Action activated: "action_online_documentation"
Running Firefox as root in a regular user's session is not supported.  ($XAUTHORITY is /home/john/.Xauthority which is owned by john.)
<info>  [app] GscMainWindow::on_action_activated(): Action activated: "action_support"
Running Firefox as root in a regular user's session is not supported.  ($XAUTHORITY is /home/john/.Xauthority which is owned by john.)
<info>  [app] GscMainWindow::on_action_activated(): Action activated: "action_about"
Running Firefox as root in a regular user's session is not supported.  ($XAUTHORITY is /home/john/.Xauthority which is owned by john.)
Running Thunderbird as root in a regular user's session is not supported.  ($XAUTHORITY is /home/john/.Xauthority which is owned by john.)

Red text is barely legible when using a dark theme.

Version and Environment

  • GSmartControl version: [Are you using the latest released version or git?] 1.1.4
  • OS: [e.g. openSUSE Linux 15.4] Manjaro Gnome

Is your feature request related to a problem? Please describe.
Red text is barely legible, when using a dark theme like adw-gtk3-dark.

image

Describe the solution you'd like
A lighter red (closer to pink) text when using a dark theme.

errors at startup & failure to recognize Samsung EVO 960

The issue is that the gsmartcontrol (istalled with apt-get on Ubuntu 20.04, version: 1.1.3) produces lots of errors at runtime, which are outputted to the console. It also fails to parse the "Samsung EVO 960" smart status (which I believe is a quite popular budget SSD).

<error> [gtk] _g_io_module_get_default: Found default implementation local (GLocalVfs) for ‘gio-vfs’
<error> [gtk] posix_spawn avoided (workdir specified) (fd close requested) 
<error> [gtk] setenv()/putenv() are not thread-safe and should not be used after threads are created
<error> [gtk] setenv()/putenv() are not thread-safe and should not be used after threads are created
<error> [gtk] posix_spawn avoided (workdir specified) (fd close requested) 
<error> [gtk] setenv()/putenv() are not thread-safe and should not be used after threads are created
<warn>  [app] SmartctlParser::parse_section_info_property(): Unknown property "Model Number"
<warn>  [app] SmartctlParser::parse_section_info_property(): Unknown property "PCI Vendor/Subsystem ID"
<warn>  [app] SmartctlParser::parse_section_info_property(): Unknown property "IEEE OUI Identifier"
<warn>  [app] SmartctlParser::parse_section_info_property(): Unknown property "Total NVM Capacity"
<warn>  [app] SmartctlParser::parse_section_info_property(): Unknown property "Unallocated NVM Capacity"
<warn>  [app] SmartctlParser::parse_section_info_property(): Unknown property "Controller ID"
<warn>  [app] SmartctlParser::parse_section_info_property(): Unknown property "Number of Namespaces"
<warn>  [app] SmartctlParser::parse_section_info_property(): Unknown property "Namespace 1 Size/Capacity"
<warn>  [app] SmartctlParser::parse_section_info_property(): Unknown property "Namespace 1 Utilization"
<warn>  [app] SmartctlParser::parse_section_info_property(): Unknown property "Namespace 1 Formatted LBA Size"
<warn>  [app] SmartctlParser::parse_section_info_property(): Unknown property "Namespace 1 IEEE EUI-64"
<warn>  [app] SmartctlParser::parse_section_info_property(): Unknown property "Firmware Updates (0x16)"
<warn>  [app] SmartctlParser::parse_section_info_property(): Unknown property "Optional Admin Commands (0x0007)"
<warn>  [app] SmartctlParser::parse_section_info_property(): Unknown property "Optional NVM Commands (0x001f)"
<warn>  [app] SmartctlParser::parse_section_info_property(): Unknown property "Maximum Data Transfer Size"
<warn>  [app] SmartctlParser::parse_section_info_property(): Unknown property "Warning  Comp. Temp. Threshold"
<warn>  [app] SmartctlParser::parse_section_info_property(): Unknown property "Critical Comp. Temp. Threshold"
<warn>  [app] SmartctlParser::parse_section_info(): Unknown Info line encountered.
<warn>  [app] SmartctlParser::parse_section_info(): Unknown Info line encountered.
<warn>  [app] SmartctlParser::parse_section_info(): Unknown Info line encountered.
<warn>  [app] SmartctlParser::parse_section_info(): Unknown Info line encountered.
<warn>  [app] SmartctlParser::parse_section_info(): Unknown Info line encountered.
<warn>  [app] SmartctlParser::parse_section_info(): Unknown Info line encountered.
<warn>  [app] SmartctlParser::parse_section_info(): Unknown Info line encountered.
<warn>  [app] SmartctlParser::parse_section_info(): Unknown Info line encountered.
<warn>  [app] SmartctlParser::parse_section_info(): Unknown Info line encountered.
<warn>  [app] SmartctlParser::parse_section_info(): Unknown Info line encountered.
<warn>  [app] SmartctlParser::parse_section(): Unknown section encountered.
<error> [gtk] setenv()/putenv() are not thread-safe and should not be used after threads are created
<error> [gtk] posix_spawn avoided (workdir specified) (fd close requested) 
<error> [gtk] setenv()/putenv() are not thread-safe and should not be used after threads are created
<error> [gtk] setenv()/putenv() are not thread-safe and should not be used after threads are created
<error> [gtk] posix_spawn avoided (workdir specified) (fd close requested) 
<error> [gtk] setenv()/putenv() are not thread-safe and should not be used after threads are created
<error> [gtk] setenv()/putenv() are not thread-safe and should not be used after threads are created
<error> [gtk] posix_spawn avoided (workdir specified) (fd close requested) 
<error> [gtk] setenv()/putenv() are not thread-safe and should not be used after threads are created
<error> [gtk] setenv()/putenv() are not thread-safe and should not be used after threads are created
<error> [gtk] posix_spawn avoided (workdir specified) (fd close requested) 
<error> [gtk] setenv()/putenv() are not thread-safe and should not be used after threads are created
<warn>  [hz] Warning: exit: Device open failed, or device did not return an IDENTIFY DEVICE structure.
<error> [gtk] setenv()/putenv() are not thread-safe and should not be used after threads are created
<error> [gtk] posix_spawn avoided (workdir specified) (fd close requested) 
<error> [gtk] setenv()/putenv() are not thread-safe and should not be used after threads are created

Best,
Mateusz

Wrong parsing 1TB capacity

System

OS: Xubuntu 20.04.3 LTS
kernel: Linux 5.11.0-43-generic #47~20.04.2-Ubuntu SMP Mon Dec 13 11:06:56 UTC 2021
smartctl: 7.1 2019-12-30 r5022 [x86_64-linux-5.11.0-43-generic] (local build)
gsmartcontrol: 1.1.3
hdd: Seagate/Samsung ST1000LM024 (HN-M101MBB)

Problem

smartctl (tab "General") says 1 TB, but gsmartcontrol (tab "General" -> button "View Output" -> window "Smartctl Output") shows 1 B

image

image

Build system conflict with C++20 <version> header

When compiling on macOS (using MacPorts, clang), autotools-generated version file conflicts with C++20 <version>, with clang finding local version file instead of the system-installed one.
This leads to compilation failure.

Other platforms may also be affected.

This affects autotools-based 1.1.3, but not the cmake-based main branch.

Popup floats above all other windows

The popup that says "Running 'smartctl' on /dev/sdx..." will float above all other windows on the desktop even when they should be on top (e.g. switching to Firefox while this popup is active, the popup will be on top of the Firefox window.) Also, Gnome's greying out of the windows behind the popup doesn't work properly. I suspect that the popup does not have it's parent window properly set, which would cause these types of issues.

Tested with GSmartControl 1.1.3 on Ubuntu 21.10. It's a pretty small bug, but would be nice to have it fixed in a future version. Anyways, thanks for the great software! We use it all the time at our repair shop.

Support NVMe storage

This is a feature request to track NVMe support.

To fully support NVMe, the following criteria have to be met:

  • Better-than-experimental NVMe support in smartctl.
  • Full NVMe JSON output support in smartctl.
  • JSON input support in GSmartControl.
  • NVMe support in GSmartControl GUI, as NVMe information differs significantly from (S)ATA.

Any help is appreciated.

Update Drive Database Error

Version and Environment

  • GSmartControl version: 1.1.4
  • OS: Windows 10

Describe the Bug
When trying to execute Update Drive Database, it will throw an error "Failed to execute child process (Bad file descriptor)".
I can successfully execute update-smart-drivedb.exe from the program folder.

To Reproduce
Steps to reproduce the behavior:

  1. Go to 'Options'
  2. Click on 'Update Drive Database'
  3. See error

Screenshots

2023-03-19 07_48_45-GSmartControl

Additional Context
I have tried uninstalling & reinstalling GSmartControl, the problem remains.

Can't get SMART Values on MacOS

Version and Environment

  • GSmartControl version: Freshly installed today on freshly installed homebrew
  • OS: Mac OS Ventura 13.5 (22G74)

Describe the Bug
On launch
[app] SmartctlParser::parse_section_info_property(): Unknown property "Model Number"
[app] SmartctlParser::parse_section_info_property(): Unknown property "PCI Vendor/Subsystem ID"
[app] SmartctlParser::parse_section_info_property(): Unknown property "IEEE OUI Identifier"
[app] SmartctlParser::parse_section_info_property(): Unknown property "Controller ID"
[app] SmartctlParser::parse_section_info_property(): Unknown property "NVMe Version"
[app] SmartctlParser::parse_section_info_property(): Unknown property "Number of Namespaces"
[app] SmartctlParser::parse_section_info_property(): Unknown property "Firmware Updates (0x02)"
[app] SmartctlParser::parse_section_info_property(): Unknown property "Optional Admin Commands (0x0004)"
[app] SmartctlParser::parse_section_info_property(): Unknown property "Optional NVM Commands (0x0004)"
[app] SmartctlParser::parse_section_info_property(): Unknown property "Maximum Data Transfer Size"
[app] SmartctlParser::parse_section_info(): Unknown Info line encountered.
[app] SmartctlParser::parse_section_info(): Unknown Info line encountered.
[app] SmartctlParser::parse_section_info(): Unknown Info line encountered.
[app] SmartctlParser::parse_section(): Unknown section encountered.
[app] SmartctlParser::parse_section_info_property(): Unknown property "Model Number"
[app] SmartctlParser::parse_section_info_property(): Unknown property "PCI Vendor/Subsystem ID"
[app] SmartctlParser::parse_section_info_property(): Unknown property "IEEE OUI Identifier"
[app] SmartctlParser::parse_section_info_property(): Unknown property "Controller ID"
[app] SmartctlParser::parse_section_info_property(): Unknown property "NVMe Version"
[app] SmartctlParser::parse_section_info_property(): Unknown property "Number of Namespaces"
[app] SmartctlParser::parse_section_info_property(): Unknown property "Firmware Updates (0x02)"
[app] SmartctlParser::parse_section_info_property(): Unknown property "Optional Admin Commands (0x0004)"
[app] SmartctlParser::parse_section_info_property(): Unknown property "Optional NVM Commands (0x0004)"
[app] SmartctlParser::parse_section_info_property(): Unknown property "Maximum Data Transfer Size"
[app] SmartctlParser::parse_section_info(): Unknown Info line encountered.
[app] SmartctlParser::parse_section_info(): Unknown Info line encountered.
[app] SmartctlParser::parse_section_info(): Unknown Info line encountered.
[app] SmartctlParser::parse_section(): Unknown section encountered.
[hz] Warning: exit: Device open failed, or device did not return an IDENTIFY DEVICE structure.
[app] SmartctlParser::parse_full(): No ATA sections could be parsed. Returning.
[hz] Warning: exit: Device open failed, or device did not return an IDENTIFY DEVICE structure.
[app] SmartctlParser::parse_full(): No ATA sections could be parsed. Returning.
[hz] FS warning: Unable to check if a path "/Users/anthonynm/.config/gsmartcontrol/gsmartcontrol.conf" points to directory: No such file or directory.
FOOLON-ContractorAE2021:~ anthonynm$ gsmartcontrol
[app] SmartctlParser::parse_section_info_property(): Unknown property "Model Number"
[app] SmartctlParser::parse_section_info_property(): Unknown property "PCI Vendor/Subsystem ID"
[app] SmartctlParser::parse_section_info_property(): Unknown property "IEEE OUI Identifier"
[app] SmartctlParser::parse_section_info_property(): Unknown property "Controller ID"
[app] SmartctlParser::parse_section_info_property(): Unknown property "NVMe Version"
[app] SmartctlParser::parse_section_info_property(): Unknown property "Number of Namespaces"
[app] SmartctlParser::parse_section_info_property(): Unknown property "Firmware Updates (0x02)"
[app] SmartctlParser::parse_section_info_property(): Unknown property "Optional Admin Commands (0x0004)"
[app] SmartctlParser::parse_section_info_property(): Unknown property "Optional NVM Commands (0x0004)"
[app] SmartctlParser::parse_section_info_property(): Unknown property "Maximum Data Transfer Size"
[app] SmartctlParser::parse_section_info(): Unknown Info line encountered.
[app] SmartctlParser::parse_section_info(): Unknown Info line encountered.
[app] SmartctlParser::parse_section_info(): Unknown Info line encountered.
[app] SmartctlParser::parse_section(): Unknown section encountered.
[app] SmartctlParser::parse_section_info_property(): Unknown property "Model Number"
[app] SmartctlParser::parse_section_info_property(): Unknown property "PCI Vendor/Subsystem ID"
[app] SmartctlParser::parse_section_info_property(): Unknown property "IEEE OUI Identifier"
[app] SmartctlParser::parse_section_info_property(): Unknown property "Controller ID"
[app] SmartctlParser::parse_section_info_property(): Unknown property "NVMe Version"
[app] SmartctlParser::parse_section_info_property(): Unknown property "Number of Namespaces"
[app] SmartctlParser::parse_section_info_property(): Unknown property "Firmware Updates (0x02)"
[app] SmartctlParser::parse_section_info_property(): Unknown property "Optional Admin Commands (0x0004)"
[app] SmartctlParser::parse_section_info_property(): Unknown property "Optional NVM Commands (0x0004)"
[app] SmartctlParser::parse_section_info_property(): Unknown property "Maximum Data Transfer Size"
[app] SmartctlParser::parse_section_info(): Unknown Info line encountered.
[app] SmartctlParser::parse_section_info(): Unknown Info line encountered.
[app] SmartctlParser::parse_section_info(): Unknown Info line encountered.
[app] SmartctlParser::parse_section(): Unknown section encountered.
[hz] Warning: exit: Device open failed, or device did not return an IDENTIFY DEVICE structure.
[app] SmartctlParser::parse_full(): No ATA sections could be parsed. Returning.
[hz] Warning: exit: Device open failed, or device did not return an IDENTIFY DEVICE structure.
[app] SmartctlParser::parse_full(): No ATA sections could be parsed. Returning.
[hz] Warning: exit: Device open failed, or device did not return an IDENTIFY DEVICE structure.
[app] SmartctlParser::parse_full(): No ATA sections could be parsed. Returning.
[hz] Warning: exit: Device open failed, or device did not return an IDENTIFY DEVICE structure.
[app] SmartctlParser::parse_full(): No ATA sections could be parsed. Returning.

All of the attached devices display SMART data in Unraid, DriveDX, and Disk Utility

To Reproduce
Steps to reproduce the behavior:
Install and open.

The software crashes:

Error:
[gtk] posix_spawn avoided (workdir specified) (fd close requested)
[gtk] setenv()/putenv() are not thread-safe and should not be used after threads are created
[gtk] setenv()/putenv() are not thread-safe and should not be used after threads are created
[gtk] posix_spawn avoided (workdir specified) (fd close requested)
[gtk] setenv()/putenv() are not thread-safe and should not be used after threads are created
[gtk] setenv()/putenv() are not thread-safe and should not be used after threads are created
[gtk] posix_spawn avoided (workdir specified) (fd close requested)
[gtk] setenv()/putenv() are not thread-safe and should not be used after threads are created
Segmentation fault

Please fix this.
Thanks Jonathan.

Samsung 980 pro m.2 not beeing detected

As the tittle says the ssd is not beeing detected, i don't know if the model has to be added to the database or is due to beeing and m.2 since the sata ssd is beeing detected perfectly.

Thanks

Tests stall when switching desktops in Gnome

Version and Environment

  • GSmartControl version: 1.1.4
  • OS: Ubuntu 22.10

Describe the Bug
When running disk tests on one desktop of Gnome and then switching to another desktop for doing other works, when returning back to the desktop where GSmartControl runs, the test of GSmartControl crashes/stalls and the entire app and harddisk need to be restarted.

To Reproduce
Steps to reproduce the behavior:

  1. Connect a USB hard disk (Winchester disk, I have not tried it with an SDD) and power it on.
  2. Launch GSmartControl on desktop 1 and start a disk test, e.g. Short offline
  3. Switch to desktop 2 and do some other work for some seconds, e.g. browse the internet. In the background you can hear the HDD continue to do the tests
  4. Switch back to desktop 1 before the test completes
  5. Click on the test window
  6. In 1 out of 3-4 such desktop switches, you notice that the test crashes/ stalls. Suddenly no more disk test sounds can be heard and no more progress in GSmartControlthe can be seen. The test window cannot be closed because "Close" is grayed out.
  7. Close the GSmartControl main window so that all windows including the test window close. Then power off the HDD, too, else it won't be accessible by GSmartControl after its restart. Then restart both GSmartControl and the HDD
  8. Redo everything and notice that it is reproducible
  9. If the desktop is NOT switched, but always focuses on GSmartControl doing the test, the test completes at 100% without any problems.
  10. The problem arises only, when the desktop is switched after the launch of the test and during the running test you return back to the dekstop of GSmartControl. When you just switch to another desktop and not return to the desktop of GSmartControl while the test is running, the test completes without problems. So the problem is with switching desktop back to GSmartControl during a running test.

Include Start Time of Scan Test in Smartctl Output

Version and Environment

  • GSmartControl version: 1.1.4
  • OS: Manjaro (Kernel 6.4.9.1)

Is your feature request related to a problem? Please describe.
I'm new to GSmartControl - previously using Gnome Disks.
I like GSmartControl being able to scan multiple disks simultaneously, which really saves my time.
However, similar to Gnome Disks, GSmartControl does not record Start Time of scan in the Smartctl Output.
The relevant section of Smartctl Output only shows:

ATA Version is: ACS-2 (minor revision not indicated)
SATA Version is: SATA 3.0, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is: Thu Aug 17 22:10:18 2023 +08
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

And I believe the "Local Time" refers to the Completion Time of the scan?
There is no place I can find any reference to the Start Time of the test.

Describe the solution you'd like
In Device Information > Self Test > Estimated duration, GSmartControl does provide an estimate of the time required to run various tests.
However, this is only an estimate, and not actual.
It would be more useful to include the Start Time and End Time of the test, so that users can have more precise control over the disk management.

Also, it would be useful to keep the Smartctl Output separate from SMART test, which run at app startup, and it will override the Smartctl Output of the previous test.

Thanks.

[Question] How to install v1.1.4 on Mint 19.3 ?

Version and Environment

  • GSmartControl version: experiencing #13 with v1.1.3, trying to install v1.1.4
  • OS: Linux Mint 19.3 based on Ubuntu 18.04 (EOL: April 2023)

Describe the Issue
apt policy gsmartcontrol outputs :

gsmartcontrol:
  Installed: 1.1.3-1
  Candidate: 1.1.3-1

apt install ./gsmartcontrol_1.1.4-1_amd64.deb (downloaded from ftp.de.debian.org) outputs :

The following packages have unmet dependencies:
 gsmartcontrol : Depends: libatkmm-1.6-1v5 (>= 2.28.2) but 2.24.2-3 is to be installed
                 Depends: libc6 (>= 2.33) but 2.27-3ubuntu1.6 is to be installed
                 Depends: libgcc-s1 (>= 3.0) but it is not installable
                 Depends: libglibmm-2.4-1v5 (>= 2.66.2) but 2.56.0-1 is to be installed
                 Depends: libgtkmm-3.0-1v5 (>= 3.24.5) but 3.22.2-2 is to be installed
                 Depends: libpangomm-1.4-1v5 (>= 2.46.1) but 2.40.1-4 is to be installed
                 Depends: libstdc++6 (>= 11) but 8.4.0-1ubuntu1~18.04 is to be installed

Thanks

SCSI support

Please, can you add support for SCSI?

On my system I have 16 disc ( 14 SATA, 2 SAS )

PS C:\Program Files\GSmartControl> .\smartctl.exe -d scsi --all /dev/sdb
smartctl 6.6 2017-11-05 r4594 [x86_64-w64-mingw32-w10-b22494] (sf-6.6-1)
Copyright (C) 2002-17, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Vendor: WDC
Product: WUH721818AL5204
Revision: C120
Compliance: SPC-5
User Capacity: 18 000 207 937 536 bytes [18,0 TB]
Logical block size: 512 bytes
Physical block size: 4096 bytes
LU is fully provisioned
Rotation Rate: 7200 rpm
Form Factor: 3.5 inches
Logical Unit id: 0x5000cca28XXXXXX
Serial number: 3WXXXXXX
Device type: disk
Transport protocol: SAS (SPL-3)
Local Time is: Sun Nov 07 16:25:09 2021 SE
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
Temperature Warning: Enabled

=== START OF READ SMART DATA SECTION ===
SMART Health Status: OK

Current Drive Temperature: 47 C
Drive Trip Temperature: 85 C

Manufactured in week 24 of year 2020
Specified cycle count over device lifetime: 50000
Accumulated start-stop cycles: 603
Specified load-unload count over device lifetime: 600000
Accumulated load-unload cycles: 647
Elements in grown defect list: 0

Vendor (Seagate) cache information
Blocks sent to initiator = 1846517556051968

Error counter log:
Errors Corrected by Total Correction Gigabytes Total
ECC rereads/ errors algorithm processed uncorrected
fast | delayed rewrites corrected invocations [10^9 bytes] errors
read: 0 52 0 52 658912 17939,937 0
write: 0 1 0 1 4799 19434,312 0
verify: 0 39 0 39 12332 0,000 0

Non-medium error count: 0

No self-tests have been logged

Self test execution bar color should change to RED when error are present (currently remains green) and title should state "test completed with errors"

Version and Environment

  • GSmartControl version: 1.1.4 (latest released)
  • OS: Windows 10 22H2

Is your feature request related to a problem? Please describe.
The color green is universally interpreted as "successful". I run self tests regularly and recently one of them failed. However I almost missed it as everything seemed normal at first glance.

  1. The reported result was simply "Test completed"
  2. The execution bar was green

It was only upon further inspection that I realized that the subtitle mentioned the test "completed with read failure".

Describe the solution you'd like
Upon any test failure:

  1. The title should change to "test completed with errors"
  2. The execution bar color should change to RED

Additional context
image

GSmartControl crashes when it adds a device or scans manually

Hi,

This is similar to #2.

gsmartcontrol-root --no-scan does not crash, but after I Ctrl R or add a device /dev/sda, it crashes.

Here's my output.txt

I'm using:

  • Linux Mint 20.2 Cinnamon
  • Adwaita but ONLY for controls (not icons)

Used to run okay but "suddenly" crashes.

Thank you. I hope these are helpful.

Stack trace (and then log from the terminal, below it):

===================================================================
 Info                                                              
===================================================================
           PID: 17900 (gsmartcontrol)
           UID: 1000 (username)
           GID: 1000 (username)
        Signal: 11 (SEGV)
     Timestamp: Sat 2021-08-14 19:14:53 (1h 9min ago)
  Command Line: gsmartcontrol
    Executable: /usr/sbin/gsmartcontrol
 Control Group: /user.slice/user-1000.slice/[email protected]/apps.slice/apps-org.gnome.Terminal.slice/vte-spawn-c6515cd1-72a6-4c1b-aca5-e9e774f02df7.scope
          Unit: [email protected]
     User Unit: vte-spawn-c6515cd1-72a6-4c1b-aca5-e9e774f02df7.scope
         Slice: user-1000.slice
     Owner UID: 1000 (username)
       Boot ID: e5b6c0796ca34bf0b04e166ee7289bb1
    Machine ID: 939972095cf1459c8b22cc608eff85da
      Hostname: Hostname
       Storage: /var/lib/systemd/coredump/core.gsmartcontrol.1000.e5b6c0796ca34bf0b04e166ee7289bb1.17900.1628939693000000000000.lz4
       Message: Process 17900 (gsmartcontrol) of user 1000 dumped core.
                
                Stack trace of thread 17900:
                #0  0x0000561fe5e7911e n/a (gsmartcontrol + 0xe211e)
                #1  0x00007fc8972cccf5 n/a (libgtkmm-3.0.so.1 + 0x329cf5)
                #2  0x00007fc8967c804b n/a (libgtk-3.so.0 + 0x14704b)
                #3  0x00007fc8962db1b8 g_hash_table_foreach (libglib-2.0.so.0 + 0x401b8)
                #4  0x00007fc8967c7edf n/a (libgtk-3.so.0 + 0x146edf)
                #5  0x00007fc8967cd8bf n/a (libgtk-3.so.0 + 0x14c8bf)
                #6  0x00007fc896a6f815 n/a (libgtk-3.so.0 + 0x3ee815)
                #7  0x00007fc8963d8a56 n/a (libgobject-2.0.so.0 + 0x14a56)
                #8  0x00007fc8963f7b48 g_signal_emit_valist (libgobject-2.0.so.0 + 0x33b48)
                #9  0x00007fc8963f80f3 g_signal_emit (libgobject-2.0.so.0 + 0x340f3)
                #10 0x00007fc8967c9a73 gtk_cell_area_apply_attributes (libgtk-3.so.0 + 0x148a73)
                #11 0x00007fc8968a1a79 n/a (libgtk-3.so.0 + 0x220a79)
                #12 0x00007fc896723506 n/a (libgtk-3.so.0 + 0xa2506)
                #13 0x00007fc895907fea n/a (libatk-bridge-2.0.so.0 + 0x14fea)
                #14 0x00007fc8963eca8d n/a (libgobject-2.0.so.0 + 0x28a8d)
                #15 0x00007fc8963f7bbe g_signal_emit_valist (libgobject-2.0.so.0 + 0x33bbe)
                #16 0x00007fc8963f8b9c g_signal_emit_by_name (libgobject-2.0.so.0 + 0x34b9c)
                #17 0x00007fc8963d8802 g_closure_invoke (libgobject-2.0.so.0 + 0x14802)
                #18 0x00007fc8963ec243 n/a (libgobject-2.0.so.0 + 0x28243)
                #19 0x00007fc8963f7bbe g_signal_emit_valist (libgobject-2.0.so.0 + 0x33bbe)
                #20 0x00007fc8963f80f3 g_signal_emit (libgobject-2.0.so.0 + 0x340f3)
                #21 0x00007fc8968cbc98 gtk_list_store_insert (libgtk-3.so.0 + 0x24ac98)
                #22 0x00007fc897317cce _ZN3Gtk9ListStore6appendEv (libgtkmm-3.0.so.1 + 0x374cce)
                #23 0x0000561fe5e73be0 n/a (gsmartcontrol + 0xdcbe0)
                #24 0x0000561fe5e74c1f n/a (gsmartcontrol + 0xddc1f)
                #25 0x0000561fe5e76257 n/a (gsmartcontrol + 0xdf257)
                #26 0x0000561fe5e5d14a n/a (gsmartcontrol + 0xc614a)
                #27 0x0000561fe5e5667c n/a (gsmartcontrol + 0xbf67c)
                #28 0x0000561fe5e05fc9 n/a (gsmartcontrol + 0x6efc9)
                #29 0x00007fc895d540b3 __libc_start_main (libc.so.6 + 0x270b3)
                #30 0x0000561fe5e170ee n/a (gsmartcontrol + 0x800ee)
                
                Stack trace of thread 17901:
                #0  0x00007fc895e42aff __GI___poll (libc.so.6 + 0x115aff)
                #1  0x00007fc8962ed36e n/a (libglib-2.0.so.0 + 0x5236e)
                #2  0x00007fc8962ed4a3 g_main_context_iteration (libglib-2.0.so.0 + 0x524a3)
                #3  0x00007fc8962ed4f1 n/a (libglib-2.0.so.0 + 0x524f1)
                #4  0x00007fc896316ad1 n/a (libglib-2.0.so.0 + 0x7bad1)
                #5  0x00007fc895f28609 start_thread (libpthread.so.0 + 0x9609)
                #6  0x00007fc895e4f293 __clone (libc.so.6 + 0x122293)
                
                Stack trace of thread 17902:
                #0  0x00007fc895e42aff __GI___poll (libc.so.6 + 0x115aff)
                #1  0x00007fc8962ed36e n/a (libglib-2.0.so.0 + 0x5236e)
                #2  0x00007fc8962ed6f3 g_main_loop_run (libglib-2.0.so.0 + 0x526f3)
                #3  0x00007fc8956def8a n/a (libgio-2.0.so.0 + 0x11ef8a)
                #4  0x00007fc896316ad1 n/a (libglib-2.0.so.0 + 0x7bad1)
                #5  0x00007fc895f28609 start_thread (libpthread.so.0 + 0x9609)
                #6  0x00007fc895e4f293 __clone (libc.so.6 + 0x122293)
===================================================================
 GDB Log                                                           
===================================================================
[New LWP 17900]
[New LWP 17901]
[New LWP 17902]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `gsmartcontrol'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x0000561fe5e7911e in ?? ()
[Current thread is 1 (Thread 0x7fc894a1ff40 (LWP 17900))]

===================================================================
 GDB Backtrace                                                     
===================================================================
[New LWP 17900]
[New LWP 17901]
[New LWP 17902]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `gsmartcontrol'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x0000561fe5e7911e in ?? ()
[Current thread is 1 (Thread 0x7fc894a1ff40 (LWP 17900))]
#0  0x0000561fe5e7911e in ?? ()
#1  0x00007fc8972cccf5 in ?? () from /lib/x86_64-linux-gnu/libgtkmm-3.0.so.1
#2  0x00007fc8967c804b in ?? () from /lib/x86_64-linux-gnu/libgtk-3.so.0
#3  0x00007fc8962db1b8 in g_hash_table_foreach () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007fc8967c7edf in ?? () from /lib/x86_64-linux-gnu/libgtk-3.so.0
#5  0x00007fc8967cd8bf in ?? () from /lib/x86_64-linux-gnu/libgtk-3.so.0
#6  0x00007fc896a6f815 in ?? () from /lib/x86_64-linux-gnu/libgtk-3.so.0
#7  0x00007fc8963d8a56 in ?? () from /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#8  0x00007fc8963f7b48 in g_signal_emit_valist () from /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#9  0x00007fc8963f80f3 in g_signal_emit () from /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#10 0x00007fc8967c9a73 in gtk_cell_area_apply_attributes () from /lib/x86_64-linux-gnu/libgtk-3.so.0
#11 0x00007fc8968a1a79 in ?? () from /lib/x86_64-linux-gnu/libgtk-3.so.0
#12 0x00007fc896723506 in ?? () from /lib/x86_64-linux-gnu/libgtk-3.so.0
#13 0x00007fc895907fea in ?? () from /lib/x86_64-linux-gnu/libatk-bridge-2.0.so.0
#14 0x00007fc8963eca8d in ?? () from /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#15 0x00007fc8963f7bbe in g_signal_emit_valist () from /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#16 0x00007fc8963f8b9c in g_signal_emit_by_name () from /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#17 0x00007fc8963d8802 in g_closure_invoke () from /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#18 0x00007fc8963ec243 in ?? () from /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#19 0x00007fc8963f7bbe in g_signal_emit_valist () from /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#20 0x00007fc8963f80f3 in g_signal_emit () from /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#21 0x00007fc8968cbc98 in gtk_list_store_insert () from /lib/x86_64-linux-gnu/libgtk-3.so.0
#22 0x00007fc897317cce in Gtk::ListStore::append() () from /lib/x86_64-linux-gnu/libgtkmm-3.0.so.1
#23 0x0000561fe5e73be0 in ?? ()
#24 0x0000561fe5e74c1f in ?? ()
#25 0x0000561fe5e76257 in ?? ()
#26 0x0000561fe5e5d14a in ?? ()
#27 0x0000561fe5e5667c in ?? ()
#28 0x0000561fe5e05fc9 in ?? ()
#29 0x00007fc895d540b3 in __libc_start_main (main=0x561fe5e05fa0, argc=1, argv=0x7fffa24f8b48, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffa24f8b38) at ../csu/libc-start.c:308
#30 0x0000561fe5e170ee in ?? ()

===================================================================
 GDB Backtrace (all threads)                                       
===================================================================
[New LWP 17900]
[New LWP 17901]
[New LWP 17902]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `gsmartcontrol'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x0000561fe5e7911e in ?? ()
[Current thread is 1 (Thread 0x7fc894a1ff40 (LWP 17900))]

Thread 3 (Thread 0x7fc891d21700 (LWP 17902)):
#0  0x00007fc895e42aff in __GI___poll (fds=0x561fe7f52070, nfds=2, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
        resultvar = 18446744073709551100
        sc_cancel_oldtype = 0
        sc_ret = <optimized out>
#1  0x00007fc8962ed36e in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#2  0x00007fc8962ed6f3 in g_main_loop_run () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#3  0x00007fc8956def8a in ?? () from /lib/x86_64-linux-gnu/libgio-2.0.so.0
No symbol table info available.
#4  0x00007fc896316ad1 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#5  0x00007fc895f28609 in start_thread (arg=<optimized out>) at pthread_create.c:477
        ret = <optimized out>
        pd = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140499416651520, -2887917060274333403, 140735916504654, 140735916504655, 140735916504800, 140499416648832, 2917537715212704037, 2917529197837343013}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = 0
#6  0x00007fc895e4f293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
No locals.

Thread 2 (Thread 0x7fc892522700 (LWP 17901)):
#0  0x00007fc895e42aff in __GI___poll (fds=0x561fe7f3d3b0, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
        resultvar = 18446744073709551100
        sc_cancel_oldtype = 0
        sc_ret = <optimized out>
#1  0x00007fc8962ed36e in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#2  0x00007fc8962ed4a3 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#3  0x00007fc8962ed4f1 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#4  0x00007fc896316ad1 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#5  0x00007fc895f28609 in start_thread (arg=<optimized out>) at pthread_create.c:477
        ret = <optimized out>
        pd = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140499425044224, -2887917060274333403, 140735916504222, 140735916504223, 140735916504368, 140499425041536, 2917534417214691621, 2917529197837343013}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = 0
#6  0x00007fc895e4f293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
No locals.

Thread 1 (Thread 0x7fc894a1ff40 (LWP 17900)):
#0  0x0000561fe5e7911e in ?? ()
No symbol table info available.
#1  0x00007fc8972cccf5 in ?? () from /lib/x86_64-linux-gnu/libgtkmm-3.0.so.1
No symbol table info available.
#2  0x00007fc8967c804b in ?? () from /lib/x86_64-linux-gnu/libgtk-3.so.0
No symbol table info available.
#3  0x00007fc8962db1b8 in g_hash_table_foreach () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#4  0x00007fc8967c7edf in ?? () from /lib/x86_64-linux-gnu/libgtk-3.so.0
No symbol table info available.
#5  0x00007fc8967cd8bf in ?? () from /lib/x86_64-linux-gnu/libgtk-3.so.0
No symbol table info available.
#6  0x00007fc896a6f815 in ?? () from /lib/x86_64-linux-gnu/libgtk-3.so.0
No symbol table info available.
#7  0x00007fc8963d8a56 in ?? () from /lib/x86_64-linux-gnu/libgobject-2.0.so.0
No symbol table info available.
#8  0x00007fc8963f7b48 in g_signal_emit_valist () from /lib/x86_64-linux-gnu/libgobject-2.0.so.0
No symbol table info available.
#9  0x00007fc8963f80f3 in g_signal_emit () from /lib/x86_64-linux-gnu/libgobject-2.0.so.0
No symbol table info available.
#10 0x00007fc8967c9a73 in gtk_cell_area_apply_attributes () from /lib/x86_64-linux-gnu/libgtk-3.so.0
No symbol table info available.
#11 0x00007fc8968a1a79 in ?? () from /lib/x86_64-linux-gnu/libgtk-3.so.0
No symbol table info available.
#12 0x00007fc896723506 in ?? () from /lib/x86_64-linux-gnu/libgtk-3.so.0
No symbol table info available.
#13 0x00007fc895907fea in ?? () from /lib/x86_64-linux-gnu/libatk-bridge-2.0.so.0
No symbol table info available.
#14 0x00007fc8963eca8d in ?? () from /lib/x86_64-linux-gnu/libgobject-2.0.so.0
No symbol table info available.
#15 0x00007fc8963f7bbe in g_signal_emit_valist () from /lib/x86_64-linux-gnu/libgobject-2.0.so.0
No symbol table info available.
#16 0x00007fc8963f8b9c in g_signal_emit_by_name () from /lib/x86_64-linux-gnu/libgobject-2.0.so.0
No symbol table info available.
#17 0x00007fc8963d8802 in g_closure_invoke () from /lib/x86_64-linux-gnu/libgobject-2.0.so.0
No symbol table info available.
#18 0x00007fc8963ec243 in ?? () from /lib/x86_64-linux-gnu/libgobject-2.0.so.0
No symbol table info available.
#19 0x00007fc8963f7bbe in g_signal_emit_valist () from /lib/x86_64-linux-gnu/libgobject-2.0.so.0
No symbol table info available.
#20 0x00007fc8963f80f3 in g_signal_emit () from /lib/x86_64-linux-gnu/libgobject-2.0.so.0
No symbol table info available.
#21 0x00007fc8968cbc98 in gtk_list_store_insert () from /lib/x86_64-linux-gnu/libgtk-3.so.0
No symbol table info available.
#22 0x00007fc897317cce in Gtk::ListStore::append() () from /lib/x86_64-linux-gnu/libgtkmm-3.0.so.1
No symbol table info available.
#23 0x0000561fe5e73be0 in ?? ()
No symbol table info available.
#24 0x0000561fe5e74c1f in ?? ()
No symbol table info available.
#25 0x0000561fe5e76257 in ?? ()
No symbol table info available.
#26 0x0000561fe5e5d14a in ?? ()
No symbol table info available.
#27 0x0000561fe5e5667c in ?? ()
No symbol table info available.
#28 0x0000561fe5e05fc9 in ?? ()
No symbol table info available.
#29 0x00007fc895d540b3 in __libc_start_main (main=0x561fe5e05fa0, argc=1, argv=0x7fffa24f8b48, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffa24f8b38) at ../csu/libc-start.c:308
        self = <optimized out>
        result = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {94695001711120, -2887917060274333403, 94695000731840, 140735916510016, 0, 0, 2887733300750637349, 2917528912328186149}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x1, 0x7fffa24f8b48}, data = {prev = 0x0, cleanup = 0x0, canceltype = 1}}}
        not_first_call = <optimized out>
#30 0x0000561fe5e170ee in ?? ()
No symbol table info available.
#0  0x0000561fe5e7911e in ?? ()
#1  0x00007fc8972cccf5 in ?? () from /lib/x86_64-linux-gnu/libgtkmm-3.0.so.1
#2  0x00007fc8967c804b in ?? () from /lib/x86_64-linux-gnu/libgtk-3.so.0
#3  0x00007fc8962db1b8 in g_hash_table_foreach () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007fc8967c7edf in ?? () from /lib/x86_64-linux-gnu/libgtk-3.so.0
#5  0x00007fc8967cd8bf in ?? () from /lib/x86_64-linux-gnu/libgtk-3.so.0
#6  0x00007fc896a6f815 in ?? () from /lib/x86_64-linux-gnu/libgtk-3.so.0
#7  0x00007fc8963d8a56 in ?? () from /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#8  0x00007fc8963f7b48 in g_signal_emit_valist () from /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#9  0x00007fc8963f80f3 in g_signal_emit () from /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#10 0x00007fc8967c9a73 in gtk_cell_area_apply_attributes () from /lib/x86_64-linux-gnu/libgtk-3.so.0
#11 0x00007fc8968a1a79 in ?? () from /lib/x86_64-linux-gnu/libgtk-3.so.0
#12 0x00007fc896723506 in ?? () from /lib/x86_64-linux-gnu/libgtk-3.so.0
#13 0x00007fc895907fea in ?? () from /lib/x86_64-linux-gnu/libatk-bridge-2.0.so.0
#14 0x00007fc8963eca8d in ?? () from /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#15 0x00007fc8963f7bbe in g_signal_emit_valist () from /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#16 0x00007fc8963f8b9c in g_signal_emit_by_name () from /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#17 0x00007fc8963d8802 in g_closure_invoke () from /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#18 0x00007fc8963ec243 in ?? () from /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#19 0x00007fc8963f7bbe in g_signal_emit_valist () from /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#20 0x00007fc8963f80f3 in g_signal_emit () from /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#21 0x00007fc8968cbc98 in gtk_list_store_insert () from /lib/x86_64-linux-gnu/libgtk-3.so.0
#22 0x00007fc897317cce in Gtk::ListStore::append() () from /lib/x86_64-linux-gnu/libgtkmm-3.0.so.1
#23 0x0000561fe5e73be0 in ?? ()
#24 0x0000561fe5e74c1f in ?? ()
#25 0x0000561fe5e76257 in ?? ()
#26 0x0000561fe5e5d14a in ?? ()
#27 0x0000561fe5e5667c in ?? ()
#28 0x0000561fe5e05fc9 in ?? ()
#29 0x00007fc895d540b3 in __libc_start_main (main=0x561fe5e05fa0, argc=1, argv=0x7fffa24f8b48, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffa24f8b38) at ../csu/libc-start.c:308
#30 0x0000561fe5e170ee in ?? ()

Log from terminal

<error> [gtk] _g_io_module_get_default: Found default implementation local (GLocalVfs) for ‘gio-vfs’
<error> [gtk] posix_spawn avoided (workdir specified) (fd close requested) 
<error> [gtk] setenv()/putenv() are not thread-safe and should not be used after threads are created
<error> [gtk] setenv()/putenv() are not thread-safe and should not be used after threads are created
<error> [gtk] posix_spawn avoided (workdir specified) (fd close requested) 
<error> [gtk] setenv()/putenv() are not thread-safe and should not be used after threads are created
<error> [gtk] setenv()/putenv() are not thread-safe and should not be used after threads are created
<error> [gtk] posix_spawn avoided (workdir specified) (fd close requested) 
<error> [gtk] setenv()/putenv() are not thread-safe and should not be used after threads are created
<warn>  [app] SmartctlParser::parse_full(): No ATA sections could be parsed. Returning.
/usr/bin/gsmartcontrol-root: line 167: 51916 Segmentation fault      (core dumped) pkexec --disable-internal-agent /usr/sbin/gsmartcontrol "--no-scan"

gsmartcontrol 1.1.3 windows 64 fails to run from command line (title edited)

When I run gsmartcontrol from an unzipped folder, it fails, however, if I run it from an installed version using the .exe installer, then it works. Note that the problem appears to be more related to smartctl-nc.exe than to gsmartcontrol itself. smartctl-nc.exe -V displays nothing which is why the gsmartcontrol launcher is failing immediately.

Is there more to running gsmartcontrol via the unzipped archive than just unzipping and running the command? I get the following behavior when running from an unzipped folder:

image

Command Line log:

PS C:\Users\tonya\Downloads\gsmartcontrol-1.1.3-win64> .\gsmartcontrol.exe
PS C:\Users\tonya\Downloads\gsmartcontrol-1.1.3-win64>
PS C:\Users\tonya\Downloads\gsmartcontrol-1.1.3-win64>
<dump>  [app]   locale: 1
<dump>  [app]   version: 0
<dump>  [app]   hide_tabs: 1
<dump>  [app]   scan: 1
<dump>  [app]   arg_add_virtual: [empty]
<dump>  [app]   arg_add_device: [empty]
<dump>  [app]   arg_gdk_scale: nan
<dump>  [app]   arg_gdk_dpi_scale: nan
<dump>  [app] LibDebug options:
<dump>  [app]   levels_enabled: 11111
<dump>  [app]   debug_colorize: false
<dump>  [app] {anonymous}::app_init_config(): Global config file: "gsmartcontrol.conf"
<dump>  [app] {anonymous}::app_init_config(): Local config file: "C:\Users\tonya\AppData\Roaming\gsmartcontrol\gsmartcontrol.conf"
<dump>  [app] {anonymous}::app_init_config(): Old local config file: "C:\Users\tonya\Documents\gsmartcontrol.conf"
<info>  [rmn] Loading under "/config" from file "C:\Users\tonya\AppData\Roaming\gsmartcontrol\gsmartcontrol.conf".
<dump>  [rconfig] /                    [3] /
config               [4] /config
gui                  [3] /config/gui
main_window          [3] /config/gui/main_window
default_size_w       [3] /config/gui/main_window/default_size_w 560
default_size_h       [3] /config/gui/main_window/default_size_h 779
default_pos_x        [3] /config/gui/main_window/default_pos_x 234
default_pos_y        [3] /config/gui/main_window/default_pos_y 234
default              [4] /default
<info>  [rconfig] Setting autosave config file to "C:\Users\tonya\AppData\Roaming\gsmartcontrol\gsmartcontrol.conf"
<info>  [rconfig] Starting config autosave with 180 sec. interval.
<info>  [app] Current C locale: C
<info>  [app] Current C++ locale: C

(GSMART~1.EXE:23308): Gtk-WARNING **: Theme parsing error: gtk-win32-base.css:1043:59: Junk at end of value for background-image
<dump>  [app] Current GTK theme: win32

(GSMART~1.EXE:23308): Gtk-WARNING **: Could not find the icon 'drive-harddisk'. The 'hicolor' theme
was not found either, perhaps you need to install it.
You can get a copy from:
        http://icon-theme.freedesktop.org/releases
<info>  [app] hz::data_file_find(): Data file "icon_hdd.png" found at ".".
<info>  [app] hz::data_file_find(): Data file "icon_cddvd.png" found at ".".
<info>  [app] get_smartctl_binary(): Smartmontools installation not found in "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\smartmontools\InstallLocation".
<dump>  [default] ENTER: "Cmdex::execute()"
<info>  [app] Cmdex::execute(): Executing "'smartctl-nc.exe' -V".
<dump>  [default] EXIT:  "Cmdex::execute()"
<dump>  [default] ENTER: "Cmdex::stopped_cleanup()"
<dump>  [default] ENTER: "Cmdex::unset_stop_timeouts()"
<dump>  [default] EXIT:  "Cmdex::unset_stop_timeouts()"
<dump>  [default] EXIT:  "Cmdex::stopped_cleanup()"
<dump>  [default] ENTER: "Cmdex::stopped_cleanup()"

Switch device information tabs with Ctrl+Tab

Version and Environment

  • GSmartControl version: 1.1.4 (latest)
  • OS: Windows 10 22H2

Is your feature request related to a problem? Please describe.
Device information windows cannot be navigated using the keyboard.
Most importantly, tabs (General, Attributes, Statistics, etc.) cannot be switched using the keyboard as far as I could tell.

Describe the solution you'd like
Pressing Ctrl+Tab would switch tabs, similar to how browser tabs can be switched in this fashion.

Describe alternatives you've considered
Only alternative I could find was clicking the tabs with the mouse, which is not as good ergonomically.

Additional context
This is a standard feature in tabbed interfaces (browsers, shell windows, etc.)

Segfault scanning drives

  • Linux Mint 20 Cinnamon - 4.6.7 - Kernel 5.4.0-97-generic
  • i gtk2-engines - theme engines for GTK+ 2.x
  • GSmartControl version 1.1.3

If there's anything I can do to help, please ask. I'm not a programmer.

Launching "/usr/bin/gsmartcontrol-root" --no-scan starts the app but segfaults when scanning:

[Tue Feb  8 00:48:02 2022] gsmartcontrol[4079581]: segfault at 0 ip 000055a269ab111e sp 00007ffcc7c48a80 error 4 in gsmartcontrol[55a269a1a000+125000]
[Tue Feb  8 00:48:02 2022] Code: 7c 24 08 48 89 de e8 41 ca f6 ff 48 8b 44 24 08 48 89 df 48 8b 10 48 8b 52 e8 4c 8b 64 10 08 e8 a8 d4 f6 ff 89 c6 48 8b 04 24 <48> 8b 10 48 8b 52 e8 48 8b 7c 10 08 4c 89 e2 e8 be c9 f6 ff 48 8b

This is smartctl -x /dev/sda output (I have sda internal and sdb external USB):

smartctl 7.1 2019-12-30 r5022 [x86_64-linux-5.4.0-97-generic] (local build)
Copyright (C) 2002-19, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Model Family:     HGST Travelstar Z5K1000
Device Model:     HGST HTS541010B7E610
Serial Number:    WXG1A7742KJ5
LU WWN Device Id: 5 0014ee 65d347765
Firmware Version: 01.01A01
User Capacity:    1,000,204,886,016 bytes [1.00 TB]
Sector Sizes:     512 bytes logical, 4096 bytes physical
Rotation Rate:    5400 rpm
Form Factor:      2.5 inches
Device is:        In smartctl database [for details use: -P show]
ATA Version is:   ACS-3 T13/2161-D revision 5
SATA Version is:  SATA 3.1, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is:    Tue Feb  8 01:01:12 2022 GMT
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
AAM feature is:   Unavailable
APM level is:     254 (maximum performance)
Rd look-ahead is: Enabled
Write cache is:   Enabled
DSN feature is:   Unavailable
ATA Security is:  Disabled, frozen [SEC2]
Wt Cache Reorder: Enabled

=== 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.
Self-test execution status:      (   0)	The previous self-test routine completed
					without error or no self-test has ever 
					been run.
Total time to complete Offline 
data collection: 		( 9660) seconds.
Offline data collection
capabilities: 			 (0x71) SMART execute Offline immediate.
					No Auto Offline data collection support.
					Suspend Offline collection upon new
					command.
					No Offline surface scan supported.
					Self-test supported.
					Conveyance Self-test supported.
					Selective Self-test supported.
SMART capabilities:            (0x0003)	Saves SMART data before entering
					power-saving mode.
					Supports SMART auto save timer.
Error logging capability:        (0x01)	Error logging supported.
					General Purpose Logging supported.
Short self-test routine 
recommended polling time: 	 (   2) minutes.
Extended self-test routine
recommended polling time: 	 ( 233) minutes.
Conveyance self-test routine
recommended polling time: 	 (   3) minutes.
SCT capabilities: 	       (0x3035)	SCT Status supported.
					SCT Feature Control supported.
					SCT Data Table supported.

SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAGS    VALUE WORST THRESH FAIL RAW_VALUE
  1 Raw_Read_Error_Rate     POSR-K   200   200   051    -    0
  3 Spin_Up_Time            POS--K   185   185   021    -    1725
  4 Start_Stop_Count        -O--CK   100   100   000    -    44
  5 Reallocated_Sector_Ct   PO--CK   200   200   140    -    0
  7 Seek_Error_Rate         -OSR-K   200   200   000    -    0
  9 Power_On_Hours          -O--CK   094   094   000    -    4493
 10 Spin_Retry_Count        -O--CK   100   253   000    -    0
 11 Calibration_Retry_Count -O--CK   100   253   000    -    0
 12 Power_Cycle_Count       -O--CK   100   100   000    -    38
192 Power-Off_Retract_Count -O--CK   200   200   000    -    24
193 Load_Cycle_Count        -O--CK   200   200   000    -    35
194 Temperature_Celsius     -O---K   097   082   000    -    46
196 Reallocated_Event_Count -O--CK   200   200   000    -    0
197 Current_Pending_Sector  -O--CK   200   200   000    -    0
198 Offline_Uncorrectable   ----CK   100   253   000    -    0
199 UDMA_CRC_Error_Count    -O--CK   200   200   000    -    0
200 Multi_Zone_Error_Rate   ---R--   100   253   000    -    0
                            ||||||_ K auto-keep
                            |||||__ C event count
                            ||||___ R error rate
                            |||____ S speed/performance
                            ||_____ O updated online
                            |______ P prefailure warning

General Purpose Log Directory Version 1
SMART           Log Directory Version 1 [multi-sector log support]
Address    Access  R/W   Size  Description
0x00       GPL,SL  R/O      1  Log Directory
0x01           SL  R/O      1  Summary SMART error log
0x02           SL  R/O      5  Comprehensive SMART error log
0x03       GPL     R/O      6  Ext. Comprehensive SMART error log
0x06           SL  R/O      1  SMART self-test log
0x07       GPL     R/O      1  Extended self-test log
0x09           SL  R/W      1  Selective self-test log
0x10       GPL     R/O      1  NCQ Command Error log
0x11       GPL     R/O      1  SATA Phy Event Counters log
0x24       GPL     R/O    277  Current Device Internal Status Data log
0x30       GPL,SL  R/O      9  IDENTIFY DEVICE data log
0x80-0x9f  GPL,SL  R/W     16  Host vendor specific log
0xa0-0xa7  GPL,SL  VS      16  Device vendor specific log
0xa8-0xb6  GPL,SL  VS       1  Device vendor specific log
0xb7       GPL,SL  VS      74  Device vendor specific log
0xbd       GPL,SL  VS       1  Device vendor specific log
0xc0       GPL,SL  VS       1  Device vendor specific log
0xc1       GPL     VS      93  Device vendor specific log
0xe0       GPL,SL  R/W      1  SCT Command/Status
0xe1       GPL,SL  R/W      1  SCT Data Transfer

SMART Extended Comprehensive Error Log Version: 1 (6 sectors)
No Errors Logged

SMART Extended Self-test Log Version: 1 (1 sectors)
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Conveyance offline  Completed without error       00%         0         -

SMART Selective self-test log data structure revision number 1
 SPAN  MIN_LBA  MAX_LBA  CURRENT_TEST_STATUS
    1        0        0  Not_testing
    2        0        0  Not_testing
    3        0        0  Not_testing
    4        0        0  Not_testing
    5        0        0  Not_testing
Selective self-test flags (0x0):
  After scanning selected spans, do NOT read-scan remainder of disk.
If Selective self-test is pending on power-up, resume after 0 minute delay.

SCT Status Version:                  3
SCT Version (vendor specific):       258 (0x0102)
Device State:                        Active (0)
Current Temperature:                    46 Celsius
Power Cycle Min/Max Temperature:     38/46 Celsius
Lifetime    Min/Max Temperature:     24/61 Celsius
Under/Over Temperature Limit Count:   0/0
Vendor specific:
01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

SCT Temperature History Version:     2
Temperature Sampling Period:         1 minute
Temperature Logging Interval:        1 minute
Min/Max recommended Temperature:      0/60 Celsius
Min/Max Temperature Limit:           -41/85 Celsius
Temperature History Size (Index):    128 (94)

Index    Estimated Time   Temperature Celsius
  95    2022-02-07 22:54    43  ************************
 ...    ..( 10 skipped).    ..  ************************
 106    2022-02-07 23:05    43  ************************
 107    2022-02-07 23:06    44  *************************
 ...    ..(  5 skipped).    ..  *************************
 113    2022-02-07 23:12    44  *************************
 114    2022-02-07 23:13    45  **************************
 ...    ..(  3 skipped).    ..  **************************
 118    2022-02-07 23:17    45  **************************
 119    2022-02-07 23:18    44  *************************
 ...    ..( 15 skipped).    ..  *************************
   7    2022-02-07 23:34    44  *************************
   8    2022-02-07 23:35    43  ************************
 ...    ..(  5 skipped).    ..  ************************
  14    2022-02-07 23:41    43  ************************
  15    2022-02-07 23:42    42  ***********************
 ...    ..(  4 skipped).    ..  ***********************
  20    2022-02-07 23:47    42  ***********************
  21    2022-02-07 23:48    43  ************************
 ...    ..(  3 skipped).    ..  ************************
  25    2022-02-07 23:52    43  ************************
  26    2022-02-07 23:53    44  *************************
 ...    ..(  7 skipped).    ..  *************************
  34    2022-02-08 00:01    44  *************************
  35    2022-02-08 00:02    45  **************************
 ...    ..( 47 skipped).    ..  **************************
  83    2022-02-08 00:50    45  **************************
  84    2022-02-08 00:51    46  ***************************
 ...    ..(  9 skipped).    ..  ***************************
  94    2022-02-08 01:01    46  ***************************

SCT Error Recovery Control command not supported

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

Pending Defects log (GP Log 0x0c) not supported

SATA Phy Event Counters (GP Log 0x11)
ID      Size     Value  Description
0x0001  2            0  Command failed due to ICRC error
0x0002  2            0  R_ERR response for data FIS
0x0003  2            0  R_ERR response for device-to-host data FIS
0x0004  2            0  R_ERR response for host-to-device data FIS
0x0005  2            0  R_ERR response for non-data FIS
0x0006  2            0  R_ERR response for device-to-host non-data FIS
0x0007  2            0  R_ERR response for host-to-device non-data FIS
0x0008  2            0  Device-to-host non-data FIS retries
0x0009  2            4  Transition from drive PhyRdy to drive PhyNRdy
0x000a  2            6  Device-to-host register FISes sent due to a COMRESET
0x000b  2            0  CRC errors within host-to-device FIS
0x000d  2            0  Non-CRC errors within host-to-device FIS
0x000f  2            0  R_ERR response for host-to-device data FIS, CRC
0x0012  2            0  R_ERR response for host-to-device non-data FIS, CRC
0x8000  4       281928  Vendor specific

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.