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
18bc139d25
Add 'Detect drives' option to ddrescue-tui
2021-04-08 20:55:28 -06:00
c452256fe7
Fix pylint issues in wk/hw/ddrescue.py
2021-04-08 20:49:21 -06:00
1a3b57da66
Poweroff source drives after ddrescue errors
...
Addresses issue #165
2021-04-08 19:41:05 -06:00
a5766a8a1e
Avoid more possibles crashes when uploading graphs
2021-04-06 17:27:44 -06:00
86f0f14c34
Merge remote-tracking branch 'upstream/dev' into dev
2021-04-06 17:06:30 -06:00
9478000cdf
Add Clock Sync option to HW-Diags menu under macOS
2021-04-06 16:57:31 -06:00
61f2b00a2a
Export SMC data in HW Diagnostics
...
Addresses issue #154
2021-04-06 15:53:19 -06:00
641695a2be
Avoid crash if benchmark image fails to generate
2021-04-01 23:22:04 -06:00
586e3fc61c
Merge remote-tracking branch 'upstream/dev' into dev
2021-03-26 01:24:35 -06:00
ae42634a8e
Add SMART override for some Samsung devices
...
* Addresses issue #163
2021-03-26 00:57:08 -06:00
1e09ddc9ff
Merge remote-tracking branch 'upstream/dev' into dev
2021-03-25 21:28:50 -06:00
9818d5196f
Export state objects as pickle files
...
This should better ensure debugging an issue will have all the relevant
info at the ready.
2021-03-25 21:15:56 -06:00
3f48b10942
Apply "temp" fix for macOS HW-Diags
2021-03-25 21:11:21 -06:00
60e5d86f8e
Merge remote-tracking branch 'upstream/dev' into dev
2021-03-24 22:22:54 -06:00
2Shirt
7147ef1753
Fix get_serial()
2021-03-19 15:23:49 -06:00
2Shirt
080383d9a9
Fix bad call to mount_disk()
2021-03-19 03:37:40 -06:00
2Shirt
207c52663b
Allow mounting of protected macOS partitions
...
Renamed mount_volumes() to mount_disk() to better match diskutil naming.
Dropped read_write from mount_disk() since it isn't used
2021-03-18 22:23:07 -06:00
2Shirt
7c1a9f4bdc
Fix osTicket volume report
2021-03-18 21:52:29 -06:00
2Shirt
2b98eeabca
Include GPT info when saving hw-diaqs debug data
2021-03-18 21:41:59 -06:00
2Shirt
908ffdc999
Add mount_volumes() to wk.os.mac
...
Supports both CoreStorage and APFS containers
2021-03-18 03:23:09 -06:00
2Shirt
bc3f6946f7
Add support for macOS High Sierra Base Images
2021-03-17 01:23:12 -06:00
2Shirt
4dc5c51beb
Include Mac serial number in OST Post
2021-03-13 03:20:51 -07:00
2Shirt
314675c32e
Unknown
2021-03-13 03:15:30 -07:00
7d77aa81b0
Update sensors.py to improve CPU data
...
Include AMD CCD sensors
Exclude current sensors
2021-01-09 21:08:53 -07:00
a4df2f41d3
Added wk.exe.stop_process()
...
* Replaced wk.hw.ddrescue.stop_ddrescue()
2020-02-25 20:52:08 -07:00
45a6b31910
Added periodic destination health check
...
* Addresses issue #158
2020-02-25 20:45:59 -07:00
94a428f6da
Added check for missing source/destination
...
* Addresses issue #155
2020-02-25 20:15:13 -07:00
0a00e17536
Avoid another rare crash when saving average temps
2020-02-17 16:54:51 -07:00
1f1fdfc738
Avoid rare crash when saving average temps
2020-02-17 16:44:33 -07:00
1b7c248102
Merge remote-tracking branch 'upstream/dev' into dev
2020-02-03 18:16:12 -07:00
3b640ac85b
Addressed issue #153
2020-02-03 18:09:46 -07:00
c1970b8c23
Merge remote-tracking branch 'upstream/dev' into dev
2020-01-30 14:09:13 -07:00
e8522bf2bb
Added pause if fan speed can't be set under macOS
...
* This can be removed after a bit of real-world testing
2020-01-30 14:08:05 -07:00
a66c27be84
Updated get_disk_details_macos()
2020-01-30 14:01:30 -07:00
ebbdedef6c
Added get_fstype_macos()
2020-01-30 13:59:12 -07:00
ad1adba837
Add APFS and HFS/HFS+ to RECOMMENDED_MAP_FSTYPES
2020-01-30 13:51:23 -07:00
385b2158fd
Improved method to avoid crash during self-tests
2020-01-30 13:28:52 -07:00
dc6dcfb845
Revert "Avoid crash during SMART self-test"
...
This reverts commit cc8c0992f6 .
2020-01-30 13:25:46 -07:00
c8f95d866a
Typo fix
2020-01-30 13:24:49 -07:00
86f0f1e5fd
Avoid rare crash concerning disk attributes
...
* Crash would occur under these circumstances:
* Disk Attributes test was not selected
* One or more other disk tests were selected
* A non-blocking attribute error was detected
2020-01-30 13:16:48 -07:00
98032a0fed
Removed stale TODO statements
2020-01-28 19:00:47 -07:00
1a26aead44
Network test working under macOS
2020-01-28 18:38:33 -07:00
869293ced9
Merge remote-tracking branch 'upstream/dev' into dev
2020-01-28 18:30:35 -07:00
f14f5e0d72
Adjusted logging
2020-01-28 18:21:24 -07:00
5cc0456f40
Improve performance under macOS by using rdisks
2020-01-28 18:12:53 -07:00
0c8701e3e4
Support get_disks_macOS() on older macOS versions
2020-01-28 18:10:10 -07:00
cc8c0992f6
Avoid crash during SMART self-test
2020-01-28 18:09:33 -07:00
fe50ce8994
Use new Mac fan sections in HW Diags
2020-01-28 18:08:26 -07:00
f7c6d5d3c3
Only include graph links in osTicket posts
2020-01-22 20:10:17 -07:00
fd8f46be13
Don't export/upload graphs for skipped tests
...
* e.g. USB device which USB benchmarks disabled
2020-01-22 19:51:01 -07:00
701d647a91
Added I/O Benchmark PNG graph sections
2020-01-22 19:19:54 -07:00
8643ec2c7c
Fixed setting CPU max temp in osTicket
2020-01-22 19:19:00 -07:00
5f9aec8233
Merge remote-tracking branch 'upstream/dev' into dev
2020-01-22 15:38:20 -07:00
5cbb86abd8
Clear screen before starting diags
2020-01-22 15:37:26 -07:00
0348d708d9
Merge remote-tracking branch 'upstream/dev' into dev
2020-01-22 11:29:18 -07:00
bfc17942cd
Added header to SMART self-test output
...
* Matches badblocks header
* Also added Initializing message
2020-01-22 11:22:47 -07:00
e92ceb070c
Adjusted I/O Benchmark screen layout
2020-01-22 11:21:49 -07:00
79abbcfaf8
Avoid crash when getting NVMe attributes
2020-01-22 11:20:39 -07:00
e09216012f
List failed tests with overall result in osTicket
2020-01-20 19:08:10 -07:00
710fcc29dc
Catch non-blocking SMART errors between tests
...
* This doesn't block further tests, just ensures Disk Attributes fails
2020-01-20 18:31:29 -07:00
daffb606ee
Merge remote-tracking branch 'upstream/dev' into dev
2020-01-19 16:00:29 -07:00
1b473b1ab0
Fix pipes when run from hw-diags
2020-01-19 15:14:03 -07:00
5fbd33e845
Fixed HDD checkbox logic
2020-01-17 16:14:29 -07:00
3265b19f3d
Merge remote-tracking branch 'upstream/dev' into dev
2020-01-16 20:38:39 -07:00
d3597f339e
Added volume report to hw diags
2020-01-16 20:29:07 -07:00
c161ebac2a
Save ddrescue results to log at exit
...
* Instead of printing them since it should be run in tmux
* And as such the results would be obscured from the user anyway
2020-01-13 22:11:07 -07:00
e9b1fe7819
Adjusted clone settings filename
...
* Use source path if the model wasn't detected
* Avoids names like "Clone_.json"
2020-01-13 21:59:40 -07:00
65284860fb
Adjusted HW Diag main menu
2020-01-13 18:40:48 -07:00
47b4ab6636
Merge remote-tracking branch 'upstream/dev' into dev
2020-01-13 17:35:26 -07:00
16dbffd91c
Enable SAT usage for USBs to expand SMART support
...
* Only enabled for USB devices
* Only enabled if attributes weren't found using --device=auto
* Addresses issue #109
2020-01-13 17:12:58 -07:00
d8617df871
Adjusted self-test results formatting
2020-01-13 15:45:07 -07:00
b9d0527c52
Added osTicket checkbox sections
2020-01-11 21:23:49 -07:00
9c12dacfb2
Post CPU/Disk results to osTicket
2020-01-11 20:31:39 -07:00
96b755be49
Added osTicket report sections
2020-01-11 19:54:07 -07:00
fef8323282
Pass Disk Attribute test for devices lacking SMART
2020-01-11 19:53:34 -07:00
ea9a9f9a46
Pass Disk Attribute test for devices lacking SMART
...
* Since these can't fail I think passing them makes sense
2020-01-11 19:51:57 -07:00
a573a7e1c3
Reset top_text before returning to main menu
2020-01-11 16:59:42 -07:00
28c1d61d20
osTicket integration complete for ddrescue TUI
2020-01-11 16:46:06 -07:00
2f2bfacbb7
Started integrating osTicket functions in ddrescue
2020-01-10 19:32:25 -07:00
ceee0495eb
Started integrating osTicket functions in HW Diags
2020-01-10 18:50:21 -07:00
76a9d90ecb
Adjusted ddrescue TUI results report
2020-01-08 20:35:32 -07:00
6e3f02961c
Made load_settings() and save_settings() private
...
* Clears a pylint issue and makes sense to me
2020-01-08 19:50:04 -07:00
43cf4e2727
Added generate_report() to wk.hw.ddrescue.State()
2020-01-08 19:46:40 -07:00