USB Gerät (I/O Board) wird nicht erkannt

GeenZ

Neuer User
Mitglied seit
23 Mrz 2006
Beiträge
38
Punkte für Reaktionen
0
Punkte
0
Hi,

ich möchte gerne ein Velleman k8055 USB-I/O-Interface an meine FBF 7170 anschließen. Die passende Software habe ich bereits für die FBF portiert.

Leider scheint das k8055 Board nicht am USB Bus erkannt zu werden. Zumindest erscheint nach dem Anschließen kein Eintrag in /proc/bus/usb/devices und meine Software findet das Board auch nicht.
Nach dem Anschließen am USB Port geht zwar die Power LED an und das Board scheint sich auch korrekt zu initialisieren (LED 8 blinkt kurz und leuchtet dann, so wie auch im Manual beschrieben), aber die FBF scheint mit dem Gerät nichts anfangen zu können.

Hab' ich vielleicht etwas vergessen?

Bin für jede Hilfe dankbar!

Schöne Grüße, GeenZ
 
Zuletzt bearbeitet:
heini66 schrieb:
per lsmod mal nachgesehen, ob das modul geladen wird? ist das nen serielles device? das modul dazu auch da?

Tja, ob ein Modul geladen wird oder werden muß, weiß ich gar nicht. Ich dache, bei USB müßte es PnP sein. Das Board ist meines Wissens kein serielles device, oder doch??!?

lsmod ergibt bei mir folgenden Output:

Code:
[FONT="Courier New"]
# lsmod
Module                  Size  Used by    Tainted: P  
kdsldmod              453324   4
isdn_fbox             890664   4
capi                   23760  14
kernelcapi             33788   6 [isdn_fbox capi]
capiutil               15808   0 [kernelcapi]
capifs                  4560   0 [capi]
ubik2                  50200   1 [isdn_fbox]
tiatm                  87948   1 [ubik2]
usbahcicore            20820   0 (unused)
usbcore                61616   1 [usbahcicore]
avalanche_vlynq        13984   0 (unused)
avalanche_cpmac        82284   1
Piglet                  2984   0 (unused)
avm                    42512  33 [kdsldmod ubik2 tiatm avalanche_cpmac]
 
[/FONT]

Bin leider kein Profi auf dem Gebiet...

GeenZ
 
heini66 schrieb:
da ist weder usbserial noch dein adapter geladen.
usblib für die fitzbox hast du?
usbserial.o und dein adapter-treiber hast du auf der box?

Also, usbserial.o könnte ich mit insmod mal nachladen, allerdings weiß ich nicht, ob ich es überhaupt brauche.

Einen weiteren Treiber habe ich nicht. Mein Programm verwendet die USBLIB, die ich statisch miteingelinkt habe. Auf der Software-Seite (s.o.) mit dem original Linux-Source-Code steht auch nichts von einem weiteren Treiber. Aber vielleicht ist der auch schon im standard Linux-Kernel mit eingebunden und fehlt im Mipsel Linux.

Irgendwie fehlt mir hier der rechte Durchblick...

GeenZ
 
Hast du mal ein Blick in den syslog geworfen. Normalerweise müsste das doch dort auftauchen...

MfG Oliver
 
olistudent schrieb:
Hast du mal ein Blick in den syslog geworfen. Normalerweise müsste das doch dort auftauchen...
Das dachte ich auch, aber da steht leider nichts.

Wenn ich meinen USB-Stick anstecke, steht dort immer eine Meldung "USB-Gerät 002, Klasse 'storage', angesteckt" oder so ähnlich, aber beim k8055 Board passiert irgendwie gar nichts.

Wäre wirklich schade, wenn man das I/O-Board nicht zum Laufen bekommen würde. Ich hatte damit schon einige nette Sachen vor...

GeenZ.
 
heini66 schrieb:
hast das device ma an nen i386 linux gehängt, geschaut wie's da aussieht??? syslog, lsmod etc?

Hab's gerade einmal unter Knoppix ausprobiert. Also, lsmod gibt folgenden Output:

