Ich konfiguriere meinen Kernel immer mit make menuconfig. Das ist aber auch egal, den letztlich wird ja eine .config Datei erzeugt, und die muss passen. Und da steht oben geposteter Eintrag bezüglich IOW drin.
Ich habe jetzt mal ein make clean gemacht, und den Kernel neu kompiliert. Er listet dabei alle Dateien auf, die er kompiliert, aber von IOW war da nix dabei (komisch, komisch).
Der Ende des Kompiliervorganges war:
Root device is (8, 5)
Boot sector 512 bytes.
Setup is 7064 bytes.
System is 2866 kB
Kernel: arch/x86_64/boot/bzImage is ready (#3)
Building modules, stage 2.
MODPOST 11 modules
CC drivers/char/drm/drm.mod.o
LD [M] drivers/char/drm/drm.ko
CC drivers/char/drm/radeon.mod.o
LD [M] drivers/char/drm/radeon.ko
CC drivers/net/sky2.mod.o
LD [M] drivers/net/sky2.ko
CC drivers/scsi/scsi_wait_scan.mod.o
LD [M] drivers/scsi/scsi_wait_scan.ko
CC sound/ac97_bus.mod.o
LD [M] sound/ac97_bus.ko
CC sound/core/oss/snd-mixer-oss.mod.o
LD [M] sound/core/oss/snd-mixer-oss.ko
CC sound/core/oss/snd-pcm-oss.mod.o
LD [M] sound/core/oss/snd-pcm-oss.ko
CC sound/core/snd-page-alloc.mod.o
LD [M] sound/core/snd-page-alloc.ko
CC sound/core/snd-pcm.mod.o
LD [M] sound/core/snd-pcm.ko
CC sound/pci/ac97/snd-ac97-codec.mod.o
LD [M] sound/pci/ac97/snd-ac97-codec.ko
CC sound/pci/snd-intel8x0.mod.o
LD [M] sound/pci/snd-intel8x0.ko
(Das sind alle meine Kernelmodule) Auch hier keine Spur vom IOW.
Die Datei in drivers/usb/misc/iowarrior.c exisitiert.
Übrigens wird aus drivers/usb/misc gar nichts kompiliert (kann aber auch daran liegen dass meine Kernelconfig recht entschlackt ist).
Die Einzigen Abhägigkeiten die CONFIG_IOWARRIOR hat sind
CONFIG_USB=y
CONFIG_HAS_IOMEM=y
(Beides auf yes, sollte passen).
Irgendwie ist das ganze ziemlich seltsam....
[gelöst] Keine Devices /dev/usb/* unter Linux
Moderator: Guido Körber
Hallo,
bei einem Vanilla-Kernel 2.6.23.1 reicht es aus den IOWarrior-driver in 'make menuconfig' als Modul zu aktivieren, dann wird er auch gebaut!
Für mich wird es jetzt zu speziell. Das ist mehr was für ein Kernel-Compile Forum.
Ich kann mich noch dunkel erinnern,dass es mal Probleme mit USB in einem monolithischen Kernel gab, aber dass ist schon länger her.
Ich habe ein wenig den Verdacht, das man ohne CONFIG_USB_DEVICEFS=y nicht auskommt, aber sicher bin ich mir da auch nicht.
Eberhard
bei einem Vanilla-Kernel 2.6.23.1 reicht es aus den IOWarrior-driver in 'make menuconfig' als Modul zu aktivieren, dann wird er auch gebaut!
Für mich wird es jetzt zu speziell. Das ist mehr was für ein Kernel-Compile Forum.
Ich kann mich noch dunkel erinnern,dass es mal Probleme mit USB in einem monolithischen Kernel gab, aber dass ist schon länger her.
Ich habe ein wenig den Verdacht, das man ohne CONFIG_USB_DEVICEFS=y nicht auskommt, aber sicher bin ich mir da auch nicht.
Eberhard
Hallo,
also wenn das mit den monolithischen Kernel Spaß macht will ich keinen abhalten, aber meinen letzten Kernel ohne Module habe ich im letzten Jahrtausend auf einem PII 75MHz 64Mb Ram benutzt.
Es gibt doch nun wirklich keinen vernünftigen Grund mehr für den Aufwand.
Selbst auf meinem FoxBoard mit 4MB Ram und 16MB Rom habe ich den IOWarrior-Treiber als modul kompiliert. Ich hätte vielleicht 50Kb Hauptspeicher sparen können, aber wen interessiert das wirklich noch?
Aber wie gesagt, ich will keinen Abhalten, wäre schön wenn Du die Lösung des Problems dann noch posten könntest.
Viel Glück
Eberhard
also wenn das mit den monolithischen Kernel Spaß macht will ich keinen abhalten, aber meinen letzten Kernel ohne Module habe ich im letzten Jahrtausend auf einem PII 75MHz 64Mb Ram benutzt.
Es gibt doch nun wirklich keinen vernünftigen Grund mehr für den Aufwand.
Selbst auf meinem FoxBoard mit 4MB Ram und 16MB Rom habe ich den IOWarrior-Treiber als modul kompiliert. Ich hätte vielleicht 50Kb Hauptspeicher sparen können, aber wen interessiert das wirklich noch?
Aber wie gesagt, ich will keinen Abhalten, wäre schön wenn Du die Lösung des Problems dann noch posten könntest.
Viel Glück
Eberhard
Ja, das Problem hatte ich auch.
Das Makefile des kernels in drivers/usb "vergisst" das Verzeichnis "misc"
hinzuzufügen, wenn man den iowarrior wählt (egal ob fest oder als modul).
Betroffen sind Versionen des kernels 2.6.21.xx und 2.6.22.xx, ab
2.6.23 ist das korrigiert.
Falls Du keinen neuen kernel runterladen willst, kannst Du aber auch leicht
/usr/src/linux-2.6.2x.xx/drivers/usb/Makefile editieren und die Zeile
'obj-$(CONFIG_USB_IOWARRIOR) += misc/'
(ohne Anführungszeichen) einfügen. Dann sollte es gehen.
Cheers.
Das Makefile des kernels in drivers/usb "vergisst" das Verzeichnis "misc"
hinzuzufügen, wenn man den iowarrior wählt (egal ob fest oder als modul).
Betroffen sind Versionen des kernels 2.6.21.xx und 2.6.22.xx, ab
2.6.23 ist das korrigiert.
Falls Du keinen neuen kernel runterladen willst, kannst Du aber auch leicht
/usr/src/linux-2.6.2x.xx/drivers/usb/Makefile editieren und die Zeile
'obj-$(CONFIG_USB_IOWARRIOR) += misc/'
(ohne Anführungszeichen) einfügen. Dann sollte es gehen.
Cheers.
Last edited by blip on Mon Nov 19, 2007 9:41 pm, edited 1 time in total.
Das war der entscheidende Tipp. War mit meinen Vermutungen also gar nicht so falsch ;-)
Vielen Dank and wayoda und blip.
Die Meldung "Maybe USB cable is bad?" habe ich weiterhin, im dmesg habe ich jetzt die zusätzlichen Zeilen:
iowarrior 2-6:1.0: IOWarrior product=0x1500, serial=00002B3F interface=0 now attached to iowarrior0
iowarrior 2-6:1.1: IOWarrior product=0x1500, serial=00002B3F interface=1 now attached to iowarrior1
usbcore: registered new interface driver iowarrior
Der Treiber wird also jetzt geladen. Das Program iowkittest funktioniert bei mir nur, wenn ich Symlinks von /dev/usb/iowarrior0 und 1 auf /dev/iowarrior0 und 1 anlege.
Eine udev-Regel habe ich momentan nicht drin.
Vielleicht sollten die Bibliotheksentwickler auch nach Geräten /dev/iowarrior[0-31] suchen lassen...
Vielen Dank and wayoda und blip.
Die Meldung "Maybe USB cable is bad?" habe ich weiterhin, im dmesg habe ich jetzt die zusätzlichen Zeilen:
iowarrior 2-6:1.0: IOWarrior product=0x1500, serial=00002B3F interface=0 now attached to iowarrior0
iowarrior 2-6:1.1: IOWarrior product=0x1500, serial=00002B3F interface=1 now attached to iowarrior1
usbcore: registered new interface driver iowarrior
Der Treiber wird also jetzt geladen. Das Program iowkittest funktioniert bei mir nur, wenn ich Symlinks von /dev/usb/iowarrior0 und 1 auf /dev/iowarrior0 und 1 anlege.
Eine udev-Regel habe ich momentan nicht drin.
Vielleicht sollten die Bibliotheksentwickler auch nach Geräten /dev/iowarrior[0-31] suchen lassen...
Hallo
Ich persönlich halte das für Quatsch, denn z.B. /dev/tty* erlaubt rw-Zugriff für alle user. Aber sowohl Ubuntu als auch OpenSuse waren in diesem Fall unnachgiebig :-(
Es wäre daher eher angebracht , dass die udev-rule mit der library installiert wird, wie es bei den Kernel <2.6.21 Treibern geschehen ist.
Eberhard
Aber zum Glück lag's ja auch nicht am IOWarrior ;-)Maggus wrote:Das war der entscheidende Tipp. War mit meinen Vermutungen also gar nicht so falsch ;-)
Das deutet normalerweise darauf hin , dass dieser USB-port nicht aktiviert wird, scheint also nicht der zu sein an dem der IOWarrior angeschlossen ist, oder?Die Meldung "Maybe USB cable is bad?" habe ich weiterhin,
Ich denke es ist besser die schon bewährte udev-Regel zu verwenden und damit die Geräte in /dev/usb/iowarrior* zu erstellen. Es wird eh nicht ohne eigene Regel gehen, denn die udev-default-Regeln (aus denen sich die Geräte /dev/iowarrior* ergeben) erlauben nur root den Zugriff.....Der Treiber wird also jetzt geladen. Das Program iowkittest funktioniert bei mir nur, wenn ich Symlinks von /dev/usb/iowarrior0 und 1 auf /dev/iowarrior0 und 1 anlege.
Eine udev-Regel habe ich momentan nicht drin.
Vielleicht sollten die Bibliotheksentwickler auch nach Geräten /dev/iowarrior[0-31] suchen lassen...
Ich persönlich halte das für Quatsch, denn z.B. /dev/tty* erlaubt rw-Zugriff für alle user. Aber sowohl Ubuntu als auch OpenSuse waren in diesem Fall unnachgiebig :-(
Es wäre daher eher angebracht , dass die udev-rule mit der library installiert wird, wie es bei den Kernel <2.6.21 Treibern geschehen ist.
Eberhard