
En un script para habilitar un módem celular USB NovAtel en un Beagle Bone Black con Ubuntu, vi esta línea:
/sbin/modprobe option
Miré la modprobe
página de manual, dice mucho sobre opciones (tenga en cuenta la s), pero nada sobre un option
argumento singular. ¿Hay algún módulo llamado option
o algo así? ¿O eso tiene algún otro efecto secundario que están provocando al configurar el módem?
Respuesta1
Tienes toda la razón, modprobe option
intenta cargar el módulo option
, controlado por el parámetro de configuración del kernel USB_SERIAL_OPTION
.
Más información se encuentra en las fuentes del kernel ( drivers/usb/serial/Kconfig
)
configuración USB_SERIAL_OPTION trieste "Controlador USB para módems GSM y CDMA" (...) Este controlador también admite varias tarjetas PCMCIA que tienen una Adaptador OHCI-USB incorporado y un módem GSM conectado internamente. No se puede acceder al bus USB de estas tarjetas desde el exterior. Los dispositivos compatibles incluyen (¿algunos de?) aquellos fabricados por: Opción, Huawei, Audiovox, Novatel Wireless o Anydata. (...) Si este controlador no reconoce su dispositivo, es posible que se pueda acceder a él a través del controlador FTDI_SIO.
Cómo rastrear esto:
Verifique si tiene dicho módulo de kernel (esto solo funciona si está habilitado en la configuración de su kernel)
$ find /lib/modules -name option.ko /lib/modules/kernel/drivers/usb/serial/option.ko
Alternativamente, puede probar si el módulo se carga
# modprobe option # lsmod | grep option option 33128 0 usb_wwan 13044 1 option usbserial 23912 2 option,usb_wwan
Ahora, puede intentar encontrar los archivos fuente (esto sólo funciona si el módulo está incluido en las fuentes actuales de su kernel)
$ find /usr/src/linux -name option.c /usr/src/linux/drivers/gpu/drm/nouveau/core/core/option.c /usr/src/linux/drivers/usb/serial/option.c
Mencionaste que el módulo tiene algo que ver con un módem USB, por lo que la segunda coincidencia parece prometedora.
También puede encontrar el parámetro de configuración del kernel.
$ find /usr/src/linux -name Makefile -exec grep -H option\.o '{}' \; /usr/src/linux/drivers/gpu/drm/nouveau/Makefile:nouveau-y += core/core/option.o /usr/src/linux/drivers/usb/serial/Makefile:obj-$(CONFIG_USB_SERIAL_OPTION) += option.o
Ahora puedes echar un vistazo
/usr/src/linux/drivers/usb/serial/Kconfig
y encontrar la descripción que cité al principio.Finalmente, eche un vistazo a la fuente misma (
.../drivers/usb/serial/option.c
) yvoiláencuentras entre otras cosasla explicación del autor del nombreEste controlador existe porque el controlador serie "normal" no funciona muy bien con los módems GSM. Asuntos:
- Pérdida de datos: una sola URB de recepción no es suficiente
- control de flujo no estándar (dispositivos opcionales)
controlar la velocidad en baudios no tiene sentido
Este controlador se denomina "opción" porque el dispositivo más común
para el que se utiliza es una tarjeta de PC (con una interfaz OHCI-USB interna, detrás de
la cual se encuentra la interfaz GSM), fabricada por Option Inc.Algunos de los dispositivos de "un puerto" en realidad exhiben múltiples instancias USB en el bus USB. Esto no es un error, estos puertos se utilizan para diferentes funciones del dispositivo.