FTDI245 und linux

Gast #249899
Lesenswert?

Hallo,

ich versuche von FTDI den USB Chip 245 unter linux zm Laufen zu
bekommen. Dafür habe ich mir von der ftdi Seite das Linuxpaket
libftd2xx??.tar.gz heruntergeladen. Beim Beispiel simple gibt er aber
immer simple: relocation error: /usr/local/lib/libftd2xx.so: undefined
symbol: usb_init aus. Hat schon jemand Erfahrungen damit gesammelt und
kann mir etwas weiterhelfen?



Martin
Gast #249901
Lesenswert?

Wenn ich mich recht erinnere brauchst du die SOftware von der
Herstellerseite nicht. Seit einiger Zeit (frag nicht seit wann)
ist der Treiber schon fix beim Kernelsource dabei.

Wenn er nicht einkompiliert ist oder das Modul fertig ist,
musst es selbst kompilieren. Aus irgendeinem Grund ist der
Treiber nämlich "experimental" gekennzeichnet.

   Wiesi
Persönliche Seite #249904
Lesenswert?

Blödsinn??

Blödsinn ist dein post, der hier nichts zu suchen hat
schmier dir diese kommmentare in den papierkorb ehh sry der kennt ja
nur dateien und sonnst nichts..

Ach ja, Blödsinn ist es, in windows, dass alles an treibern etc immer
mit geladen werden muss

Blödsinn ist es, wenn man auf eine neue version updaten will gleich
format c machen muss, da sonnst nichts mehr laeft

also lass den scheiss und spiel weiter mit windows rum
Gast #249906
Lesenswert?

Hallo,

der FTDI Support hat mir zuerst die Treiberversion 4.3 geschickt. Damit
hatte ich dann weiter einen usb_init Fehler. Nach weiterem Nachfragen
bekam ich dann die Version 4.1. Diese produzier zwar keinen usb_init
Fehler mehr sondern FT_ListDevices(18).
Jemand schonmal diesen Fehler gehabt. Unter Windows lief alles
innerhalb von einem Tag :-)
Ist es richtig das  bei Linux unter /proc/bus/usb/devices das device
mit driver=serial erscheint?


Martin
Gast #249907
Lesenswert?

Hi Martin,

also bei mir lief der FT245 unter Linux (Suse 9.2) auch innerhalb von
einem Tag ;o).
Im Prinzip sind die einfachen Seriell<->USB Treiber ab dem Kernel 2.4.2
mit drin (Module ftdi_sio und fusbserial). Ich habe mich aber auch für
den Weg entschieden, die Treiber von der FTDI-Page
(ftd2xxpackage_v1.tar.gz) zu nehmen. Dazu muss man allerdings zunächst
die Kerneltreibermodule mit

rmmod ftdi_sio und
rmmod usbserial deaktivieren

Ich habe dann anschließend alles wie in der Readme.dat beschrieben
installiert und  und es klappte auf Anhieb. Was sagt den "usbview"
und die Status-LED am USB-Chip wenn das Teil eingestöpselt ist?

Andreas
Gast #249908
Lesenswert?

Hallo Andreas,

so soweit habe ich jetzt auch alles hinbekommen. Nur etwas lästig ist
dieses ständige rmmod nach einem Abstöpseln des FT245.
Aber ich habe mit dem Support von FTDI gesprochen: die arbeiten an
einer Version die das ganze selbstständig macht.

Martin
Gast #249910
Lesenswert?

...gemounted wird der USB-Chip schon automatisch, da man ja auch den
entsprechenden Eintrag in der fstab macht. Nur das die Kernelmodule
sich immer "vordrängeln" ist halt lästig. Sicher kann man das
"rmmod" auch irgendwie automatisieren - hatte aber noch keine Zeit,
um mich damit zu beschäftigen.

@Jens: vielleicht meintest Du aber auch genau das ;o)

Andreas
Persönliche Seite #249911
Lesenswert?

echt in der fstab kann man automatisch USB devices mounten hmmh

nein ich weiss nicht, wie hotplug funktioniert :( leider

ich koennte mir vorstellen, dass du im hintergrund ein kleines script
laufen laesst, welches nach dem USB Device sucht und wenn nicht
gefunden aber modul geladen das modul entläd
sollte machbar sein

Gruss Jens
Gast #249912
Lesenswert?

> Nur das die Kernelmodule sich immer "vordrängeln" ist halt lästig.

früher (lange kein active linux kernel && system mehr gemacht), konnte
man in der /etc/config.mod Bedingungen angeben, auch Reihenfolge etc,
ein keyword war preload (sicher nutzlos hier), aber es gab weitere. Mit
Kernel 2.6 sind die module-init-tools und nicht mehr die modutils für
das Laden von Modulen zuständig. Aber in der Doku sollte etwas dazu
stehen (zumindest stand's noch vor 2.6.x).

Viele Grüße
Olaf
Gast #249913
Lesenswert?

Hallo,

einie Mails weiter mit dem Support von FTDI: der neue Treiber von denen
(interne Version 4.4) soll angeblich das automatische rmmod
unterstützen. Funktioniert bei mir aber nicht. Das Problem scheint wohl
zu sein das ich nicht als root an meinem System arbeiten will.
Hat jemand eine gute Quelle was alles in welcher Reihenfole passiert
wenn man ein USB Gerät einsteckt?


Martin
Gast #249917
Lesenswert?

Ich habe in /etc/udev/rules/50-udev.rules
SUBSYSTEM=="usb", ACTION=="add", ENV{PRODUCT}=="403/6010/*",\
RUN+="/bin/chmod go+rw $env{DEVICE}"
Das setzt die Zugriffsrechte fuer das Device. Mit libusb und
usb_detach_kernel_driver_np()kann man dann das Interface from
Kerneltreiber abkoppeln
#249918
Lesenswert?

>Mit libusb und usb_detach_kernel_driver_np()
Wie machst du das ?

wenn das init vom libusb schiefgeht (: -5 unable to claim usb device.
Make sure ftdi_sio is unloaded!)
dann ist ja das usbdevice geschlossen (libusb.c, vorm return -.5 steht
nen usb_close())

Deshalb (?) scheitert bei mir auch folgender Code:
1
int f = ftdi_usb_open(&ftdi, 0x0403, 0x6001); 
2

3
  //ftdi_sio loaded, try to unload!
4
  if (f == -5){
5
    //unload/unbind module
6
    f = usb_detach_kernel_driver_np(ftdi.usb_dev, ftdi.interface);
7
    printf("usb unload: %d [%s]\n",f,usb_strerror());
8

9
    //retry open
10
    f = ftdi_usb_open(&ftdi, 0x0403, 0x6001);  
11
  }

Wie machst du das ?

Anonsten ist die libusb echt klasse. Bekomme locker 840KByte/s
rübergeschoben (evtl bekommt man mit größerem buffer noch die 1000 hin,
840 reichen mir aber :) ).
Und das mit nur 40 Zeilen C-Code ohne großartig Ahnung von USB zu haben
:)


Gruss, Simon

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren