[rmmod et device busy] comment bourriner ?

comment bourriner ? [rmmod et device busy] - Installation - Linux et OS Alternatifs

Marsh Posté le 14-01-2003 à 00:47:04    

hello
j'ai souvent des problèmes avec certains périphériques et la seule façon de contrer ce problème c'est en déloadant reloadant les modules ... donc souvent j'aime bien faire rmmod le_module mais souvent il me dit Device or ressource busy, et du coup la seule façon pitoyable de m'en sortir est e faire un reboot :( or on m'a toujours dit qu'il était inutile de rebooter un linux que tu pouvais tout faire depuis le bash.. mais là je vois vraiment pas comment faire :(
 
par exemple: j'essaye de mettre des nouveaus modules de son, ok ...
 


[root@kpoman:/etc/runlevels/default]$ lsmod
Module                  Size  Used by    Tainted: P  
NVdriver             1066592  10  (autoclean)
hid                    16868   0  (unused)
input                   3200   0  [hid]
tuner                   8416   1  (autoclean)
tvaudio                11036   0  (autoclean) (unused)
bttv                   62912   0  (unused)
videodev                5440   2  [bttv]
i2c-algo-bit            6568   1  [bttv]
i2c-core               11908   0  [tuner tvaudio bttv i2c-algo-bit]
emu10k1                55656   0  
ac97_codec              9288   0  [emu10k1]
sound                  51700   0  [emu10k1]
soundcore               3556   7  [emu10k1 sound]
usbvnet                68468   3  
vfat                   10492   1  (autoclean)
[root@kpoman:/etc/runlevels/default]$  
 


 
fo donc commencer par virer soundcore puis sound puis ac97 puis finalement emu10k1 ... mais déjà dès le départ il me dit impossible de décharger soundcore bin je me suis dit qu'il ya peut être une appli qui s'en sert ... j'ai fait donc fuser * dans /dev/sound/ j'ai killé l'application potentiellemnt emmerdante, mais même comme ça j'arrive pas à virer le border ... c très ennuyeux ça ... j'arrive pas à savoir USED BY qui ...
 
eske kelkun peut m'orienter SVP un peu pour pouvoir me débarasser de ces merdes et pouvoir recharger un module comme il faut ? :)
jai essayé aussi le rmmod -a mais ça marche pas :/
 
 
@ l'aide!!!

Reply

Marsh Posté le 14-01-2003 à 00:47:04   

Reply

Marsh Posté le 14-01-2003 à 01:34:40    

c plutot dans le sens inverse qu'il faut enlever les modules
emu10k1
ac97
sound
soundcore

Reply

Marsh Posté le 14-01-2003 à 01:46:48    

:D jcrois que t'as raison  :D en effet ça marche pour cet exemple là!  
par contra j'ai un autre truc avec lequel ça marche pas, c ma connexion réseau .... en fait j'arrive pas à savoir ou se trouve mon device, et donc je peux pas faire de fuser mon_device ... c une carte wireless en usb si ça peut aider ...quand je fais rmmod (quand elle est dans un état stupide), j'ai device busty, même si je lui fais un ifconfig eth0 down elle reste busy ... aurais tu une idée de comment retrouver ski l'utilise ? :)

Reply

Marsh Posté le 14-01-2003 à 18:00:22    

la question m'intéresse aussi, mais dans le cas où les modules sont dans un des ces 2 états : deleted ou initializing (ou initiating, je sais plus)
 
bref deleted je l'ai quand le rmmod s'est carrément gauffré (emu10k1 parfois le fait), sinon l'initializing quand le module est bon mais n'arrive pas à finir de se charger (genre bttv pour ma carte TV)

Reply

Marsh Posté le 20-01-2003 à 05:04:25    

un p'tit up
 
bttv encore planté en initializing
 
quelqu'un sait comment virer un module dans cette état ?

Reply

Marsh Posté le 20-01-2003 à 10:09:17    

J'ai déja eu le pb du module bloqué en "initialising" avec un modprobe manuel ...
Seule solution: charger le module automatiquement au démarrage du PC (mettre les noms des modules dans /etc/modules , sous Mandrake 9).
 
Par contre pour ce qui est du déchargement de module ...

Reply

Marsh Posté le 20-01-2003 à 10:20:34    

[Albator] a écrit :


Par contre pour ce qui est du déchargement de module ...

... reboot. C'est la seule solution que j'aie trouve pour ce probleme :/

Reply

Marsh Posté le 20-01-2003 à 10:30:29    

Il semblerait ke le prochain noyau (2.6) pourra résoudre ce pb, justement...

Reply

Marsh Posté le 20-01-2003 à 11:06:32    

oui, le 2.5 inclu le force unload, parce que là j'ai dû rebooter 5 fois une machines en testant les options du module bttv qui correspondaient le mieux à ma carte :sweat:

Reply

Marsh Posté le 20-01-2003 à 14:01:05    

et sinon, petêtre que c aussi important:
 
eskia un moyen de lister tout ce qui utilise un module en particulier ? par exemple quand il dit (Used by 2) eskil ya une façon de savoir quels sont ces fameux deux ?
car dans ce cas là, si c'était des applis, il suffirait de les tuer, et si c'était des modules dépendants, je les déchargerai avant via une ptite boucle récursive ...
bref c vachement important pour moi de savoir ça, car mon ordi malheuresement se disconnect du net et le seul moyen de le reconnecter c en déchargeant et rechargeant le module qui gère ma carte internet en particulier ....
 
 
 
@l'aide!!!!

Reply

Marsh Posté le 20-01-2003 à 14:01:05   

Reply

Marsh Posté le 20-01-2003 à 17:28:24    

as-tu essayé de killer le processus eth0 manuellement ?

Reply

Marsh Posté le 20-01-2003 à 17:53:02    

le processus eth0 ??? de quoi me parles tu ?
si tu parles de faire dhcpcd -k eth0 ou autre j'ai déjà essayé ...
mais ce que je cherche c de savoir qui c qu'utilise le module!!!

Reply

Marsh Posté le 20-01-2003 à 18:15:35    

ps aux | grep eth0
 
tu comprendras ;)

