View previous topic :: View next topic |
Author |
Message |
Soheil79 n00b
Joined: 28 Nov 2003 Posts: 11
|
Posted: Sat Jan 24, 2004 1:59 am Post subject: Sil 3114 drivers/patch/hack ? |
|
|
Hi!
I've been reading quite a few posts here now, trying to find a solution for my problem, which is the simple fact that i want to install Gentoo but obviously purchased the wrong hardware. I'm using two SATA disks in a raid 0 configuration using Sil 3114 controllers.
While reading my way through the forum, I saw a few posts describing the solution to a very similar problem which was basicly installing Gentoo on SATA disks but with 3112 drivers. Now if anyone out there knows a way (perhaps in a similar manner as the case above) to solve this problem, please post a reply and help me solving this problem.
I'm aware of the existing patch for Sil 3114 but that patch does not solve the raid problem but rather the SATA part and that is no help in this case. I also know that Silicon Image released a non-open source patch supporing Red Hat, Suselinux and United Linux but that solution would force me to use the distribiutions above and I'd rather install Gentoo (true open source). Finally i must add that since I'm using Windows Xp for some applications not supported in linux, I'm forced to stick with dualboot and thus the option of using the Linux Software raid is ruled out.
Thank you for taking your time
/Soheil
Ps For all the typos, I blame the fact that I'm from Sweden Ds |
|
Back to top |
|
|
azlan Guru
Joined: 11 Nov 2002 Posts: 381 Location: Seattle WA USA
|
Posted: Sat Jan 24, 2004 7:02 am Post subject: |
|
|
your on a wing here,
google, and see if you can find info, search the forums, and if you do find the info you want, post.
everyone will appreciate it. _________________ there is no crazy, only violet and non violet.. |
|
Back to top |
|
|
Soheil79 n00b
Joined: 28 Nov 2003 Posts: 11
|
Posted: Sat Jan 24, 2004 1:03 pm Post subject: The 3114 patch without raid |
|
|
This is what I've found so far (there might be more out there so post anything you find), and it consists of a patch, or rather a hack for the kernel to make it recognize 3114 controller drivers. The fact that the RAID isn't working however leaves me with the problem still on hand.
Does anyone have the skill, the time, and the will to remodify (or rewrite) this patch making the RAID function work as well. I know this sounds a bit too much to ask but at the moment I've got no other options than to ask for help (or perhaps installing RedHat). I'll keep seraching and asking around in other places as well.
This is where i found the patch (among other places):
http://www.ussg.iu.edu/hypermail/linux/kernel/0312.0/1133.html
/Soheil
Ps Swedish expression: 'Close doesn't shoot the rabbit'. Now go and imagine beeing a swede Ds
Le Friday 05 December 2003 18:47, Jeff Garzik a écrit :
> Mickael Marchand wrote:
> > -----BEGIN PGP SIGNED MESSAGE-----
> > Hash: SHA1
> >
> > Hi,
> >
> > as I was too impatient, I wrote a quick hack for it.
> > Now I can see my drives on the 3114 controller.
> > RAID does not seem to work but I can access my SATA drives in normal
> > mode.
> >
> > hdparm gives a 57 Mb/s output.
> > I had no error/crash/corruption, it appears to work correctly.
> >
> > It works on 2.4.23 and 2.6.0-test11 with libata.
> > basically, you just need to add the PCI id for 3114 just like 3112 in
> > sata_sil.c, load the module and enjoy.
> > I presume 3112 and 3114 chips are mostly identical.
> >
> > I have tested this on 2 Tyan motherboards with Sil 3114 inside
> >
> > I can generate a patch in a few moments if you want it.
>
> Yes, a tested patch would be great, thanks!
>
> Jeff
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.3 (GNU/Linux)
iD8DBQE/0MlPyOYzc4nQ8j0RAtFpAJ4hemZoIMnFcBjBXYjGD/uCXJ3d/QCfbjT6
KigiRN0fY1PPveJIiJyKCdE=
=KemZ
-----END PGP SIGNATURE-----
diff -ru linux-2.6.0-test11.orig/drivers/ide/pci/siimage.c linux-2.6.0-test11/drivers/ide/pci/siimage.c
--- linux-2.6.0-test11.orig/drivers/ide/pci/siimage.c 2003-11-26 20:43:35.000000000 +0000
+++ linux-2.6.0-test11/drivers/ide/pci/siimage.c 2003-12-05 15:44:28.000000000 +0000
@@ -55,6 +55,7 @@
switch(pdev->device)
{
case PCI_DEVICE_ID_SII_3112:
+ case PCI_DEVICE_ID_SII_3114:
case PCI_DEVICE_ID_SII_1210SA:
return 1;
case PCI_DEVICE_ID_SII_680:
@@ -1178,6 +1179,7 @@
static struct pci_device_id siimage_pci_tbl[] = {
{ PCI_VENDOR_ID_CMD, PCI_DEVICE_ID_SII_680, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0},
{ PCI_VENDOR_ID_CMD, PCI_DEVICE_ID_SII_3112, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 1},
+ { PCI_VENDOR_ID_CMD, PCI_DEVICE_ID_SII_3114, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 1},
{ PCI_VENDOR_ID_CMD, PCI_DEVICE_ID_SII_1210SA, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 2},
{ 0, },
};
diff -ru linux-2.6.0-test11.orig/drivers/ide/pci/siimage.h linux-2.6.0-test11/drivers/ide/pci/siimage.h
--- linux-2.6.0-test11.orig/drivers/ide/pci/siimage.h 2003-11-26 20:44:17.000000000 +0000
+++ linux-2.6.0-test11/drivers/ide/pci/siimage.h 2003-12-05 15:46:50.000000000 +0000
@@ -13,7 +13,7 @@
#undef SIIMAGE_BUFFERED_TASKFILE
#undef SIIMAGE_LARGE_DMA
-#define SII_DEBUG 0
+#define SII_DEBUG 1
#if SII_DEBUG
#define siiprintk(x...) printk(x)
@@ -72,6 +72,18 @@
.extra = 0,
},{ /* 2 */
.vendor = PCI_VENDOR_ID_CMD,
+ .device = PCI_DEVICE_ID_SII_3114,
+ .name = "SiI3114 Serial ATA",
+ .init_chipset = init_chipset_siimage,
+ .init_iops = init_iops_siimage,
+ .init_hwif = init_hwif_siimage,
+ .channels = 2,
+ .autodma = AUTODMA,
+ .enablebits = {{0x00,0x00,0x00}, {0x00,0x00,0x00}},
+ .bootable = ON_BOARD,
+ .extra = 0,
+ },{ /* 3 */
+ .vendor = PCI_VENDOR_ID_CMD,
.device = PCI_DEVICE_ID_SII_1210SA,
.name = "Adaptec AAR-1210SA",
.init_chipset = init_chipset_siimage,
diff -ru linux-2.6.0-test11.orig/drivers/scsi/Kconfig linux-2.6.0-test11/drivers/scsi/Kconfig
--- linux-2.6.0-test11.orig/drivers/scsi/Kconfig 2003-11-26 20:45:32.000000000 +0000
+++ linux-2.6.0-test11/drivers/scsi/Kconfig 2003-12-05 15:54:20.000000000 +0000
@@ -441,7 +441,7 @@
config SCSI_SATA_SIL
tristate "Silicon Image SATA support"
- depends on SCSI_SATA && PCI && BROKEN
+ depends on SCSI_SATA && PCI
help
This option enables support for Silicon Image Serial ATA.
diff -ru linux-2.6.0-test11.orig/drivers/scsi/sata_sil.c linux-2.6.0-test11/drivers/scsi/sata_sil.c
--- linux-2.6.0-test11.orig/drivers/scsi/sata_sil.c 2003-11-26 20:42:46.000000000 +0000
+++ linux-2.6.0-test11/drivers/scsi/sata_sil.c 2003-12-05 15:50:32.000000000 +0000
@@ -39,6 +39,7 @@
enum {
sil_3112 = 0,
+ sil_3114 = 1,
SIL_IDE0_TF = 0x80,
SIL_IDE0_CTL = 0x8A,
@@ -62,6 +63,7 @@
static struct pci_device_id sil_pci_tbl[] = {
{ 0x1095, 0x3112, PCI_ANY_ID, PCI_ANY_ID, 0, 0, sil_3112 },
+ { 0x1095, 0x3114, PCI_ANY_ID, PCI_ANY_ID, 0, 0, sil_3114 },
{ } /* terminate list */
};
@@ -119,6 +121,14 @@
.pio_mask = 0x03, /* pio3-4 */
.udma_mask = 0x7f, /* udma0-6; FIXME */
.port_ops = &sil_ops,
+ }, /* sil_3114 */
+ {
+ .sht = &sil_sht,
+ .host_flags = ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY |
+ ATA_FLAG_SRST | ATA_FLAG_MMIO,
+ .pio_mask = 0x03, /* pio3-4 */
+ .udma_mask = 0x7f, /* udma0-6; FIXME */
+ .port_ops = &sil_ops,
},
};
diff -ru linux-2.6.0-test11.orig/include/linux/pci_ids.h linux-2.6.0-test11/include/linux/pci_ids.h
--- linux-2.6.0-test11.orig/include/linux/pci_ids.h 2003-11-26 20:43:39.000000000 +0000
+++ linux-2.6.0-test11/include/linux/pci_ids.h 2003-12-05 15:48:28.000000000 +0000
@@ -882,6 +882,7 @@
#define PCI_DEVICE_ID_SII_680 0x0680
#define PCI_DEVICE_ID_SII_3112 0x3112
+#define PCI_DEVICE_ID_SII_3114 0x3114
#define PCI_DEVICE_ID_SII_1210SA 0x0240
#define PCI_VENDOR_ID_VISION 0x1098 |
|
Back to top |
|
|
cyrillic Watchman
Joined: 19 Feb 2003 Posts: 7313 Location: Groton, Massachusetts USA
|
Posted: Sat Jan 24, 2004 4:50 pm Post subject: |
|
|
Soheil79 wrote: | I've been reading quite a few posts here now, trying to find a solution for my problem, which is the simple fact that i want to install Gentoo but obviously purchased the wrong hardware. |
I hope hardware manufacturers realize that they will be losing customers if they fail to release open-source drivers to support their products. |
|
Back to top |
|
|
Soheil79 n00b
Joined: 28 Nov 2003 Posts: 11
|
Posted: Sat Jan 24, 2004 5:51 pm Post subject: Hardware Manufacturers and new ideas |
|
|
I agree fully and it seems that only real drawback using open source today is the lack of support from manufacturers. This seems very odd considering the finiansial losses on their behalf.
Changing the topic a little now. Is their a way to exploit RedHat's binary drivers for a Gentoo installation? What i had in mind was to somehow abort the installation process of Red Hat in an early stage (when Sata drivers are loaded) and then proceed with a Gentoo install. Will i be able to "save" the kernel patched with the Red Hat binary code when the installtion is complete?
Any ideas or comments are warmly welcomed and appreciated.
Best regards,
/Soheil 79
Ps Please bear in mind that I'm very new to linux and my idea might sound crazy to the veterans out there, so please don't be too harsh on the judgement. Ds |
|
Back to top |
|
|
Moled l33t
Joined: 09 Jul 2003 Posts: 635
|
Posted: Sat Jan 24, 2004 6:09 pm Post subject: |
|
|
this has been in the mm patchset for a while now
not sure if its been merged into the mainline yet |
|
Back to top |
|
|
cyrillic Watchman
Joined: 19 Feb 2003 Posts: 7313 Location: Groton, Massachusetts USA
|
Posted: Sat Jan 24, 2004 10:08 pm Post subject: |
|
|
Soheil79 wrote: | Is their a way to exploit RedHat's binary drivers for a Gentoo installation? What i had in mind was to somehow abort the installation process of Red Hat in an early stage (when Sata drivers are loaded) and then proceed with a Gentoo install. Will i be able to "save" the kernel patched with the Red Hat binary code when the installtion is complete? |
What you are thinking of can be done.
Do a minimal Redhat installation on a spare partition including the proprietary Silicon Image RAID driver.
Chroot from Redhat to do your Gentoo installation onto the array.
Instead of compiling your own kernel, copy the kernel and modules from your Redhat installation.
Setup a bootloader, and boot into your new Gentoo system.
Sounds easy. |
|
Back to top |
|
|
floffe Guru
Joined: 24 Nov 2003 Posts: 414 Location: Linköping, Sweden
|
Posted: Sat Jan 24, 2004 10:46 pm Post subject: |
|
|
I went through the hassle of customising the livecd kernel for this.
This thread helped me a lot, although it is for gentoo 1.2. I booted into knoppix, and was very happy for my 1GB RAM, which meant that I was able to compile the kernel without having to use swap, since I couldn't access my HDD.
Basically, get the latest mm-sources from kernel.org, compile the kernel with sata_sil compiled into the kernel, put it on the livecd, boot with the livecd and install. Don't forget to compile the driver into new the kernel as well.
From what I understand the 3112 and 3114 are very similar, so it shouldn't be a very big thing for someone knowledgeable with C to just add the modes for the 3114. But that person ain't me. |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|