Forum: PC-Programmierung Treiber-usb-Linux


von christian (Gast)


Lesenswert?

Hallo,

ich habe mir das neue SUSE 11.0 installiert
und möchte ein paar treiberquellen anpassen.
Leider finde der Compiler die usb.h nicht.
Auch mit "find" über die gesamte Festplatte war
nichts zu finden.
Sind noch andere Module nachzuladen oder warum
ist die Header nicht vorhanden?

Mfg
Christian

von Azrael (Gast)


Lesenswert?

Also wenn du mit find nichts findest, dann ist die datei nicht auf dem 
pc.
Treibernachladen(ich geh davon aus, dass du modprobe bzw. insmod meinst) 
hat nix mit den header-files zu tun

lösungsvorschlag:
1. kernel-sourcen installieren
2. kernel-headerfiles installieren

ein paar informationen über wie wo was du gemacht hast wär noch 
gut(willst du ein kernel-modul anpassen? oder verwendest du die libusb? 
...)

lg Azrael

von Hannes J. (Firma: eHaJo.de) (joggl) Benutzerseite Flattr this


Lesenswert?

#include <linux/usb.h>

lt:
find /usr/src/linux/include |grep usb.h
/usr/src/linux/include/linux/usb.h

von SuseHasser (Gast)


Lesenswert?

Vielleicht weil die Kernel Quellen nicht vorhanden sind ?

von MainSter (Gast)


Lesenswert?

Hallo,
hast du die USB- bibliothek installiert? Siehe 
Beitrag "libusb unter SuSE-Linux, Problem beim Linken"

Mit freundlichem Gruß
MainSter

von christian (Gast)


Lesenswert?

Ich habe Suse einfach nur installiert.Keinen Kernel kompiliert
oder so.
Im Verzeichnis /usr/src/ befindet sich /linux-2.6... -obj.
Muss ich vielleicht irgendwelche Kernelquellen kompilieren?

Mfg
Christian

von SuseHasser (Gast)


Lesenswert?

Ja, irgendwelche Kernel Quellen kompilieren hört sich gut an!
Danach aber nicht vergessen mit vi, äh ne besser nano, oh noch besser 
kedit in die Datei /etc/passwd gleich hinter root: noch usb.h eintragen 
;-)

Nur Spass ! Das ist natürlich schwachsinn

Ich kenne mich mit Suse wirklich nicht mehr aus. Aber eigentlich sollte 
es doch über YAST möglich sein , wie es schon Azrael beschrieben hat, 
die Kernel Quellen und Kernel Header zu installieren ?
Das sollte den Fehler eigntlich behebe. Der Tipp/Thread von MainSter 
betrifft in erster Linie das richtige benutzen von gcc,ld und makefiles.

von yalu (Gast)


Lesenswert?

Es gibt ein usb.h im Kernel (/kernelsourcepfad/include/linux/usb.h) und
eins in der libusb. Willst du einen Kernel-Treiber schreiben, brauchst 
du
die Kernel-Headers. Willst du einen Kernel-Treiber modifizieren,
brauchst du die gesamten Kernel-Sourcen. Willst du eine Anwendung
schreiben, die auf den bestehenden USB-Treibern des Kenels aufsetzt
(und keinen USB-Seriell-Konverter verwendet), ist libusb eine große
Hilfe. Willst du einen USB-Seriell-Konverter ansprechen, brauchst du gar
nichts zusätzliches. Kernel-Headers, Kernel-Sourcen und libusb sind
jeweils in einem eigenen Paket zu finden, das installiert werden muss.

von yxcv (Gast)


Lesenswert?

Zu yalus Beitrag, bei SUSE (und den anderen 'großen' Distributionen) 
sind die Pakete meist aufgeteilt (eins für die reine Anwendung, eins zum 
Programmieren), zum programmieren mit libusb benötigst du (vermutlich) 
das Paket libusb-devel. Wobei meine letzte SUSE verdammt lang her ist.

cu

von Günter -. (guenter)


Lesenswert?

openSUSE 10.3:

> rpm -q --whatprovides /usr/include/usb.h
libusb-devel-0.1.12-72

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.