Commit graph

387 commits

Author SHA1 Message Date
26022f6011
Fix I/O benchmark graph uploads
Addresses issue #22
2022-10-08 22:07:27 -07:00
d733790c1a
Merge remote-tracking branch 'upstream/dev' into dev 2022-10-08 22:06:26 -07:00
3d799c2b62
Fix test mode in I/O benchmark test 2022-10-08 22:05:54 -07:00
f1e29cd0c8
Only call gpt under macOS 2022-10-08 19:30:05 -07:00
f0d0ea8164
Merge remote-tracking branch 'upstream/dev' into dev 2022-10-08 19:29:42 -07:00
7714b3436f
Track initial and current SMART attributes
Addresses issue #194
2022-10-08 19:26:20 -07:00
4465caa9fd
Skip empty devices 2022-10-08 18:45:31 -07:00
a6a774beae
Update Disk details before checking labels 2022-10-08 18:44:56 -07:00
2c9e56e830
Improve device size reporting in the description
i.e. support 512GB SSDs, 1.5TB HDDs, etc
Addresses issue #199
2022-10-08 16:33:50 -07:00
6880a353cc
Set known_attributes when intializing Disk()
This new design uses copy.deepcopy() to avoid erroneous thresholds being
applied to drives during diags.  This also reduces the number of lookups
to one per Disk.
2022-10-08 14:15:32 -07:00
5cbe23166a
Avoid crash under Windows 2022-09-28 09:56:09 -07:00
39864daf0a
Merge remote-tracking branch 'upstream/dev' into dev 2022-09-28 09:15:33 -07:00
926b32b574
Clean badblocks results to remove backspaces 2022-09-28 00:33:15 -07:00
a10ec04a3b
Merge remote-tracking branch 'upstream/dev' into dev 2022-09-24 19:59:33 -07:00
f008546565
Avoid crashing if a device disconnects mid-diags 2022-09-24 19:58:41 -07:00
c6ff30722d
Include more lines in the badblocks reports
Partially addresses issue #27
2022-07-10 16:45:08 -07:00
4b269cc120
Skip disk utilization checks for small devices 2022-05-21 20:20:57 -07:00
8c67830345
Add disk volume utilization test
Addresses issue #19
2022-05-21 19:43:47 -07:00
7ffbcc83fa
Move HW diagnostic osTicket functions to new file 2022-05-21 18:16:40 -07:00
cc4b485a24
Merge remote-tracking branch 'upstream/dev' into dev 2022-05-21 15:09:42 -07:00
7abd4c21c3
Refactor Disk children sections
Child devices are not added by default to improve performance.
Disk.children is always present to avoid overly cautious lookups.
2022-05-21 15:03:44 -07:00
e03956f2fe
Convert Disk description to a property 2022-05-21 14:39:42 -07:00
29d4e80f7e
Refactor get_disks_macos() to improve performance
Found a way to easily exclude disk images from the list under El Cap
2022-05-20 19:44:12 -07:00
cf7ed909b3
Remove Python 3.10 requirement 2022-05-20 17:08:10 -07:00
4ffd06235e
Merge remote-tracking branch 'upstream/dev' into dev 2022-05-14 18:02:05 -07:00
5fc5cda86d
Avoid adding duplicate attribute failure notes 2022-05-14 17:51:43 -07:00
0ecc4d4146
Add test mode to Hardware Diagnostics
Addresses issue #192
2022-05-14 17:48:04 -07:00
47308c1508
Allow non-integer number of minute countdowns 2022-05-14 16:19:18 -07:00
7bcd650d25
Merge remote-tracking branch 'upstream/dev' into dev
Includes a lot of updates to support the new split wk/hw setup.
2022-05-01 19:29:53 -07:00
6642aad2c8
Update ddrescue-tui to use new Disk object vars 2022-05-01 16:20:39 -07:00
2585ed584c
Refactor disk safety checks 2022-04-18 09:21:29 -07:00
95cd3b645d
Remove SMARTSelfTestInProgressError sections
Going forward this is a non-blocking error.
2022-04-11 16:50:21 -06:00
d667695e9e
Move surface scan check to its own function 2022-04-11 14:30:42 -06:00
af8b2b7dd3
Refactor SMART self-test sections 2022-04-08 19:19:23 -06:00
41b4ffd9fb
Cleanup pylint sections 2022-04-08 18:38:55 -06:00
312df1ee9d
Refactor import logic for wk.hw.diags 2022-04-08 15:38:03 -06:00
20f91f01d1
Add type hints to hardware functions 2022-04-06 19:08:23 -06:00
3d7881328f
Move ddrescue out of wk/hw section 2022-04-06 19:08:09 -06:00
f79e578aaf
Remove pylint warning from sensors 2022-04-06 16:23:44 -06:00
46eb737dc8
Move SMART functions to their own file 2022-04-06 16:22:58 -06:00
99dd7661d4
Split hardware diagnostics into multiple files 2022-04-05 18:11:06 -06:00
fc2bb07d11
Track test groups as list instead of a dict
By only including selected tests we can skip checking for the
enabled/disabled status.  This will also simplify the process
of disabling future tests for a disk if a failure is detected.
2022-04-05 14:45:14 -06:00
5ffa6d8261
Replace references to details with attributes 2022-04-04 18:58:45 -06:00
8582046948
Update HW diags and ddrescue to use new HW classes 2022-04-04 18:31:52 -06:00
172cb398ba
Convert hardware objects to dataclasses 2022-04-04 18:30:21 -06:00
3b3f737ed5
Merge remote-tracking branch 'upstream/new-ddrescue-arguments' into new-ddrescue-arguments 2022-03-31 17:43:46 -06:00
8dd8701e8d
Split read phase into two parts
Addresses issue #184

