diff --git a/README.md b/README.md
index b812877..ea8af24 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,8 @@
-# ๐งฐ Portable Sysinternals System Tester v2.21
+# Portable Sysinternals System Tester v2.4
+
+
+
+


@@ -6,604 +10,499 @@



-
+
**Thumb-drive friendly, no-install Windows hardware health check toolkit** powered by **Sysinternals** and **PowerShell**.
-
+
A zero-dependency **PowerShell solution** that runs a comprehensive, curated set of Sysinternals and Windows diagnostic tools. It then processes the raw data to produce two essential reports: a **Clean Summary Report** (human-readable, de-noised, with recommendations) and a **Detailed Report** (cleaned tool outputs).
-
+
**The essential utility for:**
* Field diagnostics and client handoff reports.
* Establishing a system baseline health check.
* Quickly identifying performance bottlenecks.
-
---
-
-## ๐ NOW With Enhanced GPU Testing, Advanced Network Suite & Critical Bug Fixes
-
-Version 2.21 introduces comprehensive GPU testing capabilities, advanced network speed/latency testing, and fixes several critical bugs that prevented the script from running properly.
-
-### Key New Capabilities:
-
-* ๐ฑ๏ธ **One-click Menu or Autorun** โ interactive menu or `-AutoRun` parameter
-* ๐งน **Output Cleaner** โ removes banners, EULA text, usage blocks for readable reports
-* ๐ง **Comprehensive Tests** โ CPU, RAM, Disk, GPU, Network, OS Health, Windows Update status
-* ๐ฎ **Enhanced GPU Testing** โ Multi-GPU support, NVIDIA/AMD vendor tools, display configuration
-* ๐ **Advanced Network Speed Suite** โ Complete connectivity, latency, DNS, MTU, and bandwidth testing
-* ๐ **Enhanced Network Testing** โ Link status, speed, IP/MAC addresses, PSPing integration
-* ๐ง **Tool Integrity Verification** โ Digital signature checking for Sysinternals tools
-* ๐๏ธ **Smart Reporting** โ timestamped **Summary** + **Detailed** TXT reports with actionable recommendations
-* ๐ฆ **Fully Portable** โ run from USB; no installation required
-* ๐งฐ **Graceful Degradation** โ missing tools detected and skipped automatically with helpful messages
-* ๐ **Robust Elevation Handling** โ reliable admin detection (Windows Home compatible)
-* ๐ฅ **Auto-Download Tools** โ built-in Sysinternals Suite downloader (no manual setup needed!)
-* ๐ **Windows Update Integration** โ checks pending updates, history, and service status
-* โก **Modern PowerShell** โ uses CIM instances (not deprecated WMI) for better performance
-
+
+## What's New in v2.4
+
+v2.4 focuses on fixing real-world network testing failures observed in the field, particularly on systems running VPN software (Mullvad, Tailscale, WireGuard) and environments with virtual adapters (VMware, Hyper-V). It also resolves a latency test crash that affected every system, and fixes report encoding that caused garbled output in Notepad and legacy viewers.
+
+### Bug Fixes
+
+| # | Area | Issue | Impact |
+|---|------|--------|--------|
+| 1 | Network Latency | `$targetPort` was never defined โ `Test-NetConnection` received `Port=0` and threw a validation error on every run | **Critical** โ latency test always failed |
+| 2 | Network Latency | `PsPing` output regex was too strict โ minor whitespace variations caused "Unable to parse" on valid results | Medium โ latency stats silently dropped |
+| 3 | Network Speed | Single hardcoded Hetzner HTTPS URL failed under VPN/proxy TLS interception (e.g. Mullvad) | High โ speed test failed on VPN-connected machines |
+| 4 | Network Speed | No fallback if the download URL failed | Medium โ single point of failure |
+| 5 | Recommendations | VMware VMnet and VPN virtual adapters (Mullvad, Tailscale) were flagged as "slow physical NICs" at 100 Mbps | Low โ false positive recommendation |
+| 6 | Reports | Report files written as UTF-8 with Unicode bullets (`โข`) and arrows (`->`) rendered as mojibake (`รขโฌยข รขโ '`) in Notepad and legacy viewers | Medium โ garbled report output |
+| 7 | Reports | Box-drawing characters (`โโ`) in the menu display caused non-ASCII bytes in the script itself | Low โ cosmetic |
+| 8 | Batch Launcher | `VERIFY` section exit-code branching silently swallowed function output | Low โ misleading success messages |
+| 9 | Batch Launcher | Sysinternals download had no SSL bypass โ same VPN TLS issue as PS1 | High โ download failed on VPN machines |
+
+### What Changed Technically
+
+**`Test-NetworkLatency`**
+- Removed the undefined `$targetPort` variable entirely โ ICMP ping does not require a port
+- Removed `-Port` and `-InformationLevel Detailed` from `Test-NetConnection` (both require a valid port number)
+- Made `PsPing` ICMP args use bare IP instead of `IP:Port` format
+- Widened PsPing regex to allow variable whitespace (`\s*` instead of literal spaces)
+- Added a debug "raw tail" output line when PsPing parsing fails, so failures are diagnosable
+**`Test-NetworkSpeed`**
+- Replaced single Hetzner URL with a 3-URL fallback chain: Cloudflare โ Hetzner HTTP โ OVH
+- Added `[Net.ServicePointManager]::ServerCertificateValidationCallback = { $true }` before each attempt to bypass VPN/proxy MITM certificate interception, restored immediately after
+- Added minimum file size check (1000 bytes) so an error HTML page returned by a firewall isn't measured as a "successful" download
+**Recommendation Engine โ NIC check**
+- Now iterates adapter lines individually rather than pattern-matching the whole output block
+- Skips lines matching: `VMware`, `VMnet`, `Virtual`, `vEthernet`, `Tailscale`, `Mullvad`, `WireGuard`, `Loopback`, `Hyper-V`, `VPN`, `TAP-Windows`, `OpenVPN`
+- Only physical adapters at 10/100 Mbps generate a recommendation
+**Report encoding**
+- All `โข` replaced with `*`, all `->` were already ASCII but confirmed clean
+- `Out-File` changed from `-Encoding UTF8` to `-Encoding ASCII`
+- Removed Unicode box-drawing characters (`โโ`) from the menu display strings
+- Script itself is now fully 7-bit ASCII โ no encoding surprises in any viewer
+**Batch Launcher (`SystemTester.bat`)**
+- Added the same SSL bypass pattern to the Sysinternals Suite download block
+- Simplified VERIFY section โ removed exit-code branching that produced misleading results
+- Removed stale reference to legacy `SystemTester_FIXED.ps1` filename from the error message
---
-
-## ๐ Critical Bug Fixes in v2.21
-
-### PowerShell Script Fixes
-
-| Issue | Impact | Status |
-|-------|--------|--------|
-| **Missing `Initialize-Environment` function** | ๐ด **CRITICAL** - Script crashed on startup | โ
Fixed |
-| **Broken `Test-ToolIntegrity` function** | ๐ด Tool verification failed | โ
Fixed |
-| **Missing `Test-ToolVerification` function** | ๐ก Batch menu option 4 crashed | โ
Fixed |
-| **Wrong DISM/SFC code in SMART test** | ๐ก SMART test ran wrong operations | โ
Fixed |
-| **Incorrect TRIM output message** | ๐ข Cosmetic only | โ
Fixed |
-| **AMD GPU detection limited to registry \0000** | ๐ก Multi-GPU AMD systems not detected | โ
Fixed |
-| **GPU driver year parsing could crash** | ๐ข Rare crash in recommendations | โ
Fixed |
-| **COM object memory leak in Windows Update** | ๐ข Minor memory leak | โ
Fixed |
-
-### Batch Launcher Fixes
-
-| Issue | Impact | Status |
-|-------|--------|--------|
-| **Duplicate Sysinternals folder check** | ๐ข Annoying duplicate warnings | โ
Fixed |
-| **AMD GPU detection limited to \0000** | ๐ก Multi-GPU AMD systems not detected | โ
Fixed |
-| **No GPU-Z size validation** | ๐ข Corrupted files not caught | โ
Fixed |
-| **Inconsistent errorlevel checking** | ๐ข Minor reliability issues | โ
Fixed |
-
-### Impact Summary
-
-**Before Fixes:**
-- โ PowerShell script would crash immediately on startup
-- โ Tool verification from batch menu would fail
-- โ ๏ธ AMD GPUs only detected if in first registry position
-- โ ๏ธ SMART test would incorrectly run DISM/SFC scans
-
-**After Fixes:**
-- โ
Script runs reliably from startup
-- โ
All menu options functional
-- โ
Multi-GPU systems fully supported
-- โ
All tests run correct operations
-- โ
Better error handling throughout
-
+
+## Key Capabilities
+
+* **One-click Menu or Autorun** โ interactive menu or `-AutoRun` parameter
+* **Output Cleaner** โ removes banners, EULA text, usage blocks for readable reports
+* **Comprehensive Tests** โ CPU, RAM, Disk, GPU, Network, OS Health, Windows Update status
+* **Enhanced GPU Testing** โ Multi-GPU support, NVIDIA/AMD vendor tools, display configuration
+* **Network Speed & Latency** โ Multi-URL fallback download test, PsPing integration, VPN-aware
+* **Tool Integrity Verification** โ Digital signature checking for all Sysinternals tools
+* **Smart Reporting** โ timestamped Clean Summary + Detailed TXT reports with recommendations
+* **Fully Portable** โ runs from USB; no installation required
+* **Graceful Degradation** โ missing tools detected and skipped automatically
+* **Robust Elevation Handling** โ reliable admin detection (Windows Home compatible)
+* **Auto-Download Tools** โ built-in Sysinternals Suite downloader via batch launcher
+* **Windows Update Integration** โ checks pending updates and service status
+* **Modern PowerShell** โ uses CIM instances (not deprecated WMI) for better performance
---
-
-## ๐งฉ Requirements
-
+
+## Requirements
+
* **OS:** Windows 10/11 (Windows Server supported)
* **PowerShell:** 5.1+ or PowerShell 7
* **Permissions:** Administrator rights recommended (some tests require elevation)
* **Internet:** Only needed for auto-download feature (optional)
* **Sysinternals Tools:** Auto-downloadable via launcher or manual installation
* **GPU Tools (Optional):** NVIDIA drivers (nvidia-smi), AMD drivers, GPU-Z
-
---
-
-## ๐ Recommended Folder Structure
-
+
+## Recommended Folder Structure
+
```
-๐ SystemTester/
-โโโ ๐ SystemTester.ps1 # Main PowerShell script (USE THIS)
-โโโ ๐ SystemTester.bat # Batch launcher (USE THIS)
-โโโ ๐ README.md # This file
-โโโ ๐ LICENSE # MIT License
-โโโ ๐ Sysinternals/ # Auto-created by launcher
-โ โโโ psinfo.exe
-โ โโโ coreinfo.exe
-โ โโโ pslist.exe
-โ โโโ handle.exe
-โ โโโ autorunsc.exe
-โ โโโ psping.exe # For advanced network latency testing
-โ โโโ ... (60+ other tools)
-โโโ ๐ Tools/ # GPU testing tools (optional)
-โ โโโ GPU-Z.exe # Downloaded via Option 6
-โโโ ๐ Reports/ # Created when tests run
- โโโ SystemTest_Clean_20250103_143022.txt
- โโโ SystemTest_Detailed_20250103_143022.txt
+SystemTester/
++-- SystemTester.ps1 # Main PowerShell script
++-- SystemTester.bat # Batch launcher
++-- README.md
++-- LICENSE
++-- Sysinternals/ # Auto-created by launcher (Option 5)
+| +-- psinfo.exe
+| +-- coreinfo.exe
+| +-- pslist.exe
+| +-- handle.exe
+| +-- psping.exe # Required for latency testing
+| +-- autorunsc.exe
+| +-- ... (60+ other tools)
++-- Tools/ # GPU testing tools (optional)
+| +-- GPU-Z.exe # Via launcher Option 6
++-- Reports/ # Auto-created on first report generation
+ +-- SystemTest_Clean_20260423_143022.txt
+ +-- SystemTest_Detailed_20260423_143022.txt
+ +-- energy-report.html # If power test ran (admin only)
```
-
+
---
-
-## ๐ Quick Start
-
+
+## Quick Start
+
### Option A: Batch Launcher (Recommended)
-
+
1. Download or clone this repository
2. Run `SystemTester.bat` (will request admin elevation)
3. Choose **Option 5** to auto-download Sysinternals Suite (first time only)
4. Choose **Option 6** to set up GPU testing tools (optional)
5. Choose **Option 1** for interactive menu or **Option 2** to run all tests
6. Reports are saved in the script directory
-
### Option B: Direct PowerShell
-
+
```powershell
# Interactive menu
powershell -ExecutionPolicy Bypass -File .\SystemTester.ps1
-
+
# Run all tests automatically
powershell -ExecutionPolicy Bypass -File .\SystemTester.ps1 -AutoRun
```
-
-> โน๏ธ **Launcher compatibility:** The batch launcher automatically detects either `SystemTester_FIXED.ps1` or the legacy `SystemTester.ps1` filename, so both naming conventions continue to work.
-
-### **First-Time Setup**
-
+
+### First-Time Setup
+
If Sysinternals tools are missing:
1. **Automatic:** Use launcher Menu Option 5 to download (~35 MB)
2. **Manual:** Download from [live.sysinternals.com](https://live.sysinternals.com), extract to `.\Sysinternals\`
-
For enhanced GPU testing:
1. **NVIDIA GPUs:** Install latest NVIDIA drivers (includes nvidia-smi)
2. **AMD GPUs:** Install latest AMD drivers
-3. **GPU-Z (Optional):** Use launcher Menu Option 6 โ 1 to download
-
+3. **GPU-Z (Optional):** Use launcher Menu Option 6 -> 1 to download
---
-
-## ๐งช Test Suites (18 Categories)
-
-| # | Category | Description | Key Tools Used |
-|---|----------|-------------|----------------|
-| 1 | **System Information** | OS details, computer info, clock resolution | `psinfo`, `clockres`, CIM queries |
-| 2 | **CPU Testing** | Architecture, performance benchmarks, top processes | `coreinfo`, stress test, process analysis |
-| 3 | **RAM Testing** | Memory capacity, modules, usage patterns | CIM queries, `testlimit`, performance counters |
-| 4 | **Storage Testing** | Drives, fragmentation, performance, SMART data | `du`, `contig`, `streams`, read/write tests |
-| 5 | **Process Analysis** | Running processes, handles, process tree | `pslist`, `handle` |
-| 6 | **Security Analysis** | Autorun entries, startup items | `autorunsc` |
-| 7 | **Network Analysis** | Connectivity, latency, DNS, bandwidth, MTU | `netstat`, `Get-NetAdapter`, `psping`, `Test-NetConnection` |
-| 8 | **OS Health** | System file integrity, component store | `DISM`, `SFC` |
-| 9 | **Storage SMART** | Drive health, reliability counters | `Get-PhysicalDisk`, WMI SMART |
-| 10 | **SSD TRIM** | TRIM enablement status | `fsutil` |
-| 11 | **Network Adapters** | Link status, speed, IP/MAC addresses | `Get-NetAdapter`, `Get-NetIPConfiguration` |
-| 12 | **GPU (Enhanced)** | Multi-GPU info, vendor tools, memory | CIM, `dxdiag`, `nvidia-smi`, GPU-Z |
-| 12a | **Basic GPU Info** | Details, displays, drivers, DirectX, OpenGL | CIM queries, `dxdiag` |
-| 12b | **Vendor-Specific** | NVIDIA/AMD metrics, temperatures, utilization | `nvidia-smi`, AMD registry |
-| 12c | **GPU Memory** | VRAM capacity, usage, performance counters | CIM, performance counters |
-| 13 | **Power/Battery** | Battery health, energy report | `powercfg`, WMI Battery |
-| 14 | **Hardware Events** | WHEA error logs (last 7 days) | Event Viewer (WHEA-Logger) |
-| 15 | **Windows Update** | Pending updates, history, service status | Windows Update COM API |
-
-### Network Speed Test Suite (Option 7) Features:
-
-* **Local Connectivity** โ Tests local network and default gateway reachability (`Test-NetConnection`)
-* **Internet Reachability** โ Connectivity tests to multiple endpoints (Google DNS, Cloudflare DNS, Google.com, Microsoft.com) with port-specific testing (DNS 53, HTTPS 443)
-* **Latency Testing** โ Detailed ping tests to multiple targets with round-trip time measurements
-* **PSPing Integration** โ Advanced latency and TCP bandwidth capacity testing for connection quality analysis (requires `psping.exe` in Sysinternals folder)
-* **DNS Resolution Speed** โ Measures DNS lookup speed for multiple domains in milliseconds
-* **Network MTU Discovery** โ Checks for standard MTU (1500 bytes) without fragmentation to help identify network configuration issues
-
+
+## Test Suites (18 Categories)
+
+| # | Category | Description | Key Tools |
+|---|----------|-------------|-----------|
+| 1 | System Information | OS details, computer info, clock resolution | `psinfo`, `clockres`, CIM |
+| 2 | CPU Testing | Architecture, performance benchmarks | `coreinfo`, synthetic test |
+| 3 | RAM Testing | Capacity, usage patterns | CIM queries |
+| 4 | Storage Testing | Drives, performance, fragmentation | `du`, `contig`, read/write test |
+| 5 | Process Analysis | Running processes, handles, process tree | `pslist`, `handle` |
+| 6 | Security Analysis | Autorun entries, startup items | `autorunsc` |
+| 7 | Network Analysis | Connectivity, latency, speed, adapters | `netstat`, `psping`, `Test-NetConnection` |
+| 8 | OS Health | System file integrity, component store | `DISM`, `SFC` |
+| 9 | Storage SMART | Drive health | `Get-PhysicalDisk` |
+| 10 | SSD TRIM | TRIM enablement status | `fsutil` |
+| 11 | Network Adapters | Link status, speed, IP/MAC | `Get-NetAdapter` |
+| 12 | GPU (Enhanced) | Multi-GPU info, vendor tools, memory | CIM, `dxdiag`, `nvidia-smi` |
+| 12a | Basic GPU Info | Details, displays, drivers, DirectX, OpenGL | CIM, `dxdiag` |
+| 12b | Vendor-Specific | NVIDIA/AMD metrics, temps, utilization | `nvidia-smi`, AMD registry |
+| 12c | GPU Memory | VRAM capacity, usage, performance counters | CIM, perf counters |
+| 13 | Power/Battery | Battery health, energy report | `powercfg`, WMI |
+| 14 | Hardware Events | WHEA error logs (last 7 days) | Event Viewer |
+| 15 | Windows Update | Pending updates, service status | Windows Update COM API |
+
+### Network Testing (Option 7) โ v2.4 Changes
+
+The network test was the most heavily revised area in v2.4. Specific improvements:
+
+* **Speed test** now tries three servers in sequence (Cloudflare, Hetzner HTTP, OVH) and stops at the first success, rather than failing outright if the single Hetzner HTTPS URL is blocked or intercepted
+* **SSL certificate bypass** is applied per-attempt and restored immediately after, handling VPN and proxy setups that perform TLS interception (Mullvad, corporate proxies, etc.)
+* **Latency test** now runs without a port parameter, so the `Test-NetConnection` ICMP ping actually executes on every system instead of throwing a port validation error
+* **PsPing** parsing is more flexible โ results are captured correctly across different PsPing output formats
+* **Adapter recommendations** no longer flag VMware, Hyper-V, Tailscale, Mullvad, or other virtual adapters as "slow physical NICs"
---
-
-## ๐ Sample Output
-
+
+## Sample Output
+
### Clean Summary Report
```
=========================================
- SYSTEM TEST REPORT v2.21
+ SYSTEM TEST REPORT v2.4
CLEAN SUMMARY
=========================================
-Date: 2025-01-03 14:30:22
+Date: 04/23/2026 14:30:22
Computer: DESKTOP-ABC123
Admin: YES
-
+
SUMMARY:
- Total Tests: 32
- Success: 30
+ Total Tests: 33
+ Success: 31
Failed: 0
Skipped: 2
- Success Rate: 93.8%
-
+ Success Rate: 93.9%
+
KEY FINDINGS:
-------------
-
+
SYSTEM:
- OS: Microsoft Windows 11 Pro 10.0.22631
+ OS: Microsoft Windows 11 Pro 10.0.26200
Architecture: 64-bit
Computer: DESKTOP-ABC123
- Manufacturer: Dell Inc.
- Model: XPS 15 9520
- RAM: 32 GB
-
+ Manufacturer: Micro-Star International Co., Ltd.
+ Model: MS-7D30
+ RAM: 63.73 GB
+
MEMORY:
- Total RAM: 32 GB
- Available: 18.5 GB
- Used: 13.5 GB
- Usage: 42.2%
-
+ Total RAM: 63.73 GB
+ Available: 42.07 GB
+ Used: 21.66 GB
+ Usage: 34%
+
DISK PERFORMANCE:
- Write: 487.3 MB/s
- Read: 523.1 MB/s
-
+ Write: 200.51 MB/s
+ Read: 222.35 MB/s
+
GPU:
- Name: NVIDIA GeForce RTX 3060
- Adapter RAM: 12 GB
- Driver Version: 31.0.15.4601
-
+ Name: NVIDIA GeForce RTX 3080
+ Adapter RAM: 10 GB
+ Driver Version: 32.0.15.9621
+
+NETWORK SPEED:
+ Active Link Speeds:
+ Wi-Fi: 2.4 Gbps
+ Mullvad: 100 Gbps
+ Tailscale: 100 Gbps
+ Internet Download Test:
+ URL: https://speed.cloudflare.com/__down?bytes=10000000
+ File Size: 9.54 MB
+ Time: 0.84 sec
+ Throughput: 906.7 Mbps (113.3 MB/s)
+
+NETWORK LATENCY:
+ Target: 8.8.8.8
+ Test-NetConnection:
+ Ping Succeeded: True
+ Ping RTT: 12 ms
+ PsPing Summary:
+ Min: 11.2 ms
+ Max: 14.7 ms
+ Avg: 12.4 ms
+
+WINDOWS UPDATE:
+ Service: Running
+ Pending: 0
+ Pending Updates: None
+
RECOMMENDATIONS:
----------------
-โข GOOD: Low memory usage (42.2%) - plenty of RAM available
-โข INFO: GPU drivers are over 1 year old (2023)
- โ Update to latest drivers for best performance
- โ NVIDIA: GeForce Experience or nvidia.com
- โ AMD: amd.com/en/support
-โข WARNING: 15 pending Windows Updates
- โ Install updates soon for security and stability
- โ Schedule during non-working hours
-โข EXCELLENT: All tests passed successfully
- โ System is operating normally
-
-For detailed output, see: SystemTest_Detailed_20250103_143022.txt
+* GOOD: Low memory usage (34%) - plenty of RAM available
+* GOOD: Windows is up to date
+* INFO: GPU drivers are over 1 year old
+ -> Update to latest drivers for best performance
+ -> NVIDIA: GeForce Experience or nvidia.com
+ -> AMD: amd.com/en/support
+
+For detailed output, see: SystemTest_Detailed_20260423_143022.txt
```
-
+
+Note: Report files use plain ASCII โ bullets are `*` and arrows are `->`. This ensures correct display in Notepad, legacy terminals, and any text viewer without encoding configuration.
+
---
-
-## ๐ง Launcher Menu Options
-
+
+## Launcher Menu Options
+
The batch launcher (`SystemTester.bat`) provides:
-
-1. **Run Interactive Menu** โ Select individual tests (includes GPU sub-options)
+
+1. **Run Interactive Menu** โ Select individual tests (includes GPU sub-options 12, 12a, 12b, 12c)
2. **Run ALL Tests Automatically** โ Complete system scan with auto-report
3. **Fix PowerShell Execution Policy** โ Set CurrentUser to RemoteSigned
-4. **Verify Tool Integrity** โ Check digital signatures and file sizes (FIXED: now works!)
-5. **Download/Update Sysinternals Suite** โ Auto-download from Microsoft (~35 MB)
+4. **Verify Tool Integrity** โ Check digital signatures and file sizes of Sysinternals tools
+5. **Download/Update Sysinternals Suite** โ Auto-download from Microsoft (~35 MB); VPN-compatible in v2.4
6. **GPU Testing Tools Manager** โ Download and manage GPU testing tools
- - GPU-Z installation assistant (with size validation)
- - NVIDIA tools verification (nvidia-smi)
- - AMD driver detection (multi-GPU support)
- - Tool recommendations (FurMark, 3DMark, etc.)
-7. **Help / Troubleshooting** โ Comprehensive troubleshooting guide
-8. **Exit** โ Close launcher
-
-### GPU Testing Sub-Menu (PowerShell Option 12)
-
-When you select GPU testing in the PowerShell menu, you can:
-* **12** - Run all GPU tests (comprehensive)
-* **12a** - Basic GPU info only (fastest, ~3-5 seconds)
-* **12b** - Vendor-specific tools (NVIDIA-SMI, AMD - now detects all GPUs)
-* **12c** - GPU memory testing
-
+7. **Help / Troubleshooting** โ Comprehensive troubleshooting guide updated for v2.4
+8. **Exit**
---
-
-## ๐ ๏ธ Troubleshooting
-
-### "Sysinternals tools not found"
-**Solution:** Use launcher Menu Option 5 to auto-download, or manually download from [live.sysinternals.com](https://live.sysinternals.com)
-
+
+## Troubleshooting
+
+### Network speed test fails / SSL error
+**Cause:** VPN or proxy performing TLS inspection (Mullvad, Tailscale, corporate proxy).
+**Status:** Fixed in v2.4. The script now tries three different servers and bypasses certificate validation per-attempt.
+If all three fail, check firewall rules blocking outbound HTTP/HTTPS.
+
+### Latency test always fails with "Port" error
+**Cause:** Bug in v2.21 โ an undefined `$targetPort` variable caused `Test-NetConnection` to receive `Port=0`, which Windows rejects.
+**Status:** Fixed in v2.4.
+
+### PsPing shows "Unable to parse latency results"
+**Cause:** PsPing output formatting variation not matched by the old strict regex.
+**Status:** Fixed in v2.4. If it still shows, the debug line will display the raw PsPing output for diagnosis.
+
+### VMware or VPN adapters flagged as "slow NIC"
+**Cause:** Old recommendation logic matched `100 Mbps` anywhere in the adapter list, including virtual adapters.
+**Status:** Fixed in v2.4. Virtual and VPN adapters are now excluded from the physical NIC speed check.
+
+### Reports contain garbled characters (รขโฌยข รขโ ')
+**Cause:** Report was written as UTF-8 but viewed in Notepad or a tool expecting ASCII/Latin-1.
+**Status:** Fixed in v2.4. Reports now use ASCII encoding and plain `*` / `->` characters.
+
### "Execution policy" errors
-**Solution:** Use launcher Menu Option 3, or run: `Set-ExecutionPolicy RemoteSigned -Scope CurrentUser -Force`
-
+**Solution:** Use launcher Menu Option 3, or run:
+`Set-ExecutionPolicy RemoteSigned -Scope CurrentUser -Force`
+
### "Access denied" / Permission errors
-**Solution:** Right-click launcher and choose "Run as administrator"
-
-### Script crashes immediately on startup (v2.21 original only)
-**Solution:** โ
**FIXED** - Use `SystemTester.ps1` instead. Original had missing `Initialize-Environment` function.
-
-### Tool verification (Menu Option 4) crashes
-**Solution:** โ
**FIXED** - Use `SystemTester.bat` and `SystemTester.ps1`. Missing function has been added.
-
-### AMD GPU not detected (multi-GPU systems)
-**Solution:** โ
**FIXED** - Script now checks ALL registry subkeys (\0000, \0001, \0002, etc.), not just \0000.
-
-### GPU-Z appears corrupted
-**Solution:** โ
**FIXED** - Launcher now validates file size (should be >1MB). Re-download if size is too small.
-
-### SMART test runs DISM/SFC instead
-**Solution:** โ
**FIXED** - Incorrect code has been removed from SMART test function.
-
-### Windows Update check fails
-**Solution:** Ensure Windows Update service is running; may require administrator rights
-
-### GPU tests show "SKIPPED"
-**Solution:**
-- For NVIDIA: Install latest drivers from nvidia.com
-- For AMD: Install latest drivers from amd.com/support
-- nvidia-smi is included with NVIDIA drivers
-- Some GPU tests don't require special tools and should always work
-- **Note:** AMD detection now properly checks all registry locations
-
-### Tests taking too long
-**Expected:** Some tests are intentionally slow:
-- CPU Performance: 10-30 seconds
-- Power/Energy Report: 15-20 seconds (admin only)
+**Solution:** Right-click `SystemTester.bat` and choose "Run as administrator".
+
+### Sysinternals tools not found
+**Solution:** Use launcher Menu Option 5 to auto-download, or manually download from [live.sysinternals.com](https://live.sysinternals.com).
+
+### Reports not found after running tests
+Reports are saved to a `Reports\` subfolder inside the script directory โ not the script root itself.
+
+Full path: `