Question Le module du noyau se charge automatiquement


Quand je fais rmmod usb_storage et alors dmesg Je peux voir la sortie en disant usb_storage désenregistré. Mais quand je connecte un lecteur flash puis dmesg , ça dit

Initializing USB Mass Storage driver...
[16565.129239] scsi41 : usb-storage 1-1:1.0
[16565.130134] usbcore: registered new interface driver usb-storage
[16565.130172] USB Mass Storage support registered.

Je ne comprends pas comment est-il automatiquement chargé?


2
2018-03-28 04:42


origine




Réponses:


Dans le noyau Linux, le chargeur de module est réveillé lorsqu'un nouveau périphérique est détecté. C'est passé un "modalias"chaîne, qui identifie le périphérique et ressemble à ceci pour les périphériques USB:

usb:v058Fp6387d0103dc00dsc00dp00ic08isc06ip50in00

Vous pouvez trouver votre appareil modalias en utilisant la commande suivante:

udevadm info --export-db

Ceci est la section liée à ma clé USB:

P: /devices/pci0000:00/0000:00:14.0/usb3/3-2/3-2:1.0
E: DEVPATH=/devices/pci0000:00/0000:00:14.0/usb3/3-2/3-2:1.0
E: DEVTYPE=usb_interface
E: DRIVER=usb-storage
E: ID_MODEL_FROM_DATABASE=Flash Drive
E: ID_VENDOR_FROM_DATABASE=Alcor Micro Corp.
E: INTERFACE=8/6/80
E: MODALIAS=usb:v058Fp6387d0103dc00dsc00dp00ic08isc06ip50in00
E: PRODUCT=58f/6387/103
E: SUBSYSTEM=usb
E: TYPE=0/0/0
E: USEC_INITIALIZED=530904794

Cette chaîne contient la classe de périphérique (usb) et des informations spécifiques à la classe (fournisseur / produit / numéro de série, classe d'appareil, etc.). Chaque pilote du noyau contient une ligne telle que:

MODULE_ALIAS("usb:...")

Qui doit correspondre aux usbalias (les caractères génériques sont utilisés pour correspondre à plusieurs dispositifs). Si le modalias correspond à celui que le pilote prend en charge, ce pilote est chargé (ou notifié du nouvel appareil, s'il existe déjà).

Vous pouvez voir les périphériques supportés (par modalias) et leurs modules associés avec

more /lib/modules/`uname -r`/modules.alias

Si vous recherchez le pilote de périphérique de stockage USB, vous verrez qu'il en a les périphériques spécifiques qu’il prend en charge par l’ID du fournisseur et de l’appareil, et tentera également pour prendre en charge n'importe quel périphérique avec la bonne classe (de stockage), peu importe le fournisseur / appareil.

La source


2
2018-03-28 13:40



Alors, que faire si je veux désactiver le module? et l'activer manuellement quand je veux? Comment devrais-je faire ça? - akshay
Bienvenue sur Ask Ubuntu. Créez une nouvelle question pour couvrir ce sujet s'il vous plaît. En répondant à votre demande initiale, veuillez voter et accepter ma réponse (voir askubuntu.com/help/someone-answers). Merci - Sylvain Pineau
J'ai édité le que. S'il vous plaît pouvez-vous m'aider ici? - akshay
Désolé, vous ne devriez pas étendre la portée de votre question initiale. Veuillez ouvrir un second (avec éventuellement un lien vers celui-ci). Vous trouverez toujours des personnes prêtes à répondre sur Ask Ubuntu. - Sylvain Pineau
Avec votre niveau de réputation, vous pouvez également voter sur ma réponse, cliquez simplement sur la marque (^) au-dessus du 0 s'il vous plaît. - Sylvain Pineau