Code:
Module                  Size  Used by
ipv6                  238336  10
sworks_agp             11040  0
nvidia_agp              9756  0
ati_agp                10636  0
amd64_agp              13380  0
ali_agp                 9344  0
af_packet              23816  0
dm_mod                 48404  0
eepro100               30352  0
fuse                   34952  0
tsdev                   9920  0
e100                   34052  0
mii                     8448  2 eepro100,e100
snd_intel8x0           31260  1
parport_pc             38512  0
parport                33992  1 parport_pc
intel_agp              22684  1
hw_random               8856  0
serio_raw               9220  0
snd_ac97_codec         88352  1 snd_intel8x0
snd_ac97_bus            6016  1 snd_ac97_codec
snd_pcm_oss            38176  0
snd_mixer_oss          17536  1 snd_pcm_oss
snd_pcm                73220  3 snd_intel8x0,snd_ac97_codec,snd_pcm_oss
8250_pnp               12288  0
8250                   24320  1 8250_pnp
serial_core            20480  1 8250
shpchp                 37032  0
i2c_i801               11532  0
i2c_core               20480  1 i2c_i801
snd_timer              22148  1 snd_pcm
snd                    44768  8 snd_intel8x0,snd_ac97_codec,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_timer
soundcore              11104  1 snd
snd_page_alloc         11272  2 snd_intel8x0,snd_pcm
agpgart                29156  6 sworks_agp,nvidia_agp,ati_agp,amd64_agp,ali_agp,intel_agp
pci_hotplug            28612  1 shpchp
evdev                  11648  1
usbhid                 50144  0
pcmcia                 33324  0
firmware_class         11648  1 pcmcia
yenta_socket           25612  0
rsrc_nonstatic         14080  1 yenta_socket
pcmcia_core            35992  3 pcmcia,yenta_socket,rsrc_nonstatic
video                  17284  0
thermal                14472  0
processor              25736  1 thermal
fan                     7300  0
container               7168  0
button                  8848  0
battery                11524  0
ac                      7428  0
unionfs                61728  1
cloop                  20608  1
sbp2                   22788  0
ohci1394               33200  0
ieee1394              285784  2 sbp2,ohci1394
usb_storage            76480  0
ohci_hcd               21636  0
uhci_hcd               23308  0
ehci_hcd               32008  0
usbcore               109084  6 usbhid,usb_storage,ohci_hcd,uhci_hcd,ehci_hcd

Und nach dem Anstecken am USB Port wird im Syslog folgende Meldung ausgegeben:

Code:
usb 4-1: new low speed USB device using uhci_hcd and address 3
usb 4-1: configuration #1 chosen from 1 choice
hiddev96: USB HID v1.00 Device [Velleman  USB K8055] on usb-0000:00:1d.2-1

Mir scheint, daß das Board ein USB Human Interface Device (HID) ist. Zumindest wird es direkt erkannt.
Was genau müßte jetzt noch von der i386er Distribution portiert werden, damit es auch unter der FBF läuft und wer könnte mir dabei helfen?

Besten Dank schon 'mal und schöne Grüße,

GeenZ
 
Da muss gar nichts von der i386 Distribution portiert werden.
Du musst auf der Fritz rausfinden welche Module du brauchst. Schonmal mit dmesg geschaut?
In Sachen USB ist der 2.4.17 halt ganz schön out of date. Aber diese HID-Geschichte scheint nur mit dem Modul input.o zu laufen.
Hast du eigentlich die libusb kompiliert? Schonmal testlibusb auf der FritzBox aufgerufen?

MfG Oliver
 
olistudent schrieb:
Da muss gar nichts von der i386 Distribution portiert werden.
Du musst auf der Fritz rausfinden welche Module du brauchst. Schonmal mit dmesg geschaut?
Mit dmesg wird leider nichts ausgegeben, wenn ich das Board anstöpsel.

olisstudent schrieb:
In Sachen USB ist der 2.4.17 halt ganz schön out of date. Aber diese HID-Geschichte scheint nur mit dem Modul input.o zu laufen.
Hast du eigentlich die libusb kompiliert? Schonmal testlibusb auf der FritzBox aufgerufen?
Welches Modul input.o meinst Du? Gibt's das irgendwo zum nachladen?