Reply

Marsh Posté le 20-01-2003 à 21:30:06    

BMOTheKiller a écrit :

ps aux | grep eth0
 
tu comprendras ;)  


 

[albator@atlantis albator]$ ps axu|grep eth0
albator   1926  0.0  0.0  1852  752 pts/2    S    21:32   0:00 grep eth0


 
Je comprends bien à quoi ça sert, mais je comprends pas l'utilité ???   :whistle:

Reply

Marsh Posté le 21-01-2003 à 01:41:42    

ah oki
 
bon je disais ça parce que ça aurait pu être une solution, chez moi ça donne ça :
 

Code :
  1. root  486  0.0  0.0     0    0 ?   SW   Jan16   0:00 [eth0]

Reply

Marsh Posté le 21-01-2003 à 02:07:48    

Pour les drivers ALSA, en arretant tout simplement ALSA, les modules s'enlèvent:
 
sous Debian:  /etc/init.d/alsa stop
 
 
Et pour le cas où les modules sont utilisés, il faut forcer tout ça en activant une option dans "/etc/alsa/alsa-base.conf"


# Uncomment if you always want to stop alsa modules forcibly in
# /etc/init.d/alsa stop or restart by killing all of running
# applications which use sound devices.
ALSA_KILL_MODE="force"


 
Sur Debian avec ALSA 0.9rc6.

Reply

Marsh Posté le 22-01-2003 à 00:16:53    

BMOTheKiller a écrit :

ps aux | grep eth0
 
