13. Frequently Asked Questions

13.1. How do I add shared library files?

Linux makes extensive use of shared library files. These files are typically stored in /lib, but additional libraries might be stored in other directories. The file /etc/ld.so.conf lists the directories that contain shared library files.

When you compile and install from source, the install program often copies the new shared library files to /usr/local/lib. However some distributions do not include this directory in /etc/ld.so.conf. So you must add the directory. Just use a text editor and add /usr/local/lib to the end of the file. Save and close the file then use the ldconfig command to register your changes. You do not need to reboot the computer.

13.2. Is the C3 Pentium compatible?

Yes. But Samuel 2, Ezra, Ezra T C3 processors have a problem with the cmpxchg8b (i.e. CMOV) opcode. Nehemiah and Antaur processors are not affected.

The identification issue is that the C3 is identifying itself as 686. According to the Intel IA32 documentation, this is correct: C3 does not implement conditional moves*, and do not pretend to implement conditional moves. The Intel documentation states that you should check before doing conditional moves, and that cmov implementation in the processor is optional. The GNU compiler people have assumed that all 686's implement cmov's, so code compiled for the i686 architecture may not execute on the C3. Code generated by GCC does not check for these optional features as the intel documentation says you should. When downloading binaries for the C3, don't go higher than the i586 level. When building, you may want to target the 586 or even the 486, because of the way the C3 is built internally: It's not an athlon, more like a 486-586 cross.

This opcode problem affects certain distributions, such as Suse 8.2 and the first generation of Red Hat 9 CD-ROMs (download ISOs of red hat should be ok). You should avoid SuSe 8.2 and only use downloaded ISO images of Red Hat Linux. If you compile your own kernel notice that under processor type there are two C3 options. If you select the original C3, then the kernel will compile using -march=i486 option, which avoids the CMOV problem. See the gcc manual for more x86 options.

13.3. How do I install SuSe 8.2?

There are some problems running gcc generated i686 code on the C3 CPU. Most distributions are compiled for i386 or i586, so this isn't a problem, but there appear to be some issues with SuSe 8.2, whose 586 kernel sometimes won't run on the C3 processor. If you have problems with SuSe 8.2, then this procedure might work:

1) put your via harddisk in a supported computer
2) install SuSE on this computer / harddisk combination
3) go to /usr/src/linux and make make cloneconfig
4) make (x)config and change the cpu flag from pentium to 486
5) make dep, make bzImage, make modules, make modules_install
6) Install the new kernel, sometimes you must run mr_initrd
7) make a "test boot" if it works fine change the harddisk

13.4. EPIA Links

Here are some useful links which have been submitted to the HowTo:

13.5. The M10k is too noisy. How can I make it quieter?

The EPIA M10000 board uses a Nehemiah 1GHz CPU. The CPU features a small heatsink and a 40mm fan (in my case a BiSonic 4010 fan). Many M10k owners believe that the BiSonic fan is too noisy. There are several ways to reduce the noise from this fan. Which technique you should use depends on your sensitivity to noise, your budget and your abilities. I will start with the easiest methods and progress to the most difficult. Note that some of these methods may be combined.

13.5.1. Hush, Tranquil & Scythe

Hush Technologies and Tranquil PC silent EPIA M10k based PCs. Hush and Tranquil implement large, external heatsinks to move the heat away from the northbridge and CPU to the outside environment without the use of fans. The result is silent computing. The problem with Hush and Tranquil is that they come with a pre-installed EPIA M10k board, so if you already have an M10k the Hush and Tranquil aren't much help.

Scythe USA sells a silent case for the EPIA M series boards. The case is called the e-OTONASHI-1000 and costs about $200US. It uses a specially designed heat pipe to move heat to a large heatsink on the bottom of the case.

13.5.2. Fan Undervoltage

The BiSonic fan connects to a 12v power socket on the EPIA board. If you reduce the voltage across the fan the fan runs slower and makes less noise. However if you reduce the voltage too much the fan won't move at all. Posts on viaarena forums suggest that the voltage across the fan can be safely reduced to 9 volts. To do this, simply snip the red lead on the fan and solder a 50 ohm resister in series with the red lead. Some people (i.e. me) still find it too noisy even at 9 volts. If you are not comfortable soldering a resistor, you might purchase a Zalman Fan Mate

13.5.3. Fan Replacement

Many fans are quieter than the BiSonic 4010. For instance, Papst makes very quiet fans. I installed a very quiet Papst 8412NGL 80mm fan in my computer. Note that this fan is twice the size of the Bisonic 4010, so I mount it to the case above the CPU. Papst also sells a 40mm fan.

13.5.4. Heat Sink Replacement

The EPIA M10k board features a puny heatsink on top of the CPU. VIA secured the heatsink to the board using hole spacing typically used by northbridge heat sinks. Therefore it is possible to replace the small M10k heat sink with a more substantial heatsink such as the Zalman NB47J. Even so, the NB47J is not designed to dissipate the heat from a VIA CPU so you are definitely taking some chances using it without a fan.

