Nieuws:

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: Shuttle SS30G2  (gelezen 2116 keer)

Shuttle SS30G2
« Gepost op: 2007/02/27, 23:03:26 »
Hallo allemaal,
Ik heb een Shuttle PC gekocht voor linux,model SS30G2 (SiS 662 + 966L Chipset) maar ik krijg de live CD niet opgestart niet van ubuntu of mandriva, in het begin aleen foutmeldingen tot de zaak vastloopt. Op de andere PC die ik heb werkt linux prima kan het aan de chipset liggen?

Offline wutnubu

  • Lid
Shuttle SS30G2
« Reactie #1 Gepost op: 2007/02/28, 07:07:49 »
Probeer het eens met de alternate CD.

Die is natuurlijk niet geschikt om te testen of alles het onder linux doet.

Groet.

Shuttle SS30G2
« Reactie #2 Gepost op: 2007/02/28, 15:26:42 »
Hallo w.hellinga  het installeren is ook niet nogelijk met de alternate CD ik heb verschillende linux distributies getest met hetzelfde resultaat ik heb het idee dat de SiS 662 + 966L Chipset niet wordt ondersteund.

Groeten
John

Offline Pjotr

  • Lid
    • Makkelijke Linuxtips
Shuttle SS30G2
« Reactie #3 Gepost op: 2007/02/28, 15:35:16 »
Probeer anders eens herd 4 van Ubuntu 7.04 (Feisty). Is weliswaar nog in alfastatus, maar is al heel stabiel, vind ik, en heeft de allernieuwste hardware-herkenning aan boord.
Hier haal je hem: http://cdimage.ubuntu.com/releases/feisty/herd-4/

Hou wel rekening met enorme hoeveelheden updates elke dag, want het ding is nog in volle ontwikkeling (officiële editie komt pas eind april).

Shuttle SS30G2
« Reactie #4 Gepost op: 2007/02/28, 15:50:39 »
Ok ik ga het proberen, ik ben hem nu aan het downloaden. Ik wil van windows af maar  welk  programma kan ik gebruiken als alternatief voor Microsoft Access  

Groeten
John

Offline Pjotr

  • Lid
    • Makkelijke Linuxtips
Shuttle SS30G2
« Reactie #5 Gepost op: 2007/02/28, 18:00:53 »
Citaat van: john50
welk  programma kan ik gebruiken als alternatief voor Microsoft Access  

Groeten
John
Open Office.org database. Zit standaard in Ubuntu (onder Toepassingen- Kantoor).

Shuttle SS30G2
« Reactie #6 Gepost op: 2007/03/01, 12:30:26 »
Ik kan ook wel zeggen dat 7.04 vrij stabiel is, na verschillende malen een crash van 6.10 heb ik 7.04 geinstalleerd welke het tot nu toe gewoon goed blijft doen ondanks alle dagelijkse updates.

Jammer alleen dat ze de outlook van het configuratie scherm weer naar het oude model hebben veranderd

Shuttle SS30G2
« Reactie #7 Gepost op: 2007/03/01, 21:42:57 »
Ik heb nu herd 4 van Ubuntu 7.04 (Feisty getest maar met het zelfde resultaat.
Ik zie nu wel rechts onder in het scherm een lampje met de texst:
UBUNTU HARDWARE DATABASE:
Please considerer sending (anonymous) information about your hardware to help developers to improve hardwaresupport. De stond nog iets er onder maar dat was niet te lezen (strepen op het scherm) het geluid werkte wel en er was ook verbinding met het internet. Dus ik moet helaas verder met XP op deze computer.

Groeten
John

Shuttle SS30G2
« Reactie #8 Gepost op: 2007/03/02, 21:23:07 »
Het probleem is de SiS  966L chipset,dus afwachten maar.

Author: Oystein Viggen
Date: 2007-02-13 12:53 +100
To: kernel-team
Subject: Re: sata_sis driver update
* [Oystein Viggen]

> Any chance of getting in an update to the sata_sis driver in Feisty? Linus'
> linux-2.6 git has version 0.7, while ubuntu-2.6 git has version 0.6.

To follow up on myself, I made a quick backport of the 0.7 changes to the
current interfaces in the ubuntu kernel. I skipped the part where it
changes pata_sis to export sis_info133 for referral by the sata_sis driver.

The attached patch seems to be working for me.

Øystein

--
When in doubt: Recompile.


diff --git a/drivers/ata/sata_sis.c b/drivers/ata/sata_sis.c
index 9c25a1e..7982540 100644
--- a/drivers/ata/sata_sis.c
+++ b/drivers/ata/sata_sis.c
@@ -42,7 +42,7 @@ #include
#include

#define DRV_NAME    "sata_sis"
-#define DRV_VERSION    "0.6"
+#define DRV_VERSION    "0.6.5"

enum {
    sis_180            = 0,
@@ -67,9 +67,12 @@ static u32 sis_scr_read (struct ata_port
static void sis_scr_write (struct ata_port *ap, unsigned int sc_reg, u32 val);

static const struct pci_device_id sis_pci_tbl[] = {
-    { PCI_VDEVICE(SI, 0x180), sis_180 },
-    { PCI_VDEVICE(SI, 0x181), sis_180 },
-    { PCI_VDEVICE(SI, 0x182), sis_180 },
+    { PCI_VDEVICE(SI, 0x0180), sis_180 },        /* SiS 964/180 */
+    { PCI_VDEVICE(SI, 0x0181), sis_180 },        /* SiS 964/180 */
+    { PCI_VDEVICE(SI, 0x0182), sis_180 },        /* SiS 965/965L */
+    { PCI_VDEVICE(SI, 0x0183), sis_180 },        /* SiS 965/965L */
+    { PCI_VDEVICE(SI, 0x1182), sis_180 },        /* SiS 966/966L */
+    { PCI_VDEVICE(SI, 0x1183), sis_180 },        /* SiS 966/966L */

    { }    /* terminate list */
};
@@ -122,8 +125,6 @@ static const struct ata_port_operations
    .scr_read        = sis_scr_read,
    .scr_write        = sis_scr_write,
    .port_start        = ata_port_start,
-    .port_stop        = ata_port_stop,
-    .host_stop        = ata_host_stop,
};

static struct ata_port_info sis_port_info = {
@@ -142,15 +143,28 @@ MODULE_LICENSE("GPL");
MODULE_DEVICE_TABLE(pci, sis_pci_tbl);
MODULE_VERSION(DRV_VERSION);

-static unsigned int get_scr_cfg_addr(unsigned int port_no, unsigned int sc_reg, int device)
+static unsigned int get_scr_cfg_addr(struct ata_port *ap, unsigned int sc_reg)
{
+    struct pci_dev *pdev = to_pci_dev(ap->host->dev);
    unsigned int addr = SIS_SCR_BASE + (4 * sc_reg);
+    u8 pmr;

-    if (port_no) {
-        if (device == 0x182)
+    if (ap->port_no) {
+        switch (pdev->device) {
+        case 0x0180:
+        case 0x0181:
+            pci_read_config_byte(pdev, SIS_PMR, &pmr);
+            if ((pmr & SIS_PMR_COMBINED) == 0)
+                addr += SIS180_SATA1_OFS;
+            break;
+
+        case 0x0182:
+        case 0x0183:
+        case 0x1182:
+        case 0x1183:
            addr += SIS182_SATA1_OFS;
-        else
-            addr += SIS180_SATA1_OFS;
+            break;
+        }
    }

    return addr;
@@ -159,7 +173,7 @@ static unsigned int get_scr_cfg_addr(uns
static u32 sis_scr_cfg_read (struct ata_port *ap, unsigned int sc_reg)
{
    struct pci_dev *pdev = to_pci_dev(ap->host->dev);
-    unsigned int cfg_addr = get_scr_cfg_addr(ap->port_no, sc_reg, pdev->device);
+    unsigned int cfg_addr = get_scr_cfg_addr(ap, sc_reg);
    u32 val, val2 = 0;
    u8 pmr;

@@ -170,26 +184,30 @@ static u32 sis_scr_cfg_read (struct ata_

    pci_read_config_dword(pdev, cfg_addr, &val);

-    if ((pdev->device == 0x182) || (pmr & SIS_PMR_COMBINED))
+    if ((pdev->device == 0x0182) || (pdev->device == 0x0183) ||
+     (pdev->device == 0x1182) || (pdev->device == 0x1183) ||
+     (pmr & SIS_PMR_COMBINED))
        pci_read_config_dword(pdev, cfg_addr+0x10, &val2);

    return (val|val2) & 0xfffffffb; /* avoid problems with powerdowned ports */
}

-static void sis_scr_cfg_write (struct ata_port *ap, unsigned int scr, u32 val)
+static void sis_scr_cfg_write (struct ata_port *ap, unsigned int sc_reg, u32 val)
{
    struct pci_dev *pdev = to_pci_dev(ap->host->dev);
-    unsigned int cfg_addr = get_scr_cfg_addr(ap->port_no, scr, pdev->device);
+    unsigned int cfg_addr = get_scr_cfg_addr(ap, sc_reg);
    u8 pmr;

-    if (scr == SCR_ERROR) /* doesn't exist in PCI cfg space */
+    if (sc_reg == SCR_ERROR) /* doesn't exist in PCI cfg space */
        return;

    pci_read_config_byte(pdev, SIS_PMR, &pmr);

    pci_write_config_dword(pdev, cfg_addr, val);

-    if ((pdev->device == 0x182) || (pmr & SIS_PMR_COMBINED))
+    if ((pdev->device == 0x0182) || (pdev->device == 0x0183) ||
+     (pdev->device == 0x1182) || (pdev->device == 0x1183) ||
+     (pmr & SIS_PMR_COMBINED))
        pci_write_config_dword(pdev, cfg_addr+0x10, val);
}

@@ -207,10 +225,12 @@ static u32 sis_scr_read (struct ata_port

    pci_read_config_byte(pdev, SIS_PMR, &pmr);

-    val = inl(ap->ioaddr.scr_addr + (sc_reg * 4));
+    val = ioread32(ap->ioaddr.scr_addr + (sc_reg * 4));

-    if ((pdev->device == 0x182) || (pmr & SIS_PMR_COMBINED))
-        val2 = inl(ap->ioaddr.scr_addr + (sc_reg * 4) + 0x10);
+    if ((pdev->device == 0x0182) || (pdev->device == 0x0183) ||
+     (pdev->device == 0x1182) || (pdev->device == 0x1183) ||
+ (pmr & SIS_PMR_COMBINED))
+        val2 = ioread32(ap->ioaddr.scr_addr + (sc_reg * 4) + 0x10);

    return (val | val2) & 0xfffffffb;
}
@@ -228,9 +248,11 @@ static void sis_scr_write (struct ata_po
    if (ap->flags & SIS_FLAG_CFGSCR)
        sis_scr_cfg_write(ap, sc_reg, val);
    else {
-        outl(val, ap->ioaddr.scr_addr + (sc_reg * 4));
-        if ((pdev->device == 0x182) || (pmr & SIS_PMR_COMBINED))
-            outl(val, ap->ioaddr.scr_addr + (sc_reg * 4)+0x10);
+        iowrite32(val, ap->ioaddr.scr_addr + (sc_reg * 4));
+        if ((pdev->device == 0x0182) || (pdev->device == 0x0183) ||
+         (pdev->device == 0x1182) || (pdev->device == 0x1183) ||
+         (pmr & SIS_PMR_COMBINED))
+            iowrite32(val, ap->ioaddr.scr_addr + (sc_reg * 4)+0x10);
    }
}

@@ -243,7 +265,7 @@ static int sis_init_one (struct pci_dev
    struct ata_port_info pi = sis_port_info, *ppi[2] = { &pi, &pi };
    int pci_dev_busy = 0;
    u8 pmr;
-    u8 port2_start;
+    u8 port2_start = 0x20;

    if (!printed_version++)
        dev_printk(KERN_INFO, &pdev->dev, "version " DRV_VERSION "\n");
@@ -282,28 +304,40 @@ static int sis_init_one (struct pci_dev
    }

    pci_read_config_byte(pdev, SIS_PMR, &pmr);
-    if (ent->device != 0x182) {
+    switch (ent->device) {
+    case 0x0180:
+    case 0x0181:
        if ((pmr & SIS_PMR_COMBINED) == 0) {
            dev_printk(KERN_INFO, &pdev->dev,
                 "Detected SiS 180/181/964 chipset in SATA mode\n");
            port2_start = 64;
-        }
-        else {
+        } else {
            dev_printk(KERN_INFO, &pdev->dev,
                 "Detected SiS 180/181 chipset in combined mode\n");
            port2_start=0;
            pi.flags |= ATA_FLAG_SLAVE_POSS;
        }
-    }
-    else {
+        break;
+    case 0x0182:
+    case 0x0183:
        pci_read_config_dword ( pdev, 0x6C, &val);
        if (val & (1L << 31)) {
            dev_printk(KERN_INFO, &pdev->dev, "Detected SiS 182/965 chipset\n");
            pi.flags |= ATA_FLAG_SLAVE_POSS;
-        }
-        else
+        } else {
            dev_printk(KERN_INFO, &pdev->dev, "Detected SiS 182/965L chipset\n");
-        port2_start = 0x20;
+        }
+        break;
+    case 0x1182:
+    case 0x1183:
+        pci_read_config_dword(pdev, 0x64, &val);
+        if (val & 0x10000000) {
+            dev_printk(KERN_INFO, &pdev->dev, "Detected SiS 1182/1183/966L SATA controller\n");
+        } else {
+            dev_printk(KERN_INFO, &pdev->dev, "Detected SiS 1182/1183/966 SATA controller\n");
+            pi.flags |= ATA_FLAG_SLAVE_POSS;
+        }
+        break;
    }

    probe_ent = ata_pci_init_native_mode(pdev, ppi, ATA_PORT_PRIMARY | ATA_PORT_SECONDARY);
@@ -313,10 +347,16 @@ static int sis_init_one (struct pci_dev
    }

    if (!(probe_ent->port_flags & SIS_FLAG_CFGSCR)) {
-        probe_ent->port[0].scr_addr =
-            pci_resource_start(pdev, SIS_SCR_PCI_BAR);
-        probe_ent->port[1].scr_addr =
-            pci_resource_start(pdev, SIS_SCR_PCI_BAR) + port2_start;
+        void *mmio;
+
+        mmio = pci_iomap(pdev, SIS_SCR_PCI_BAR, 0);
+        if (!mmio) {
+            rc = -ENOMEM;
+            goto err_out_regions;
+        }
+
+        probe_ent->port[0].scr_addr = mmio;
+        probe_ent->port[1].scr_addr = mmio + port2_start;
    }

    pci_set_master(pdev);
--
kernel-team mailing list
kernel-team@???
https://lists.ubuntu.com/mailman/listinfo/kernel-team

Shuttle SS30G2
« Reactie #9 Gepost op: 2007/03/06, 17:02:42 »
De Pc werkt maar aleen met de distribution mandriva-linux-2007.1-free-wei.i586          ( beta 2)

Groeten
John