The first read phase will skip a lot more to try to recover more data
from the whole source.  Then the second read phase will fill in like
the previous configuration.
2022-03-25 18:45:28 -06:00
981abbb8c2
Merge remote-tracking branch 'upstream/new-ddrescue-arguments' into new-ddrescue-arguments 2022-03-08 15:21:34 -07:00
4e61025e99
Fix --sector-size argument 2022-03-08 13:02:33 -07:00
b66f25dfea
Only open ddrescueview if running with a DISPLAY 2022-03-08 12:36:49 -07:00
b82493b12b
Generate new map files when starting a recovery
This is done to define the domain size and let us use --complete-only.

This also enables us to open ddrescueview immediately since that tool
requires a valid map file from the start.  If you open an empty map
file ddrescueview doesn't auto-reload the file correctly.

Addresses #184
2022-03-08 11:55:23 -07:00
9d2eb8b175
Fix initial and max skip sizes
ddrescue's minimum is 64KiB so we should respect that.

Addresses #184
2022-03-08 11:53:56 -07:00
ea9e3b3696
Disable broken --sector-size argument
Addresses #184
2022-03-08 11:52:04 -07:00
c3ec690318
Add new ddrescue argument options
Addresses #184
2022-03-07 23:49:15 -07:00
2ce057e394
Adjust ddrescue-tui main menu 2022-02-22 16:49:21 -07:00
16d47a12a6
Simplify the WKClone source/dest selection
Only show confirmation #2 if using advanced partition selection.
2022-02-22 13:14:25 -07:00
487bfba2e5
Skip updating disk checkboxes if no disks present
Addresses issue #6
2022-02-21 00:46:01 -07:00
0e4ee42f28
Add "Fresh start" menu entry to ddrescue-tui
Addresses issue #15
2022-02-20 20:22:25 -07:00
abd1855bc9
Fix whitespace 2022-02-20 18:14:58 -07:00
06c7d2ca20
Merge remote-tracking branch 'upstream/dev' into dev
Addresses issue #12
2022-02-20 18:13:49 -07:00
a35ffdda23
Open ddrescueview during recovery
Addresses issue #182
2022-02-20 18:10:13 -07:00
147c35f0c6
Add support for tech notes in ddrescue-tui
Addresses issue #11
2022-02-19 18:47:12 -07:00
b3f4a31ed2
Move detect drives logic to its own function 2022-02-19 18:42:41 -07:00
4550b13565
Add osTicket pane to ddrescue-tui
Addresses issue #10
2022-02-18 17:21:56 -07:00
7dc64fb73b
Merge remote-tracking branch 'upstream/dev' into dev 2021-12-14 15:34:27 -07:00
a19714d735
Skip CPU tests by default for TestStations
Addresses #179
2021-12-14 14:08:22 -07:00
af6119feb5
Fix more pylint warnings 2021-09-30 17:48:10 -06:00
c747b66455
Merge remote-tracking branch 'upstream/dev' into dev 2021-09-30 17:42:31 -06:00
90fb97ad91
Fix various pylint warnings 2021-09-27 21:48:11 -06:00
7dfd399e6e
Update __init__.py files 2021-09-13 18:42:36 -06:00
29dc4694b4
Merge remote-tracking branch 'upstream/dev' into dev 2021-06-23 23:36:03 -06:00
9c5767f71f
Update CPU testing sections 2021-06-23 23:33:45 -06:00
8e0fdf641b
Retest temps with sysbench if Prime95 runs too hot
If the CPU reaches the failing temps during Prime95 then sysbench will be
run to emulate a less artificial workload.  The both the overall and sysbench
max temps are recorded and shown in the results.

