I know the sinking feeling when your drive spins up but the BIOS acts like nothing's there. It's the BSY bug, and it's fixable.
What you'll need
- A Torx T6 screwdriver (for the PCB screws)
- A USB-to-TTL adapter (3.3V or 5V, like the CP2102 or PL2303)
- Dupont wires or a small jumper wire
- PuTTY or a terminal program (I use PuTTY on Windows, minicom on Linux)
- A steady hand and patience
Step-by-step fix
- Remove the drive from your system. You'll be working on the PCB, so no power connected to the SATA or power cables.
- Take off the PCB. Remove the Torx screws holding the circuit board. There are usually 6. Keep them safe. Gently lift the PCB; it may be stuck to the contact pins.
- Insulate the motor contacts. Look at the underside of the PCB where it touches the motor pins. You'll see three or four round contact pads. Cover them with a small piece of electrical tape or a Post-it note. This prevents the motor from spinning during the fix. Don't cover the head contacts, just the motor ones.
- Reattach the PCB. Screw it back on lightly, just enough to hold it. You'll remove it again later.
- Connect the USB-to-TTL adapter. On the drive's PCB, find the 4-pin serial header (often labeled J1 or similar). Connect:
- Adapter TX → Drive RX
- Adapter RX → Drive TX
- Adapter GND → Drive GND
- Do NOT connect VCC (the drive gets power from SATA)
- Power the drive. Connect the SATA power cable (the wide one). The drive should NOT spin up because the motor contacts are taped. If it does, you missed a contact.
- Open your terminal program. Set the baud rate to 38400, 8 data bits, no parity, 1 stop bit. Open the connection. You should see a prompt like
F3 T>orF3 1>. - Unlock the drive. Type these commands one at a time, pressing Enter after each:
The/2 Z UZcommand spins down the drive.Uunlocks it. You should seeSpin Down CompleteandUnlock Complete. - Power off the drive. Disconnect the SATA power. Leave the USB adapter connected.
- Remove the tape. Take the PCB off again, remove the insulation from the motor contacts, and screw the PCB back on properly. Make sure all screws are in.
- Power the drive back on. It should spin up normally now. In your terminal, you should see it ready. Type
Zagain to spin down if you want, but the drive is now unlocked. - Reconnect to your computer. Connect the SATA data cable, boot up, and check BIOS. The drive should be detected. If it is, immediately back up your data. Then update the firmware from Seagate's website to prevent this from happening again.
Why this works
The BSY bug is a firmware glitch in certain Seagate 7200.11 drives (models like ST3500320AS, ST1000340AS, ST31000333AS, etc.). The drive gets stuck in a "busy" state during a routine event like a power cycle or a head load. The firmware is waiting for a signal that never comes, so it never initializes the SATA interface. That's why the drive spins but isn't detected.
The fix forces the drive into a diagnostic mode where you can manually unlock it. By preventing the motor from spinning, you avoid the condition that triggers the busy state. The Z command tells the drive to spin down (which it can't do because the motor is disconnected, but it clears the busy flag). The U command unlocks the drive's firmware, allowing it to accept new commands. Once you reconnect the motor and power cycle, the drive initializes properly.
Less common variations
Sometimes the drive won't respond to the serial commands at all. If you don't see a prompt, try these:
- Check your adapter's voltage. Some drives need 3.3V, others 5V. Try both if you have a switch.
- Swap TX/RX. It's easy to mix them up. If no prompt, reverse them.
- Try a different terminal program. PuTTY can be finicky. Use RealTerm or a Linux terminal.
- Power cycle with the motor taped. Sometimes you need to power on with the tape already in place, then connect the serial cable.
- If the drive still doesn't detect after the fix, the firmware may be corrupted beyond this fix. You'll need a professional data recovery service or a firmware reflash using a tool like PC-3000.
Prevention
Once your drive is working, update its firmware. Seagate released a firmware update (SD1A for many models) that fixes the BSY bug. Download it from Seagate's support site, burn it to a CD or USB, and boot from it. The update takes a few minutes.
If you can't update, avoid powering down the drive abruptly. Always use the safe eject feature. And back up your data regularly. This bug can strike again, and next time you might not be so lucky.