Problemas comunes de los conductores
Flujo de trabajo de solución de problemas del controlador
Paso 1: identificar el hardware
# Full hardware overview
sudo lshw -short
# PCI devices (graphics cards, network cards, sound cards, etc.)
lspci -nn
# USB devices
lsusb
# Detailed hardware report
sudo lshw -html > hardware-report.htmlPaso 2: Verifique los registros del kernel
# Current boot log
sudo dmesg | less
# Filter errors and warnings
sudo dmesg --level=err,warn
# Real-time monitoring (use when plugging in devices)
sudo dmesg -wPaso 3: ver los módulos cargados
# List all loaded kernel modules
lsmod
# View information about a specific module
modinfo MODULE_NAME
# View module dependencies
modprobe --show-depends MODULE_NAMEUsando la herramienta ubuntu-drivers
# Detect devices that need additional drivers
sudo ubuntu-drivers devices
# Automatically install recommended drivers
sudo ubuntu-drivers autoinstall
# Install a specific driver (use the version recommended by `ubuntu-drivers devices`, e.g. 580/590)
sudo ubuntu-drivers install nvidia-driver-580Gestión de controladores DKMS
DKMS (Soporte dinámico del módulo del kernel) garantiza que los controladores de terceros se vuelvan a compilar automáticamente después de las actualizaciones del kernel.
# View DKMS-managed modules
dkms status
# Manually rebuild modules
sudo dkms autoinstall
# If a module fails to build
sudo dkms remove MODULE_NAME/VERSION --all
sudo dkms install MODULE_NAME/VERSIONProblemas comunes y soluciones
El controlador deja de funcionar después de la actualización del kernel
# Check DKMS status
dkms status
# Ensure build tools are installed
sudo apt install build-essential dkms linux-headers-$(uname -r)
# Rebuild all DKMS modules
sudo dkms autoinstallEl módulo del controlador está en la lista negra
# Check blacklists
grep -r "blacklist" /etc/modprobe.d/
# Temporarily load a blacklisted module
sudo modprobe MODULE_NAME
# Permanently remove blacklist entry
sudo nano /etc/modprobe.d/blacklist.conf
# Comment out the relevant line, then regenerate the initramfs (Ubuntu 26.04 uses Dracut by default):
sudo dracut -f
# On legacy initramfs-tools systems use instead: sudo update-initramfs -uFaltan archivos de firmware
# Check for firmware missing warnings
sudo dmesg | grep -i firmware
# Install the full firmware package (all of Ubuntu's binary firmware lives in linux-firmware)
sudo apt install linux-firmwareNote
Ubuntu no tiene paquetes divididos de Debian como firmware-misc-nonfree; todo el firmware requerido está incluido en linux-firmware. A partir de 26.04, linux-firmware se divide en subpaquetes más finos específicos del proveedor, pero la instalación del paquete general aún incluye todo el firmware.
Dispositivo no reconocido
- Confirme que el dispositivo esté físicamente conectado correctamente
- Compruebe si el dispositivo está habilitado en BIOS/UEFI
- Pruebe con un puerto o cable USB diferente
- Actualice la versión del kernel:
sudo apt install linux-generic-hwe-26.04Compilación e instalación manual de controladores
Cuando no hay ningún paquete de controladores prediseñado disponible:
# Install build dependencies
sudo apt install build-essential linux-headers-$(uname -r) git
# Typical workflow
git clone <DRIVER_REPOSITORY_URL>
cd <DRIVER_DIRECTORY>
make
sudo make install
sudo modprobe <MODULE_NAME>
# Set up automatic loading at boot
echo "MODULE_NAME" | sudo tee /etc/modules-load.d/MODULE_NAME.confRegresar a un kernel más antiguo
Si un nuevo kernel causa problemas de hardware:
# View installed kernels
dpkg --list | grep linux-image
# Select an older kernel at the GRUB menu during boot
# Hold Shift (BIOS) or Esc (UEFI) to enter the GRUB menu
# Select "Advanced options for Ubuntu" > older kernel version
# Pin a specific kernel version (use with caution)
sudo apt-mark hold linux-image-7.x.x-xx-genericGenerar un informe de diagnóstico de hardware
Cuando busque ayuda de la comunidad, proporcione la siguiente información:
# Generate a complete hardware report
sudo apt install inxi
inxi -Fxxxz
# Or use hw-probe
sudo apt install hw-probe
sudo hw-probe -all -uploadEl enlace de salida se puede compartir directamente con quienes lo ayudan.