Giter Site home page Giter Site logo

crazydiskinfo's Introduction

CrazyDiskInfo

Introduction

CrazyDiskInfo is an interactive TUI S.M.A.R.T viewer for Unix systems.

Features

  • UI similar to CrystalDiskInfo.
  • Health and temperature checking algorithms based on CrystalDiskInfo.

Required libraries

  • ncurses
  • libatasmart

Debian(or derivative) Systems

# apt-get install libatasmart-dev libncurses5-dev libncursesw5-dev

Build and Run

$ mkdir build
$ cd build
$ cmake ..
$ make && make install
$ sudo crazy

Binary Package

Debian package is available from OBS(Open Build Service)
Direct Links:
Debian_8.0
Ubuntu 14.04/16.04/16.10

I requested for tSU-RooT. Thank you very much for your accept with my request.

crazydiskinfo's People

Contributors

blueskydetector avatar otakuto avatar sasawat avatar tsu-root 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  avatar  avatar

crazydiskinfo's Issues

Read info from USB disks

Hi, smartctl is able to read S.M.A.R.T info from sata disks connected via USB adapter.

Would be cool if crazydiskinfo could do the same.

This project is dead.

This software is no longer under development.
We recommend you to switch to other software.

As you can see from the issues and pull requests, it has been abandoned for many months now.

[1.1.0] Raw value of "total-lbas-written" mis-rendered (on top of ASCII border)

skdump says the raw value of attribute total-lbas-written is 0xb72ddab20000 but
crazydiskinfo renders FFFFFFFFB2DA2E4F and writes over the ASCII border:

+---------------------- Samsung SSD 860 PRO 1TB [953.9 GiB] ----------------------+
| [..]                                                                            |
| Status  ID AttributeName                Current Worst Threshold  RawValues(Hex) |
| [..]                                                                            |
| Good    EB good-block-rate                   99    99         0    000000000002 |
| Good    F1 total-lbas-written                99    99         0    FFFFFFFFB2DA2E
4F -------------------------------------------------------------------------------+

When I press d to switch to decimal raw values, the situation is similar:

+---------------------- Samsung SSD 860 PRO 1TB [953.9 GiB] ----------------------+
| [..]                                                                            |
| Status  ID AttributeName                Current Worst Threshold  RawValues(Dec) |
| [..]                                                                            |
| Good    EB good-block-rate                   99    99         0               2 |
| Good    F1 total-lbas-written                99    99         0 18446744072415553
607 ------------------------------------------------------------------------------+

Comparing with smartctl, the expected number should be closer to 3000995719, i.e. a lot smaller.

Support NVMe devices

$ sudo ./crazy
Passwort: 
No S.M.A.R.T readable devices.
If you are non-root user, please use sudo or become root.

At the moment, crazydiskinfo seems to not recognize my NVMe device (I'm using a Dell XPS 13 which comes with the SSD attached via NVMe). smartd does recognize it. Might be related to the fact that /dev/nvme0n1 is the "disk" and shows up that way in e.g. lsblk, but SMART data comes from /dev/nvme0 (at least that's where smartd gets its data from).

If NVMe support is out of scope for this project, no problem. I suspect you don't have a NVMe device and therefore probably aren't aware that NVMe doesn't work :-)

crazy shows raw values as hex

The raw values are shown in hex for the values (dec is more human readable ;-)

Ex. wear leveling count shows as 107 which is 263 decimal which is the value we are looking for.

crazy output on /dev/sdj:

                                                                                       | Status  ID AttributeName                Current Worst Threshold   Raw Values |                                                                                       
                                                                                       | Good    05 reallocated-sector-count         100   100        10 000000000000 |                                                                                       
                                                                                       | Good    09 power-on-hours                    99    99         0 000000000E25 |                                                                                       
                                                                                       | Good    0C power-cycle-count                 99    99         0 000000000008 |                                                                                       
                                                                                       | Good    B1 wear-leveling-count               87    87         0 000000000107 |                                                                                       
                                                                                       | Good    B3 used-reserved-blocks-total       100   100        10 000000000000 |                                                                                       
                                                                                       | Good    B5 program-fail-count-total         100   100        10 000000000000 |                                                                                       
                                                                                       | Good    B6 erase-fail-count-total           100   100        10 000000000000 |                                                                                       
                                                                                       | Good    B7 runtime-bad-block-total          100   100        10 000000000000 |                                                                                       
                                                                                       | Good    BB reported-uncorrect               100   100         0 000000000000 |                                                                                       
                                                                                       | Good    BE airflow-temperature-celsius       68    57         0 000000000020 |                                                                                       
                                                                                       | Good    C3 hardware-ecc-recovered           200   200         0 000000000000 |                                                                                       
                                                                                       | Good    C7 udma-crc-error-count             100   100         0 000000000000 |                                                                                       
                                                                                       | Good    EB good-block-rate                   99    99         0 000000000001 |                                                                                       
                                                                                       | Good    F1 total-lbas-written                99    99         0 000034D4CFFD |                                                                                       
                                                                                       +------------------------------------------------------------------------------+ 
