GNU/Linux >> Tutoriales Linux >  >> Linux

¿Por qué USB no funciona en Linux cuando funciona en UEFI/BIOS?

Encontré la respuesta en este hilo (http://ubuntuforums.org/showthread.php?t=2114055) en ubuntuforums.org.

Parece que con las placas base Gigabyte más nuevas (al menos) hay una opción de BIOS llamada IOMMU Controller que está deshabilitado de forma predeterminada y no da ninguna pista o indicación de para qué sirve.

Habilitar esta configuración y reiniciar "mágicamente" restaura todos mis problemas de red y USB en un sistema operativo Linux de 64 bits (no importa cuál).

Estoy bastante sorprendido y eufórico de que haya sido una búsqueda tan larga para una solución tan simple.

Gracias a todos por su ayuda y sugerencias. Esperemos que a otros les resulte útil.

Actualización: Solo me gustaría agregar que la configuración actual de mi BIOS también incluye la habilitación de XHCI Handoff y EHCI Handoff además del controlador IOMMU. Otros también han mencionado esto y habilitar esas dos transferencias también permite que mis puertos USB 3.0 funcionen como se esperaba.


Acabo de enterarme, con mi GA-990FXA-UD7, que para que los controladores USB 2.0 y USB 3.0 y el controlador Ethernet integrado funcionen correctamente en Linux (estoy usando Mint 17.1) se requieren las siguientes configuraciones en el BIOS:

  • transferencia xHCI:habilitada
  • Transferencia de EHCI:habilitada
  • Controlador IOMMU - Habilitado

No olvides deshabilitar UEFI y cambiar todas las opciones de arranque a "Solo heredado".

Si realmente necesita arrancar desde un disco duro de más de 2,2 TB de capacidad, es posible que tenga un problema diferente entre manos.

Estoy usando un SSD de 256 GB para mi unidad de arranque y un par de HDD de 3 TB en una matriz RAID 1 (duplicada) usando mdadm para mi /home y todo funciona bien.

Habiendo trabajado bastante con placas Gigabyte, sé que las placas 990FXA-UD5 y 990FXA-UD3 tienen BIOS muy similares, por lo que es probable que también se aplique lo mismo con esas placas.


FYI, las razones técnicas por las que Linux no puede usar dispositivos "a través" del BIOS:una vez que el sistema operativo ha hecho la transición al "modo protegido" (32 bits) o al "modo largo" (64 bits), ya no puede enviar interrupciones a la BIOS. En "modo real" (16 bits, en el arranque) puede llamar a las interrupciones del BIOS para que se lean los discos, la entrada del teclado, etc.

Pero también tiene desventajas. Por un lado, ni siquiera tiene un megabyte de memoria direccionable. Entonces, los sistemas operativos modernos salen del modo real casi a primera hora. (En realidad, creo que grub cambia al modo protegido incluso antes de cargar el kernel).

Más detalles:http://wiki.osdev.org/Real_Mode http://wiki.osdev.org/Protected_Mode


Linux
  1. El micrófono de Skype no funciona en Linux Mint 17 [Consejo rápido]

  2. Linux:¿cuándo no debo matar -9 un proceso?

  3. Linux:¿por qué no funciona Setuid?

  4. fflush() no funciona en Linux

  5. El comando de fecha de Linux no funciona

Arreglar el clic del panel táctil que no funciona en Linux Mint

¿Los auriculares USB de Logitech no funcionan en 12.04?

PYTHONPATH no funciona para sudo en GNU/Linux (funciona para root)

linux limites.conf no funciona?

El comando de Linux 'll' no funciona

¿Por qué no funciona sftp rmdir?