Die libusb habe ich kompiliert, allerdings hab' ich's nur bis zur libusb.a geschafft (was mir für's Linken meines Programms auch gereicht hat). Beim Übersetzen der Testprogramme bin ich noch gescheitert, da auf meinem System irgendwie das Einbinden des C++ Crosscompilers nicht richtig funktioniert.

GeenZ
 
heini66 schrieb:
der hid kram ist im std-avm kernel wenn ich recht erinner, komplett aus... hast das aktiviert?

Hm, diese Frage überfordert mich jetzt ein bißchen...
Wo müßte ich was aktivieren, um evtl. den "hid kram" einbinden zu können?
Oder könnte man ein entsprechendes Modul separat generieren und nachladen?

Danke, GeenZ
 
mach mal im ds-mod kitt nen make kernel-menuconfig... unter usb steht irgendwo dashid zeugs. hab meine toolchain erst heut abend zur hand... :(
make kernel-precompiled übersetzt es dann neu.
andernfalls Config.in im mod-kitt anpassen, dann gehts auch über make menuconfig und make.

such mal im forum nach usblib, hab die schon komplett durchbekommen... anleitung steht da.
welchen ds-mod hast du? wg c++ probs?
 
heini66 schrieb:
mach mal im ds-mod kitt nen make kernel-menuconfig... unter usb steht irgendwo dashid zeugs. hab meine toolchain erst heut abend zur hand... :(
make kernel-precompiled übersetzt es dann neu.

Hab' ich soweit gemacht. Herausgekommen ist dabei ein Modul "input.o" und "hid.o". Beide habe ich dann mit "insmod" installiert (erst input dann hid). lsmod gibt nun folgenden output:

Code:
# lsmod
Module                  Size  Used by    Tainted: P  
hid                    15160   0 (unused)
input                   4192   0 [hid]
kdsldmod              453324   4
isdn_fbox             890664   4
capi                   23760  14
kernelcapi             33788   6 [isdn_fbox capi]
capiutil               15808   0 [kernelcapi]
capifs                  4560   0 [capi]
ubik2                  50200   1 [isdn_fbox]
tiatm                  87948   1 [ubik2]
usbahcicore            20820   0 (unused)
usbcore                61616   1 [hid usbahcicore]
avalanche_vlynq        13984   0 (unused)
avalanche_cpmac        82284   1
Piglet                  2984   0 (unused)
avm                    42512  33 [kdsldmod ubik2 tiatm avalanche_cpmac]

Aber funktionieren tut es leider immer noch nicht. Beim Anstecken des Boards passiert rein gar nichts.

Ich habe nochmal auf der Linux Treiber Seite für das k8055 Board nachgeschaut. Dort wird ein Linux Kernel >= 2.4.18 als Voraussetzung angegeben. Der FBF Kernel basiert ja auf 2.4.17. Ich vermute, man muß hier doch noch etwas von der i386 Distribution portieren. In der dmesg Ausgabe auf meine i386 meldet sich der Treiber auch mit den Namen "hiddev96". Auf der FBF kommt folgende Meldung:

Code:
usb.c: registered new driver hid
hid-core.c: v1.8 Andreas Gal, Vojtech Pavlik <[email protected]>
hid-core.c: USB HID support drivers

Vielleicht kann ja jemand bei der Portierung des hiddev96 Treibers helfen?

Vielen Dank und schöne Grüße, GeenZ
 
dmesg auf der fb sieht doch schon ganz gut aus.
das mit dem 2.4.18 hab ich auch gelesen. mal den entwickler angeschrieben, warum aussgerechnet ab 2.4.18? die eine verionsnummer ist eventuell per patchupdate hin zubekommen? ich kanns nicht, habs schon versucht.
dann fällt mir noch olli's frage nach testusblib ein...
wie schauts denn damit aus?

oder ne 7141 nehmen. die hat 2.6.13.1
oder daumen drücken, das es die "ältere" generation auch noch auf die 2.6 kommt.
 
Zuletzt bearbeitet:
Irgendwie muß ich wohl nochmal ganz von vorne anfangen. Mein Linux System scheint ganz schon verranzt zu sein...
Wenn ich "make" mache, stopped es bei STEP 3 mit der Fehlermeldung "tar: unrecognized option `--format=oldgnu'". Wenn ich die toolchain baue, stopped es bei "make: *** No rule to make target `|', needed by `/home/SRC/ds-0.2.9/source/toolchain/uClibc-0.9.26/.configured'. Stop.". Das gleiche bei "make libs".

Der G++ Crosscompiler wird auch irgendwie nicht erstellt. Daher kann ich die Testprogramme der USBLIB nicht übersetzen...

Ich werde mir jetzt nochmal ein ganz frisches SUSE 10.1 installieren und fange dann mit einem ganz sauberen ds-0.2.9 neu an. Mal sehen, ob das etwas hilft.

Grüße, GeenZ
 
Ich habe es leider noch nicht wirklich geklärt:

Ich habe den Verdacht, dass die Fritzbox keine low speed Devices (die mit 1,5 Mbit/s, nix USB2 vs. USB1.1) erkennt. Grund: Im /proc gib es Info (VID, PID, ...) zu den USB Geräten, die meiner Meinung nach auch ohne jeden Treiber angezeigt werden. Auch auf der Box ist das bei FullSpeed der Fall, nur eben nicht bei LowSpeed.

Entscheidend könnte sein, dass LowSpeed bei den Endpoints Einschränkungen hat (kein Bulk Transfer wie in Flashdisks und kein Isochronous wie in Webcams). Andererseits sollte eigentlich der Control Transfer zum Erkennen reichen. :noidea:

Wer ruft bei der Hotline an? ;)
 
Ist das jetzt eine Hardwaregeschichte, oder lässt sich da was über den Kernel bzw. Kernelmodule regeln?

MfG Oliver
 
olistudent schrieb:
Ist das jetzt eine Hardwaregeschichte, oder lässt sich da was über den Kernel bzw. Kernelmodule regeln?
Würde mich auch interessieren.

Ich vermute, daß es sich eher um ein Treiber-Problem handelt. Ich habe übrigens einen interessanten Link gefunden, von Leuten, die das k8055 Board an einem Asus WL-HDD mit OpenWRT betrieben haben.

GeenZ
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.