Back

Lista Znanych Problemów

 
 
  • SuSE 9.1 i SLES9 - dodatkowe instrukcje związane z instalacją

(Uwaga - poniższa procedura nie jest wymagana dla SuSE 9.1 2.6.4-52 lub wcześniejszych)

          1) zainstaluj źródła kernela i kompilator SuSE 9.1
2) Instalator wymaga istnienia ścieżki <source tree>/scripts/basic/fixdep. Jeśli taka ścieżka nie istnieje, kompilacja sterownika się nie powiedzie.
Sterownik można zbudować np. tak:
% cd /usr/src/<kernel>
% make xconfig
wybierz "file->save" aby zapisać .config
% make scripts
3) Użyj opcji kernel source w instalatorze i wskaż lokalizację źródeł kernela
% sh NFORCE-Linux-<arch>-1.0-0283-pkg1.run --kernel-source-path=/lib/modules/<kernel#>/source
4) zmodyfikuj plik /etc/modprobe.conf dla modułów nvsound i nvnet, jak opisano w sekcji "Configuration"
dokumentu release notes. (np. dodaj "alias snd-card-0 nvsound" i "alias eth0 nvnet")
5) wykonaj restart
  • Sterownik audio zawiesza się podczas ładowania
    na platformach nForce2, z kernelem 2.6 i włączonym APIC

          Sterownik audio będzie się zawieszał podczas uruchamiania na
platformach nForce 2 z kernelem 2.6 i włączonym APIC.
Zostanie to usunięte w kolejnych edycjach sterowników. Istnieją dwie drogi rozwiązania problemu:

1) użyj opcji bootowania "noapic" lub wyłącz APIC w BIOSie
2) wróć do podstawowego sterownika intel8x0

  • Kernel 2.4.x zawiesza się lub pewne urządzenia są niedostępne

Istnieją pewne błędy w ACPI kernela 2.4.x, które mogą powodować problemy z instalacją i uruchamianiem systemu.
Jeśli napotkasz na takie problemy, jednym z pierwszych środków zapobiegawczych może być wyłączenie ACPI.
Można tego dokonać poprzez opcję bootowania "acpi=off" lub przez wyłączenie tego parametru w BIOSie.
  • W starszych dystrybucjach brak ID urządzenia kontrolera dysków nForce 3

Niektóre starsze dystrybucje nie pokazują ID urządzenia dla kontrolera nForce 3 IDE/SATA. Konsekwencje są następujace:

1) Sterownik IDE nie będzie w stanie korzystać z trybu DMA. Znacząco obniży to wydajność.
Można obejść ten problem poprzez specjalny patch do sterownika, z odpowiednim ID.
2) Kontrolery SATA nie będą dostępne w momencie instalacji systemu. Oznacza to, że tradycyjny dysk
PATA będzie wymagany do poprawnego zainstalowania systemu. Po instalacji wsparcie SATA
może być dodane poprzez patch do sterownika z odpowiednim ID.

Aby wykonać patch sterownika, należy zmodyfikować dwie tablice w pliku drivers/ide/pci/amd74xx.c :

Tablica pierwsza: array of struct amd_ide_chip, nazwana amd_ide_chips.  Każdy wiersz tablicy wygląda następująco:
    { PCI_DEVICE_ID_XXXXXXXXXXX, 0xXX, AMD_UDMA_100 },

Jeśli w tabeli brakuje któregokolwiek z wymienionych poniżej ID:

PCI_DEVICE_ID_NVIDIA_NFORCE3_IDE
PCI_DEVICE_ID_NVIDIA_NFORCE3S_IDE
PCI_DEVICE_ID_NVIDIA_NFORCE3S_SATA
PCI_DEVICE_ID_NVIDIA_NFORCE3S_SATA2

wtedy sterownik amd74xx.c nie będzie obsługiwał kontrolera nForce 3 IDE i SATA

Aby dodać obsługę:

Krok 1: Zdefiniuj makra ID urządeń PCI.

Bezpośrednio przed tabelą amd_ide_chips dodaj następujące linie:

#define PCI_DEVICE_ID_NVIDIA_NFORCE3_IDE   0x00d5
#define PCI_DEVICE_ID_NVIDIA_NFORCE3S_IDE  0x00e5
#define PCI_DEVICE_ID_NVIDIA_NFORCE3S_SATA 0x00e3
#define PCI_DEVICE_ID_NVIDIA_NFORCE3S_SATA2  0x00ee

Krok 2: Dodaj wiersze na końcu tabeli amd_ide_chips (ale przed kończącym
        wierszem "{ 0 },").

    { PCI_DEVICE_ID_NVIDIA_NFORCE3_IDE,    0x50, AMD_UDMA_133 },
    { PCI_DEVICE_ID_NVIDIA_NFORCE3S_IDE,    0x50, AMD_UDMA_133 },
    { PCI_DEVICE_ID_NVIDIA_NFORCE3S_SATA,    0x50, AMD_UDMA_133 },
    { PCI_DEVICE_ID_NVIDIA_NFORCE3S_SATA2,    0x50, AMD_UDMA_133 },

Krok 3: Dodaj wiersze na końcu tabeli amd74xx_pci_tbl (ale przed kończącym
        wierszem "{ 0, },").

Jest tablica: array of struct pci_device_id, nazwana amd74xx_pci_tbl. 
Wiersze, które muszą być dodane dla wsparcia CK804/MCP04 :

    { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE3_IDE,  PCI_ANY_ID, PCI_ANY_ID, 0, 0, 9 },
    { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE3S_IDE, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 10 },
    { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE3S_SATA, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 11 },
    { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE3S_SATA2,  PCI_ANY_ID, PCI_ANY_ID, 0, 0, 12 },

Numery na końcu każdego wiersza (9 do 12) odnoszą się do odpowiednich wierszy
(numeracja zaczyna się od 0) w tabeli amd_ide_chips.  Na przykład - odliczając w tabeli amd_ide_chips,
pozycja nr 9 (zaczynając od 0) powinna odpowiadać wierszowi PCI_DEVICE_ID_NVIDIA_NFORCE3_IDE.
Jeśli wpisy nie będą zgodne, liczby w tabeli amd74xx_pci_tbl muszą być odpowiednio poprawione.

Krok 4: Przekompiluj kernela.

  • Sterownik sieciowy nie działa na jedno-procesorowym kernelu z włączoną opcją spin-lock debugging.

Aby rozwiązać problem, należy:

1) Rozpakować plik .run (bez instalowania czegokolwiek) z opcją -x :

% ./NFORCE-Linux-x86-1.0-0283-pkg1.run -x

2) Utworzy to drzewo katalogów: NFORCE-Linux-x86-1.0-0283-pkg1. 
Wejdź do katalogu NFORCE-Linux-x86-1.0-0283-pkg1/nvnet.

3) Otwórz w edytorze plik nvenet.c:

W linii 1720, zmień zapis: "spin_lock(lock);"
na następujący: "spin_lock((spinlock_t*)lock);".

W linii 1732, zmień zapis: "spin_unlock(lock);"
na następujący: "spin_unlock((spinlock_t*)lock);".

4) Zrób "make", potem "make install".  Powinno to zbudować i zainstalować sterownik nvnet.



 
 
 
 
FacebookTwitterGoogle+Nasza KlasaLinkedIn