Monday, December 26, 2005

My patches to kernel 2.6.14-1.1653_FC4

My patches to kernel 2.6.14-1.1653_FC4

Apologise:
I apologise for my last post where I say that was everything alright, I was wrong.

That is a patch to allow:
DMA Support to Southbridge SiS 965 with driver SiS 5513.
NTFS Read support.
Make SiS190 Ethernet controller, [sis190], part of kernel, instead of a module.
Make SATASiS, [sata_sis], part of kernel, instead of a module.

Supported (tested) kernels:
2.6.14-1.1653_FC4

Approach:
Apply all patches that I published, and apply to that situation.

Remarks:
SiS 5513, try 3

1. Get and install the kernel source that applies:
2.6.14-1.1653_FC4

2. Create the patch files mentioned on the remarks.

3. Create the script to change the defaults values on kernel configuration, called [/usr/src/redhat/SOURCES/make-config.sh]:

#!/bin/bash
# Please note that this script do NOT check if the [.config] was already patched
#
find /usr/src/redhat/SOURCES/ -name "*.config" -print | while read FILE
do
mv ${FILE} ${FILE}.orig
cat ${FILE}.orig | sed -e "s/\(CONFIG_SCSI=\)./\1y/" -e "s/\(CONFIG_SCSI_SATA_SIS=\).*/\1y/" -e "s/\(CONFIG_SIS190=\)./\1y/" -e "s/\(CONFIG_BLK_DEV_SIS5513=\)./\1y/" -e "s/# CONFIG_NTFS_FS is not set/CONFIG_NTFS_FS=m\n# CONFIG_NTFS_DEBUG is not set\n# CONFIG_NTFS_RW is not set\n/" > ${FILE}
done

4. Create the kernel spec patch, called [/usr/src/redhat/SPEC/kernel-2.6.spec.2.6.14.1-1653.patch]:

