Das Linux-Modul für den IOWarrior setzt eine Kernel-Version >= 2.6.10 voraus. Unter dem von dir verwendeten Kernel 2.6.8 wird ein IOWarrior nur als HID-Device erkannt und an das Modul hiddev gebunden.
Es gibt 2 Möglichkeiten das Problem zu beheben:
1. Einen neuen Kernel installieren >=2.6.10
2. Falls du den Kernel 2.6.8 beibehalten mußt: In der Datei
/usr/src/linux/drivers/usb/input/hid-core.c
gibt es eine Datenstruktur
static struct hid_blacklist
In diesem struct sind alle Geräte verzeichnet, die sich als HID-Gerät melden, aber einen eigenes Modul benötigen, oder anders ausgedrückt alle Geräte die das Modul
hiddev ignorieren soll.
Hier muß auch der IOWarrior eingetragen werden. Dazu werden (wie für die anderen Geräte in der Liste auch) die Vendor und Device-ID der IOWarrior definiert:
Code: Select all
#define USB_VENDOR_ID_CODEMERCS 0x07c0
#define USB_DEVICE_ID_CODEMERCS_IOW40 0x1500
#define USB_DEVICE_ID_CODEMERCS_IOW24 0x1501
#define USB_DEVICE_ID_CODEMERCS_IOW48 0x1502
#define USB_DEVICE_ID_CODEMERCS_IOW28 0x1503
Und dann die folgenden Einträge zum
struct hid_blacklist hinzugefügt:
Code: Select all
{ USB_VENDOR_ID_CODEMERCS, USB_DEVICE_ID_CODEMERCS_IOW40, HID_QUIRK_IGNORE },
{ USB_VENDOR_ID_CODEMERCS, USB_DEVICE_ID_CODEMERCS_IOW24, HID_QUIRK_IGNORE },
{ USB_VENDOR_ID_CODEMERCS, USB_DEVICE_ID_CODEMERCS_IOW48, HID_QUIRK_IGNORE },
{ USB_VENDOR_ID_CODEMERCS, USB_DEVICE_ID_CODEMERCS_IOW28, HID_QUIRK_IGNORE },
Danach müssen natürlich die Module des Kernels neu compilert und installiert werden, damit die Änderungen auch wirksam werden.
Warum allerdings das Verzeichnis
/dev/usb unter Debian nicht existiert, bzw. auch nach einem Reboot wieder verschwindet kann ich als Suse-Nutzer auch nicht beantworten.
Ein einfacher Test für das korrekte Funktioneren des Moduls ist in jedem Fall sich die Ausgabe von
dmesg (nur als root möglich) anzusehen.
Das Einstecken des IOWarrior sollte mit einer ähnlichen Meldung verzeichnet sein wie diese hier:
Code: Select all
/home/wyd/iow/SDK/LinuxSDK/Kernel_2.6/Driver/iowarrior.c: IOWarrior product=0x1501, serial=00000117 interface=0 now attached to iowarrior0
/home/wyd/iow/SDK/LinuxSDK/Kernel_2.6/Driver/iowarrior.c: IOWarrior product=0x1501, serial=00000117 interface=1 now attached to iowarrior1
Sie wird direkt vom Modul
iowarrior erzeugt.
Eberhard