Hallo,
wie bereits im Betreff aufgeführt will ich ein FTDI UM232H an einen
Sheevaplug mit ARMv5Tel-Architektur anschließen der unter Debian läuft.
Kernel:
1
Linux sheevaplug 2.6.32-5-kirkwood #1 Wed Jan 12 15:27:07 UTC 2011 armv5tel GNU/Linux
Nun habe ich zwar beim Anstöpseln ein Device /dev/UM232H, auf dieses
kann ich aber nicht zugreifen.
Bei einem cat /dev/UM232H kommen ein paar Sonderzeichen und das wars und
mit STTY kann ich keine Baudraten einstellen, da bekomme ich
Fehlermeldungen (Die Operation ist nicht erlaubt).
Bei FTDI steht das ab 2.6.31 der FTDI-Treiber im Kernel sei, was er
anscheinend auch ist, aber irgendwie auch wieder nicht :-) :-(
Normalerweisie sollte es nach dem Einstecken ein device "/dev/ttyUSBx"
geben, was es aber nicht gibt.
Hat denn jemand von euch das schonmal probiert und zum Laufen gekriegt?
Grüße
Lars
PS: Gleicher Effekt im Übrigen auch an einem anderen PC mit Squezee und
gleichem Kernel auf x86.
PPS: Die Treiber von FTDI kann ich nicht kompilieren, falls jemand
selbst kompilierte Module (für ARM) hat, dann würde ich die gern testen
wollen ;-)
Lars Witter schrieb:> Nun habe ich zwar beim Anstöpseln ein Device /dev/UM232H, auf dieses> kann ich aber nicht zugreifen.
Worauf zeigt dieser Link denn dann eigentlich?
Lars Witter schrieb:>> Worauf zeigt dieser Link denn dann eigentlich?> lrwxrwxrwx 1 root root 15 11. Jul 19:58 /dev/UM232H -> bus/usb/001/014
Das ist keine serielle Schnittstelle, das ist ein Interface zum
USB-Gerät selbst. Also wohl das, womit man direkt mit eigenem Treiber
über die libusb zugreift.
Die udev-Regel kam mir schon etwas unpassend vor, da wird nämlich gar
nicht geprüft, unter welchem Treiber das neue Device läuft. Also weg
damit. Die Default-Namen (wenn der Treiber das Ding mal ansprechen
würde) à la /dev/ttyUSBx werden ja erst mal reichen.
Evtl. fehlt dem ftdi-Treiber nur die Info, dass er mit dem Gerät auch
umgehen kann. Schau ich später noch mal.
Andreas B. schrieb:> Die Default-Namen (wenn der Treiber das Ding mal ansprechen> würde) à la /dev/ttyUSBx werden ja erst mal reichen.
mehr will ich ja gar nicht :-)
> Also weg damit.
Dann kriege ich aber auch kein /dev/ttyUSBx Device.
Lars Witter schrieb:> Dann kriege ich aber auch kein /dev/ttyUSBx Device.
Doch natürlich. Du bekommst generell immer die Devices mit von den
Treibern vorgegebenen Namen. Mit udev-Regeln kannst du zusätzliche Links
auf diese Devices erzeugen lassen und so einen selbst vorgegebenen Namen
auf ein bestimmtes Device anlegen.
Die ttyUSBx Namen bekommen halt alle möglichen USB-Seriell Umsetzer mit
einer Nummer, die entsprechend der Reihenfolge der Initialisierung / des
Ansteckens vergeben wird, was eben jedes mal eine andere Nummer sein
kann. Mit deiner Regel, die auch die Seriennummer einschließt, bekommt
dieser eine (und nur dieser) Umsetzer immer den Namen UM232H.
Aber zum eigentlichen Problem: Ich habe nachgeschaut und herausgefunden,
dass der Patch, der Unterstützung für FT232H Chips bietet, noch nicht in
2.6.32 ist. Tatsächlich noch in keinem Release, erst ab 3.0-rc4 ist er
enthalten. Ist aber auch nicht mehr als die IDs einzufügen, wäre also
leicht zurückportierbar. Zumindest so lange man selber Kernel übersetzen
kann.
Hier isser:
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=309427b6351b763917caac3e4b2ab5651df99823
Andreas B. schrieb:> Zumindest so lange man selber Kernel übersetzen kann.
Und da geht der Ärger los :-)
Erstmal 1000-Dank für deine Ausführliche Antwort. Hatte gehofft das mein
Verdacht das es doch - entgegen der FTDI-Seite - nicht im Kernel sei,
sich nicht bestätigt.
Nun denn, dann werde ich wohl versuchen müssen die Module selbst zu
kompilieren.
Werde berichten.
Grüße
Bitte auch noch anhaengenden Patch verwenden, sonst stimmt die
Baudratenberechnung nicht!
Unter Suse kann man mit
cd ../linux../drivers/usb/serial
make -C /lib/modules/`uname -r`/build/ M=`pwd` ftdi_sio.ko
gezielt nur das FTDI modul bauen