Kernelmodul wird nicht automatisch geladen
Hallo,
es ist zum Verrücktwerden, ich komm' nicht dahinter
und möchte nun etwas genauer fragen:
Ich habe eine Gerätedatei mit Modus char-major-13.
Wenn ich sie anspreche, wird aber nicht das dazugehörige
Modul geladen.
Wenn ich es mit anderen Major-Modi probiere, geht alles
einwandfrei.
# mknod test15 c 15 0
# mknod test251 c 251 0
# exit
$ cat test15
cat: test15: Kein passendes Gerät gefunden
$ cat test251
cat: test251: Kein passendes Gerät gefunden
$
Die Fehlermeldung habe ich absichtlich provoziert,
weil ich wissen will, ob der Kernel das Modul
`char-major-15' bzw. `-251' überhaupt *sucht*.
In der xconsole und in `/var/log/messages/' steht:
Can't locate module char-major-251
Das Modul zum Major-Mode 15 wird nicht vermißt, denn
es steht in `/etc/modules.conf':
alias char-major-15 off
Wenn ich diese Zeile auskommentiere, kommt auch die
Fehlermeldung zum Modul `char-major-15'.
_Nie_ aber vermißt wird das Modul `char-major-13'!
Ich spreche eine Gerätedatei an:
$ ls -l /dev/js*
crw-r--r-- 1 root root 13, 0 Mär 19 21:35 /dev/js0
crw-r--r-- 1 root root 13, 1 Mär 20 00:15 /dev/js1
$ cat /dev/js0 | od -x
cat: /dev/js0: Kein passendes Gerät gefunden
0000000
$
Es kommt aber keine Fehlermeldung im Log! In `/etc/modules.conf'
steht NICHTS was aussieht wie
alias char-major-13 off
oder so. Warum wird das Modul nicht gesucht? Weiß wer Hilfe;
ich meine, ich habe schon alles abgeklappert.
Gruß
Bertram
P.S.:
Die Ausgabe ist einwandfrei, wenn ich vorher die Module
von Hand lade:
# modprobe joydev
# modprobe analog
# modprobe ns558
#
--
Bertram Scharpf
Hallo, Am Donnerstag, 28. März 2002 16:38 schrieb Peter Wiersig:
On Thu, Mar 28, 2002 at 03:29:26PM +0100, Bertram Scharpf wrote:
oder so. Warum wird das Modul nicht gesucht?
Weil der Support in den Kernel einkompiliert wurde und nicht als Modul vorliegen muss?
Wie finde ich das raus?
Danke erstmal,
Bertram
--
Bertram Scharpf
On Thu, Mar 28, 2002 at 05:13:14PM +0100, Bertram Scharpf wrote:
Am Donnerstag, 28. März 2002 16:38 schrieb Peter Wiersig:
On Thu, Mar 28, 2002 at 03:29:26PM +0100, Bertram Scharpf wrote:
oder so. Warum wird das Modul nicht gesucht?
Weil der Support in den Kernel einkompiliert wurde und nicht als Modul vorliegen muss?
Wie finde ich das raus?
Hm, ich kompiliere meine Kernel gerne selber, und daher weiss ich dann schon ob's als Modul geladen wird oder nicht. Beim SuSE-kompilierten Kernel wird es wohl ein Modul sein. Und wenn du das Modul laedst klappt es ja auch. char-major-13 ist fuer den "Input Core" vorgesehen und die minors 0-31 sind die moeglichen USB-Joysticks. Liegt's eigentlich daran, das du keinen USB-Joystick hast? Moeglicherweise sind die Files auch falsch angelegt: /usr/src/linux/Documentation/devices.txt: 13 char Input core 0 = /dev/input/js0 First joystick 1 = /dev/input/js1 Second joystick ... 15 char Joystick 0 = /dev/js0 First analog joystick 1 = /dev/js1 Second analog joystick ... Falls du also einen Gameport-Joystick hast, musst du die "Datei" /dev/js0 neu anlegen. Peter
Hallo nochmal, Am Donnerstag, 28. März 2002 17:24 schrieb Peter Wiersig:
On Thu, Mar 28, 2002 at 05:13:14PM +0100, Bertram Scharpf wrote:
Am Donnerstag, 28. März 2002 16:38 schrieb Peter Wiersig:
On Thu, Mar 28, 2002 at 03:29:26PM +0100, Bertram Scharpf wrote:
oder so. Warum wird das Modul nicht gesucht?
Weil der Support in den Kernel einkompiliert wurde und nicht als Modul vorliegen muss?
Wie finde ich das raus?
SuSE-kompilierten Kernel wird es wohl ein Modul sein. Und wenn du das Modul laedst klappt es ja auch.
Ich habe den unbelassenen Kernel von SuSE7.3; da schau ich mir mal die Konfiguration an: $ uname -r 2.4.10-4GB $ sux Password: # cd /usr/src/linux # make xconfig Unter "Sound" finde ich "Enable joystick". Dort wird mir die Auswahl angeboten: "j - n". Das Minus steht für ein deaktiviertes "m". Ausgewählt ist "j". Hier möchte ich zwei Dinge fragen dürfen: 1. Was wird da einkompiliert? Offensichtlich kommt ja nichts, wenn ich versuche, vom Joystick zu lesen. 2. Was passiert da, wenn ich trotzdem meine Module 'joydev', `analog' und `ns558' nachlade? Vorher stand die Option "Modul" doch garnicht zur Auswahl.
char-major-13 ist fuer den "Input Core" vorgesehen und die minors 0-31 sind die moeglichen USB-Joysticks. Liegt's eigentlich daran, das du keinen USB-Joystick hast?
Falls du also einen Gameport-Joystick hast, musst du die "Datei" /dev/js0 neu anlegen.
Der Joystick ist analog. Dennoch: Nur mit Major-Modus 13 funktioniert
er.
Vermute ich richtig: Wenn ich "Enable joystick" auf "no" setze,
müßte `kmod' nach einem Modul `char-major-13' suchen?
Soweit auf jeden Fall schon mal ganz herzlichen Dank.
Gruß
Bertram
--
Bertram Scharpf
* Donnerstag, 28. März 2002 um 22:05 (+0100) schrieb Bertram Scharpf:
Ich habe den unbelassenen Kernel von SuSE7.3; da schau ich mir mal die Konfiguration an:
$ uname -r 2.4.10-4GB $ sux Password: # cd /usr/src/linux # make xconfig
Unter "Sound" finde ich "Enable joystick". Dort wird mir die Auswahl angeboten: "j - n". Das Minus steht für ein deaktiviertes "m". Ausgewählt ist "j".
Du hast dann vermutlich einen C-Media-PCI-Chipsatz.(?)
Hier möchte ich zwei Dinge fragen dürfen:
1. Was wird da einkompiliert? Offensichtlich kommt ja nichts, wenn ich versuche, vom Joystick zu lesen.
Weil das allein nicht reicht. "Enable joystick" ist IMHO missverständlich, ich denke, es müsste eher lauten "Enable Gameport". Dafür "j" sollte i.O. sein, ich weiß nur nicht, ob trotzdem noch beim Laden des Moduls die Option "joystick=1" hinzugefügt werden muss, wie in linux/Documentation/sound/CMI8338 beschrieben. Probiere es aus und beobachte dabei /var/log/messages...
2. Was passiert da, wenn ich trotzdem meine Module 'joydev', `analog' und `ns558' nachlade?
Um auf den (analogen) Joystick zugreifen zu können, _müssen_ 'joydev'
und 'analog' geladen sein. 'ns558' braucht du vermutlich nicht, da es
nur für ISA/PNP-Karten notwendig ist.
Die jsX-Devices dürfen/sollen aber nicht unter "/dev" angelegt werden,
sondern unter "/dev/input". All das steht aber ausführlich in
"linux/Documentation/input/joystick.txt", auf das man BTW auch
hingewiesen wird, wenn man in der Kernelkonfiguration bei den
Joysticks mal "Help/Hilfe" auswählt ;-) (Zumindest bei den
Vanilla-Kerneln, wenn es in der deutschen Übersetzung nicht steht,
dann taugt die Übersetzung nichts...).
In der "jostick.txt" findest du auch Beispiele für das automatische
Laden der Module.
Gruß
Andreas
--
Andreas Könecke "Andreas Koenecke
On Thu, Mar 28, 2002 at 10:05:32PM +0100, Bertram Scharpf wrote:
Hallo nochmal,
Hallo Bertram, bitte verzichte in Zukunft darauf mir noch eine persoenliche Kopie zu schicken.
Am Donnerstag, 28. März 2002 17:24 schrieb Peter Wiersig:
On Thu, Mar 28, 2002 at 05:13:14PM +0100, Bertram Scharpf wrote:
Ich habe den unbelassenen Kernel von SuSE7.3; da schau ich mir mal die Konfiguration an:
$ uname -r 2.4.10-4GB $ sux Password: # cd /usr/src/linux # make xconfig
Unter "Sound" finde ich "Enable joystick". Dort wird mir die Auswahl angeboten: "j - n". Das Minus steht für ein deaktiviertes "m". Ausgewählt ist "j".
Unter Sound finde ich hier ziemlich viel mehr als nur Joystick. (Debian 2.2.18pre21) Die Joystick-Einstellungen fand ich unter Char-Devices, bzw. unter Input-Core (USB) Was unter Sound als Joystick auftaucht sollte m.E. eher als Gameport Support der verschiedenen Soundkarten auftauchen.
2. Was passiert da, wenn ich trotzdem meine Module 'joydev', `analog' und `ns558' nachlade? Vorher stand die Option "Modul" doch garnicht zur Auswahl.
Also, das richtige Kernel-Modul fuer deinen Fall ist "analog". "joydev" gehoert definitiv zu USB-Joysticks. (lt. Configure.help) Ob analog als Modul kompiliert wird, legst du unter "Character Devices" -> "Joysticks" fest. Hier findet sich auch der Punkt fuer das Modul "ns558" hinter der Bezeichnung "Classic ISA/PnP gameports".
char-major-13 ist fuer den "Input Core" vorgesehen und die minors 0-31 sind die moeglichen USB-Joysticks. Liegt's eigentlich daran, das du keinen USB-Joystick hast?
Falls du also einen Gameport-Joystick hast, musst du die "Datei" /dev/js0 neu anlegen.
Der Joystick ist analog. Dennoch: Nur mit Major-Modus 13 funktioniert er.
Vermute ich richtig: Wenn ich "Enable joystick" auf "no" setze, müßte `kmod' nach einem Modul `char-major-13' suchen?
Nein, denke ich nicht. Probier es aus, dann hast du Gewissheit. Hast du eigentlich schon gemacht was in der Hilfe zu einem der Joystick-Punkte stand - /usr/src/linux/Documentation/input/joystick.txt gelesen? Und http://sdb.suse.de/de/sdb/html/joystick.html hast du auch gefunden? Peter
Hallo, Am Samstag, 30. März 2002 01:01 schrieb Peter Wiersig:
On Thu, Mar 28, 2002 at 10:05:32PM +0100, Bertram Scharpf wrote:
bitte verzichte in Zukunft darauf mir noch eine persoenliche Kopie zu schicken.
Ist wirklich überflüssig. Danke für den Hinweis.
Am Donnerstag, 28. März 2002 17:24 schrieb Peter Wiersig:
On Thu, Mar 28, 2002 at 05:13:14PM +0100, Bertram Scharpf wrote:
# make xconfig
Unter "Sound" finde ich "Enable joystick". Dort wird mir die Auswahl angeboten: "j - n". Das Minus steht für ein deaktiviertes "m". Ausgewählt ist "j".
Unter Sound finde ich hier ziemlich viel mehr als nur Joystick. (Debian 2.2.18pre21)
Eine Antwort, die mir viel weitegeholfen hat: Andreas Koenecke
Du hast dann vermutlich einen C-Media-PCI-Chipsatz.(?)
Ich habe eine ISA-Soundkarte. Also stelle ich alle PCI-Geschichten ab und baue mir einen neuen Kernel. Nichts ändert sich; nach wie vor kriege ich nichteinmal eine Fehlermeldung, wenn ich versuche `char-major-13' zu laden.
Vermute ich richtig: Wenn ich "Enable joystick" auf "no" setze, müßte `kmod' nach einem Modul `char-major-13' suchen?
Nein, denke ich nicht. Probier es aus, dann hast du Gewissheit.
So ist dem.
Hast du eigentlich schon gemacht was in der Hilfe zu einem der Joystick-Punkte stand - /usr/src/linux/Documentation/input/joystick.txt gelesen?
Und http://sdb.suse.de/de/sdb/html/joystick.html hast du auch gefunden?
Beides gelesen.
Wenn ich ehrlich bin, habe ich die Lust verloren. Alles was ich
wollte ist, das System sauber herunterzufahren, wenn X nicht mehr
Tastatur noch Maus kennt. Das mit dem Joystick war eine Möglichkeit.
Inzwischen mache ich es mit ISDN und meinem Händi.
Trotzdem vielen Dank. Habe durch die Geschichte viele Einblicke
gewonnen. Wirklich.
Gruß
Bertram
--
Bertram Scharpf
participants (3)
-
Andreas Koenecke
-
Bertram Scharpf
-
Peter Wiersig