Added new option to track an alternate max temp value in wk.hw.sensors.
This was needed so show two different max temps recorded during CPU testing.

Sysbench was added to the Linux package list and is compiled for macOS.
Without manually compiling the package it brings in way too many dependencies
to support SQL DB testing (which we don't need).
2021-06-17 03:16:34 -06:00
eaa367a5c9
Fix imports under Windows 2021-05-02 02:14:28 -06:00
2a90a381a4
Merge remote-tracking branch 'upstream/dev' into dev 2021-05-02 01:17:13 -06:00
ffa2df416b
Set source drive to sleep instead of detaching it 2021-04-16 01:07:56 -06:00
da9563f870
Merge remote-tracking branch 'upstream/dev' into dev 2021-04-15 01:37:18 -06:00
20fe08dbb4
Get correct size for child dev under macOS 2021-04-14 02:16:58 -06:00
a4ee7b890c
Disable image mode in ddrescue-tui (for now) 2021-04-13 23:16:55 -06:00
d781038e88
Enable ddrescue-tui under macOS
Currently limited to only cloning whole disks, not select partitions.
We need to specify the --size due to a bug under macOS; it fails to
detect the size of the device/partition and reports 8192 PiB instead.
2021-04-13 02:18:17 -06:00
c90bc0ef37
Merge remote-tracking branch 'upstream/dev' into dev 2021-04-11 15:32:16 -06:00
535455813c
Use the new command name for pipes.sh 2021-04-11 15:30:32 -06:00
c6ca5228ac
Merge remote-tracking branch 'upstream/dev' into dev 2021-04-11 15:28:27 -06:00
b047b28f30
Fix typo 2021-04-11 15:27:51 -06:00
bed7e79758
Add questionable argument to hw-diags
I, the author of this script, strongly recommend against using this!

References issue #139
2021-04-09 04:15:20 -06:00
4b956cb488
Disable benchmarks only for smaller USB drives
Addresses issue #128
2021-04-09 03:51:13 -06:00
a42d5e06f4
Merge remote-tracking branch 'upstream/dev' into dev 2021-04-09 03:08:19 -06:00
66bf189e55
Disable benchmark tests on surface scan failures 2021-04-09 03:02:28 -06:00
b3a667641d
Show failed attributes during surface scans 2021-04-09 02:29:06 -06:00
ce8dddd9b7
Include note if attributes fail mid-diagnostics 2021-04-09 02:27:11 -06:00
d0b8b3ad57
Add even more pylint cleanup fixes 2021-04-09 00:18:18 -06:00
af09772d67
Merge remote-tracking branch 'upstream/dev' into dev 2021-04-09 00:16:41 -06:00
812fd15011
Add more pylint cleanup fixes 2021-04-09 00:15:59 -06:00
8689a68c2f
Skip asking for a ticket ID twice
For this to happen the tech has to disable osTicket integration first
so in that case just set ticket to the date.  No need asking again.

Addresses issue #132 (I think, couldn't reproduce)
2021-04-08 23:58:44 -06:00
388c6302cb
Merge remote-tracking branch 'upstream/dev' into dev 2021-04-08 23:41:01 -06:00
9d3508909a
Add DRIVE_POWEROFF_TIMEOUT to wk.cfg.ddrescue
This replaces a magic number
2021-04-08 23:40:00 -06:00
249e868c3d
Merge remote-tracking branch 'upstream/dev' into dev 2021-04-08 23:22:56 -06:00
830e088ccf
Report if the dest starts failing during recovery 2021-04-08 23:17:00 -06:00
5a2d35d3cc
Prevent recovering to wrong devices or paths
Before starting a recovery run verify the source and destination have
not changed.  This will prevent issues on some extreme edge cases but
the main goal is for disappearing source drives with heavy damage.

e.g. A very damaged source drive disappears mid-recovery, drops off and
before would need a restart, or unplug/replug, to continue.  Now we can
attempt to re-detect the drive and resume recovery without leaving the
script.  If for some reason the drive order were to change then we'll
avoid using the wrong source or destination device.
2021-04-08 23:09:00 -06:00
43fd30322e
Expand checks for missing source or destination
Addresses issue #155
2021-04-08 22:43:13 -06:00