Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Announcement: smartmontools-win 7.0 branch #26

Open
deajan opened this issue Jan 30, 2019 · 20 comments
Open

Announcement: smartmontools-win 7.0 branch #26

deajan opened this issue Jan 30, 2019 · 20 comments

Comments

@deajan
Copy link
Owner

deajan commented Jan 30, 2019

As said in the main announcement, I am currently developping a new GUI that works with the incredible PySimpleGUI framework.
My plan is to release a wx version which can be packaged lighter than a Tcl/Tk version.

Also, next version won't rely on gzip.exe, mailsend.exe or erroraction.cmd.

So far, the GUI is designed and works well with smartd.conf files.
Mail sending works too and is now integrated in the GUI app.

I have done some work on the Nuitka compiler in order to achieve smaller distribution files recently.

so far, the new GUI:

image

Open to suggestions.

@deajan
Copy link
Owner Author

deajan commented Apr 28, 2019

Long time no see... Project didn't get the love it deserved, but I improved a lot on Python in the last couple of months for some other projets.

Back to smartmontools-win:
GUI is done, new config file encryption is done (to keep mailer secrets), full nuitka support is done.
Currently implementing internal mailer to get rid of cmd script.
These changes shall also make smartmontoools-win GUI compatible with other OSes, even if the main target of this packager will remain Windows.

Looking forward to release soon.

@deajan
Copy link
Owner Author

deajan commented Apr 28, 2019

Latest code for the GUI can be found at https://github.com/deajan/smartd_pyngui

@irstmon
Copy link

irstmon commented Apr 29, 2019

Maybe it would be possible to re-include the option to send an email after the installation of the package? I'm currently missing this in 6.6-1 using smartmontools-win-6.6-1.exe /COMPONENTS="core\service,core\service\gui,core\service\mailsupport,updatedb,regext,authorlinks,statistics" /SUPPRESSMSGBOXES /VERYSILENT.

Using 6.4-4 with:
--short=S/../.././13 --long=L/../../7/11 -f smartmon@box.local -t hdd@box.local -s 192.168.4.1 /verysilent

there was an email that smartmontools has been installed. Would love to have that come back!

@deajan
Copy link
Owner Author

deajan commented Apr 30, 2019

Okay, got this ;)

@deajan deajan changed the title smartmontools-win 7.0 branch Announcement: smartmontools-win 7.0 branch May 13, 2019
@deajan
Copy link
Owner Author

deajan commented May 13, 2019

So far so good, developpment of smartd_pyngui is going on quite fast now.
What I've learned in the past weeks is that I should have begun from a scratch, instead of making my elder python code evolve, since I've learned alot of Python in the meantime, and my old code is quite ugly.
Most parts of the functionnality in the GUI is done, mailing is done, password encryption is also done.
I now have to test that code, then have it packaged toghether with smartmontools-win and make inno setup evolve again.

I first aimed for a March release, but since I decided to make a fusion of both smartd & alert config windows, have the code run on both Windows & Linux (the smartd_pyngui part at least), I now aim for June. Sorry for the long waiting.
Next releases will be done really fast and I hope to follow upstream closely, since I won't reinvent the wheel next times.

@irstmon I've implemented an install time sent message that can be triggered directly from the installer as it was possible before. I'll ping you once I'll have beta / RC packages ready.

@deajan
Copy link
Owner Author

deajan commented May 13, 2019

Quick screenshot of the current dev, including the alert config window:

image

@deajan
Copy link
Owner Author

deajan commented May 15, 2019

Just revamped automatic tests to include nuitka compilation.
Mailer has been fixed on linux, multiple UI enhancements are done.
Almost all core functionnality is there now, aiming platform tests now.

@deajan deajan pinned this issue May 15, 2019
@irstmon
Copy link

irstmon commented May 15, 2019

Hi,

I've been using smartmontools-win for a while on different computers, however with new nvme devices smartmontools-win errors are triggered quite often. I'm using smartmontool 7.0 (switched binaries inside the smartmontools-win installation) and noticed 2 things:

  • temperature warnings are a bit problematic since NVME devices tend to get hot quite easy and start throtteling. This is not a big problem since ignoring temperature (or adjusting the thresholds) is a way to deal with this. It's a bit problematic when watching "normal" HDDs, too. Since these don't get so hot there won't be an alarm for them.

  • The bigger problem seems to be the ATA error reporting. I've disabled it now since it seems my NVME devices trigger an NVME error log entry in a while - most likely thermo throtteling event. As I couldn't find a way to get the "human readable" way of the NVME error log I'm not able to verify that. I've disable it too - which means that normal SATA SSD/HDDs won't report when the ATA error counter increases.

