Problemas conocidos
-
Instrucciones de instalación especiales para SuSE 9.1 y SLES9
(Este procedimiento no es obligatorio para SuSE 9.1 2.6.4-52 ni para versiones anteriores.)
1) Instale los archivos fuente del kernel y el compilador de SuSE 9.1.
2) El instalador necesita la presencia de <árbol archivos fuente>/scripts/basic/fixdep. Si no lo encuentra, no se podrá compilar el controlador. Puede generarlo
utilizando un procedimiento similar al siguiente:
% cd /usr/src/<kernel>
% make xconfig
Seleccione "Archivo->Guardar" para guardar .config
% make scripts
3) Utilice la opción de archivos fuente del kernel del instalador para indicar la ubicación de los archivos fuente.
% sh NFORCE-Linux-<arch>-1.0-0283-pkg1.run --kernel-source-path=/lib/modules/<nºde kernel>/source
4) Modifique el archivo /etc/modprobe.conf para los controladores nvsound y nvnet según lo indicado en la sección "Configuración" de las notas sobre la versión
(es decir, añada "alias snd-card-0 nvsound" y "alias eth0 nvnet").
5) Arranque el sistema.
-
El controlador de audio se bloquea durante la carga con nForce2, el kernel 2.6 y la APIC activada
El driver de audio se bloquea durante la carga cuando se utiliza con una plataforma nForce2, el kernel 2.6 y la controladora APIC activada. Este problema se corregirá en la próxima actualización del controlador. Hay dos formas de sortear el problema.
1) Usar la opción de arranque "noapic" o desactivar la APIC en la BIOS.
2) Volver a usar el controlador intel8x0.
-
El kernel 2.4.x se bloquea o algunos dispositivos no están disponibles
Algunos errores de soporte de ACPI en el kernel 2.4.x pueden afectar a la instalación y/o el arranque del SO. Si se presenta algún problema,
una de las primeras acciones para resolverlo debería ser desactivar la función ACPI. Esto puede hacerse utilizando la opción de arranque
"acpi=off" o modificando la configuración de la BIOS.
-
En distribuciones antiguas faltan los ID de dispositivo de la controladora de almacenamiento de nForce3
Algunas distribuciones antiguas no tienen los ID de los dispositivos IDE/SATA de nForce3. Esto acarrea las siguientes consecuencias:
1) El controlador de clase IDE no podrá usar DMA, lo cual afectará negativamente al rendimiento de IDE. Este problema puede resolverse
añadiendo los ID de dispositivo apropiados al controlador.
2) Las controladoras SATA no estarán disponibles para la instalación del SO. Esto significa que se necesitará una unidad PATA para instalar el SO. Una vez instalado el SO, el soporte de
de SATA puede añadirse agregando los ID de dispositivo apropiados al controlador.
Para corregir el controlador, es preciso modificar dos de sus tablas en drivers/ide/pci/amd74xx.c:
La primera tabla es una matriz del struct amd_ide_chip denominada amd_ide_chips. Cada entrada tiene el formato
siguiente:
{ PCI_DEVICE_ID_XXXXXXXXXXX, 0xXX, AMD_UDMA_100 },
Si alguno de los siguientes ID de dispositivo no está en esa tabla:
PCI_DEVICE_ID_NVIDIA_NFORCE3_IDE
PCI_DEVICE_ID_NVIDIA_NFORCE3S_IDE
PCI_DEVICE_ID_NVIDIA_NFORCE3S_SATA
PCI_DEVICE_ID_NVIDIA_NFORCE3S_SATA2
significa que el controlador amd74xx.c no soporta las controladoras IDE y SATA
de nForce 3. Para añadir el soporte:
Paso 1: Defina las macros de ID de dispositivo de PCI.
Agregue las líneas siguientes inmediatamente antes de la tabla amd_ide_chips:
#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
Paso 2: Añada estas entradas al final de la tabla amd_ide_chips (pero antes de la entrada
de finalización "{ 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 },
Paso 3: Añada algunas entradas a la tabla amd74xx_pci_tbl (antes de la entrada de finalización
"{ 0, },").
Hay una matriz del struct pci_device_id denominada amd74xx_pci_tbl. Las entradas deben añadirse aquí para el soporte de 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 },
El número que hay al final de cada entrada (del 9 al 12) hace referencia a las entradas correspondientes (la numeración empieza desde 0) en la
tabla amd_ide_chips. Por ejemplo, si contamos las entradas en la tabla amd_ide_chips, la 9ª entrada (empezando desde
0) debería coincidir con la cadena PCI_DEVICE_ID_NVIDIA_NFORCE3_IDE. Si no coincide,
será necesario ajustar la numeración de las entradas en la tabla amd74xx_pci_tbl según corresponda.
Paso 4: Recompile el kernel.
-
El controlador de red no funcionará con un kernel uniprocesador si está activada la depuración de spinlocks.
Para sortear el problema puede hacer lo siguiente:
1) Descomprima el archivo .run (sin instalar nada) con la opción -x, como se indica a continuación:
% ./NFORCE-Linux-x86-1.0-0283-pkg1.run -x
2) Esto crea un árbol llamado NFORCE-Linux-x86-1.0-0283-pkg1. "cd" a NFORCE-Linux-x86-1.0-0283-pkg1/nvnet.
3) Abra el archivo nvenet.c:
En la línea 1720, cambie la entrada "spin_lock(lock);" por la entrada "spin_lock((spinlock_t*)lock);".
En la línea 1732, cambie la entrada "spin_unlock(lock);" por la entrada "spin_unlock((spinlock_t*)lock);".
4) Utilice el comando "make" seguido de "make install". Con esto, debería compilar e instalar el controlador nvnet.