[linux-dvb] How might a SATA drive interfere with DVB-S

Jon Burgess jburgess at uklinux.net
Mon Feb 20 21:05:45 CET 2006

William Smith wrote:

> I have an Asus mobo with a Sempron 2400. I don't think this has
> Cool & Quiet. These two mobos I have had were among the very
> first with S-ATA.

Most boards with early SATA support used an extra chip sat on the PCI 
bus to provide the SATA ports (often a Silicon Image 3112). The regular 
IDE ports OTOH were normally integrated in the North Bridge part which 
avoids contention with the PCI peripherals.

The bandwidth achievable by SATA with a modern hard disk is in the order 
of 50MB/s which takes a significant proportion of the theoretical 
maximum PCI bandwidth of 133MB/s (for a 32bit/33MHz PCI bus) and can hog 
the PCI bus at the expense of other peripherals.

You should make sure that you are using the libata SATA drivers in 
native mode which will appear as /dev/sdX (not /dev/hdX which happens if 
you use the combined or legacy modes in the BIOS).

In addition to increasing the buffer sizes as suggested by Johannes, you 
could try tweaking the PCI bus latency parameters. Use lspci to identify 
the <bus:slot.function> of your SATA controller and then:

# setpci -s 02:0b.0 latency_timer=20

where 02:0b.0 is the location of the chip, 20 (in hex) sets a latency of 
32. A lower latency timer reduces the time that this chip can hold the 
bus once another device requests access. Conversely you could increase 
the latency timer for the DVB card.

Be warned though, tweaking at this level is really a black art and can 
cause problems (e.g. might cause your SATA controller to start 
corrupting data).


More information about the linux-dvb mailing list