--- kernel-2.6.spec.orig 2005-12-26 09:04:38.000000000 +0100
+++ kernel-2.6.spec 2005-12-26 09:08:49.000000000 +0100
@@ -19,7 +19,8 @@ Summary: The Linux kernel (the core of t
%define sublevel 14
%define kversion 2.6.%{sublevel}
%define rpmversion 2.6.%{sublevel}
-%define rhbsys %([ -r /etc/beehive-root -o -n "%{?__beehive_build}" ] && echo || echo .`whoami`)
+#%define rhbsys %([ -r /etc/beehive-root -o -n "%{?__beehive_build}" ] && echo || echo .`whoami`)
+%define rhbsys sis
%define release %(R="$Revision: 1.1653 $"; RR="${R##: }"; echo ${RR%%?})_FC4%{rhbsys}
%define signmodules 0
%define make_target bzImage
@@ -352,6 +353,8 @@ Patch1771: linux-2.6-sata-promise-pata-p
Patch1780: linux-2.6-net-bonding-feature-consolidation.patch
Patch1781: linux-2.6-net-bridge-feature-consolidation.patch
Patch1782: linux-2.6-selinux-mls-compat.patch
+Patch1783: linux-2.6-pci_ids.patch
+Patch1784: linux-2.6-sis5513.patch


# ACPI patches.
@@ -813,6 +816,9 @@ cd linux-%{kversion}
%patch1780 -p1
%patch1781 -p1
%patch1782 -p1
+# Fix DMA on SiS965 southbridge with SiS5513 driver
+%patch1783 -p1
+%patch1784 -p1

# ACPI patches.
# Enable EC burst

5. Execute the script to change kernel defaults:

###
cd /usr/src/redhat/SOURCES/
sh ./make-config.sh
###

6. Apply the kernel spec patch:

###
cd /usr/src/redhat/SPECS/
patch -p1 kernel-2.6.spec.2.6.14.1-1653.patch
###

7. Build the rpms:

###
rpmbuild -bb --target=i686 kernel-2.6.spec
###

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

SiS IDE Controller 5513 [sis5513] with Southbridge SiS 965 patch, try 3

SiS IDE Controller 5513 [sis5513] with Southbridge SiS 965 patch, try 3

Supported (tested) kernels:
2.6.14-1.1653_FC4
2.6.14-1.1656_FC4

Problem:
On original Fedora kernel there is no support to DMA on the SiS IDE controller model 5513 with Southbridge SiS model 965.

Bugzilla:
Number 176560 at http://bugzilla.redhat.com/

Inspired on:
http://lkml.org/lkml/2005/10/5/293

Approach:
Modify the module source to recognise the controller hardware.
In this case the south bridge controller: SiS965.

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

1. Get and install the kernel source that applies:

2. Patch to the file [pci_ids.h], at [/usr/src/redhat/SOURCES/linux-2.6-pci_ids.patch]:

--- a/include/linux/pci_ids.h 2005-12-26 09:00:09.000000000 +0100
+++ b/include/linux/pci_ids.h 2005-12-26 09:00:27.000000000 +0100
@@ -672,6 +672,7 @@
#define PCI_DEVICE_ID_SI_961 0x0961
#define PCI_DEVICE_ID_SI_962 0x0962
#define PCI_DEVICE_ID_SI_963 0x0963
+#define PCI_DEVICE_ID_SI_965 0x0965
#define PCI_DEVICE_ID_SI_5107 0x5107
#define PCI_DEVICE_ID_SI_5300 0x5300
#define PCI_DEVICE_ID_SI_5511 0x5511


3. Patch to the file [sis5513.c], at [/usr/src/redhat/SOURCES/linux-2.6-sis5513.patch]:

--- a/drivers/ide/pci/sis5513.c 2005-12-26 08:59:29.000000000 +0100
+++ b/drivers/ide/pci/sis5513.c 2005-12-26 09:02:44.000000000 +0100
@@ -20,6 +20,7 @@
* ATA16/33 support from specs
* ATA133 support for SiS961/962 by L.C. Chang
* ATA133 961/962/963 fixes by Vojtech Pavlik
+ * ATA133 inspired on http://lkml.org/lkml/2005/10/5/293
*
* Documentation:
* SiS chipset documentation available under NDA to companies only
@@ -74,7 +75,7 @@
#define ATA_100a 0x04 // SiS730/SiS550 is ATA100 with ATA66 layout
#define ATA_100 0x05
#define ATA_133a 0x06 // SiS961b with 133 support
-#define ATA_133 0x07 // SiS962/963
+#define ATA_133 0x07 // SiS962/963/965

static u8 chipset_family;

@@ -87,6 +88,8 @@ static const struct {
u8 chipset_family;
u8 flags;
} SiSHostChipInfo[] = {
+ { "SiS965", PCI_DEVICE_ID_SI_965, ATA_133 },
+
{ "SiS745", PCI_DEVICE_ID_SI_745, ATA_100 },
{ "SiS735", PCI_DEVICE_ID_SI_735, ATA_100 },
{ "SiS733", PCI_DEVICE_ID_SI_733, ATA_100 },

Thursday, December 15, 2005

New kernel 2.6.14-1.1653_FC4 fixes all

Ok the new kernel 2.6.14-1.1653_FC4 fixes all problems regarding my hardware: it has boot support to SiS182, module [sata_sis], and also does not hang the system with the network driver, [sis190], and actualy works.

So there is no need, I hope, for any further kernel patch consearnig my hardware.

Now I will have time to post about other topics that I find interesting.

Wednesday, December 14, 2005

My patches to kernel 2.6.14-1.1644_FC4

My patches to kernel 2.6.14-1.1644_FC4

That is a patch to allow:

SiS SATA 0182 support at the startup of Fedora Core 4 (I do not have an IDE hard drive to boot my Linux)

Problem:
On original Fedora kernel the module [sata_sis] is not loaded at boot time.

Approach:
Apply all patches that I published, and apply to that situation.

Remarks:
sis190

1. Get and install the kernel source that applies:
2.6.14-1.1644_FC4

2. Apply the above mentioned patches on the Remarks:

3. Include the module [sata_sis] to the initial image:

mkinitrd -f --with=sata_sis --with=libata --with=scsi_mod /boot/initrd-2.6.14-1.1644_FC4.img 2.6.14-1.1644_FC4 # normal i686
#mkinitrd -f --with=sata_sis --with=libata --with=scsi_mod /boot/initrd-2.6.14-1.1644_FC4smp.img 2.6.14-1.1644_FC4smp # i686 SMP

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

SiS Ethernet 0190 [sis190] patch, try 2

SiS Ethernet 0190 [sis190] patch, try 2

Supported (tested) kernels:
2.6.14-1.1644_FC4

Problem:
On original Fedora kernel the module for SiS Ethernet controller model 190/191 hang the system.

Bugzilla:
bug 175807

0. You need to disable network and reboot, to avoid system hang:

chkconfig --level 345 network off

1. Get and install the kernel source that applies:

2. Unpack the kernel:

cd /usr/src/redhat/SPEC
rpmbuild -bp --target=i686 kernel-2.6.spec

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 put it on the right place:

tar -vxzf sis190191_linux.tar.gz # file from SiS
cp sis190_20041220/sis190.c /usr/src/redhat/BUILD/kernel-2.6.14/linux-2.6.14/drivers/net/

4. Prepare the kernel to compile the modules:

cd /usr/src/redhat/BUILD/kernel-2.6.14/linux-2.6.14/
cp /usr/src/redhat/SOURCES/kernel-2.6.14-i686.config .config # for normal i686
# cp /usr/src/redhat/SOURCES/kernel-2.6.14-i686-smp.config .config # for i686 SMP

5. Compile the modules and copy override the old driver

cd /usr/src/redhat/BUILD/kernel-2.6.14/linux-2.6.14/
make modules
cp /usr/src/redhat/BUILD/kernel-2.6.14/linux-2.6.14/drivers/net/sis190.ko /lib/modules/2.6.14-1.1644_FC4/kernel/drivers/net/sis190.ko # for normal i686
depmode -eaF /boot/System.map-2.6.14-1.1644_FC4 2.6.14-1.1644_FC4 # for normal i686
#cp /usr/src/redhat/BUILD/kernel-2.6.14/linux-2.6.14/drivers/net/sis190.ko /lib/modules/2.6.14-1.1644_FC4smp/kernel/drivers/net/sis190.ko # for i686 SMP
#depmode -eaF /boot/System.map-2.6.14-1.1644_FC4smp 2.6.14-1.1644_FC4smp # for i686 SMP

6. Reenable the network and reboot

chkconfig --level 345 network on
shutdown -r now

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