# smartctl -A /dev/sdj
smartctl 6.2 2013-07-26 r3841 [x86_64-linux-3.13.0-96-generic] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF READ SMART DATA SECTION ===
SMART Attributes Data Structure revision number: 1
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  5 Reallocated_Sector_Ct   0x0033   100   100   010    Pre-fail  Always       -       0
  9 Power_On_Hours          0x0032   099   099   000    Old_age   Always       -       3621
 12 Power_Cycle_Count       0x0032   099   099   000    Old_age   Always       -       8
177 Wear_Leveling_Count     0x0013   087   087   000    Pre-fail  Always       -       263
179 Used_Rsvd_Blk_Cnt_Tot   0x0013   100   100   010    Pre-fail  Always       -       0
181 Program_Fail_Cnt_Total  0x0032   100   100   010    Old_age   Always       -       0
182 Erase_Fail_Count_Total  0x0032   100   100   010    Old_age   Always       -       0
183 Runtime_Bad_Block       0x0013   100   100   010    Pre-fail  Always       -       0
187 Reported_Uncorrect      0x0032   100   100   000    Old_age   Always       -       0
190 Airflow_Temperature_Cel 0x0032   068   057   000    Old_age   Always       -       32
195 Hardware_ECC_Recovered  0x001a   200   200   000    Old_age   Always       -       0
199 UDMA_CRC_Error_Count    0x003e   100   100   000    Old_age   Always       -       0
235 Unknown_Attribute       0x0012   099   099   000    Old_age   Always       -       1
241 Total_LBAs_Written      0x0032   099   099   000    Old_age   Always       -       134030348254

1.0.2 showing unstable behavior

Hi!

Cool idea, definitely more fun than smartctl.

I'm running version 1.0.2. When I start crazy, one of three things happens:

  • Segmentation fault
  • Starts up showing /dev/sda (as good) and /dev/sr0 (as bad), latter of which is my DVD drive
  • Starts up showing /dev/sda (good) only (i.e. no /dev/sr0)

When I run echo -n q | sudo crazy | fgrep /dev in a loop, I can see all of these without waiting for long.

Besides the segfault, it would be cool if display was stable and the DVD drive would not be shown at all, at least not by default.

Thanks!

/usr/bin/ld: cannot find -ltinfow

~/crazydiskinfo/build$ sudo make && sudo make install
[ 50%] Linking CXX executable crazy
/usr/bin/ld: cannot find -ltinfow
collect2: error: ld returned 1 exit status
CMakeFiles/CrazyDiskInfo.dir/build.make:94: recipe for target 'crazy' failed
make[2]: *** [crazy] Error 1
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/CrazyDiskInfo.dir/all' failed
make[1]: *** [CMakeFiles/CrazyDiskInfo.dir/all] Error 2
Makefile:129: recipe for target 'all' failed
make: *** [all] Error 2

I found a closed issue that says to edit ../CMakeLists.txt - but that does not have ltinfow?

$ grep -i ltinfow * ../*
grep: CMakeFiles: Is a directory
grep: ../build: Is a directory

Any ideas?

.deb または PPA 等の提供

Ubuntu やそれをベースとした各種派生 Linux 向けに、.deb パッケージまたは
PPA の提供等は予定されていますか?
Ubuntu 14.04 LTS 環境でビルドしてみましたが、
cmake のバージョンを PPA から上げて
g++, c++, cpp のバージョンも PPA から上げて、update-alternatives でその新しいのを
使うように設定し、足りないライブラリをインストールして、やっとの想いでビルドできました。
かなり大変なのと、デフォルトの環境をいじってしまうので、できれば dpkg -i コマンドまたは
add-apt-repository して apt-get でインストールできるような状態にはできないでしょうか?

do not work on ubuntu 14.04

vagrant@vagrant:~/CrazyDiskInfo/build$ uname -a
Linux vagrant 3.13.0-92-generic #139-Ubuntu SMP Tue Jun 28 20:42:26 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
vagrant@vagrant:~/CrazyDiskInfo/build$ sudo ./crazy
No S.M.A.R.T readable devices.
If you are non-root user, please use sudo or become root.

issue with USB disk

Hi,
I was wondering if someone else has had the issue that when i connect USB disk to see if its ok it does not show any ideas?

Thank you

既定のインストール先の変更

INSTALL(TARGETS CrazyDiskInfo RUNTIME DESTINATION /usr/sbin)

CMakeLists.txtの10行目を見たところ、どうやら標準では/usr/sbinにインストールされるようですが、これを/usr/local/sbinに変更してはどうでしょうか。
多くのLinuxディストリビューションでは/usr/sbinはパッケージマネージャーによってインストールされたプログラムが置かれる場所であり、手動でmakeしたプログラムは/usr/local/sbin (もしくは/usr/local/bin)にインストールしたほうが行儀が良いと感じます。

/usr/sbinにインストールしたい人はcmakeのオプションで変更すればいい話かと思います。

どうでしょうか。

issue installing

hi,
trying to install but im getting this issue
/usr/bin/ld: cannot find -ltinfow
collect2: error: ld returned 1 exit status
CMakeFiles/CrazyDiskInfo.dir/build.make:94: recipe for target 'crazy' failed
make[2]: *** [crazy] Error 1
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/CrazyDiskInfo.dir/all' failed
make[1]: *** [CMakeFiles/CrazyDiskInfo.dir/all] Error 2
Makefile:127: recipe for target 'all' failed
make: *** [all] Error 2

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!

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.