GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo desactivo la compatibilidad con I2C Designware cuando no está integrado como módulo?

¡Después de leer las fuentes del kernel, encontré una función que necesitamos incluir en la lista negra!

Gracias a Stephen Kitt por la pista sobre initcall_blacklist .

Agregar initcall_blacklist=dw_i2c_init_driver a la línea de comandos del kernel. Esto me funciona en el kernel 4.15.0.

Para cualquier otra persona que encuentre esta respuesta. Puedes hacerlo editando /etc/default/grub :

  1. Ejecutar en la terminal:sudo -H gedit /etc/default/grub .
  2. Agregar cadena de lista negra al GRUB_CMDLINE_LINUX_DEFAULT :GRUB_CMDLINE_LINUX_DEFAULT="… initcall_blacklist=dw_i2c_init_driver" .
  3. Guarde el archivo, cierre el editor.
  4. Ejecutar en la terminal:sudo update-grub .
  5. ¡Reinicia y prueba!

Agregando initcall_blacklist=i2c_dw_init_master a la línea de comandos del kernel debería evitar que el controlador Designware se inicialice durante el arranque y evitar el problema por completo.

Consulte los parámetros del núcleo para obtener una breve descripción de initcall_blacklist y el hilo alrededor del parche para obtener más información útil.


Linux
  1. ¿Cómo encontrar el módulo del kernel para un dispositivo dado?

  2. Linux:¿cómo determinar qué módulo contamina el kernel?

  3. Linux:¿cómo recargar correctamente un módulo del kernel?

  4. CentOS / RHEL:cómo deshabilitar y poner en lista negra el módulo del kernel de Linux para evitar que se cargue automáticamente

  5. ¿Cómo uso ioctl() para manipular mi módulo kernel?

Cómo cargar o descargar un módulo del kernel de Linux

Cómo incluir en la lista negra un módulo en Ubuntu/Debian Linux

Cómo deshabilitar/bloquear o incluir en la lista negra las actualizaciones de paquetes con la herramienta Apt

Cómo cargar y descargar módulos del kernel en Linux

Cómo agregar soporte de kernel PPP a contenedores OpenVZ

¿Cómo verificar si el kernel de Linux está habilitado para Retpoline o no?