<?xml version="1.0"?>
<linuxdoc><article opts="null"><titlepag><title>The Elite's K7s5a mainboard HOWTO</title><author><name>Sebfrance nospam-sebfrance@ifrance.com, <newline></newline> Andreas Willenbrink
 nospam-Andreas.Willenbrink@web.de, <newline></newline> entlvaro Reguly
 nospam-alvaro@reguly.net, <newline></newline> Paolo Berva

 nospam-paolo.berva@st.com <newline></newline>

 (yeah you should remove the nospams :)

 </name></author><date>v1.4, 2002-11-15</date><abstract>
How to use Elite's K7s5a mainboard under GNU/Linux.
</abstract></titlepag><sect><heading>Introduction
</heading><p></p><p>I got the mainboard for christmas 2001, and after a little while, I understood
that the new chipset sis735 was not handled by <url url="http://www.mandrake.com" name="Mandrake"></url> 8.0,

<url url="http://www.opensound.com" name="OSS"></url> had drivers for it that worked
but I didn't really want to pay for it, so  I looked on ALSA cvs and found that
in their latest sources they had something for the sis 7012, and also find
later the drivers for the sensors.
</p><p></p><p></p></sect><sect><heading>The integrated sound board
</heading><p></p><sect1><heading>Getting the ALSA drivers
</heading><p>
So we'll compiling the latest sources from ALSA, which should work for any other
distrib as well... just the kernel sources will change because mandrake uses
specific patches.
</p><p>You may get your kernel sources from your distribution or from <url url="http://www.kernel.org/pub/linux/kernel/" name="http://www.kernel.org"></url>
</p><p>Here can be found Mandrake sources for the kernel used in 8.0:
</p><p><url url="ftp://ftp.univ-savoie.fr/pub/Linux/Mandrake/8.0/i586/Mandrake/RPMS/kernel- source-2.4.3-20mdk.i586.rpm" name="ftp://ftp.univ-savoie.fr/pub/Linux/Mandrake/8.0/i586/Mandrake/RPMS/kernel -source-2.4.3-20mdk.i586.rpm"></url>
</p><p>and grab the tarball from ALSA:
</p><p><url url="ftp://ftp.alsa-project.org/pub/driver/alsa-driver-0.9.0beta10.tar.bz2" name="ftp://ftp.alsa-project.org/pub/driver/alsa-driver-0.9.0beta10.tar.bz2"></url>
</p><p></p></sect1><sect1><heading>Installing them</heading><p>
Install your kernel sources, in my case:
</p><p><em>rpm -ivh kernel-source-2.4.3-20mdk.i586.rpm</em>
</p><p>Then decompress alsa drivers:
</p><p><em>bzip2 -d alsa-driver-0.9.0beta10.tar.bz2 entent tar -xvf
alsa-driver-0.9.0beta10.tar</em>
</p><p>Make them and install them and create the devices files:
</p><p><em>cd alsa-driver-0.9.0beta10 entent make install entent ./snddevices</em>
</p><p>Edit <tt>/etc/modules.conf</tt> to set everything, and add to it the following
lines:
</p><p><tscreen><verb>
alias char-major-116 snd

alias char-major-14 soundcore

alias sound-slot-0 snd-card-0

alias sound-service-0-0 snd-mixer-oss

alias sound-service-0-1 snd-seq-oss

alias sound-service-0-3 snd-pcm-oss
alias sound-service-0-8 snd-seq-oss

alias sound-service-0-12 snd-pcm-oss

alias snd-card-0 snd-card-intel8x0
</verb></tscreen>
</p><p>Paolo reports that in order to start up sensord on boot, he put in /etc/sysconfig/sensors:

<tscreen><verb>
MODULE_0=i2c-proc

MODULE_1=it87

MODULE_2=i2c-isa
</verb></tscreen>
</p><p></p><p></p></sect1><sect1><heading>Kernel Approach: The AC'97 Driver

</heading><p>
If you are using a 2.4 or later kernel you can use the <url url="http://developer.intel.com/ial/scalableplatforms/audio/" name="Audio Codec  '97 (AC'97)"></url> sound driver, as the integrated sound card is AC'97 complaint.
</p><p>You may enable your soundcard with a kernel module, as a matter of fact,

you should be able to just use the module without even recompiling

your kernel, because most GNU/Linux distributions have it already,

just type:
</p><p><em>modprobe i810entaudio</em>
</p><p>and you should see something like this in your syslog:
</p><p><tscreen><verb>
  Intel 810 + AC97 Audio, version 0.21, 21:31:04 Apr 15 2002

  i810: SiS 7012 found at IO 0xd800 and 0xdc00, IRQ 11

  i810_audio: Audio Controller supports 2 channels.

  ac97_codec: AC97 Audio codec, id: 0x414c:0x4710 (ALC200/200P)

  i810_audio: AC'97 codec 0 supports AMAP, total channels = 2
</verb></tscreen>
</p><p>or type
</p><p><em>dmesg ent less</em> and scroll to see the kernel messages.
</p><p>If everything went fine, you may add <tt>i810entaudio</tt> to
<tt>/etc/modules</tt> so it will autoload everytime you boot:
</p><p><em>echo "i810entaudio" entent /etc/modules</em>
</p><p></p><p>or you like monolitic kernels (no modules), follow the step above to install
the kernel sources
and say Y to <tt>Sound card support</tt> and Y to <tt>Intel ICH (i8xx) audio
support</tt>

compile your kernel, install, reboot and now your integrated soundcard is
working.
</p><p>If you don't know how to compile a kernel, read the <url url="http://www.tldp.org/HOWTO/Kernel-HOWTO.html" name="Kernel HOWTO"></url>,

it's easy and you'll get a optimized kernel for you system, also you'll learn a
bit about that talk of using the source code (yes you are already taking
advantage of it :-)
</p><p></p></sect1></sect><sect><heading>The mainboard's sensors
</heading><p></p><sect1><heading>Getting the drivers
</heading><p>
Get the lmentsensors 2.6.2 or more recent:

<url url="http://www.lm-sensors.nu/archive/lm_sensors-2.6.2.tar.gz" name="http://www.lm-sensors.nu/archive/lm_sensors-2.6.2.tar.gz"></url>

You'll need kernel sources too in order to compile that one.
</p></sect1><sect1><heading>Installing them
</heading><p>
<em>tar -xzvf i2c-2.6.2.tar.gz</em></p><p><em>cd i2c-2.6.2</em>
</p><p><em>make entent make install</em>
</p><p>Then there was a problem when making install for me, so if it doesn't work, just
do the following:
</p><p><em>cp kernel/i2c-core.o /lib/modules/`uname -r`/misc/i2c-core.o</em>
</p><p><em>cp kernel/i2c-proc.o /lib/modules/`uname -r`/misc/i2c-proc.o</em>
</p><p>Now let's copy the specific driver:
</p><p><em>cp kernel/chips/it87.o /lib/modules/`uname -r`/misc/it87.o</em>
</p><p>ok now
</p><p><em>cp prog/sensors/sensors /usr/bin/sensors</em></p><p>--------------------------------------------------------------------
</p><p></p><p>Edit <tt>/etc/modules.conf</tt> and add to it the following lines:
</p><p></p><p><tscreen><verb>
alias char-major-89 i2c-dev

options it87 temp_type=0x31</verb></tscreen>
</p><p></p><p>now:
</p><p><em>modprobe i2c-proc</em>
</p><p><em>modprobe it87</em>
</p><p><em>modprobe i2c-isa</em>
</p><p><em>sensors</em>
</p><p>should output you some data
</p><p>When it works, you can write it to a file, that will be loaded automatically on
boot. Under <url url="http://www.SuSE.de" name="SuSE"></url> the file is:
<tt>/etc/init.d/boot.local</tt> (used to be <tt>/sbin/init.d/</tt>)

and you should just add: <tt>sensors -s</tt>

Under mandrake, the install should have created that file:
<tt>/etc/init.d/sensors</tt>, which you can edit freely, sensord being just a
daemon to watch over temperature and fan speed, I assume no one

will need something like that for her/his own machine.
</p><p>Now as root you should edit your <tt>/etc/sensors.conf</tt>

search for that line: <tt>chip "it87-*"</tt>

and below you should be able to modify everything to get the right data, here is
a copy of what i have in there:

(please note that temp1 is trash and only temp2 and temp3 should be kept)</p><p>--------------------------------------------------------------------</p><p><tscreen><verb>
chip "it87-*"



# The values below have been tested on Asus CUSI, CUM motherboards.

# Voltage monitors as advised in the It8705 data sheet



    label in0 "VCore"

    label in1 "Vcc2.5v"

    label in2 "Vcc5v"

    label in3 "+5V"

    label in4 "+12V"

    label in5 "-12V"

    label in6 "-5V"

    label in7 "SB 5V"

    label in8 "V battery"



    set in0_min 1.7 * 0.95

    set in0_max 1.7 * 1.05

    set in1_min 2.4

    set in1_max 2.6

    set in2_min 3.3 * 0.95

    set in2_max 3.3 * 1.05

    set in3_min 5.0 * 0.95

    set in3_max 5.0 * 1.05

    set in4_min  12 * 0.95

    set in4_max  12 * 1.05
    set in5_min -12 * 0.95

    set in5_max -12 * 1.05

    set in6_min  -5 * 0.95

    set in6_max  -5 * 1.05

    set in7_min   5 * 0.95

    set in7_max   5 * 1.05



    # vid not monitored by IT8705F

    ignore  vid



# For this family of chips the negative voltage equation is different from

# the lm78.  The chip uses two external resistor for scaling but one is

# tied to a positive reference voltage.  See ITE8705/12 datasheet (SIS950

# data sheet is wrong)


# Vs = (1 + Rin/Rf) * Vin - (Rin/Rf) * Vref.

# Vref = 4.096 volts, Vin is voltage measured, Vs is actual voltage.



#    compute in2 (1 + 1)*@ ,       @/(1 + 1)

    compute in3 ((6.8/10)+1)*@ ,  @/((6.8/10)+1)

    compute in4 ((30/10) +1)*@  , @/((30/10) +1)



# The next two are negative voltages (-12 and -5).

# The following formulas must be used. Unfortunately the datasheet

# does not give recommendations for Rin, Rf, but we can back into

# them based on a nominal +2V input to the chip, together with a 4.096V Vref.



# Formula:

#    actual V = (Vmeasured * (1 + Rin/Rf)) - (Vref * (Rin/Rf))
#    For -12V input use Rin/Rf = 6.68

#    For -5V input use Rin/Rf = 3.33

# Then you can convert the forumula to a standard form like:



    compute in5 -(36/10)*@, -@/(36/10)

#(7.67 * @) - 27.36  ,  (@ + 27.36) / 7.67

    compute in6 -(56/10)*@, -@/(56/10)

#(4.33 * @) - 13.64  ,  (@ + 13.64) / 4.33

    compute in7 ((6.8/10)+1)*@ ,  @/((6.8/10)+1)



# Temperature



    label temp3       "Processor"

    set   temp3_over  40

    set   temp3_hyst  20

    label temp2       "Mainboard"

    set   temp2_over  45

    set   temp2_hyst  25

    ignore temp1



# Fans



    label fan1"Processor's Fan"

    set fan1_min 2000

    ignore fan3

    ignore fan2
</verb></tscreen>
</p><p></p><p></p></sect1></sect><sect><heading>The mainboard's LAN adapter
</heading><sect1><heading>Making it work...
</heading><p>If your board came with the optional on-board LAN card, you have a Silicon
Integrated Systems entSiS] SiS900 10/100 Fast Ethernet card, this card is
supported by Linux kernels 2.4 and later (that I know of, as I only use 2.4
kernels).
</p><p></p><p>To make it work you should type
</p><p><em>modprobe sis900</em>
</p><p>and you should see something like this in your syslog:
</p><p><tscreen><verb>
  sis900.c: v1.08.02 11/30/2001

  eth0: SiS 900 PCI Fast Ethernet at 0xd400, IRQ 5, 00:d0:09:ea:7a:98.
</verb></tscreen>
</p><p>or type
</p><p><em>dmesg ent less</em> and scroll to see the kernel messages.
</p><p>If everything went fine, you may add <tt>sis900.o</tt> to <tt>/etc/modules</tt>
so it will autoload everytime you boot:
</p><p><em>echo "sis900" entent /etc/modules</em>
</p><p>or compile it in your kernel, where you should say Y to <tt>SiS 900/7016 PCI
Fast Ethernet Adapter support</tt> in your kernel

configuration.</p><p></p></sect1></sect><sect><heading>Other
</heading><sect1><heading>Links

</heading><p><bf>Warning</bf>: If your board is working fine, then don't fix it. Anyway
here are the cool links:
</p><p><itemize><item><url url="http://www.ecsusa.com/ecsusa/www.ecs.com.tw/download/bios.htm" name="Elite Group (new BIOS)"></url>
</item><item><url url="http://forum.ocworkbench.com/ocwbcgi/ultimatebb.cgi?ubb=forumentf=27" name="Overclockers Work Bench"></url>
</item><item><url url="http://forum.ocworkbench.com/ocwbcgi/ultimatebb.cgi?ubb=get_topicentf=4ent amp;t=001477" name="ECS K7s5a FAQ"></url>
</item><item><url url="http://k7s5a.free.fr/" name="french guide for the K7S5a"></url></item><item><url url="http://www.ecs.com.tw/download/k7s5a.htm" name="Elite groupe most recent bioses"></url>
</item></itemize></p><p></p></sect1><sect1><heading>Some words</heading><p>Using a modified BIOS, I was able to successfully overclock my Athlon 1000Mhz
to 1050Mhz flawlessy, but
when I messed with hdparm (30Gig Western Digital hard drive) using <em>hdparm
-c1 -X66 /dev/hda</em>, I managed
to corrupt my filesystem, so beware.</p><p></p><p>If you are a real tweaker, you might want to change your BIOS Logo and stuff,
some people tried that and it worked OK, some others
not, so they had to flash their BIOS again (blindly with a bootdisk and a
working bios in it) to make the board work again. It is really up
to you. Search Google or OC Workbench and you'll be on your way.</p><p></p><p>Good Luck! :-)</p><p></p><p></p><p></p><p></p></sect1></sect></article></linuxdoc>

