Was macht die modprobe Option?

5212
Travis Griggs

In einem Skript zum Aktivieren eines NovAtel USB-Zellmodems auf einem Beagle Bone Black mit Ubuntu habe ich folgende Zeile gesehen:

/sbin/modprobe option 

Ich habe mir die modprobeManpage angesehen, sie sagt viel über Optionen aus (beachten Sie die s), aber nichts über ein einziges option Argument. Gibt es ein Modul optionoder so etwas? Oder hat das einen anderen Nebeneffekt, der das Modem einrichten soll?

6

1 Antwort auf die Frage

7
mpy

Sie haben absolut Recht, modprobe optionversuchen das Modul zu laden option, gesteuert durch den Konfigurationsparameter des Kernels USB_SERIAL_OPTION.

Weitere Informationen finden Sie in den Kernel-Quellen ( drivers/usb/serial/Kconfig).

config USB_SERIAL_OPTION Tristate "USB-Treiber für GSM- und CDMA-Modems" (...) Dieser Treiber unterstützt auch mehrere PCMCIA-Karten mit einem eingebauter OHCI-USB-Adapter und ein intern angeschlossenes GSM-Modem. Der USB-Bus dieser Karten ist nicht extern zugänglich. Zu den unterstützten Geräten zählen (einige?) Option, Huawei, Audiovox, Novatel Wireless oder Anydata. (...) Wenn dieser Treiber Ihr Gerät nicht erkennt, Möglicherweise ist es über den FTDI_SIO-Treiber erreichbar. 

So finden Sie das heraus:

  1. Prüfen Sie, ob Sie über ein solches Kernel-Modul verfügen (dies funktioniert nur, wenn es in Ihrer Kernel-Konfiguration aktiviert ist).

    $ find /lib/modules -name option.ko /lib/modules/kernel/drivers/usb/serial/option.ko 
  2. Alternativ können Sie versuchen, ob das Modul geladen wird

    # modprobe option # lsmod | grep option option 33128 0  usb_wwan 13044 1 option usbserial 23912 2 option,usb_wwan 
  3. Jetzt können Sie versuchen, die Quelldateien zu finden (dies funktioniert nur, wenn das Modul in Ihren aktuellen Kernel-Quellen enthalten ist).

    $ 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 

    Sie sagten, das Modul hat etwas mit einem USB-Modem zu tun, daher klingt das zweite Match vielversprechend.

  4. Sie können auch den Kernel-Konfigurationsparameter finden

    $ 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 

    Nun können Sie /usr/src/linux/drivers/usb/serial/Kconfigdie Beschreibung, die ich am Anfang zitiert habe, anschauen und finden.

  5. Schauen Sie sich schließlich die Quelle selbst an ( .../drivers/usb/serial/option.c) und voilà finden Sie unter anderem die Erklärung des Autors über den Namen

    Dieser Treiber existiert, weil der "normale" serielle Treiber mit GSM-Modems nicht gut funktioniert. Probleme:

    • Datenverlust - eine einzige Empfangs-URB reicht bei weitem nicht aus
    • nicht standardmäßige Flusssteuerung (Option Geräte)
    • Die Steuerung der Baudrate ist nicht sinnvoll

      Dieser Treiber wird als "Option" bezeichnet, da das am häufigsten verwendete Gerät
      eine PC-Card (mit interner OHCI-USB-Schnittstelle, hinter
      der die GSM-Schnittstelle sitzt) von Option Inc. hergestellt wird.

      Einige der "Ein-Port" -Geräte weisen tatsächlich mehrere USB-Instanzen auf dem USB-Bus auf. Dies ist kein Fehler, diese Ports werden für verschiedene Gerätefunktionen verwendet.

Tolle. Und niemand hielt inne, um zu denken: "Ich frage mich, ob ein Modul mit dem Namen" Option "die Leute nicht verwirren kann." Vielen Dank! Travis Griggs vor 10 Jahren 2
@TravisGriggs Ich erweiterte meine Antwort um eine Anleitung, wie man solche Fragen aufspüren kann (,, Gib einem Mann einen Fisch und er wird für einen Tag essen. Bringe einem Mann das Fischen bei und er wird für den Rest seines Lebens essen. '') und eine Erklärung für den Namen. TL; DR: Sie sollten nicht dem Autor des Moduls die Schuld geben, sondern der Firma, die sich _Option_ `;)` nennt. mpy vor 10 Jahren 0
So wertvolle Dinge hier gelernt! Can Tecim vor 5 Jahren 0