`modprobe option` 有什么作用?

Tra*_*ggs 9 linux modprobe

在运行 Ubuntu 的 Beagle Bone Black 上启用 NovAtel USB 蜂窝调制解调器的脚本中,我看到了这一行:

/sbin/modprobe option
Run Code Online (Sandbox Code Playgroud)

我查看了modprobe手册页,它说了很多关于选项的内容(注意 s),但没有关于单一option 论点。有没有叫的模块之类的option??或者这对他们设置调制解调器是否有其他副作用?

mpy*_*mpy 11

您说得对,modprobe option确实尝试加载option由内核配置参数控制的模块USB_SERIAL_OPTION

在内核源代码中可以找到更多信息 ( drivers/usb/serial/Kconfig)

配置 USB_SERIAL_OPTION
        三态“用于 GSM 和 CDMA 调制解调器的 USB 驱动程序”
        (……)
          该驱动程序还支持多种具有
        内置 OHCI-USB 适配器和内部连接的 GSM 调制解调器。
        这些卡上的 USB 总线无法从外部访问。
          支持的设备包括(一些?)由以下制造商制造的设备:
        选项、Huawei、Audiovox、Novatel Wireless 或 Anydata。
        (……)
          如果此驱动程序无法识别您的设备,
        它可以通过 FTDI_SIO 驱动程序访问。

如何追踪:

  1. 检查,如果你有这样的内核模块(这只有在你的内核配置中启用时才有效)

    $ find /lib/modules -name option.ko
    /lib/modules/kernel/drivers/usb/serial/option.ko
    
    Run Code Online (Sandbox Code Playgroud)
  2. 或者,您可以尝试是否加载模块

    # modprobe option
    # lsmod | grep option
    option                 33128  0 
    usb_wwan               13044  1 option
    usbserial              23912  2 option,usb_wwan
    
    Run Code Online (Sandbox Code Playgroud)
  3. 现在,您可以尝试查找源文件(这仅在模块包含在您当前的内核源代码中时才有效)

    $ 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
    
    Run Code Online (Sandbox Code Playgroud)

    您提到过,该模块与 USB 调制解调器有关,因此第二个匹配听起来很有希望。

  4. 您还可以找到内核配置参数

    $ 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
    
    Run Code Online (Sandbox Code Playgroud)

    现在,您可以查看/usr/src/linux/drivers/usb/serial/Kconfig并找到我在开头引用的描述。

  5. 最后,看看源本身(.../drivers/usb/serial/option.c),和你除其他事项外找到了作者的名字的解释

    之所以存在此驱动程序,是因为“普通”串行驱动程序与 GSM 调制解调器不能很好地配合使用。问题:

    • 数据丢失——单个接收 URB 还不够
    • 非标准流量(可选设备)控制
    • 控制波特率没有意义

      这个驱动程序被命名为“option”,因为它最常用的设备

      由 Option Inc. 制造的 PC 卡(带有内部 OHCI-USB 接口,GSM 接口位于其后面)。

      一些“单端口”设备实际上在 USB 总线上表现出多个 USB 实例。这不是错误,这些端口用于不同的设备功能。

  • 惊人的。没有人停下来想,“我想知道是否有一个名为 option 的模块,不会让人们感到困惑。” 谢谢! (5认同)