`modprobe option` は何をしますか?

`modprobe option` は何をしますか?

Ubuntu を実行している Beagle Bone Black で NovAtel USB セル モデムを有効にするスクリプトで、次の行を見つけました。

/sbin/modprobe option

マニュアル ページを見るとmodprobe、オプションについてはたくさん書かれていますが (s に注意)、単一のoption 引数については何も書かれていません。 というモジュールoptionか何かがあるのでしょうか? それとも、モデムをセットアップするために引き起こされる他の副作用があるのでしょうか?

答え1

まったくその通りです。カーネル構成パラメータによって制御されるmodprobe optionモジュールをロードしようとします。optionUSB_SERIAL_OPTION

さらに詳しい情報はカーネルソース(drivers/usb/serial/Kconfig)に記載されています。

USB_SERIAL_OPTIONの設定
        tristate「GSM および CDMA モデム用 USB ドライバ」
        (...)
          このドライバは、
        内蔵 OHCI-USB アダプタと内部接続された GSM モデム。
        これらのカードの USB バスには外部からアクセスできません。
          サポートされているデバイスには、次のメーカーのデバイス(の一部?)が含まれます。
        Option、Huawei、Audiovox、Novatel Wireless、または Anydata。
        (...)
          このドライバーがデバイスを認識しない場合は、
        FTDI_SIO ドライバー経由でアクセスできる可能性があります。

これを追跡する方法:

  1. そのようなカーネル モジュールがあるかどうかを確認します (これは、カーネル構成で有効になっている場合にのみ機能します)

    $ find /lib/modules -name option.ko
    /lib/modules/kernel/drivers/usb/serial/option.ko
    
  2. あるいは、モジュールがロードされるかどうか試すこともできます

    # modprobe option
    # lsmod | grep option
    option                 33128  0 
    usb_wwan               13044  1 option
    usbserial              23912  2 option,usb_wwan
    
  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
    

    おっしゃるとおり、モジュールは USB モデムと関係があるので、2 番目の一致は有望に思えます。

  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
    

    さて、/usr/src/linux/drivers/usb/serial/Kconfig冒頭で引用した説明を見てみます。

  5. 最後に、ソース自体(.../drivers/usb/serial/option.c)を見てみましょう。ほら他にもいろいろあります著者による名前の説明

    このドライバが存在するのは、「通常の」シリアル ドライバが GSM モデムでうまく動作しないためです。問題点:

    • データ損失 - 1つの受信URBではまったく不十分です
    • 非標準フロー(オプションデバイス)制御
    • ボーレートを制御するのは意味がない


      このドライバは、Option Inc. 製のPC カード (内部に OHCI-USB インタフェースがあり、
      その背後に GSM インタフェースがある)に使用されることが多いため、「option」という名前が付けられています。

      一部の「1 ポート」デバイスは、実際には USB バス上に複数の USB インスタンスを表示します。これはバグではなく、これらのポートはさまざまなデバイス機能に使用されます。

関連情報