Article ID: KB-SATA-ESC8000A-001
Product: ASUS ESC8000A-E12 GPU Server
OS: Ubuntu Server (HWE kernel), Rocky Linux 9.x, Rocky Linux 10.1+
Component: Marvell 88SE9230 SATA Controller
Summary
SATA SSDs connected to the ASUS ESC8000A-E12 are visible in BIOS but not detected by Linux (lsblk shows nothing). This is caused by two issues: the Marvell 88SE9230 SATA controller operating in RAID mode by default, and the stock kernel lacking the driver support needed to enumerate drives in that mode.
Symptoms
- Drive appears in BIOS storage inventory
lsblkshows no SATA block devicedmesgshows repeated IDENTIFY failures on ata1/ata8 witherr_mask=0x4- SATA link cycles: link up → qc timeout → failed to IDENTIFY → link up (repeating)
lspciidentifies:Marvell Technology Group Ltd. 88SE9230 PCIe 2.0 x2 4-port SATA 6 Gb/s RAID Controller- Drive IS visible when connected via USB-to-SATA adapter
Root Cause
Two contributing factors:
- The Marvell 88SE9230 defaults to RAID mode. Linux has no native AHCI driver for this controller in RAID mode, preventing drive enumeration.
- The stock Ubuntu LTS kernel (non-HWE) and older Rocky kernels lack the updated Marvell driver needed to communicate with drives on this controller.
Note: BIOS detects the drive via a shallow PHY-layer handshake. Linux performs a full ATA IDENTIFY command sequence which fails when the controller is in RAID mode without proper driver support.
Resolution
Step 1: Enable Generic Mode in BIOS
Navigate to the following path in BIOS and set Generic Mode to Enabled:
Chipset
└── PCH Configuration
└── PCH Debug Configuration
└── SB SATA Debug Configuration
└── Generic Mode = [Enabled]
Note: This switches the Marvell controller from proprietary RAID mode to generic AHCI-compatible mode, allowing Linux to enumerate attached drives.
Step 2: Verify
After reboot, confirm the drive is detected:
lsblk dmesg | grep -iE "(ata|sata|ahci)" | tail -20
Expected result: drive appears in lsblk, dmesg shows AHCI mode and successful IDENTIFY with no err_mask errors.
Alternate Solution: Install Updated Kernel
If enabling Generic Mode is not an option, an updated kernel with improved Marvell driver support may resolve drive detection without the BIOS change.
Ubuntu — options:
- Enable Generic Mode in BIOS (see primary resolution above)
- Install using the Hardware Enablement kernel
Rocky Linux 10.1+ — Stock kernel is sufficient. No additional steps required.
Rocky Linux 9.x — Generic Mode must be enabled in BIOS (see primary resolution above). The stock kernel alone is not sufficient.
Diagnostic Commands
| Command | Purpose |
|---|---|
lsblk | List block devices -- drive should appear if detected |
dmesg | grep -i sata | Check SATA link status and errors |
dmesg | grep -iE "(ata|error)" | tail -30 | Check for IDENTIFY failures and I/O errors |
lspci | grep -i sata | Identify SATA controller and mode |
lsmod | grep mv | Check if Marvell driver is loaded |
Additional Notes
- The ESC8000A-E12 is a GPU-dense server. NVMe is the recommended storage medium for OS drives on this platform.
- The Marvell RAID_SW1/SW2 jumpers on the backplane control sideband signaling mode for bays 1-4 and 5-8 respectively. These are separate from the Generic Mode BIOS setting.
- SATA/SAS support on bays 5-8 requires an ASUS PIKE II card connected via MSAS_HD2.
- A drive that passes BIOS detection but fails Linux IDENTIFY is not necessarily dead -- test via USB-SATA adapter to isolate controller vs drive.
Exxact Corporation -- Internal Knowledge Base
Comments
0 comments
Please sign in to leave a comment.