mirror of
https://github.com/ISpillMyDrink/OpenSuperClone.git
synced 2026-08-23 11:36:29 +00:00
Update F3 scripts and fix minor issues
This commit is contained in:
@@ -0,0 +1,69 @@
|
||||
# Seagate F3 CAP and Drive Info
|
||||
# Retrieves comprehensive identification from a Seagate F3 drive:
|
||||
# Ctrl+A - Package version, serial, model, servo FW
|
||||
# Ctrl+L - Head count, preamp type, family ID
|
||||
# T>J - CAP info (internal model, family ID, serials)
|
||||
# T>V1 - User slip defect list (confirms translator loaded)
|
||||
# Default baud: 38400, 8N1, no flow control.
|
||||
#
|
||||
# Useful when the drive label is missing or when you need
|
||||
# detailed firmware/family information before repair.
|
||||
|
||||
echo "============================================"
|
||||
echo " Seagate F3 CAP and Drive Info"
|
||||
echo "============================================"
|
||||
|
||||
if $gui_mode = 0
|
||||
serialopen /dev/ttyUSB0 38400
|
||||
else
|
||||
serialopen
|
||||
endif
|
||||
usleep 200000
|
||||
|
||||
echo "Waking terminal (Ctrl+Z)..."
|
||||
serialsend \x1a
|
||||
usleep 500000
|
||||
|
||||
echo "--- Terminal Banner ---"
|
||||
buffersize 1024
|
||||
serialread 1024
|
||||
printbuffer 0 1024
|
||||
|
||||
echo ""
|
||||
echo "--- Drive Info (Ctrl+A) ---"
|
||||
serialsend \x01
|
||||
usleep 300000
|
||||
serialread 2048
|
||||
printbuffer 0 2048
|
||||
|
||||
echo ""
|
||||
echo "--- Detailed Drive Info (Ctrl+L) ---"
|
||||
serialsend \x0c
|
||||
usleep 300000
|
||||
serialread 2048
|
||||
printbuffer 0 2048
|
||||
|
||||
echo ""
|
||||
echo "--- CAP Info (J command) ---"
|
||||
serialsend \x4a\x0d
|
||||
usleep 300000
|
||||
serialread 2048
|
||||
printbuffer 0 2048
|
||||
|
||||
echo ""
|
||||
echo "--- User Slip List / Translator check (V1) ---"
|
||||
serialsend \x56\x31\x0d
|
||||
usleep 300000
|
||||
serialread 2048
|
||||
printbuffer 0 2048
|
||||
|
||||
echo ""
|
||||
echo "============================================"
|
||||
echo " Info collection complete."
|
||||
echo "============================================"
|
||||
|
||||
if $gui_mode = 0
|
||||
serialclose
|
||||
endif
|
||||
echo "=== Done ==="
|
||||
end
|
||||
@@ -0,0 +1,78 @@
|
||||
# Seagate F3 Clear G-List
|
||||
# Clears the Grown Defect List (G-List) on a Seagate F3 drive.
|
||||
# Useful as a standalone step before translator regeneration
|
||||
# or when G-List corruption is suspected.
|
||||
# Default baud: 38400, 8N1, no flow control.
|
||||
#
|
||||
# WARNING: Sectors reallocated into the G-List will be lost.
|
||||
# The LBAs they occupied will map back to the original (defective)
|
||||
# physical sectors.
|
||||
|
||||
echo "============================================"
|
||||
echo " Seagate F3 Clear G-List"
|
||||
echo "============================================"
|
||||
echo ""
|
||||
echo "WARNING: Sectors in G-list will be lost from user data."
|
||||
echo ""
|
||||
|
||||
if $gui_mode = 0
|
||||
serialopen /dev/ttyUSB0 38400
|
||||
else
|
||||
serialopen
|
||||
endif
|
||||
usleep 200000
|
||||
|
||||
echo "Waking terminal (Ctrl+Z)..."
|
||||
serialsend \x1a
|
||||
usleep 500000
|
||||
|
||||
echo "--- Terminal Banner ---"
|
||||
buffersize 1024
|
||||
serialread 1024
|
||||
printbuffer 0 1024
|
||||
|
||||
echo ""
|
||||
echo "--- G-List before clear (V4) ---"
|
||||
serialsend \x56\x34\x0d
|
||||
usleep 300000
|
||||
serialread 2048
|
||||
printbuffer 0 2048
|
||||
|
||||
echo ""
|
||||
echo "--- Resident G-List before clear (V80) ---"
|
||||
serialsend \x56\x38\x30\x0d
|
||||
usleep 300000
|
||||
serialread 2048
|
||||
printbuffer 0 2048
|
||||
|
||||
echo ""
|
||||
echo "=== Clearing G-List (i4,1,22) ==="
|
||||
serialsend \x69\x34\x2c\x31\x2c\x32\x32\x0d
|
||||
usleep 500000
|
||||
serialread 1024
|
||||
printbuffer 0 1024
|
||||
|
||||
echo ""
|
||||
echo "--- G-List after clear (V4) ---"
|
||||
serialsend \x56\x34\x0d
|
||||
usleep 300000
|
||||
serialread 2048
|
||||
printbuffer 0 2048
|
||||
|
||||
echo ""
|
||||
echo "--- Resident G-List after clear (V80) ---"
|
||||
serialsend \x56\x38\x30\x0d
|
||||
usleep 300000
|
||||
serialread 2048
|
||||
printbuffer 0 2048
|
||||
|
||||
echo ""
|
||||
echo "============================================"
|
||||
echo " G-List clear complete."
|
||||
echo "============================================"
|
||||
|
||||
if $gui_mode = 0
|
||||
serialclose
|
||||
endif
|
||||
echo "=== Done ==="
|
||||
end
|
||||
@@ -0,0 +1,77 @@
|
||||
# Seagate F3 Clear SMART
|
||||
# Clears the SMART table on a Seagate F3 drive.
|
||||
# Useful as a standalone step when SMART values show false errors
|
||||
# or when clearing SMART resolves LED:000000BD / FAddr:00009887
|
||||
# media cache related errors.
|
||||
# Default baud: 38400, 8N1, no flow control.
|
||||
#
|
||||
# Steps: show current SMART, clear SMART, verify
|
||||
#
|
||||
# WARNING: This resets SMART attribute values. Power-on hours,
|
||||
# error counts, and reallocated sector counts will be cleared.
|
||||
# Use for diagnostics, not to conceal genuine drive health issues.
|
||||
|
||||
echo "============================================"
|
||||
echo " Seagate F3 Clear SMART"
|
||||
echo "============================================"
|
||||
|
||||
if $gui_mode = 0
|
||||
serialopen /dev/ttyUSB0 38400
|
||||
else
|
||||
serialopen
|
||||
endif
|
||||
usleep 200000
|
||||
|
||||
echo "Waking terminal (Ctrl+Z)..."
|
||||
serialsend \x1a
|
||||
usleep 500000
|
||||
|
||||
echo "--- Terminal Banner ---"
|
||||
buffersize 1024
|
||||
serialread 1024
|
||||
printbuffer 0 1024
|
||||
|
||||
echo ""
|
||||
echo "Changing to level 1..."
|
||||
serialsend \x2f\x31\x0d
|
||||
usleep 200000
|
||||
|
||||
echo "--- Current SMART Values (N5) ---"
|
||||
serialsend \x4e\x35\x0d
|
||||
usleep 500000
|
||||
buffersize 2048
|
||||
serialread 2048
|
||||
printbuffer 0 2048
|
||||
|
||||
echo ""
|
||||
echo "=== Clearing SMART (N1) ==="
|
||||
serialsend \x4e\x31\x0d
|
||||
usleep 500000
|
||||
|
||||
echo "--- Clear Response ---"
|
||||
serialread 1024
|
||||
printbuffer 0 1024
|
||||
|
||||
echo ""
|
||||
echo "--- SMART After Clear (N5) ---"
|
||||
serialsend \x4e\x35\x0d
|
||||
usleep 500000
|
||||
buffersize 2048
|
||||
serialread 2048
|
||||
printbuffer 0 2048
|
||||
|
||||
echo ""
|
||||
echo "Returning to level T..."
|
||||
serialsend \x2f\x54\x0d
|
||||
usleep 200000
|
||||
|
||||
echo ""
|
||||
echo "============================================"
|
||||
echo " SMART clear complete."
|
||||
echo "============================================"
|
||||
|
||||
if $gui_mode = 0
|
||||
serialclose
|
||||
endif
|
||||
echo "=== Done ==="
|
||||
end
|
||||
@@ -0,0 +1,67 @@
|
||||
# Seagate F3 Head Resistance Test
|
||||
# Tests read/write head resistance on a Seagate F3 drive.
|
||||
# Run at level 7 with the X command.
|
||||
# Default baud: 38400, 8N1, no flow control.
|
||||
#
|
||||
# Head resistance values are displayed as hex for each head.
|
||||
# Normal range varies by family, but values significantly
|
||||
# higher or lower than others may indicate a damaged head.
|
||||
|
||||
echo "============================================"
|
||||
echo " Seagate F3 Head Resistance Test"
|
||||
echo "============================================"
|
||||
|
||||
if $gui_mode = 0
|
||||
serialopen /dev/ttyUSB0 38400
|
||||
else
|
||||
serialopen
|
||||
endif
|
||||
usleep 200000
|
||||
|
||||
echo "Waking terminal (Ctrl+Z)..."
|
||||
serialsend \x1a
|
||||
usleep 500000
|
||||
|
||||
echo "--- Terminal Banner ---"
|
||||
buffersize 1024
|
||||
serialread 1024
|
||||
printbuffer 0 1024
|
||||
|
||||
echo "Changing to level 7..."
|
||||
serialsend \x2f\x37\x0d
|
||||
usleep 300000
|
||||
|
||||
echo "--- Level Change ---"
|
||||
serialread 1024
|
||||
printbuffer 0 1024
|
||||
|
||||
echo ""
|
||||
echo "Running head resistance test (X command)..."
|
||||
serialsend \x58\x0d
|
||||
usleep 500000
|
||||
|
||||
echo "--- Head Resistance Results ---"
|
||||
serialread 2048
|
||||
printbuffer 0 2048
|
||||
|
||||
echo ""
|
||||
echo "Returning to level T..."
|
||||
serialsend \x2f\x54\x0d
|
||||
usleep 200000
|
||||
|
||||
echo "--- Level T ---"
|
||||
serialread 1024
|
||||
printbuffer 0 1024
|
||||
|
||||
echo ""
|
||||
echo "============================================"
|
||||
echo " Head resistance test complete."
|
||||
echo " Each head shows a hex resistance value."
|
||||
echo " Compare across heads -- outliers may be bad."
|
||||
echo "============================================"
|
||||
|
||||
if $gui_mode = 0
|
||||
serialclose
|
||||
endif
|
||||
echo "=== Done ==="
|
||||
end
|
||||
@@ -0,0 +1,152 @@
|
||||
# Seagate F3 Translator Regeneration
|
||||
# Safe workflow for BSY/LED or translator corruption on Seagate F3 drives.
|
||||
#
|
||||
# PREREQUISITES:
|
||||
# 1. Backup SA modules before running (especially 0x02B, 0x02A, 0x02C)
|
||||
# using Y-Modem transfer (r command) via your terminal program.
|
||||
# OSC serial commands do NOT support Y-Modem, so this must be done
|
||||
# externally or skipped if you accept the risk.
|
||||
# 2. Default baud: 38400, 8N1, no flow control.
|
||||
# 3. Power-cycle the drive after this script completes.
|
||||
#
|
||||
# This script will:
|
||||
# - Wake the terminal and display drive info
|
||||
# - Snapshot defect lists (V1, V4, V10, V40, V80) for documentation
|
||||
# - Clear G-list (i4,1,22)
|
||||
# - Clear SMART (1>N1)
|
||||
# - Regenerate translator (m0,6,2)
|
||||
# - Verify translator loaded (V1)
|
||||
# - Remind you to power-cycle
|
||||
|
||||
echo "============================================"
|
||||
echo " Seagate F3 Translator Regeneration"
|
||||
echo "============================================"
|
||||
echo ""
|
||||
echo "IMPORTANT: Back up SA modules before proceeding!"
|
||||
echo " r0x2B,3,1 (translator module)"
|
||||
echo " r0x2A,3,1 (related module)"
|
||||
echo " r0x2C,3,1"
|
||||
echo ""
|
||||
|
||||
if $gui_mode = 0
|
||||
serialopen /dev/ttyUSB0 38400
|
||||
else
|
||||
serialopen
|
||||
endif
|
||||
usleep 200000
|
||||
|
||||
echo "Waking terminal (Ctrl+Z)..."
|
||||
serialsend \x1a
|
||||
usleep 500000
|
||||
|
||||
echo "--- Terminal Banner ---"
|
||||
buffersize 2048
|
||||
serialread 2048
|
||||
printbuffer 0 2048
|
||||
|
||||
echo "Sending Ctrl+L for drive info..."
|
||||
serialsend \x0c
|
||||
usleep 300000
|
||||
|
||||
echo "--- Drive Info ---"
|
||||
serialread 2048
|
||||
printbuffer 0 2048
|
||||
|
||||
echo "--- Snapshot: User Slip List (V1) ---"
|
||||
serialsend \x56\x31\x0d
|
||||
usleep 300000
|
||||
serialread 2048
|
||||
printbuffer 0 2048
|
||||
|
||||
echo "--- Snapshot: G-List before clear (V4) ---"
|
||||
serialsend \x56\x34\x0d
|
||||
usleep 300000
|
||||
serialread 2048
|
||||
printbuffer 0 2048
|
||||
|
||||
echo "--- Snapshot: P-List (V10) ---"
|
||||
serialsend \x56\x31\x30\x0d
|
||||
usleep 300000
|
||||
serialread 2048
|
||||
printbuffer 0 2048
|
||||
|
||||
echo "--- Snapshot: Non-resident G-List (V40) ---"
|
||||
serialsend \x56\x34\x30\x0d
|
||||
usleep 300000
|
||||
serialread 2048
|
||||
printbuffer 0 2048
|
||||
|
||||
echo "--- Snapshot: Resident G-List (V80) ---"
|
||||
serialsend \x56\x38\x30\x0d
|
||||
usleep 300000
|
||||
serialread 2048
|
||||
printbuffer 0 2048
|
||||
|
||||
echo ""
|
||||
echo "=== Clearing G-List (i4,1,22) ==="
|
||||
echo "WARNING: Sectors in G-list will be lost from user data."
|
||||
echo " Comment out lines 93-95 to skip this step."
|
||||
serialsend \x69\x34\x2c\x31\x2c\x32\x32\x0d
|
||||
usleep 500000
|
||||
serialread 1024
|
||||
printbuffer 0 1024
|
||||
|
||||
echo ""
|
||||
echo "=== Clearing SMART (1>N1) ==="
|
||||
echo "Changing to level 1..."
|
||||
serialsend \x2f\x31\x0d
|
||||
usleep 200000
|
||||
serialsend \x4e\x31\x0d
|
||||
usleep 500000
|
||||
serialread 1024
|
||||
printbuffer 0 1024
|
||||
|
||||
echo "Returning to level T..."
|
||||
serialsend \x2f\x54\x0d
|
||||
usleep 200000
|
||||
|
||||
echo ""
|
||||
echo "=== Regenerating Translator (m0,6,2) ==="
|
||||
echo "This may take 30-120 seconds. Reading progress..."
|
||||
serialsend \x6d\x30\x2c\x36\x2c\x32\x2c\x2c\x2c\x2c\x2c\x32\x32\x0d
|
||||
usleep 5000000
|
||||
|
||||
echo "--- Initial status (5s) ---"
|
||||
serialread 1024
|
||||
printbuffer 0 1024
|
||||
usleep 60000000
|
||||
|
||||
echo "--- Progress (65s) ---"
|
||||
serialread 1024
|
||||
printbuffer 0 1024
|
||||
usleep 60000000
|
||||
|
||||
echo "--- Final status (125s) ---"
|
||||
serialread 2048
|
||||
printbuffer 0 2048
|
||||
|
||||
echo ""
|
||||
echo "=== Verification: Translator check (V1) ==="
|
||||
serialsend \x56\x31\x0d
|
||||
usleep 300000
|
||||
serialread 2048
|
||||
printbuffer 0 2048
|
||||
|
||||
echo ""
|
||||
echo "=== Verification: G-List after regen (V4) ==="
|
||||
serialsend \x56\x34\x0d
|
||||
usleep 300000
|
||||
serialread 2048
|
||||
printbuffer 0 2048
|
||||
|
||||
echo ""
|
||||
echo "============================================"
|
||||
echo " Translator regeneration complete."
|
||||
echo " POWER-CYCLE the drive before use."
|
||||
echo "============================================"
|
||||
|
||||
if $gui_mode = 0
|
||||
serialclose
|
||||
endif
|
||||
echo "=== Done ==="
|
||||
end
|
||||
@@ -0,0 +1,53 @@
|
||||
# Seagate F3 Restore F Parameters to Defaults
|
||||
# Resets all F parameters (RWRecoveryFlags, BGMSFlags,
|
||||
# PerformanceFlags, ReadRetries, etc.) to factory defaults.
|
||||
# Default baud: 38400, 8N1, no flow control.
|
||||
#
|
||||
# Use after running tune_for_imaging to re-enable read retries,
|
||||
# sparing, and background media scan without a power cycle.
|
||||
#
|
||||
# Command: T> F,,22
|
||||
#
|
||||
# WARNING: Also resets any custom F tuning that may have been
|
||||
# set for data recovery purposes. Power-cycle after imaging
|
||||
# is still recommended for complete reset.
|
||||
|
||||
echo "============================================"
|
||||
echo " Seagate F3 Restore F Defaults"
|
||||
echo "============================================"
|
||||
|
||||
if $gui_mode = 0
|
||||
serialopen /dev/ttyUSB0 38400
|
||||
else
|
||||
serialopen
|
||||
endif
|
||||
usleep 200000
|
||||
|
||||
echo "Waking terminal (Ctrl+Z)..."
|
||||
serialsend \x1a
|
||||
usleep 500000
|
||||
|
||||
echo "--- Terminal Banner ---"
|
||||
buffersize 1024
|
||||
serialread 1024
|
||||
printbuffer 0 1024
|
||||
|
||||
echo ""
|
||||
echo "=== Restoring F parameters to defaults (F,,22) ==="
|
||||
serialsend \x46\x2c\x2c\x32\x32\x0d
|
||||
usleep 300000
|
||||
|
||||
echo "--- Response ---"
|
||||
serialread 1024
|
||||
printbuffer 0 1024
|
||||
|
||||
echo ""
|
||||
echo "============================================"
|
||||
echo " F parameters restored to factory defaults."
|
||||
echo "============================================"
|
||||
|
||||
if $gui_mode = 0
|
||||
serialclose
|
||||
endif
|
||||
echo "=== Done ==="
|
||||
end
|
||||
@@ -0,0 +1,59 @@
|
||||
# Seagate F3 Spin Down
|
||||
# Sends the spin down (sleep) command to a Seagate F3 drive.
|
||||
# Changes to level 2 and issues the Z command.
|
||||
# Default baud: 38400, 8N1, no flow control.
|
||||
#
|
||||
# Use before:
|
||||
# - Transporting the drive
|
||||
# - Swapping PCB
|
||||
# - Safe hot-swap
|
||||
# - Preparing for imaging (spin down + remove power)
|
||||
|
||||
echo "============================================"
|
||||
echo " Seagate F3 Spin Down"
|
||||
echo "============================================"
|
||||
|
||||
if $gui_mode = 0
|
||||
serialopen /dev/ttyUSB0 38400
|
||||
else
|
||||
serialopen
|
||||
endif
|
||||
usleep 200000
|
||||
|
||||
echo "Waking terminal (Ctrl+Z)..."
|
||||
serialsend \x1a
|
||||
usleep 500000
|
||||
|
||||
echo "--- Terminal Banner ---"
|
||||
buffersize 1024
|
||||
serialread 1024
|
||||
printbuffer 0 1024
|
||||
|
||||
echo ""
|
||||
echo "Changing to level 2..."
|
||||
serialsend \x2f\x32\x0d
|
||||
usleep 200000
|
||||
|
||||
echo "--- Level Change ---"
|
||||
serialread 1024
|
||||
printbuffer 0 1024
|
||||
|
||||
echo ""
|
||||
echo "=== Spinning Down (Z) ==="
|
||||
serialsend \x5a\x0d
|
||||
usleep 500000
|
||||
|
||||
echo "--- Spin Down Response ---"
|
||||
serialread 1024
|
||||
printbuffer 0 1024
|
||||
|
||||
echo ""
|
||||
echo "============================================"
|
||||
echo " Drive should now be spun down (idle/standby)."
|
||||
echo "============================================"
|
||||
|
||||
if $gui_mode = 0
|
||||
serialclose
|
||||
endif
|
||||
echo "=== Done ==="
|
||||
end
|
||||
@@ -0,0 +1,58 @@
|
||||
# Seagate F3 Spin Up
|
||||
# Sends the spin up command to a Seagate F3 drive.
|
||||
# Changes to level 2 and issues the U command.
|
||||
# Default baud: 38400, 8N1, no flow control.
|
||||
#
|
||||
# Use after spin down (Z) to restart the spindle motor.
|
||||
# The drive should respond with "SpinUp" or similar
|
||||
# confirmation before becoming ready for further commands.
|
||||
|
||||
echo "============================================"
|
||||
echo " Seagate F3 Spin Up"
|
||||
echo "============================================"
|
||||
|
||||
if $gui_mode = 0
|
||||
serialopen /dev/ttyUSB0 38400
|
||||
else
|
||||
serialopen
|
||||
endif
|
||||
usleep 200000
|
||||
|
||||
echo "Waking terminal (Ctrl+Z)..."
|
||||
serialsend \x1a
|
||||
usleep 500000
|
||||
|
||||
echo "--- Terminal Banner ---"
|
||||
buffersize 1024
|
||||
serialread 1024
|
||||
printbuffer 0 1024
|
||||
|
||||
echo ""
|
||||
echo "Changing to level 2..."
|
||||
serialsend \x2f\x32\x0d
|
||||
usleep 200000
|
||||
|
||||
echo "--- Level Change ---"
|
||||
serialread 1024
|
||||
printbuffer 0 1024
|
||||
|
||||
echo ""
|
||||
echo "=== Spinning Up (U) ==="
|
||||
serialsend \x55\x0d
|
||||
usleep 2000000
|
||||
|
||||
echo "--- Spin Up Response ---"
|
||||
serialread 2048
|
||||
printbuffer 0 2048
|
||||
|
||||
echo ""
|
||||
echo "============================================"
|
||||
echo " Spin up command sent."
|
||||
echo " Drive should be ready for operation."
|
||||
echo "============================================"
|
||||
|
||||
if $gui_mode = 0
|
||||
serialclose
|
||||
endif
|
||||
echo "=== Done ==="
|
||||
end
|
||||
@@ -0,0 +1,78 @@
|
||||
# Seagate F3 Tune for Imaging
|
||||
# Disables retries, sparing, and background tasks so the drive
|
||||
# won't hang or reallocate sectors during ddrescue/imaging.
|
||||
# Run this BEFORE cloning a failing Seagate F3 drive.
|
||||
# Default baud: 38400, 8N1, no flow control.
|
||||
#
|
||||
# Changes made (all reversible with F,,22 reset to defaults):
|
||||
# RWRecoveryFlags = 00 (disable read/write sparing, enable ECC correction)
|
||||
# BGMSFlags = 00 (disable background media scan)
|
||||
# PerformanceFlags = 0060 (disable offline sparing, deferred realloc, idle activities)
|
||||
# ReadRetries = 00 (disable read retries)
|
||||
#
|
||||
# Power-cycle the drive after imaging to restore defaults.
|
||||
|
||||
echo "============================================"
|
||||
echo " Seagate F3 Tune for Imaging"
|
||||
echo "============================================"
|
||||
echo ""
|
||||
echo "Disables retries/sparing/BGMS to prevent hangs."
|
||||
echo "Power-cycle after imaging to restore defaults."
|
||||
echo ""
|
||||
|
||||
if $gui_mode = 0
|
||||
serialopen /dev/ttyUSB0 38400
|
||||
else
|
||||
serialopen
|
||||
endif
|
||||
usleep 200000
|
||||
|
||||
echo "Waking terminal (Ctrl+Z)..."
|
||||
serialsend \x1a
|
||||
usleep 500000
|
||||
|
||||
echo "--- Terminal Banner ---"
|
||||
buffersize 1024
|
||||
serialread 1024
|
||||
printbuffer 0 1024
|
||||
|
||||
echo ""
|
||||
echo "Setting RWRecoveryFlags = 00 (disable sparing, enable correction)..."
|
||||
serialsend \x46\x22\x52\x57\x52\x65\x63\x6f\x76\x65\x72\x79\x46\x6c\x61\x67\x73\x22\x2c\x30\x30\x2c\x32\x32\x0d
|
||||
usleep 300000
|
||||
serialread 1024
|
||||
printbuffer 0 1024
|
||||
|
||||
echo ""
|
||||
echo "Setting BGMSFlags = 00 (disable background media scan)..."
|
||||
serialsend \x46\x22\x42\x47\x4d\x53\x46\x6c\x61\x67\x73\x22\x2c\x30\x30\x2c\x32\x32\x0d
|
||||
usleep 300000
|
||||
serialread 1024
|
||||
printbuffer 0 1024
|
||||
|
||||
echo ""
|
||||
echo "Setting PerformanceFlags = 0060 (disable sparing/idle)..."
|
||||
serialsend \x46\x22\x50\x65\x72\x66\x6f\x72\x6d\x61\x6e\x63\x65\x46\x6c\x61\x67\x73\x22\x2c\x30\x30\x36\x30\x2c\x32\x32\x0d
|
||||
usleep 300000
|
||||
serialread 1024
|
||||
printbuffer 0 1024
|
||||
|
||||
echo ""
|
||||
echo "Setting ReadRetries = 00 (disable read retries)..."
|
||||
serialsend \x46\x22\x52\x65\x61\x64\x52\x65\x74\x72\x69\x65\x73\x22\x2c\x30\x30\x2c\x32\x32\x0d
|
||||
usleep 300000
|
||||
serialread 1024
|
||||
printbuffer 0 1024
|
||||
|
||||
echo ""
|
||||
echo "============================================"
|
||||
echo " Tuning complete. Ready for imaging."
|
||||
echo " POWER-CYCLE the drive after imaging"
|
||||
echo " to restore default F parameters."
|
||||
echo "============================================"
|
||||
|
||||
if $gui_mode = 0
|
||||
serialclose
|
||||
endif
|
||||
echo "=== Done ==="
|
||||
end
|
||||
@@ -13,7 +13,6 @@ int asclepius_serial_port = -1;
|
||||
|
||||
bool asclepius_ext_connected = false;
|
||||
int asclepius_ext_serial_port = -1;
|
||||
char asclepius_ext_tty_device_ccc[256];
|
||||
int asclepius_ext_baud_rate_ccc = 38400;
|
||||
void (*asclepius_ext_output_ccc)(const char *text, int byte_count) = NULL;
|
||||
|
||||
|
||||
@@ -7303,6 +7303,7 @@ void on_ext_terminal_script_clicked_ccc(GtkWidget *button)
|
||||
_("_Cancel"), GTK_RESPONSE_CANCEL,
|
||||
_("_Open"), GTK_RESPONSE_ACCEPT,
|
||||
NULL);
|
||||
gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(filechooser), OSC_SCRIPT_PATH);
|
||||
|
||||
if (gtk_dialog_run(GTK_DIALOG(filechooser)) == GTK_RESPONSE_ACCEPT)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user