tu comprendras ;)  


 
 


 
[root@kpoman:~]$ ps aux | grep eth0
root      8976  0.0  0.1  1416  476 pts/3    R    00:13   0:00 grep eth0
[root@kpoman:~]$  
[root@kpoman:~]$ ifconfig
eth0      Link encap:Ethernet  HWaddr 00:30:AB:1A:10:56  
          inet addr:192.168.0.3  Bcast:192.168.0.255  Mask:255.255.255.0
          UP BROADCAST NOTRAILERS RUNNING  MTU:1500  Metric:1
          RX packets:88761 errors:82406 dropped:4101 overruns:6 frame:175356
          TX packets:86085 errors:82406 dropped:4096 overruns:86564 carrier:169210
          collisions:82408 txqueuelen:100  
          RX bytes:19532970 (18.6 Mb)  TX bytes:9436077 (8.9 Mb)
 
lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:15574 errors:0 dropped:0 overruns:0 frame:0
          TX packets:15574 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0  
          RX bytes:105713688 (100.8 Mb)  TX bytes:105713688 (100.8 Mb)
 
[root@kpoman:~]$  
[root@kpoman:~]$ lsmod
Module                  Size  Used by    Tainted: P  
NVdriver             1066592  10  (autoclean)
hid                    16868   0  (unused)
input                   3200   0  [hid]
tuner                   8416   1  (autoclean)
tvaudio                11036   0  (autoclean) (unused)
bttv                   62912   0  (unused)
videodev                5440   2  [bttv]
i2c-algo-bit            6568   1  [bttv]
i2c-core               11908   0  [tuner tvaudio bttv i2c-algo-bit]
emu10k1                64776   2  
ac97_codec              9032   0  [emu10k1]
sound                  51700   0  [emu10k1]
soundcore               3556   7  [emu10k1 sound]
usbvnet                68468   3  
vfat                   10492   1  (autoclean)
[root@kpoman:~]$  
 


je comprends pas

Reply

Marsh Posté le 22-01-2003 à 12:20:13    

attends là, y a un soucis dans ton histoire, c'est quoi ta carte réseau "eth0" ? elle est sur usb ? si oui là je comprends mieux, sinon si c'est une carte pci, c'est normal que tu ne puisses pas décharger le module : c'est pas un module :D
 
edit : et si elle est sur usb (module usbvnet ?) tu ne pourras pas non plus le décharger vu qu'il te faudra sûrement d'abord démonter /proc/bus/usb


Message édité par BMOTheKiller le 22-01-2003 à 12:30:09
Reply

Marsh Posté le 22-01-2003 à 13:31:01    

Moi ce que je comprends pas, c'est à quoi correspond le processus [eth0] que tu as, et que je n'ai pas ? C'est un client dhcp ou quoi ?

Reply

Marsh Posté le 22-01-2003 à 13:42:07    

je sais pas à quoi il correspond exactement, ça m'indique juste que eth0 est up, sinon je suis en static, mais j'ai ça sur toutes les machines, sûrement une représentation du service network/eth0

Reply

Marsh Posté le 22-01-2003 à 14:57:01    

BMOTheKiller a écrit :

attends là, y a un soucis dans ton histoire, c'est quoi ta carte réseau "eth0" ? elle est sur usb ? si oui là je comprends mieux, sinon si c'est une carte pci, c'est normal que tu ne puisses pas décharger le module : c'est pas un module :D
 
edit : et si elle est sur usb (module usbvnet ?) tu ne pourras pas non plus le décharger vu qu'il te faudra sûrement d'abord démonter /proc/bus/usb


 
ouais c bel et bien usbvnet ma carte réseau ... c un module de driver GPL que j'ai du pomper car ma carte net wireless n'est pas encore supportée officiellement sous linux ...
ce que j'ai entendu c que HOTPLUG pouvait me sortir du pétrin ... as tu des infos à ce sujet ? sachant que j'ai déjà installé hotplug sur ma machine mais bon je sais pas comment le forcer à faire, par exemple un reset sur les devices pour pouvoir ainsi décharger le bordel

Reply

Marsh Posté le 22-01-2003 à 15:35:38    

répond au môssieur : ta carte est donc bien connectée sur un port usb ?
 
(ça va servir pour la suite)

Reply

Marsh Posté le 22-01-2003 à 15:41:17    

YES :) usbvnet... cune carte usb wireless, la Netgear MA101
rien qu'en démarrant l'ordinateur et en la mettant en marche elle devient used by 3
 
je veux trouver une astuce pour pouvoir lui faire éventuellement un RESET mais aidez moi ! je sais pas comment faire :/

Reply

Marsh Posté le 22-01-2003 à 16:03:20    

bon alors un truc que tu vas faire :
 
mount
 
vois-tu un truc du genre : usbdevfs on /proc/bus/usb type usbdevfs (rw)
 
sinon le problème est aussi que l'usb est compilé dans le noyau et non en module

Reply

Marsh Posté le 22-01-2003 à 17:21:16    

BMOTheKiller a écrit :

bon alors un truc que tu vas faire :
 
mount
 
vois-tu un truc du genre : usbdevfs on /proc/bus/usb type usbdevfs (rw)
 
sinon le problème est aussi que l'usb est compilé dans le noyau et non en module


 
je vois bien le  
 
   usbdevfs on /proc/bus/usb type usbdevfs (rw)
 
et sinon j'ai bien UHCI dans le noyau ... voili!

Reply

Marsh Posté le 22-01-2003 à 17:49:10    

bon, ben normalement, une fois /proc/bus/usb démonté, l'occupation du module de ta carte doit passer à 2
 
mais je pense pas que tu puisses le démonder directement sans te manger un message "busy"
 
peut-être en essayant un : service network restart
résoudrait ton problème :??:

Reply

Marsh Posté le 22-01-2003 à 17:55:31    

humhum .. j'ai pas de commande service ... tu parles d'unscript d'initialisation peut être dans /etc/init.d ? j'ai déjà essayé en faisant net.eth0 stop mais marche pas non plus il reste ncore occupé ...
en fait je  cherche un truc peut être plus roots que ça... un truc qui interroge le kernel éventuellement et lui fasse dire pourquoi il dit USED BY ... voilà pouvoir savoir ski bloque le déloadage ...je peux éventuellement killer quoi que ce soit et relancer après .. mais il me faut avoir la liste des USERS OF du module ....?
 
sinon, en effet quand je rmmod alors qu'il est encore used by, il me dit device is busy

Reply

Marsh Posté le 22-01-2003 à 18:10:19    

là je parlais pas de rmmod, mais de : umount /proc/bus/usb
ça c'est pratiquement sûr que ce soit une source d'occupation du module
 
mais bon ce qui n'est pas pratique c'est que tu as usbcore, usb-uhci en dur :/
 
et avec ifconfig tu n'arrives pas non plus à stopper l'interface ?
 
parce que dans l'ordre ça donnerait en gros :
 
ifconfig eth0 down
umount /proc/bus/usb
 
reste à voir ce qui pourrait encore l'occuper

Reply

Marsh Posté le 23-01-2003 à 10:19:50    

up!
j'ai constaté un truc assez pathétique :/
 
des fois si je joue en faisant des ifconfig up down etc... je passes à used by -2 :/ et du coup quand je modprobe mon pc freeze;
bref j'ai l'impression que les drivers fouttent la merde en se chargeant et déchargeant, et faussent le chiffre used by; donc caca :/
 
eske kelkun peut me donner un coup de main pour réussir à faire mon bonheur ?


---------------
mangez du mozilla c le futur, c votre DESTIN ! http://www.mozilla.org/releases/
Reply

Marsh Posté le 23-01-2003 à 11:43:57    

tu devrais utiliser hotplug c'est plus simple.
tu débranche ta carte reseau usb.
tu commente dans ton /etc/fstab la ligne du genre mount /proc/bus/usb ...
tu installe hotplug, tu redemarre et tu branche tes périph usb (hotplug se charge de les monter)
ensuite pour décharger le module de ta carte réseau, tu fais un down sur ta carte, tu arrete le service reseau et tu arrete hotplug : /etc/init.d/hotplug stop ou service hotplug stop (suivant ta distrib)
Et là tu devrait pouvoir faire un rmmod sur ton module sans te faire jeter  :wahoo:  
 
PS : au boot si ton linux démarre le réseau avant hotplug tu va avoir une chtite erreur du genre interface non trouvée, mais c'est pas grave ...

Reply

Marsh Posté le 23-01-2003 à 14:40:25    

bin en fait je suis sous gentoo ...  
mon service hotplug dépend du service modules, qui se charge de lancer chacun des modprobe qui se trouvent dans modules.autoload ..
ce qui veut dire que mon modules usbvnet se charge avant le service hotplug...
et donc je ne sais pas comment je pourrai bien faire ...
 
 
en fait ske j'aimerais, vu que apparemment c hotplug qui peut me sauver ?, c'est savoir comment faire que hotplug gère efficacement mon usb .. j'aimerais par exemple que hotplug reinitialise s'il faut unn périphérique USB, en lui envoyant par exemple un signal reset :??: et du coup queje puisse re modprober sans me faire casser ..

Reply

Marsh Posté le 07-02-2004 à 20:33:38    

up :d

Reply

Marsh Posté le 07-02-2004 à 21:07:36    

Avec le 2.6 , c'est simple , il suffir de faire rmmod -f . Encore faut - il avoir mis l'option dans le kernel :)


Forced module unloading (MODULE_FORCE_UNLOAD)
 
This option allows you to force a module to unload, even if the
kernel believes it is unsafe: the kernel will remove the module
without waiting for anyone to stop using it (using the -f option to
rmmod). This is mainly for kernel developers and desperate users.
If unsure, say N.


 
J'ai essayé et ca marche . Mais c'est a utilisé avec précaution .


Message édité par Coolos56 le 07-02-2004 à 21:09:28
Reply

Marsh Posté le 07-02-2004 à 22:33:27    

ce vieux déterrage de topic [:mlc2]

Reply

Marsh Posté le 07-02-2004 à 23:16:10    

ouep je suis tjs en 2.4 et j'ai un module busy et j'ai pas envie de  rebooter. Une solution ?

Reply

Marsh Posté le 07-02-2004 à 23:22:20    

c'est quoi comme module ? si le périphérique est accessible par un dev, tu peux te tenter un fuser ou lsof sur le dev en question, ensuite tu regardes ce qui l'occupe avec "ps aux | grep LE_PID"

Reply

Marsh Posté le 07-02-2004 à 23:23:09    

c'est le module de la carte son donc /dev/dsp surement

Reply

Marsh Posté le 07-02-2004 à 23:26:01    

en fait j'ai tjs du son avec xmms ou mplayer mais pas avec Enemy Territory :(
 
Ca arrive de temps en temps alors que le son fonctionne bien sous ce jeu.


Message édité par lebibi le 07-02-2004 à 23:26:32
Reply

Marsh Posté le 07-02-2004 à 23:27:08    

par exemple
<-=[ ~ ]=-> fuser /dev/dsp
/dev/dsp:             3737
<-=[ ~ ]=-> ps -A | grep 3737
 3737 ?        00:02:45 artsd
 
 
reste plus qu'à killer ou terminer correctement

Reply

Marsh Posté le 07-02-2004 à 23:28:18    

Lebibi a écrit :

en fait j'ai tjs du son avec xmms ou mplayer mais pas avec Enemy Territory :(
 
Ca arrive de temps en temps alors que le son fonctionne bien sous ce jeu.


 
c'est quel chip/carte ?
 

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed