Page 1 sur 1
[gestion périphériques] Désactiver un périphérique ?
Publié : jeu. 29 mars 2012, 12:39
par esclapion
Bonjour à tous,
(semi-débutant)
Je cherche depuis deux jours au moins le moyen de le faire. J'ai notamment par exemple du
bluetooth, du
firewire, du
Hauppauge, un combo 5 en 1, dont je ne me sers jamais et qui me consomment des ressources.
Sous un "Os Alternatif" (

), il me suffit de faire un clic droit dessus dans le gestionnaire de périphériques, désactiver.
Je n'ai pas besoin d'un truc aussi simple, mais ce que je souhaiterais, c'est mettre ces périphériques hors-jeu.
D'après mes recherches, je pourrais peut-être bloquer leur module de gestion, mais ça ne me paraît pas très sain comme méthode.
Mon rêve, ce serait de pouvoir indiquer au sytème de ne pas s'en occuper à priori.
Je suis aussi intéressé par toute méthodologie permettant des les identifier précisément, car ce n'est pas simple de les repérer par
dmesg ou lspci.
Merci d'avance.
Re: [gestion périphériques] Désactiver un périphérique ?
Publié : jeu. 29 mars 2012, 13:18
par tuxce
Salut, pour avoir le même effet que la désactivation depuis le gestionnaire de périphériques, il faudrait décharger les modules (après avoir arrêter les services etc.)
Tu peux avoir la liste des modules utilisés par l'usb avec une commande du genre:
Code : Tout sélectionner
find /sys/bus/usb -iname 'module' -exec readlink -f {} \; | xargs -n 1 basename | sort -u
(il doit y avoir plus simple, mais bon ...)
Par contre, il faut pas décharger n'importe quel module:
Code : Tout sélectionner
$ find /sys/bus/usb -iname 'module' -exec readlink -f {} \; | xargs -n 1 basename | sort -u
btusb
usbcore
usbhid
uvcvideo
Là par exemple, j'ai le bluetooth (btusb), une caméra (uvcvideo), usbcore est le gestionnaire de l'usb, et usbhid me permet d'utiliser par exemple mon clavier/souris.
Pour les modules des périphériques pci:
Mais pour des trucs comme le bluetooth, il y a bien plus simple ... Un environnement de bureau tel que gnome te permet de le désactiver, sinon, il se peut que tu ais un interrupteur matériel pour le faire ou encore en utilisant rfkill:
Code : Tout sélectionner
$ rfkill list
0: dell-wifi: Wireless LAN
Soft blocked: no
Hard blocked: no
1: dell-bluetooth: Bluetooth
Soft blocked: no
Hard blocked: no
2: phy0: Wireless LAN
Soft blocked: no
Hard blocked: no
6: hci0: Bluetooth
Soft blocked: no
Hard blocked: no
$ rfkill block 6
$ rfkill list 6
6: hci0: Bluetooth
Soft blocked: yes
Hard blocked: no
Pour des trucs moins
standard, tout dépend de ce qu'ils te permettent de faire (et c'est souvent selon ce que l'auteur du pilote du noyau a pu découvrir dessus).
Re: [gestion périphériques] Désactiver un périphérique ?
Publié : jeu. 29 mars 2012, 13:25
par FoolEcho
esclapion a écrit :D'après mes recherches, je pourrais peut-être bloquer leur module de gestion, mais ça ne me paraît pas très sain comme méthode.
Pourquoi donc ? C'est la façon de faire.
Tu blacklistes tel ou tel module dans un /etc/modprobe.conf/blacklist.conf par exemple:
Tu peux aussi les désactiver complétement avec install, mais c'est là où ça peut être problématique en fait, car un autre périphérique peut avoir besoin dudit module et ne pourra pas se charger automatiquement non plus... donc tiens-toi plutôt au simple blacklist (ça te permettra de charger le module manuellement au besoin):
http://archlinux.fr/news/changement-pou ... -un-module
esclapion a écrit :e suis aussi intéressé par toute méthodologie permettant des les identifier précisément, car ce n'est pas simple de les repérer par dmesg ou lspci.
hwinfo est plus intéressant dans la mesure où tu peux justement être plus spécifique dans la recherche de matériel (voir
hwinfo --help
). Il t'indiquera le(s) module(s) utile(s):
hwinfo --usb
,
hwinfo --bluetooth
, etc..
Re: [gestion périphériques] Désactiver un périphérique ?
Publié : jeu. 29 mars 2012, 13:29
par esclapion
Merci, je suis toujours admiratif devant tes réponses.
J'ai oublié de préciser que je suis sous Cinnamon (donc Gnome3).
Sinon, j'ai une tour HP Elite, sans switch (du moins que j'aie repéré).
Code : Tout sélectionner
find /sys/bus/usb -iname 'module' -exec readlink -f {} \; | xargs -n 1 basename | sort -u
snd_usb_audio
uas
usbcore
usbhid
usb_storage
uvcvideo
[root@arch pat]#
J'avais sinon trouvé
rfkill, mais ça ne me donne pas grand-chose :
Code : Tout sélectionner
rfkill list
0: phy0: Wireless LAN
Soft blocked: no
Hard blocked: no
Malgré tout, comme j'ai à la fois la liaison par RJ45 et par Wifi, il serait intéressant de pouvoir désactiver ce dernier.
Re: [gestion périphériques] Désactiver un périphérique ?
Publié : jeu. 29 mars 2012, 13:33
par esclapion
Pourquoi donc ? C'est la façon de faire.
Tu blacklistes tel ou tel module dans un /etc/modprobe.conf/blacklist.conf par exemple:
blacklist le_module
Parce que mon journal devient une poubelle

, et que je ne suis pas sûr que ce soit gratuit en ressources. Un extrait :
Code : Tout sélectionner
7.039542] cx23885[0]: Here is a list of valid choices for the card=<n> insmod option:
[ 7.039543] cx23885[0]: card=0 -> UNKNOWN/GENERIC
[ 7.039544] cx23885[0]: card=1 -> Hauppauge WinTV-HVR1800lp
[ 7.039546] cx23885[0]: card=2 -> Hauppauge WinTV-HVR1800
[ 7.039547] cx23885[0]: card=3 -> Hauppauge WinTV-HVR1250
[ 7.039548] cx23885[0]: card=4 -> DViCO FusionHDTV5 Express
[ 7.039550] cx23885[0]: card=5 -> Hauppauge WinTV-HVR1500Q
[ 7.039551] cx23885[0]: card=6 -> Hauppauge WinTV-HVR1500
[ 7.039552] cx23885[0]: card=7 -> Hauppauge WinTV-HVR1200
[ 7.039554] cx23885[0]: card=8 -> Hauppauge WinTV-HVR1700
[ 7.039555] cx23885[0]: card=9 -> Hauppauge WinTV-HVR1400
[ 7.039556] cx23885[0]: card=10 -> DViCO FusionHDTV7 Dual Express
[ 7.039558] cx23885[0]: card=11 -> DViCO FusionHDTV DVB-T Dual Express
[ 7.039559] cx23885[0]: card=12 -> Leadtek Winfast PxDVR3200 H
[ 7.039560] cx23885[0]: card=13 -> Compro VideoMate E650F
[ 7.039562] cx23885[0]: card=14 -> TurboSight TBS 6920
[ 7.039563] cx23885[0]: card=15 -> TeVii S470
[ 7.039564] cx23885[0]: card=16 -> DVBWorld DVB-S2 2005
[ 7.039565] cx23885[0]: card=17 -> NetUP Dual DVB-S2 CI
[ 7.039567] cx23885[0]: card=18 -> Hauppauge WinTV-HVR1270
[ 7.039568] cx23885[0]: card=19 -> Hauppauge WinTV-HVR1275
[ 7.039569] cx23885[0]: card=20 -> Hauppauge WinTV-HVR1255
[ 7.039571] cx23885[0]: card=21 -> Hauppauge WinTV-HVR1210
[ 7.039572] cx23885[0]: card=22 -> Mygica X8506 DMB-TH
[ 7.039573] cx23885[0]: card=23 -> Magic-Pro ProHDTV Extreme 2
[ 7.039574] cx23885[0]: card=24 -> Hauppauge WinTV-HVR1850
[ 7.039576] cx23885[0]: card=25 -> Compro VideoMate E800
[ 7.039577] cx23885[0]: card=26 -> Hauppauge WinTV-HVR1290
[ 7.039578] cx23885[0]: card=27 -> Mygica X8558 PRO DMB-TH
[ 7.039580] cx23885[0]: card=28 -> LEADTEK WinFast PxTV1200
[ 7.039581] cx23885[0]: card=29 -> GoTView X5 3D Hybrid
[ 7.039582] cx23885[0]: card=30 -> NetUP Dual DVB-T/C-CI RF
[ 7.039584] cx23885[0]: card=31 -> Leadtek Winfast PxDVR3200 H XC4000
[ 7.039585] cx23885[0]: card=32 -> MPX-885
[ 7.039867] CORE cx23885[0]: subsystem: 1461:e139, board: UNKNOWN/GENERIC [card=0,autodetected]
[ 7.057246] firewire_ohci: Added fw-ohci device 0000:03:00.0, OHCI v1.10, 4 I
Tout ça pour des périphériques dont je ne me sers jamais. Ça masque les trucs intéressants.
Re: [gestion périphériques] Désactiver un périphérique ?
Publié : jeu. 29 mars 2012, 13:55
par esclapion
Re,
hwinfo est intéressant, mais très (trop ?) détaillé. Avec
--short, c'est déjà plus lisible (bizarrement, je n'ai pas le man en ligne).
Un extrait :
disk:
/dev/sda OCZ-AGILITY3
/dev/sdb ST31000528AS
/dev/sdc ST31000528AS
/dev/sde Generic Compact Flash
/dev/sdd WD Ext HDD 1021
/dev/sdf Generic SM/xD-Picture
/dev/sdg Generic SD/MMC
/dev/sdh Generic MS/MS-Pro
Si par exemple, je veux désactiver ceux en gras, en pratique -> ???
Re: [gestion périphériques] Désactiver un périphérique ?
Publié : jeu. 29 mars 2012, 14:13
par tuxce
esclapion a écrit :
Parce que mon journal devient une poubelle

, et que je ne suis pas sûr que ce soit gratuit en ressources. Un extrait :
J'ai pas bien saisi. Si tu blacklist le module, il ne se chargera pas (ou alors, c'est qu'il l'a été par le biais d'un autre et qu'en fait c'est ce dernier qu'il fallait blacklister) et donc ne produira aucun message.
esclapion a écrit :Si par exemple, je veux désactiver ceux en gras, en pratique -> ???
J'imagine que les 4 sont un seul périphérique. Il faudrait l'isoler et en blacklister le module.
Sans le short, tu devrais avoir le module, par exemple:
Code : Tout sélectionner
30: None 00.0: 10600 Disk
[Created at block.245]
Unique ID: HAKk.Fxp0d3BezAE
Parent ID: pLqc.AZxnINYsvA6
SysFS ID: /class/block/mmcblk0
SysFS BusID: mmc0:7984
SysFS Device Link: /devices/pci0000:00/0000:00:1e.0/0000:03:01.1/mmc_host/mmc0/mmc0:7984
Hardware Class: disk
Model: "Disk"
Driver: "sdhci-pci", "mmcblk"
Driver Modules: #####"sdhci_pci"#####
Device File: /dev/mmcblk0
Device Files: /dev/mmcblk0, /dev/disk/by-id/mmc-SD04G_0xb1d9e937, /dev/disk/by-path/pci-0000:03:01.1
Device Number: block 179:0-179:7
Drive status: no medium
Config Status: cfg=new, avail=yes, need=no, active=unknown
Attached to: #25 (SD Host controller)
ou par lspci:
Code : Tout sélectionner
03:01.1 SD Host controller: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 22)
Subsystem: Dell Device 0209
Kernel driver in use: sdhci-pci
(Sinon, je suis pas sûr qu'un lecteur non utilisé consomme tant d'énergie, si ?)
Re: [gestion périphériques] Désactiver un périphérique ?
Publié : jeu. 29 mars 2012, 14:18
par FoolEcho
Tu n'auras pas assez d'info, mais tu peux affiner les options (y a pas de man, mais y en a pas besoin: --help).
Par exemple pour:
Tu dois pouvoir obtenir les infos spécifiques avec:
(ou même:
hwinfo --disk --only /dev/sde --only /dev/sdf --only /dev/sdg --only /dev/sdh
)
Exemple (à adapter): j'imagine qu'au niveau module, tu devrais retrouver usb_storage et sd (mais pas forcément...)... Barrer le premier n'est pas trop une bonne idée car utile à d'autres choses, par contre tu dois pouvoir blacklister sd (c'est peut-être sd_mod par contre).
... bon, heu, grillé en partie (encore).
tuxce a écrit :(Sinon, je suis pas sûr qu'un lecteur non utilisé consomme tant d'énergie, si ?)
Je ne pense pas non plus.
Aussi, ne fais pas plusieurs messages à la file (ça agace, particulièrement à peu de temps d'intervalle

), édites plutôt ou fais un gros message avec toutes les questions/infos utiles/nouveaux.

Re: [gestion périphériques] Désactiver un périphérique ?
Publié : jeu. 29 mars 2012, 14:43
par esclapion
Aussi, ne fais pas plusieurs messages à la file (ça agace, particulièrement à peu de temps d'intervalle ), édites plutôt ou fais un gros message avec toutes les questions/infos utiles/nouveaux.
Ben oui, mais si je mélange les réponses à deux interlocuteurs, il va falloir trier.
J'ai sinon essayé sur
/dev/sde :
Code : Tout sélectionner
47: SCSI 600.0: 10600 Disk
[Created at block.256]
Unique ID: lfzD.0S2r_HOfOj8
Parent ID: pwJ7.mfdBQdURql7
SysFS ID: /class/block/sde
SysFS BusID: 6:0:0:0
SysFS Device Link: /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.1/1-1.1:1.0/host6/target6:0:0/6:0:0:0
Hardware Class: disk
Model: "Generic Compact Flash"
Vendor: usb 0x0bda "Generic-"
Device: usb 0x0151 "Compact Flash"
Revision: "1.00"
Serial ID: "20060413092100000"
Driver: "usb-storage", "sd"
Driver Modules: "usb_storage"
Device File: /dev/sde (/dev/sg5)
Device Files: /dev/sde, /dev/disk/by-id/usb-Generic-_Compact_Flash_20060413092100000-0:0, /dev/disk/by-path/pci-0000:00:1a.0-usb-0:1.1:1.0-scsi-0:0:0:0
Device Number: block 8:64-8:79 (char 21:5)
Speed: 480 Mbps
Module Alias: "usb:v0BDAp0151d5195dc00dsc00dp00ic08isc06ip50"
Driver Info #0:
Driver Status: uas is active
Driver Activation Cmd: "modprobe uas"
Driver Info #1:
Driver Status: usb_storage is active
Driver Activation Cmd: "modprobe usb_storage"
Drive status: no medium
Config Status: cfg=new, avail=yes, need=no, active=unknown
Attached to: #11 (USB Controller)
Et il y a de tout, pas facile à décoder. Je ne peux pas virer "usb_storage", je pense, car j'ai une clé USB.
sd me paraîtraît plus sympa, à blacklister ? Ou c'est
uas (pour ce que c'est)?
Sinon, ce n'est pas une question de consommation d'énergie, plutôt de simplification du système.
Re: [gestion périphériques] Désactiver un périphérique ?
Publié : jeu. 29 mars 2012, 14:48
par benjarobin
esclapion a écrit :simplification du système.

Je trouve que c'est se prendre la tête pour pas grand chose et je ne vois pas comment cela peut être une simplification, c'est tout le contraire, tu auras une usine à gaz et quand cela ne fonctionnera plus tu te demanderas pourquoi...
Re: [gestion périphériques] Désactiver un périphérique ?
Publié : jeu. 29 mars 2012, 14:52
par FoolEcho
esclapion a écrit :sd me paraîtraît plus sympa, à blacklister ? Ou c'est uas (pour ce que c'est)?
sd_mod au moins... uas aussi, peut-être (je ne sais pas ce que c'est et
modinfo
ne le dit pas

).
esclapion a écrit :Sinon, ce n'est pas une question de consommation d'énergie, plutôt de simplification du système.
+1 avec benjarobin. C'est plus simple de tout garder.
esclapion a écrit :Ben oui, mais si je mélange les réponses à deux interlocuteurs, il va falloir trier.
Ben non, car tu peux citer qui a dit quoi (faut juste citer à partir de la partie du message qui t'intéresse ou en rajoutant quote="untel").

Re: [gestion périphériques] Désactiver un périphérique ?
Publié : jeu. 29 mars 2012, 14:59
par esclapion
modinfo ne le dit pas ).
Connaissais pas, merci. Par contre, en déduire ce que ça peut être :
Code : Tout sélectionner
filename: /lib/modules/3.2.13-1-ARCH/kernel/drivers/usb/storage/uas.ko.gz
author: Matthew Wilcox and Sarah Sharp
license: GPL
alias: usb:v*p*d*dc*dsc*dp*ic08isc06ipAA*
alias: usb:v*p*d*dc*dsc*dp*ic08isc06ip62*
alias: usb:v*p*d*dc*dsc*dp*ic08isc06ip50*
depends: usbcore,scsi_mod
intree: Y
vermagic: 3.2.13-1-ARCH SMP preempt mod_unload modversions
Re: [gestion périphériques] Désactiver un périphérique ?
Publié : jeu. 29 mars 2012, 15:12
par esclapion
Le blacklist fonctionne bien, mais ce n'était pas tout à fait ce que je cherchais :
hwinfo --disk --only /dev/sde
48: SCSI 600.0: 10600 Disk
[Created at block.256]
Unique ID: lfzD.0S2r_HOfOj8
Parent ID: pwJ7.mfdBQdURql7
SysFS ID: /class/block/sde
SysFS BusID: 6:0:0:0
SysFS Device Link: /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.1/1-1.1:1.0/host6/target6:0:0/6:0:0:0
Hardware Class: disk
Model: "Generic Compact Flash"
Vendor: usb 0x0bda "Generic-"
Device: usb 0x0151 "Compact Flash"
Revision: "1.00"
Serial ID: "20060413092100000"
Driver: "usb-storage", "sd"
Driver Modules: "usb_storage"
Device File: /dev/sde
Device Files: /dev/sde, /dev/disk/by-id/usb-Generic-_Compact_Flash_20060413092100000-0:0, /dev/disk/by-path/pci-0000:00:1a.0-usb-0:1.1:1.0-scsi-0:0:0:0
Device Number: block 8:64-8:79
Speed: 480 Mbps
Module Alias: "usb:v0BDAp0151d5195dc00dsc00dp00ic08isc06ip50"
Driver Info #0:
Driver Status: uas is not active
Driver Activation Cmd: "modprobe uas"
Driver Info #1:
Driver Status: usb_storage is active
Driver Activation Cmd: "modprobe usb_storage"
Drive status: no medium
Config Status: cfg=new, avail=yes, need=no, active=unknown
Attached to: #11 (USB Controller)
Re: [gestion périphériques] Désactiver un périphérique ?
Publié : jeu. 29 mars 2012, 15:29
par FoolEcho
Et ? Si tu ne peux plus utiliser ce matériel, je ne vois pas ce que tu veux de plus (en clair: hwinfo, lsusb/lspci et cie ne font que lister ce que le système a détecté, ce qui ne veut pas dire que le matériel est actif).

Re: [gestion périphériques] Désactiver un périphérique? [Rés
Publié : jeu. 29 mars 2012, 15:37
par esclapion
Oui, tu as raison. Merci, je passe en résolu.
Mais j'aurais préféré que le système s'en désintéresse à priori, mais bon, si ça n'est pas possible...
Re: [gestion périphériques] Désactiver un périphérique ?
Publié : jeu. 29 mars 2012, 15:48
par FoolEcho
Tout comme nous, le système n'a pas de boule de cristal: un module pouvant servir à tel ou truc, pour se désintéresser d'un matériel, il faut bien qu'il regarde de quoi il s'agit et ce dont il pourrait avoir besoin (ce que doit faire le gestionnaire de périphériques sous windows, j'imagine: si actif, je le montre ; si désactivé, je peux ne pas le montrer).