Some people have experimented with large P3 heatsinks, heat sinks from old hi-fi amplifiers, and even large home made heat sinks. These experiments can be found by searching silentpcreview.com, the viaarena.com C3 forum, and epiacenter.com. Typically they require some metalwork which is beyond the scope of this howto.

13.6. DRI Only Works as root

This is a complicated problem because there are at least three different configuration errors that result in this behaviour.

  1. Missing DRI section in /etc/X11/XF86Config. There must be a DRI section in the XF86Config file:

    Section "DRI"
        Mode 0666
    EndSection

    If you change the DRI section then you should remove the /dev/dri/card0 device file before restarting X

  2. Incorrect permissions on /dev/agpgart. Change the permission on this file to 666, e.g.:

    bash# chmod 666 /dev/agpgart
  3. Incorrect permissions on /usr/X11R6/lib/modules/dri/via_dri.so. Change the permissions on this file to 666, e.g.:

    bash# chmod 666 /usr/X11R6/lib/modules/dri/via_dri.so
  4. Not enough video RAM. Go to the BIOS setup menus and make sure that at least 32MB is reserved for video RAM.

  5. You must insert the agpgart module before via_v4l_drv. Edit /etc/modules.conf or /etc/modprobe.conf and reboot.

  6. From Thomas Hellstrom:

    If the X server crashes for some reason it may fail to give back reserved AGP memory to the system. After some crashes the AGP memory space may be exhausted. Best way to remedy is to reboot.

13.7. DRI or GLX Crashing

The via_agp module must be installed before the via_v4l_drv module.

13.8. DMA Lockup Problem

Before talking about the VIA 686a DMA lockup problem, you should know that some distros, including fedora core (3?) ship a broken longhaul driver which will lock up your system under some circumstances. So before looking into the DMA lockup problem you should disable longhaul and retest your system.

The 8231 and 8235 southbridge chip tends to lock up when too much DMA activity is going on. Many people report lockups when trying to record video using the Haupage card. I have experienced the lock up when concurrently ripping a CD and copying large amounts of data between hard drives. This is a serious issue, as described in this viaarena thread.

VIA staff offer BIOS patches to address this issue. These patches are consider beta software (as of 16 June 2005) and are only offered for certain boards. Here are some links to patches for EPIA M, EPIA MII, EPIA CL. All reports suggest that the EPIA M patch works. Some people report continuing lock ups with the MII and CL patches. Here is some background information about the problem:

 

Ivor: I'm asking about DMA because I believe that the 8235 chipset on the EPIA-M may have severe problems with DMA bursts. Using DMA to transfer MPEG to the chip may lockup up the system when other DMA transfers are active, such as harddisk dma data transfers and data transfers to/from the network card. At least this problem occurs when transfering data over the network (100Mb/s) _and_ grabbing video (1 Mb/s) from a Hauppage PVR card simultaneously. I tested with both the built-in kernel via_rhine module and the module provided by Via.

So please test this. Simply ensure that DMA on the disk is on (hdparm -d 1 /dev/hdx), then start playing an mpeg and simultaneously transfer (ftp) some gigabytes from another computer to the same disk. With the Hauppage PVR the system locks up: sometimes in 10 seconds, sometimes after 2 minutes. It's kind of roulette when the system will freeze silently. Since the Nehemiah has no APIC (!!) it's impossible to use nmi to catch the problem.

The only work-arounds I found thus far are disabling dma on the disks (you don't want that) and setting the network card in 10 Mbps mode.

 
--The Hog, 2003-11-04 
 

Hmm. I think I found something related to my IDE-Lockups:

http://www.directron.com/faqviaas.html

When the 686b southbridge was first released, motherboard manufacturers and VIA discovered a problem when trying to transfer files between the primary and the secondary IDE channels on motherboards using ultra-DMA, when a Sound Blaster Live was plugged in and drivers activated. This issue was caused because too much noise is transferred across the PCI bus by the Sound Blaster Live driver set. In an attempt to fix this issue, some motherboard manufacturers modified their BIOS. In some instances, these modifications to the BIOS caused a data corruption error even when not using a Sound Blaster Live. VIA released a patch which resolves this issue, which is incoroporated in the 4in1 drivers from the 4.31 version onwards. Motherboard manufacturers were advised to change the modifications made to thier BIOS to elimate the data corruption issue. If you are experiencing data corruption or lock up when transferring files between two IDE drives: 1) Make sure you have the latest BIOS from your motherboard manufacturer. 2) Make sure you have the latest 4in1 drivers 3) Make sure when you set up your system that you install the 4in1 drivers both before and after you install the SBL to make sure that the drivers see your SBL and install the correct patch. The patch will only install if the SBL is installed.

Hmmm... However - I have no disk connected to IDE-Bus 0 - everything is on IDE-Bus 1... Damn - looks like the 2.6.11 kernel series is too performant - the VIA Hardware does not cope the load on crashes the IDE subsystem... Via-Foolks - anything to say about that?

 
--The_Smurph, 2005-05-30