What does `modprobe option` do?
Solution 1:
You are absolutely right, modprobe option
does attempt to load the module option
, controlled by the kernel config parameter USB_SERIAL_OPTION
.
Some more informations are found in the kernel sources (drivers/usb/serial/Kconfig
)
config USB_SERIAL_OPTION tristate "USB driver for GSM and CDMA modems" (...) This driver also supports several PCMCIA cards which have a built-in OHCI-USB adapter and an internally-connected GSM modem. The USB bus on these cards is not accessible externally. Supported devices include (some of?) those made by: Option, Huawei, Audiovox, Novatel Wireless, or Anydata. (...) If this driver doesn't recognize your device, it might be accessible via the FTDI_SIO driver.
How to track this down:
-
Check, if you have such a kernel module (this is only working, if it's enabled in your kernel config)
$ find /lib/modules -name option.ko /lib/modules/kernel/drivers/usb/serial/option.ko
-
Alternatively, you can try if the module loads
# modprobe option # lsmod | grep option option 33128 0 usb_wwan 13044 1 option usbserial 23912 2 option,usb_wwan
-
Now, you can try to find the source files (this only works if the module is included in your current kernel sources)
$ 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
You mentioned, the module has something todo with a USB modem, so the second match sounds promising.
-
You can also find the kernel config parameter
$ 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
Now, you can have a look at
/usr/src/linux/drivers/usb/serial/Kconfig
and find the description I quoted at the beginning. -
Finally, have a look at the source itself (
.../drivers/usb/serial/option.c
), and voilà you find among other things the author's explanation of the nameThis driver exists because the "normal" serial driver doesn't work too well with GSM modems. Issues:
- data loss -- one single Receive URB is not nearly enough
- nonstandard flow (Option devices) control
-
controlling the baud rate doesn't make sense
This driver is named "option" because the most common device it's
used for is a PC-Card (with an internal OHCI-USB interface, behind
which the GSM interface sits), made by Option Inc.Some of the "one port" devices actually exhibit multiple USB instances on the USB bus. This is not a bug, these ports are used for different device features.