Linux Hell – Via Southbridge VT8251 SATA II Controller – PART 2!


I wrote in February http://tinyurl.com/2vm3vy6 about the very poor Linux support for the VIA VT8251 SATA 2 controller on my ASUS A8V-VM SE motherboard and how I got it to work with my SATA hard disk and DVD/RW drive using pci=nomsi. The original Laubnchpad bug report can be found at http://tinyurl.com/29hglgf.

Unfortunately in the Linux world, what gets fixed does not always remain fixed and with regular Kernel updates the honeymoon can be short!

It all started just over a month ago at the start of March, just after kernel 2.6.31-17-generic was released. I thought my DVD-RW drive was having issues with burning DVDs, turing half dozen into coasters!

What would happen is the disk would be partly burnt and then K3B would fail, rendering the disc useless. The LG DVD drive was SATA and so was the 300Gb data hard disk being used as the source disk. The OS boots off SCSI. I added post #23 to http://tinyurl.com/33ectgj

This weekend I swapped the drive to another PC with a different chip-set (nVidia) and make of motherboard (Gigabyte). The LG drive worked flawlessly. The replacement DVD drive on the ASUS A8V-VM SE motherboard was also LG but this time IDE. On the nVidia based PC this worked perfectly and although it worked well on the VIA VT8251 PC, it was very very slow.

KSystem kernel log revealed the problem:

2010-04-25 16:42:12

[ 1705.688583] ata3.00: exception Emask 0x10 SAct 0x0 SErr 0x580100 action 0x6 frozen

2010-04-25 16:42:12

[ 1705.688589] ata3.00: irq_stat 0x08000000, interface fatal error

2010-04-25 16:42:12

[ 1705.688594] ata3: SError: { UnrecovData 10B8B Dispar Handshk }

2010-04-25 16:42:12

[ 1705.688604] ata3.00: cmd 35/00:00:1f:59:fa/00:04:16:00:00/e0 tag 0 dma 524288 out

2010-04-25 16:42:12

[ 1705.688605] res 50/00:00:1e:59:fa/00:00:16:00:00/e0 Emask 0x10 (ATA bus error)

2010-04-25 16:42:12

[ 1705.688609] ata3.00: status: { DRDY }

2010-04-25 16:42:12

[ 1705.688615] ata3: hard resetting link

2010-04-25 16:42:13

[ 1706.212549] ata3: SATA link up 1.5 Gbps (SStatus 113 SControl 300)

2010-04-25 16:42:13

[ 1706.332620] ata3.00: configured for UDMA/133

2010-04-25 16:46:34

[ 1968.012445] ata3.00: limiting speed to UDMA/100:PIO4

2010-04-25 16:46:34

[ 1968.012457] ata3.00: exception Emask 0x0 SAct 0x0 SErr 0x180000 action 0x6 frozen

2010-04-25 16:46:34

[ 1968.012467] ata3: SError: { 10B8B Dispar }

2010-04-25 16:46:34

[ 1968.012484] ata3.00: cmd 35/00:00:9f:e2:81/00:04:17:00:00/e0 tag 0 dma 524288 out

2010-04-25 16:46:34

[ 1968.012486] res 40/00:00:6e:08:7b/00:00:17:00:00/e0 Emask 0x4 (timeout)

2010-04-25 16:46:34

[ 1968.012493] ata3.00: status: { DRDY }

2010-04-25 16:46:34

[ 1968.012520] ata3: hard resetting link

2010-04-25 16:46:35

[ 1968.540878] ata3: SATA link up 1.5 Gbps (SStatus 113 SControl 310)

2010-04-25 16:46:35

[ 1968.644397] ata3.00: configured for UDMA/100

2010-04-25 16:46:35

[ 1968.644424] ata3: EH complete

2010-04-25 16:49:14

[ 2128.010067] ata3.00: limiting speed to UDMA/33:PIO4

2010-04-25 16:49:14

[ 2128.010078] ata3.00: exception Emask 0x0 SAct 0x0 SErr 0x180000 action 0x6 frozen

2010-04-25 16:49:14

[ 2128.010088] ata3: SError: { 10B8B Dispar }

2010-04-25 16:49:14

[ 2128.010104] ata3.00: cmd 35/00:00:47:a5:8a/00:04:17:00:00/e0 tag 0 dma 524288 out

2010-04-25 16:49:14

[ 2128.010107] res 40/00:00:3e:9d:8a/00:00:17:00:00/e0 Emask 0x4 (timeout)

2010-04-25 16:49:14

[ 2128.010114] ata3.00: status: { DRDY }

2010-04-25 16:49:14

[ 2128.010123] ata3: hard resetting link

2010-04-25 16:49:15

[ 2128.542591] ata3: SATA link up 1.5 Gbps (SStatus 113 SControl 310)

2010-04-25 16:49:15

[ 2128.634875] ata3.00: configured for UDMA/33

2010-04-25 16:49:15

[ 2128.634907] ata3: EH complete

The VT8251 SATA controller was experiencing errors and falling back to a lower bus speed until it reached the minimal of UDMA/33, where it stuck and repeatedly had the same error until the operation completed. Having experimented with disk to disk file copies I have confirmed that this is most likely a bug which was not previously present and for which appears to have no work-around. Removing pci=nomsi from GRUB ends up with the SATA hard disk not being detected!

I think this is now the last straw, I’ll going to ditch this motherboard for something more Linux friendly! I’ll no longer use ASUS AMD 939 motherboards (lost all the USB ports on an AMD 939 nVidia based board the other week) or VIA based motherboards, just too many hardware compatibility problems. No wonder Google only use Gigabyte motherboards in their server farms!

UPDATE 2/5/10:

I had a spare ASUS A8V-VM SE motherboard using VIA K8M890 / VIA VT8237A chipsets. SATA works fine, so does USB (so far).

Currently testing under Kubuntu 10.04 stable!

2 thoughts on “Linux Hell – Via Southbridge VT8251 SATA II Controller – PART 2!

Leave a comment