[gelöst] Keine Devices /dev/usb/* unter Linux
Moderator: Guido Körber
[gelöst] Keine Devices /dev/usb/* unter Linux
Hallo!
Ich möchte gerne einen IOW40 unter Linux nutzen. Kernel ist 2.6.21.1, Treiberunterstützung für den IOW ist fest einkompiliert.
Der IOW wird auch erkannt: lsusb meldet
Bus 002 Device 007: ID 07c0:1500 Code Mercenaries Hard- und Software GmbH IO-Warrior 40
Das Beispielprogram iowkittest meldet nur: Failed to open device.
Kein Wunder ein ls -l /dev/usb* bringt nur:
crw-rw---- 1 root root 254, 0 Nov 11 2007 /dev/usbdev1.1_ep00
crw-rw---- 1 root root 254, 1 Nov 11 2007 /dev/usbdev1.1_ep81
crw-rw---- 1 root root 254, 2 Nov 11 2007 /dev/usbdev2.1_ep00
crw-rw---- 1 root root 254, 3 Nov 11 2007 /dev/usbdev2.1_ep81
crw-rw---- 1 root root 254, 4 Nov 11 2007 /dev/usbdev2.6_ep00
crw-rw---- 1 root root 254, 5 Nov 11 2007 /dev/usbdev2.6_ep81
crw-rw---- 1 root root 254, 6 Nov 11 2007 /dev/usbdev2.7_ep00
crw-rw---- 1 root root 254, 7 Nov 11 2007 /dev/usbdev2.7_ep81
crw-rw---- 1 root root 254, 8 Nov 11 2007 /dev/usbdev2.7_ep82
also nix /dev/usb/iowarrior*
Wie komme ich an die Devices?
udev Version ist 113-r2.
Die Datei /etc/udev/rules.d/10-iowarrior.rules habe ich angelegt mit folgendem Inhalt:
# udev rules for iowarrior device nodes
SUBSYSTEM=="usb",KERNEL=="iowarrior[0-9]*",NAME="usb/iowarrior%n", GROUP="users",MODE="666",OPTIONS="last_rule"
Ich möchte gerne einen IOW40 unter Linux nutzen. Kernel ist 2.6.21.1, Treiberunterstützung für den IOW ist fest einkompiliert.
Der IOW wird auch erkannt: lsusb meldet
Bus 002 Device 007: ID 07c0:1500 Code Mercenaries Hard- und Software GmbH IO-Warrior 40
Das Beispielprogram iowkittest meldet nur: Failed to open device.
Kein Wunder ein ls -l /dev/usb* bringt nur:
crw-rw---- 1 root root 254, 0 Nov 11 2007 /dev/usbdev1.1_ep00
crw-rw---- 1 root root 254, 1 Nov 11 2007 /dev/usbdev1.1_ep81
crw-rw---- 1 root root 254, 2 Nov 11 2007 /dev/usbdev2.1_ep00
crw-rw---- 1 root root 254, 3 Nov 11 2007 /dev/usbdev2.1_ep81
crw-rw---- 1 root root 254, 4 Nov 11 2007 /dev/usbdev2.6_ep00
crw-rw---- 1 root root 254, 5 Nov 11 2007 /dev/usbdev2.6_ep81
crw-rw---- 1 root root 254, 6 Nov 11 2007 /dev/usbdev2.7_ep00
crw-rw---- 1 root root 254, 7 Nov 11 2007 /dev/usbdev2.7_ep81
crw-rw---- 1 root root 254, 8 Nov 11 2007 /dev/usbdev2.7_ep82
also nix /dev/usb/iowarrior*
Wie komme ich an die Devices?
udev Version ist 113-r2.
Die Datei /etc/udev/rules.d/10-iowarrior.rules habe ich angelegt mit folgendem Inhalt:
# udev rules for iowarrior device nodes
SUBSYSTEM=="usb",KERNEL=="iowarrior[0-9]*",NAME="usb/iowarrior%n", GROUP="users",MODE="666",OPTIONS="last_rule"
Last edited by Maggus on Mon Nov 19, 2007 5:53 pm, edited 1 time in total.
Hallo Maggus,
um welche Linux-Distribution handelt es sich denn?
Leider stellt man sich bei den einzelnen Distributionen bzgl. der udev-rules etwas an:
Das SDK hat in den letzten Jahren folgende Datei benutzt:
Viellleicht kann man die mal ausprobieren?
Ansonsten wäre noch die Ausgabe von sudo dmesg in der console interessant. Was wird direkt nach dem einstecken eines IOWarrior hier gemeldet?
Eberhard
um welche Linux-Distribution handelt es sich denn?
Leider stellt man sich bei den einzelnen Distributionen bzgl. der udev-rules etwas an:
- OpenSuse 10.3 : installiert zwar die IOWarrior ins richtige Verzeichniss (/dev/usb) lehnt es aber ab die Zugriffsrechte (MODE="666") für normale user freizugeben. (Nur root kann zugreifen)
Ubuntu 7.10 : Will das Verzeichnis /dev/usb nicht verwenden, weil der device-Name nicht offiziell ist. IOWarrior erscheinen daher unter /dev/iowarriorXX.
Das SDK hat in den letzten Jahren folgende Datei benutzt:
Code: Select all
#/etc/udev/rules.d/10-iowarrior.rules
# udev rules for iowarrior device nodes
KERNEL=="iowarrior*", NAME="usb/iowarrior%n", GROUP="users", MODE="666"
Ansonsten wäre noch die Ausgabe von sudo dmesg in der console interessant. Was wird direkt nach dem einstecken eines IOWarrior hier gemeldet?
Eberhard
Servus wayoda,
es handelt sich um Gentoo Linux. Das ändern der udev-Datei hat nix gebracht.
Auch /dev/iowarrior* gibt es nicht.
dmesg-Auszug:
usb 2-5: new low speed USB device using ohci_hcd and address 8
usb 2-5: configuration #1 chosen from 1 choice
Sieht irgendwie so aus als würde sich kein Treiber zuständig fühlen...
es handelt sich um Gentoo Linux. Das ändern der udev-Datei hat nix gebracht.
Auch /dev/iowarrior* gibt es nicht.
dmesg-Auszug:
usb 2-5: new low speed USB device using ohci_hcd and address 8
usb 2-5: configuration #1 chosen from 1 choice
Sieht irgendwie so aus als würde sich kein Treiber zuständig fühlen...
Hallo,
...wäre zu erwarten wenn der IOWarrior überhaupt erkannt wird.
Die obigen Ausgaben werden direkt vom Kernel-modul erzeugt, sollten also unabhängig von udev auf jeden Fall vorhanden sein.
Nächste Tests die mir einfallen würden:
Gibt es vielleicht ein Windows-system in der Nähe um zu sehen ob die IOWarrior-Hardware funktioniert bzw. ob es sich überhaupt um ein Linuxproblem handelt?
Anderes Kabel benutzen;
anderen Hub am Rechner benutzen (falls vorhanden);
funktionieren alle andere USB-Geräte an diesem Hub?
Eberhard
P.S.
Ein erkannter IOWarrior wird bei Engabe von sudo lsusb -v -d 07c0: etwa so gemeldet.
Gentoo kenne ich leider gar nicht, aber eine Ausgabe so ungefähr wie die hierMaggus wrote: es handelt sich um Gentoo Linux. Das ändern der udev-Datei hat nix gebracht.
Sieht irgendwie so aus als würde sich kein Treiber zuständig fühlen...
Code: Select all
[17459.236866] iowarrior 3-2:1.0: IOWarrior product=0x1501, serial=00000112 interface=0 now attached to iowarrior0
[17459.243821] iowarrior 3-2:1.1: IOWarrior product=0x1501, serial=00000112 interface=1 now attached to iowarrior1
[17459.243832] usbcore: registered new interface driver iowarrior
Die obigen Ausgaben werden direkt vom Kernel-modul erzeugt, sollten also unabhängig von udev auf jeden Fall vorhanden sein.
Nächste Tests die mir einfallen würden:
Gibt es vielleicht ein Windows-system in der Nähe um zu sehen ob die IOWarrior-Hardware funktioniert bzw. ob es sich überhaupt um ein Linuxproblem handelt?
Anderes Kabel benutzen;
anderen Hub am Rechner benutzen (falls vorhanden);
funktionieren alle andere USB-Geräte an diesem Hub?
Eberhard
P.S.
Ein erkannter IOWarrior wird bei Engabe von sudo lsusb -v -d 07c0: etwa so gemeldet.
Code: Select all
Bus 003 Device 005: ID 07c0:1501 Code Mercenaries Hard- und Software GmbH IO-Warrior 24
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 1.10
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 8
idVendor 0x07c0 Code Mercenaries Hard- und Software GmbH
idProduct 0x1501 IO-Warrior 24
bcdDevice 10.11
iManufacturer 1 Code Mercenaries
iProduct 2 IO-Warrior24
iSerial 3 00000112
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 59
bNumInterfaces 2
bConfigurationValue 1
iConfiguration 4 Generic IO
bmAttributes 0xa0
(Bus Powered)
Remote Wakeup
MaxPower 500mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 3 Human Interface Devices
bInterfaceSubClass 0 No Subclass
bInterfaceProtocol 0 None
iInterface 5 Plain I/O
HID Device Descriptor:
bLength 9
bDescriptorType 33
bcdHID 1.01
bCountryCode 0 Not supported
bNumDescriptors 1
bDescriptorType 34 Report
wDescriptorLength 33
Report Descriptors:
** UNAVAILABLE **
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0002 1x 2 bytes
bInterval 10
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 3 Human Interface Devices
bInterfaceSubClass 0 No Subclass
bInterfaceProtocol 0 None
iInterface 6 Complex Interfaces
HID Device Descriptor:
bLength 9
bDescriptorType 33
bcdHID 1.01
bCountryCode 0 Not supported
bNumDescriptors 1
bDescriptorType 34 Report
wDescriptorLength 165
Report Descriptors:
** UNAVAILABLE **
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0008 1x 8 bytes
bInterval 10
Device Status: 0x0000
(Bus Powered)
Die Ausgabe von lsusb -v sieht ungefähr so aus wie do beschreiben hast.
Das mit Windows teste ich später.
Was mir noch Sorgen macht ist die folgende Meldung beim Booten:
hub 2-0:1.0: Cannot enable port 5. Maybe the USB cable is bad?
hub 2-0:1.0: Cannot enable port 5. Maybe the USB cable is bad?
hub 2-0:1.0: Cannot enable port 5. Maybe the USB cable is bad?
hub 2-0:1.0: Cannot enable port 5. Maybe the USB cable is bad?
Ich habe am selben USB Bus noch eine Maus angeschlossen, die funktioniert prima.
Das mit Windows teste ich später.
Was mir noch Sorgen macht ist die folgende Meldung beim Booten:
hub 2-0:1.0: Cannot enable port 5. Maybe the USB cable is bad?
hub 2-0:1.0: Cannot enable port 5. Maybe the USB cable is bad?
hub 2-0:1.0: Cannot enable port 5. Maybe the USB cable is bad?
hub 2-0:1.0: Cannot enable port 5. Maybe the USB cable is bad?
Ich habe am selben USB Bus noch eine Maus angeschlossen, die funktioniert prima.
Hallo,
na irgendwie scheint der IOWarrior zumindest mal erkannt zu werden.
bzgl. des Treibers, was liefert denn ls /sys/bus/usb/drivers nachdem ein IOWarrior eingesteckt wurde? Es sollte hier ein Unterverzeichnis iowarrior geben, in dem dann wiederum links auf die vom treiber bedienten devices stehen.
Bei mir siehts etwa so aus:
Ist das einer der Ports in dem der IOWarrior steckt?
Ändert sich die Meldung wenn man den IOW zB. in den Port steckt in dem die Maus funktioniert?
Eberhard
na irgendwie scheint der IOWarrior zumindest mal erkannt zu werden.
bzgl. des Treibers, was liefert denn ls /sys/bus/usb/drivers nachdem ein IOWarrior eingesteckt wurde? Es sollte hier ein Unterverzeichnis iowarrior geben, in dem dann wiederum links auf die vom treiber bedienten devices stehen.
Bei mir siehts etwa so aus:
Code: Select all
ls -all /sys/bus/usb/drivers/
insgesamt 0
drwxr-xr-x 12 root root 0 2007-11-12 18:19 .
drwxr-xr-x 4 root root 0 2007-11-12 18:51 ..
drwxr-xr-x 2 root root 0 2007-11-12 18:51 hiddev
drwxr-xr-x 2 root root 0 2007-11-12 18:51 hub
drwxr-xr-x 2 root root 0 2007-11-12 18:21 iowarrior
drwxr-xr-x 2 root root 0 2007-11-12 18:51 libusual
drwxr-xr-x 2 root root 0 2007-11-12 18:51 usb
drwxr-xr-x 2 root root 0 2007-11-12 18:51 usbfs
drwxr-xr-x 2 root root 0 2007-11-12 18:51 usbhid
drwxr-xr-x 2 root root 0 2007-11-12 18:51 usb-storage
drwxr-xr-x 2 root root 0 2007-11-12 17:51 wacom
drwxr-xr-x 2 root root 0 2007-11-12 17:51 xpad
wyd@rebooter:~$ ls -all /sys/bus/usb/drivers/iowarrior/
insgesamt 0
drwxr-xr-x 2 root root 0 2007-11-12 18:21 .
drwxr-xr-x 12 root root 0 2007-11-12 18:19 ..
lrwxrwxrwx 1 root root 0 2007-11-12 18:21 3-2:1.0 -> ../../../../devices/pci0000:00/0000:00:10.2/usb3/3-2/3-2:1.0
lrwxrwxrwx 1 root root 0 2007-11-12 18:21 3-2:1.1 -> ../../../../devices/pci0000:00/0000:00:10.2/usb3/3-2/3-2:1.1
--w------- 1 root root 4096 2007-11-12 18:20 bind
lrwxrwxrwx 1 root root 0 2007-11-12 18:20 module -> ../../../../module/iowarrior
--w------- 1 root root 4096 2007-11-12 18:20 new_id
--w------- 1 root root 4096 2007-11-12 18:20 unbind
Ist das ein externer Hub, oder der Hub am Rechner selbst?Was mir noch Sorgen macht ist die folgende Meldung beim Booten:
hub 2-0:1.0: Cannot enable port 5. Maybe the USB cable is bad?
Ist das einer der Ports in dem der IOWarrior steckt?
Ändert sich die Meldung wenn man den IOW zB. in den Port steckt in dem die Maus funktioniert?
Eberhard
Der IO-Warrior hängt direkt am PC, habe verschiedene Ports (und Kabel) probiert, selbes Ergebnis.
Habe mittlerweile auch die Kernelversionen 2.6.21.1 und 2.6.22.1 probiert, selbes Ergebnis.
Unter Windows wird auch ein "HID USB-Gerät" erkannt, mit den passenden IDs. Der Treiber wird wohl nicht geladen. (Brauche ich da einen? Kenne mich mit Win nicht so aus).
Ich bin relativ sicher, dass der IOWarrior funktioniert, er ging zumindest früher mal einwandfrei und lsusb erkennt ihn ja.
Könnte es sein dass die Device Nodes nur woanders liegen?
Die Meldung mit dem Kabel bezieht sich auf den Port wo der IOW dranhängt. Er ist übrigens Rev V1.0.2.1R
Habe mittlerweile auch die Kernelversionen 2.6.21.1 und 2.6.22.1 probiert, selbes Ergebnis.
Unter Windows wird auch ein "HID USB-Gerät" erkannt, mit den passenden IDs. Der Treiber wird wohl nicht geladen. (Brauche ich da einen? Kenne mich mit Win nicht so aus).
Ich bin relativ sicher, dass der IOWarrior funktioniert, er ging zumindest früher mal einwandfrei und lsusb erkennt ihn ja.
Könnte es sein dass die Device Nodes nur woanders liegen?
Die Meldung mit dem Kabel bezieht sich auf den Port wo der IOW dranhängt. Er ist übrigens Rev V1.0.2.1R
Hallo,
Tests :
Das Ein- bzw. Ausstecken des IOWarrior sollte in Verzeichniss /dev/ irgendwie sichtbar sein. Wahrscheinlich werden wohl Einträge der Form
/dev/usbdev*** beim Einstecken angelegt, und nach Ausstecken wieder entfernt. (Kann so jeweils 1-2 sekunden dauern.)
Man könnte auch mit grep "iowarrior*" /etc/udev/rules.d/* mal testen ob es unter gentoo, doch eine vordefinierte udev-Regel für den IOWarrior gibt.
Die selbstgeschriebene Regel-Datei kann man auch noch mal unter
00-iowarrior.rules
speichern. Die rules-Dateien werden nach ASCII-Reihenfolge abgearbeitet. Ein Dateinamen mit zwei mal Null (kein Ohh) am Anfang sollte da auf Platz eins landen.
Eberhard
Ich selbst habe mal ein OpenSuse 10.3 installiert mit Kernel 2.6.22, dort wurde der IOWarrior ohne Probleme erkannt. Kernelprobleme sind eher unwahrscheinlich.Maggus wrote:Der IO-Warrior hängt direkt am PC, habe verschiedene Ports (und Kabel) probiert, selbes Ergebnis.
Habe mittlerweile auch die Kernelversionen 2.6.21.1 und 2.6.22.1 probiert, selbes Ergebnis.
Ein Treiber ist unter Windows nicht nötig. Man kann wohl davon ausgehen, dass die Hardware in Ordnung ist.Unter Windows wird auch ein "HID USB-Gerät" erkannt, mit den passenden IDs. Der Treiber wird wohl nicht geladen. (Brauche ich da einen? Kenne mich mit Win nicht so aus).
Ja, das kann sehr gut sein.Könnte es sein dass die Device Nodes nur woanders liegen?
Tests :
Das Ein- bzw. Ausstecken des IOWarrior sollte in Verzeichniss /dev/ irgendwie sichtbar sein. Wahrscheinlich werden wohl Einträge der Form
/dev/usbdev*** beim Einstecken angelegt, und nach Ausstecken wieder entfernt. (Kann so jeweils 1-2 sekunden dauern.)
Man könnte auch mit grep "iowarrior*" /etc/udev/rules.d/* mal testen ob es unter gentoo, doch eine vordefinierte udev-Regel für den IOWarrior gibt.
Die selbstgeschriebene Regel-Datei kann man auch noch mal unter
00-iowarrior.rules
speichern. Die rules-Dateien werden nach ASCII-Reihenfolge abgearbeitet. Ein Dateinamen mit zwei mal Null (kein Ohh) am Anfang sollte da auf Platz eins landen.
Eberhard
Habe gegrept, es gibt keine bereits vorhandene udev-Regel unter Gentoo.
Meine udev-Regel habe ich wie beschrieben umbenannt.
ein ls /dev/usb* gibt vor dem Einstecken:
crw-rw---- 1 root root 254, 0 Nov 13 2007 usbdev1.1_ep00
crw-rw---- 1 root root 254, 1 Nov 13 2007 usbdev1.1_ep81
crw-rw---- 1 root root 254, 2 Nov 13 2007 usbdev2.1_ep00
crw-rw---- 1 root root 254, 3 Nov 13 2007 usbdev2.1_ep81
crw-rw---- 1 root root 254, 4 Nov 13 2007 usbdev2.2_ep00
crw-rw---- 1 root root 254, 5 Nov 13 2007 usbdev2.2_ep81
Und nach dem Einstecken:
crw-rw---- 1 root root 254, 0 Nov 13 2007 usbdev1.1_ep00
crw-rw---- 1 root root 254, 1 Nov 13 2007 usbdev1.1_ep81
crw-rw---- 1 root root 254, 2 Nov 13 2007 usbdev2.1_ep00
crw-rw---- 1 root root 254, 3 Nov 13 2007 usbdev2.1_ep81
crw-rw---- 1 root root 254, 4 Nov 13 2007 usbdev2.2_ep00
crw-rw---- 1 root root 254, 5 Nov 13 2007 usbdev2.2_ep81
crw-rw---- 1 root root 254, 6 Nov 13 09:23 usbdev2.3_ep00
crw-rw---- 1 root root 254, 7 Nov 13 09:23 usbdev2.3_ep81
crw-rw---- 1 root root 254, 8 Nov 13 09:23 usbdev2.3_ep82
Es ändert sich also was.
Meine udev-Regel habe ich wie beschrieben umbenannt.
ein ls /dev/usb* gibt vor dem Einstecken:
crw-rw---- 1 root root 254, 0 Nov 13 2007 usbdev1.1_ep00
crw-rw---- 1 root root 254, 1 Nov 13 2007 usbdev1.1_ep81
crw-rw---- 1 root root 254, 2 Nov 13 2007 usbdev2.1_ep00
crw-rw---- 1 root root 254, 3 Nov 13 2007 usbdev2.1_ep81
crw-rw---- 1 root root 254, 4 Nov 13 2007 usbdev2.2_ep00
crw-rw---- 1 root root 254, 5 Nov 13 2007 usbdev2.2_ep81
Und nach dem Einstecken:
crw-rw---- 1 root root 254, 0 Nov 13 2007 usbdev1.1_ep00
crw-rw---- 1 root root 254, 1 Nov 13 2007 usbdev1.1_ep81
crw-rw---- 1 root root 254, 2 Nov 13 2007 usbdev2.1_ep00
crw-rw---- 1 root root 254, 3 Nov 13 2007 usbdev2.1_ep81
crw-rw---- 1 root root 254, 4 Nov 13 2007 usbdev2.2_ep00
crw-rw---- 1 root root 254, 5 Nov 13 2007 usbdev2.2_ep81
crw-rw---- 1 root root 254, 6 Nov 13 09:23 usbdev2.3_ep00
crw-rw---- 1 root root 254, 7 Nov 13 09:23 usbdev2.3_ep81
crw-rw---- 1 root root 254, 8 Nov 13 09:23 usbdev2.3_ep82
Es ändert sich also was.
Habe auf die drei neuen Endpoint-Devices Symlinks der Form /dev/usb/iowarrior[0-2] angelegt, die Datei iowkittest erkennt den IOW aber immer noch nicht.
Bist du sicher das es nicht der Kernel ist? Wenn der Kernel den IOW erkennt würde, dann würde doch ein dmesg|grep -i iowarr etwas liefern, oder? Mich macht es stutzig, dass der Kernel den IOW nie explizit erwähnt, sondern nur ein allgemeines USB-Gerät findet.
Bist du sicher das es nicht der Kernel ist? Wenn der Kernel den IOW erkennt würde, dann würde doch ein dmesg|grep -i iowarr etwas liefern, oder? Mich macht es stutzig, dass der Kernel den IOW nie explizit erwähnt, sondern nur ein allgemeines USB-Gerät findet.
Hi,
Aber 10-iowarrior.rules ist eigentlich schon OK.
(Nach jedem Erstellen oder Ändern einer rules-Datei muss
sudo udevcontrol reload_rules
ausgeführt werden, damit die geänderten Regeln übernommen werden, alternativ ein reboot)
Na, vielleicht erst noch mal auf Anfang zurück, kurz konzentrieren und alles noch mal testen:
Die obigen Tests sollten es zeigen...
Eberhard
Hätte mich auch gewundert, aber kenne gentoo nichtMaggus wrote:Habe gegrept, es gibt keine bereits vorhandene udev-Regel unter Gentoo.
Meine Wahl von 00-iowarrior war vielleicht doch nicht so gut, die 00-Abteilung ist bei den udev-rules für Initialisierungen vorgesehen.Meine udev-Regel habe ich wie beschrieben umbenannt.
Aber 10-iowarrior.rules ist eigentlich schon OK.
(Nach jedem Erstellen oder Ändern einer rules-Datei muss
sudo udevcontrol reload_rules
ausgeführt werden, damit die geänderten Regeln übernommen werden, alternativ ein reboot)
Das Hardware wird erkannt.ein ls /dev/usb* gibt vor dem Einstecken:
crw-rw---- 1 root root 254, 0 Nov 13 2007 usbdev1.1_ep00
crw-rw---- 1 root root 254, 1 Nov 13 2007 usbdev1.1_ep81
crw-rw---- 1 root root 254, 2 Nov 13 2007 usbdev2.1_ep00
crw-rw---- 1 root root 254, 3 Nov 13 2007 usbdev2.1_ep81
crw-rw---- 1 root root 254, 4 Nov 13 2007 usbdev2.2_ep00
crw-rw---- 1 root root 254, 5 Nov 13 2007 usbdev2.2_ep81
Und nach dem Einstecken:
crw-rw---- 1 root root 254, 0 Nov 13 2007 usbdev1.1_ep00
crw-rw---- 1 root root 254, 1 Nov 13 2007 usbdev1.1_ep81
crw-rw---- 1 root root 254, 2 Nov 13 2007 usbdev2.1_ep00
crw-rw---- 1 root root 254, 3 Nov 13 2007 usbdev2.1_ep81
crw-rw---- 1 root root 254, 4 Nov 13 2007 usbdev2.2_ep00
crw-rw---- 1 root root 254, 5 Nov 13 2007 usbdev2.2_ep81
crw-rw---- 1 root root 254, 6 Nov 13 09:23 usbdev2.3_ep00
crw-rw---- 1 root root 254, 7 Nov 13 09:23 usbdev2.3_ep81
crw-rw---- 1 root root 254, 8 Nov 13 09:23 usbdev2.3_ep82
Es ändert sich also was.
Na, vielleicht erst noch mal auf Anfang zurück, kurz konzentrieren und alles noch mal testen:
- Erst mal die 10-iowarrior.rules Datei aus dem /etc/udev/rules.d/-Verzeichniss löschen, bzw. in ein anderes temporäres Verzeichnis moven.
sudo udevcontrol reload_rules damit bei den rules wieder alles auf default steht.
uname -r um zu testen ob der laufende kernel wirklich ein >= 2.6.21 ist.
IOWarrior einstecken
sudo lsmod Das modul iowarrior sollte unter Abteilung usbcore aufgelistet sein.
ls -all /dev/* Normalerweise wird für ein Gerät ohne explizite udev-Regel der Name des zuständigen Kernelmoduls als device-name benutzt. Eigentlich sollte also nunn die devices /dev/iowarrior0 und /dev/iowarrior1 existieren (Zugriffsrechte allerdings nur für root!).
Wundert mich auch, aber gentoo wird doch keine in diesem Bereich modifizierten Kernel verwenden?Bist du sicher das es nicht der Kernel ist? Wenn der Kernel den IOW erkennt würde, dann würde doch ein dmesg|grep -i iowarr etwas liefern, oder? Mich macht es stutzig, dass der Kernel den IOW nie explizit erwähnt, sondern nur ein allgemeines USB-Gerät findet.
Die obigen Tests sollten es zeigen...
Eberhard
Habe es nochmals gemäß deiner Anleitung probiert, hat leider nichts geholfen.
Ich habe weder ein Modul usbcore noch iowarrior (Ich kompiliere immer alles fest in den Kernel ein).
Ich habe jetzt meinen 2.6.22.1 nochmal neu kompiliert (Übrigens: Ich arbeite immer mit Vanilla-Kerneln) und habe diesmal iowarrior als Modul übersetzen lassen. Das Ergbnis ist das gleiche, aber was mich wundert:
find /lib/modules -iname "*warrior*"
liefert nichts. D.h. es scheint gar kein Kernelmodul iowarrior zu geben.
Ich arbeite übrigens auf x86_64, falls das was zur Sache tut.
Ich habe weder ein Modul usbcore noch iowarrior (Ich kompiliere immer alles fest in den Kernel ein).
Ich habe jetzt meinen 2.6.22.1 nochmal neu kompiliert (Übrigens: Ich arbeite immer mit Vanilla-Kerneln) und habe diesmal iowarrior als Modul übersetzen lassen. Das Ergbnis ist das gleiche, aber was mich wundert:
find /lib/modules -iname "*warrior*"
liefert nichts. D.h. es scheint gar kein Kernelmodul iowarrior zu geben.
Ich arbeite übrigens auf x86_64, falls das was zur Sache tut.
Hallo,
Die Standard-option in der kernel-config (Sektion USB) lautet:
Man kann den treiber also sowieso nur als Modul compilieren und er muß auch explizit aktiviert werden. Falls Du das übersehen hast wird natürlich auch kein iowarrior-Modul erzeugt und installiert!
Ich war bisher von einem vorcompilierten Kernel einer Distribution wie Ubuntu etc. ausgegangen, die aktivieren eigentlich immer alle Treiber die nicht expizit als experimental gekennzeichnet sind.
Kannst Du erst mal prüfen ob die IOWarrior-Kernel-Option auf Modul steht?
Eberhard
Beim Thema nicht-modularisierte Kernel kenn ich mich gar nicht aus. Gibt es einen Grund dafür auf Module zu verzichten? (Embedded linux ?)Maggus wrote:Habe es nochmals gemäß deiner Anleitung probiert, hat leider nichts geholfen.
Ich habe weder ein Modul usbcore noch iowarrior (Ich kompiliere immer alles fest in den Kernel ein).
Die Quellen für den iowarrior liegen in /usr/src/linux/drivers/usb/misc/Ich habe jetzt meinen 2.6.22.1 nochmal neu kompiliert (Übrigens: Ich arbeite immer mit Vanilla-Kerneln) und habe diesmal iowarrior als Modul übersetzen lassen.
Das Ergbnis ist das gleiche, aber was mich wundert:
find /lib/modules -iname "*warrior*"
liefert nichts. D.h. es scheint gar kein Kernelmodul iowarrior zu geben.
Die Standard-option in der kernel-config (Sektion USB) lautet:
Code: Select all
IO Warrior driver support (USB_IOWARRIOR) [N/m/?] (NEW)
Ich war bisher von einem vorcompilierten Kernel einer Distribution wie Ubuntu etc. ausgegangen, die aktivieren eigentlich immer alle Treiber die nicht expizit als experimental gekennzeichnet sind.
Kannst Du erst mal prüfen ob die IOWarrior-Kernel-Option auf Modul steht?
Eberhard
Ich finde es einfacher zu handeln, wenn die Sachen fest im Kernel sind. Sachen, die ich nicht brauche, werfe ich ganz raus. Habe kaum Module in meinem Kernel.
Die Option lautet genau:
CONFIG_USB_IOWARRIOR=m
Ich kann sie bei mir aber auch als "yes", also fest einkompiliert angeben. Bei beiden habe ich das gleiche Ergebnis, der IOW wird nicht gefunden und es wird auch kein Modul erzeugt.
Die Option lautet genau:
CONFIG_USB_IOWARRIOR=m
Ich kann sie bei mir aber auch als "yes", also fest einkompiliert angeben. Bei beiden habe ich das gleiche Ergebnis, der IOW wird nicht gefunden und es wird auch kein Modul erzeugt.
Die von mir angegebene Zeile ist die Abfrage bei : make config.Maggus wrote: Die Option lautet genau:
CONFIG_USB_IOWARRIOR=m
Reden wir hier über das gleiche (benutzt Du 'make xconfig' oder was auch immer)?
Wenn das modul nicht kompiliert wird, kann es natürlich auch nicht installiert und gefunden werden.Bei beiden habe ich das gleiche Ergebnis, der IOW wird nicht gefunden und es wird auch kein Modul erzeugt.
Bitte prüf doch mal die compiler-Ausgabe bei einem Kernel-Build. Nach einem 'make clean' auf den Kernel sollte eine Meldung erscheinen wenn der compiler beim iowarrior code vorbeikommt.
Eberhard