Archiv verlassen und diese Seite im Standarddesign anzeigen : Welche Parameter versteht ein Kernelmodul
Bei WLAN-Karten kann man zum Beispiel mit dem Eintrag rt_xy_usb nohwcrypt=1
die Hardware-Verschlüssellung austellen.
modinfo rt_xy_usb gibt dies auch aus:
alias: usb:...
depends: ....
parm: nohwcrypt:Disable hardware encryption. (bool)
Aber kann das Kernelmodul noch mehr als nohwcrypt?
Ich suche etwas wie:
modinfo --show-all param rt_xy_usb
param nohwcrypt: bool
param powermgn: bool
param ...
Also sprich eine Ausgabe aller möglichen Parameter, die das Modul versteht.
Gruß,
Tom
Ich hab eine interessante bash-Funktion gefunden, die den Job erledigt:
function aa_mod_parameters ()
{
N=/dev/null;
C=`tput op` O=$(echo -en "\n`tput setaf 2`>>> `tput op`");
for mod in $(cat /proc/modules|cut -d" " -f1);
do
md=/sys/module/$mod/parameters;
[[ ! -d $md ]] && continue;
m=$mod;
d=`modinfo -d $m 2>$N | tr "\n" "\t"`;
echo -en "$O$m$C";
[[ ${#d} -gt 0 ]] && echo -n " - $d";
echo;
for mc in $(cd $md; echo *);
do
de=`modinfo -p $mod 2>$N | grep ^$mc 2>$N|sed "s/^$mc=//" 2>$N`;
echo -en "\t$mc=`cat $md/$mc 2>$N`";
[[ ${#de} -gt 1 ]] && echo -en " - $de";
echo;
done;
done
}
ThorstenHirsch
02.04.13, 17:41
Vielen Dank für die Lösung.
Ich hab' meist gegoogelt oder in den Kernel-Quellen bei der Documentation geschaut. Allerdings führte das nicht immer zum Erfolg. Schön, dass es auch eine technischere Lösung gibt.
Dazu ist für die Anfänger hier noch zu sagen das man diese Funktion in die ~/.bashrc kopieren sollte und dann nur "aa_mod_parameters" als Kommandozeile eingeben muss.
Edit:
Ich habe die Funktion mal ausprobiert und kann die auch als User ausführen.
Der einzige Unterschied zur Ausführung von root ist das die beiden hid-Parameter nicht angezeigt werden.
Und die Funktion zeigt die Infos nur zu ungefähr der Hälfte der Module.
Zur anderen, zu der beispielsweise arc4 und nvidia gehören, wird nichts angezeigt, aber das liegt wohl
daran, das die keine Parameter haben, wie "systool -v -m modul_name" verrät.
Daneben stellt sich auch die Frage wie man denn die Ausgabe richtig speichert.
Mit einem angehängten "> text.txt" beomme ich statt der Zeile
>>> rt2800usb - Ralink RT2800 USB Wireless LAN driver
diese Zeile:
[32m>>> [39;49mrt2800usb[39;49m - Ralink RT2800 USB Wireless LAN driver.
Ein Workaround ist die Ausgabe mit der Maus zu markieren und zu kopieren, aber es geht doch sicherlich einfacher, oder? :confused:
ThorstenHirsch
03.04.13, 22:38
Es scheint kein Programm dafür zu geben. Aber probier's mal mit einer der hier angegebenen substitutions: http://unix.stackexchange.com/questions/4527/program-that-passes-stdin-to-stdout-with-color-codes-stripped
Es scheint kein Programm dafür zu geben. Aber probier's mal mit einer der hier angegebenen substitutions: http://unix.stackexchange.com/questions/4527/program-that-passes-stdin-to-stdout-with-color-codes-stripped
Ja, danke.
Ich verwende nun diesen Alias:
alias aa_mod_parameters1='aa_mod_parameters | sed -r "s/\x1B\[([0-9]{1,2}(;[0-9]{1,2})?)?[m|K]//g"'
TheDarkRose
06.04.13, 14:38
Man könnte auch den Colorcode aus der Funktion nehmen
function aa_mod_parameters ()
{
N=/dev/null;
O=$(echo -en "\n>>> ");
for mod in $(cat /proc/modules|cut -d" " -f1);
do
md=/sys/module/$mod/parameters;
[[ ! -d $md ]] && continue;
m=$mod;
d=`modinfo -d $m 2>$N | tr "\n" "\t"`;
echo -en "$O$m";
[[ ${#d} -gt 0 ]] && echo -n " - $d";
echo;
for mc in $(cd $md; echo *);
do
de=`modinfo -p $mod 2>$N | grep ^$mc 2>$N|sed "s/^$mc=//" 2>$N`;
echo -en "\t$mc=`cat $md/$mc 2>$N`";
[[ ${#de} -gt 1 ]] && echo -en " - $de";
echo;
done;
done
}
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.