Problême à la fermeture de ndiswrapper


#1

Je me permet de recopier cette demande de corwyn42, car j’ai déplacé le fil ou il postait dans "trucs et &astuces"
Je me suis aussi permis de modifier le sujet pour attirer les bonnes compètences…

[quote=“corwyn42”]Salut !
Je profite de ce fil pour quémander une aide à mon problème, qui est lié au déchargement autoamtqiue des modules :

Je bataille en ce moment pour configurer ma connexion wifi (dongle usb inventel sur livebox inventel) sur la Kaella 2.1. En utilisant ndiswrapper, j’y suis arrivé :

J’ai lancé ndiswrapper et chargé le inf du driver windows. (je l’ai fait 1 seule fois )
J’ai lancé #ndiswrapper -m pour créer l’alias ( idem 1 seule fois).

Puis j’ai placé “ndiswrapper” dans le fichier /etc/modules, pour qu’il démarre tout seul.

J’ai placé IP, passerelle, WEP, etc… dans /etc/network/interfaces

Tout fonctionne enfin avec firefox (au bout de 5h de recherche acharnée, heureusement que j’ai un autre pc sous la main qui a une connection internet fonctionnelle smile )

Je n’ai plus qu’un soucis :
Si je ne rentre pas la commande en root avant d’éteindre / de redémarrer la machine, l’arrêt se passe mal et bloque sur une multitude de lignes d’erreurs contenant “ndiswrapper” et “usb”.

Comment automatiser cette commande pendant l’arrêt du pc pour éviter les erreurs et le blocage?

Merci d’avance.

PS : si vous connaissais une manière plus propre d’initialiser la cnnection internet, je suis preneur :smiley: J’ai vu des exemples de scripts pour mandriva, mais je ne sais pas comment procéder sous debian.[/quote]


#2

Tu peux faire un rmmod ndiswrapper dans le stop d’un script rc et il serais lancé seulement lors d’un arret ou reboot du pc runlevel 0 ou runlevel6 pour cela regarde le squelette d’un script rc

[code]#! /bin/sh

BEGIN INIT INFO

Provides: skeleton

Required-Start: $local_fs $remote_fs

Required-Stop: $local_fs $remote_fs

Default-Start: 2 3 4 5

Default-Stop: S 0 1 6

Short-Description: Example initscript

Description: This file should be used to construct scripts to be

placed in /etc/init.d.

END INIT INFO

Author: Miquel van Smoorenburg miquels@cistron.nl.

Ian Murdock imurdock@gnu.ai.mit.edu.

Please remove the “Author” lines above and replace them

with your own name if you copy and modify this script.

Version: @(#)skeleton 2.85-23 28-Jul-2004 miquels@cistron.nl

set -e

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DESC="some daemon"
NAME=daemon
DAEMON=/usr/sbin/$NAME
PIDFILE=/var/run/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME

Gracefully exit if the package has been removed.

test -x $DAEMON || exit 0

Read config file if it is present.

#if [ -r /etc/default/$NAME ]
#then

. /etc/default/$NAME

#fi

Function that starts the daemon/service.

d_start() {
start-stop-daemon --start --quiet --pidfile $PIDFILE
–exec $DAEMON
|| echo -n " already running"
}

Function that stops the daemon/service.

d_stop() {
start-stop-daemon --stop --quiet --pidfile $PIDFILE
–name $NAME
|| echo -n " not running"
}

Function that sends a SIGHUP to the daemon/service.

d_reload() {
start-stop-daemon --stop --quiet --pidfile $PIDFILE
–name $NAME --signal 1
}

case “$1” in
start)
echo -n "Starting $DESC: $NAME"
d_start
echo “.”
;;
stop)
echo -n "Stopping $DESC: $NAME"
d_stop
echo “.”
;;
#reload)
#
# If the daemon can reload its configuration without
# restarting (for example, when it is sent a SIGHUP),
# then implement that here.
#
# If the daemon responds to changes in its config file
# directly anyway, make this an “exit 0”.
#
# echo -n “Reloading $DESC configuration…”
# d_reload
# echo “done.”
#;;
restart|force-reload)
#
# If the “reload” option is implemented, move the “force-reload”
# option to the “reload” entry above. If not, “force-reload” is
# just the same as “restart”.
#
echo -n "Restarting $DESC: $NAME"
d_stop
# One second might not be time enough for a daemon to stop,
# if this happens, d_start will fail (and dpkg will break if
# the package is being upgraded). Change the timeout if needed
# be, or change d_stop to have start-stop-daemon use --retry.
# Notice that using --retry slows down the shutdown process somewhat.
sleep 1
d_start
echo “.”
;;
*)
# echo “Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}” >&2
echo “Usage: $SCRIPTNAME {start|stop|restart|force-reload}” >&2
exit 1
;;
esac

exit 0
[/code]tu fait ensuite un update-rc.dCe n’est pas la solution “propre” mais c’est une solution faisable pas si “sale” que ça.
un petit man update-rc.d te donnera quelques infos utile


#3

Merci d’avoir pris le temps de lire, d’avoir répondu :slightly_smiling:

man update-rc.d = “Aucune entrée de manuel pour udate-rc.d” :frowning:

J’ai créer un fichier à partir du skeleton, mais ça ne change rien.

PS : je suis allé dans le fichier /etc/modules pour virer la ligne que j’avais rajouté ; elle a disparue toute seule, et pourtant, ça marche encore !

Auriez vous un manuel ou un tutorial précis qui pourrait me fournir un exemple simple correspondant à ce que je veux faire ? Déjà, j’aimerais trouver une description détaillée du fonctionnement d’un script dérivé du skeleton. (est ce que ce simple fichier suffit ?, etc) J’ai lu plusieurs docs, mais toutes sont trés vagues sur ce sujet.

Merci.


#4

si tu as fait ‘man udate-rc.d’ normal que tu n’ais rien trouvé.
Par contre ‘man update-rc.d’ (avec un p) DOIT te donner la doc.
L’utilisation, c’est de créer ton fichier init ‘toto’ (basé ou pas sur le skeleton), et ensuite:
update-rc.d add toto defaults


#5

Je l’ai bien écrit comme il faut dans la console, c’était une faute de frappe dans le post. Peut être faut-il le taper quelque part en particulier ?


#6

il faut le faire en étant root pas en tant qu’user