VIA Technologies SATA
VIA SATA controllers in the following chips:
- VT8237R Plus
- VT8251 in IDE mode
PIO, MWDMA, UDMA
SATA II 3 Gbps disks cannot be detected as they refuse to spinup (while hanging the computer) on the following broken SATA I chips:
VT6420, VT6421, VT8237, VT8237R
Reducing the speed of the disk to 1,5 Gbps will workaround the bug, but not all disks support speed reduction (e.g. WD VelociRaptor, WD scorpio). Speed reduction is done either by hardware (jumpers) or software (proprietary DOS utilities). On disks without jumpers, speed reduction must be carried out at a different system or host adapter which can detect SATA II 3 Gbps disks.
Certain WD SATA II 3 Gbps disks on VT6420 and VT6421 will trigger error conditions under which the SATA controller FIFO overflows during controller-disk communication because these disks do not fully conform to the SATA specification. The driver responds by resetting the disks and then the disks start hand-shake from 3Gbps (due to a bug the firmware tries to reestablish disk connection at 3Gbps even though it is jumpered for 1,5Gbps) which is not supported by them as described above. Under that condition the pair is unusable, the only thing left to do is ensure that the FIFO will not become full in order to eliminate the need for disk reset. Thus the default FIFO empty policy of 1/2 which is not enough is doubled. Kernel 2.6.35 has the workaround for this issue enabled by default when they are detected even if no SATA disks are attached. Also the workaround is applied for all disks regardless of the disk vendor.