As stated above - these are smartmon "problems" and i know that. However maybe there should be a way to configure NVME warnings different?

@deajan
Copy link
Owner Author

deajan commented May 15, 2019

Thinking of this, I could come up with the following solution:

  • Autodetect drives as spinning, SSD or NVME (by default, let's play safe and assume a non identifiable disk is a spinning one)
  • Have different presets depending on the drive type detected

This would indeed make the configuration a bit more bulky (one tab for spinning disks, another tab for ssd and another tab for NVME disks).

Of course I'd need to caliber proper default values for each kind of disk.
Would that fit your needs ?

@deajan
Copy link
Owner Author

deajan commented May 15, 2019

This may also possibly fix #15

@irstmon
Copy link

irstmon commented May 19, 2019

Different settings for different disks seems like a good Idea.

I'm stating some thresholds that i got for different drives:

Spinning: ATA Error reporting yes, Temperature ?/45/55
SATA SSD: ATA Error reporting yes, Temperature ?/60/70
NVME: ATA Error reporting no (as it seems thermo throtteling is reported as an error), Temperature is a bit tricky, I don't know what to choose for difference since this can easily be 50°C... But Warn/Crit should be like 80°C or 81°C - I'll have to try it after my vacation.

@deajan
Copy link
Owner Author

deajan commented May 24, 2019

I've commited some early work to support multiple disks settings depending on disk types.
@irstmon Let me know if this makes sense to you.

image

@irstmon
Copy link

irstmon commented May 24, 2019

Seems like a good solution - if people want just one setting the checkbox is a good way!

@deajan
Copy link
Owner Author

deajan commented May 24, 2019

Announcement: I've added the smartd config utility (smartd_pyngui) to codacy tests month.
When the code was first analyzed, it had 37 issues. In the last two weeks, I rewrote part of the code (best practices since I already use a linter).
The issues have fallen down to only 8, of which some won't be fixed since they are design choices.
Anyway, I'm happy to announce that the code quality measured by codacy is grade A.

I still have some work todo, and also am adding multiple disk profiles, which takes time (see comments above).

I prefer making one solid release that takes time to build, but will be a base to follow upstream releases as closely as possible.

Anyway, things are going on well and I hope to release a beta soon.
I'd love to see some testers which subscribing to this thread in order to make the beta stage as short as possible.

@deajan
Copy link
Owner Author

deajan commented Jun 2, 2019

@irstmon I've more or less finished the GUI parts that deal with multiple tabs.
I still have to code the generated lists to smartd.conf file and vice versa, but this shouldn't take ages.

Do you have any good realworld presets for the temperatures ? I'd love to compare with my presets here deajan/smartd_pyngui@330d82f

@irstmon
Copy link

irstmon commented Jun 12, 2019

Currently I'm using "DEVICESCAN -H -C 197+ -U 198+ -l selftest -t -f -I 194 -r 5! -R 5! -n sleep,7,q" because of the NVME errors.

Did some quick looks and found the following for the one Samsung NVME that's in the one Desktop bugging me:
Warn 69,9
Crit 72,9

The most SSD are nearly the same temperature range as far as I could see. However Temperatures on NVME seems to run quite a bit higher - throtteling Samsung 970 Pro seems to occur at 79°C, 970 Evo at 83°C. I think the temperature preset for spinning seems good, and even SATA SSDs seems fine.

Edit:
What will be the way to deploy the multiple settings? Currently I'm using the installer and a .conf file in the same dir to update my machines. However there are different disks in my workstation for example - will there be multiple lines in the conf file?

@deajan
Copy link
Owner Author

deajan commented Jul 8, 2019

Yes, there will be multiple lines in the config file.
I've had a chat with Christian Franke from smartmontools, to find a way to apply profiles per disk type, but this is not supported as of vanilla smartmontools (https://listi.jpberlin.de/pipermail/smartmontools-support/2019-July/000336.html)

My point is to make a "static" link between detected disk types and configuration profiles.
Mass deployment shall then use preconfigured profiles, that will be applied once at install time per disk type.

@Neustradamus
Copy link

"2019-12-30: We released ​version 7.1 of Smartmontools":

@deajan
Copy link
Owner Author

deajan commented Jun 30, 2020

@Neustradamus I honestly lost track of this project for a while now.
The code is almost done, new alert system works, almost the whole GUI works, but I really need time, which I don't have right now.
Is there any urgency ?

@deajan
Copy link
Owner Author

deajan commented Nov 17, 2020

Released an interim build, verrryyyy lately, but, well... works.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants