Saturday, November 05, 2005

SiS Ethernet 0190 [sis190] patch, try 1

Supported (tested) kernels:
2.6.12-1.1378_FC3
2.6.12-1.1381_FC3

Problem:
On original Fedora kernel there is no module to the SiS Ethernet controller model 190/191.

Approach:
Get the driver from SiS and patch the kernel to recognise it and compile it.

Remarks:
RPM kernel spec file part will be covered on the kernel specific part.

1. Get and install the kernel source that applies :

2. Get the SiS driver for Linux
To take the driver by yourself go to SiS download center and chose:
Network Driver -> SiS190 Gigabit & SiS191 LAN -> Linux -> GO
Than proceed to the download of "SiS190 / SiS191 Gigabit LAN / LAN driver for Linux kernal 2.6.9 or later."

3. Extract the file [sis190.c] and repack it like this:

tar -vxzf sis190191_linux.tar.gz # file from SiS
mkdir -p linux-2.6.12/drivers/net/
cp sis190_20041220/sis190.c linux-2.6.12/drivers/net/
tar -vcjf /usr/src/redhat/SOURCES/linux-2.6.12-sis190.tar.bz2 linux-2.6.12/drivers/net/sis190.c

4. Patch to the [.config] file, so the module will be compiled:

### /usr/src/redhat/SOURCES/linux-2.6.12-sis190-config.patch ###
cat > /usr/src/redhat/SOURCES/linux-2.6.12-sis190-config.patch << __END__
--- a/.config 2005-09-29 10:37:15.000000000 +0200
+++ b/.config 2005-09-29 10:42:06.000000000 +0200
@@ -1255,6 +1255,7 @@ CONFIG_8139TOO_PIO=y
CONFIG_8139TOO_8129=y
# CONFIG_8139_OLD_RX_RESET is not set
CONFIG_SIS900=m
+CONFIG_SIS190=m
CONFIG_EPIC100=m
CONFIG_SUNDANCE=m
# CONFIG_SUNDANCE_MMIO is not set
__END__
### /usr/src/redhat/SOURCES/linux-2.6.12-sis190-config.patch ###

5. Patch to Kernel network [Kconfig] file:

### /usr/src/redhat/SOURCES/linux-2.6.12-sis190-Kconfig.patch ###
cat > /usr/src/redhat/SOURCES/linux-2.6.12-sis190-Kconfig.patch << __END__
--- a/drivers/net/Kconfig 2005-06-17 21:48:29.000000000 +0200
+++ b/drivers/net/Kconfig 2005-09-29 10:41:13.000000000 +0200
@@ -1571,6 +1571,16 @@ config SIS900
To compile this driver as a module, choose M here: the module
will be called sis900. This is recommended.

+config SIS190
+ tristate "SiS 191/190 PCI Gigabit/Fast Ethernet Adapter support"
+ depends on NET_PCI && PCI
+ select CRC32
+ ---help---
+ Say Y here if you have a SiS 191/190 PCI Gigabit/Fast Ethernet adapter.
+
+ To compile this driver as a module, choose M here: the module
+ will be called sis190. This is recommended.
+
config EPIC100
tristate "SMC EtherPower II"
depends on NET_PCI && PCI
__END__
### /usr/src/redhat/SOURCES/linux-2.6.12-sis190-Kconfig.patch ###

6. Patch to network makefile:

### /usr/src/redhat/SOURCES/linux-2.6.12-sis190-Makefile.patch ###
cat > /usr/src/redhat/SOURCES/linux-2.6.12-sis190-Makefile.patch << __END__
--- a/drivers/net/Makefile 2005-09-29 10:37:07.000000000 +0200
+++ b/drivers/net/Makefile 2005-09-29 10:40:51.000000000 +0200
@@ -43,6 +43,7 @@ obj-$(CONFIG_E100) += e100.o
obj-$(CONFIG_TLAN) += tlan.o
obj-$(CONFIG_EPIC100) += epic100.o
obj-$(CONFIG_SIS900) += sis900.o
+obj-$(CONFIG_SIS900) += sis190.o
obj-$(CONFIG_YELLOWFIN) += yellowfin.o
obj-$(CONFIG_ACENIC) += acenic.o
obj-$(CONFIG_ISERIES_VETH) += iseries_veth.o
__END__
### /usr/src/redhat/SOURCES/linux-2.6.12-sis190-Makefile.patch ###



Please always address to my hardware, os and kernel patching general procedures before posting a question.

No comments: