Forum: PC-Programmierung FTDI FT232R & Ubuntu Linux - warum muss man immer ziehen / stecken?


von Kay I. (imperator)


Angehängte Dateien:

Lesenswert?

Hallo Leute,

ich sitze gerade an einem Bastel-Projekt, bei dem der Heimrechner immer 
auf den uC zugreifen soll wenn er bootet.
Der uC ist über FT232R angebunden - funktioniert alles prinzipiell.
Problem: Immer wenn der Ubuntu-Rechner bootet "sieht" er an seinen 
USB-Ports den FTDI nicht.
mit lsusb wird nichts aufgelistet.
1
Bus 003 Device 002: ID 046d:c00e Logitech, Inc. M-BJ58/M-BJ69 Optical Wheel Mouse
2
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
3
Bus 002 Device 002: ID 057c:3d00 AVM GmbH Fritz!Box
4
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
5
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Trenne ich den FTDI vom Rechner und stecke ihn wieder ein ... enumeriert 
er und stellt sich als /dev/ttyUSB0 dar ... so wie es sein soll:
1
Bus 003 Device 007: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC
2
Bus 003 Device 002: ID 046d:c00e Logitech, Inc. M-BJ58/M-BJ69 Optical Wheel Mouse
3
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
4
Bus 002 Device 002: ID 057c:3d00 AVM GmbH Fritz!Box
5
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
6
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Kennt Ihr die Problematik oder wisst einen Workaround?


Rechner:
1
2.6.32-40-generic #87-Ubuntu SMP Mon Mar 5 20:26:31 UTC 2012 i686 GNU/Linux

von Uwe Bonnes (Gast)


Lesenswert?

Werden andere Devices beim Anstecken erkannt?  Wenn nicht, schau mal 
nach, ob udev laeuft.

von Kay I. (imperator)


Lesenswert?

1
pstree | grep udev
2
     |-udevd---2*[udevd]
3
     |-upstart-udev-br

... beim Einstecken werden ja alle Geräte erkannt - mein Ziel wäre eben, 
dass sie auch alle beim Booten erkannt werden, ohne dass man sie extra 
rausziehen und wieder einstecken muss.

Kann irgend was bei mir falsch konfiguriert sein?
Der FTDI ist komplett in Default-Einstellungen.
Beim PC hab ich auch nichts an den USB-Einstellungen gedreht.


... komisch

von hp-freund (Gast)


Lesenswert?


von Kay I. (imperator)


Lesenswert?

Hm ... interessanter Link, prinzipiell vermuten sie dort, dass der FDTI 
- Treiber nicht richtig geladen wurde und empfehlen ein:
1
sudo modprobe ftdi_sio

Es bindet sich ein unter:
kernel/drivers/usb/serial/ftdi_sio.ko

Ein "lsusb" zeigt dann leider immer noch keinen FTDI an.

Komisch ist ja, dass das Gerät prinzipiell erkannt wird - eben nur beim 
Einstecken.
Kann es sein, dass da im Bootprozess der USB-Host falsch / ungünstig 
konfiguriert ist? Die Maus und die Fritzbox werden ja auch erkannt.

??

von hp-freund (Gast)


Lesenswert?

Was sagt deine DMESG Ausgabe?
Hast Du die angegebenen boot optionen probiert?

von Kay I. (imperator)


Angehängte Dateien:

Lesenswert?

ich lese aus den Logs leider nichts, was auf Fehlfunktion hindeutet - 
aber vielleicht siehst Du ja mehr (siehe Anhang)

von Gerd E. (robberknight)


Lesenswert?

[    2.376023] usb 3-2: new full speed USB device using ohci_hcd and 
address 3
[    2.556020] usb 3-2: device descriptor read/64, error -62
[    2.840019] usb 3-2: device descriptor read/64, error -62
[    3.120019] usb 3-2: new full speed USB device using ohci_hcd and 
address 4
[    3.300018] usb 3-2: device descriptor read/64, error -62
[    3.584017] usb 3-2: device descriptor read/64, error -62

Das ist ganz klar der Grund warum das Teil nach dem Booten nicht im 
lsusb auftaucht. Der Kernel will mit dem Gerät reden, es gibt aber 
Kommunikationsprobleme. Irgendwann gibt er dann auf.

Ich vermute ein Hardwareproblem, z.B. schlechte Kabel, schlechter Hub, 
schlechter Port, schlechter FTDI oder ähnliches.

Warum es dann nach dem Booten klappt ist mir nicht ganz klar, könnte 
z.B. sein daß das Gerät etwas "Ruhe" braucht. Beim Booten ist durch das 
ganze parallele Enumerieren auf allen Bussen einiges los, das wirkt sich 
dann z.B. EMV-mäßig aus oder gibt kleine Spannungsschwankungen. 
Überempfindliche Geräte reagieren dann so.

Ist das ein selbstgebautes Gerät mit dem FTDI drauf oder nen gekaufter 
Adapter?

Probier mal nen anderen USB-Port und andere Kabel. Lass nen USB Hub weg 
wenn Du einen verwendest.

von Kay I. (imperator)


Lesenswert?

stimmt! "-62" kommt immer wieder!

Das Board ist selbst gebaut, bus-powered und vom restlichen Aufbau durch 
ADuM1201 galv. getrennt.
HF-mäßig natürlich gekoppelt.
Das Gerät ist direkt an einem USB-Port des Desktop-Gehäuses angesteckt - 
also nur Root-Hub dazwischen.

edit:

das gibt's doch nicht ... mal eine andere Leitung mit eingeschmolzenem 
Ferrit in Nähe des FTDI dazwischen und schon funktioniert das ganze!

@ Uwe Bonnes, hp-freund, Gerd E. :

Vielen Dank für die Unterstützung!


Wie es scheint war es doch tatsächlich ein EMV-Problem - oder auch 
Common-Mode-Problem beim Anlaufstrom der Schaltung ...
Hab leider gerade kein Oszi zur Hand, um mal zu messen, was aus diesem 
Rechner hier für Schweinereien beim Booten kommen - wäre bestimmt 
aufschlussreich.

von Gerd E. (robberknight)


Lesenswert?

Hast Du am USB V+ auf Deinem Gerät nen kleinen Ferrit drin? Wenn Du 
Bus-Powered arbeitest wird das von FTDI empfohlen, siehe Datasheet.

Geht oft auch ohne, aber wie man sieht kann so nen Ferrit manchmal 
Wunder wirken und FTDI wird den da nicht umsonst eingezeichnet haben.

Wenn wir schon bei EMV sind: bei mir kommt an USB-Eingänge immer auch 
noch ein IP4220CZ6 mit vorne dran. Das ist nen Array aus zusätzlichen 
ESD-Schutzdioden mit geringen Kapazitäten. Damit überstehen die Geräte 
dann auch meinen persönlichen EMV-Test: Beschuss der Schirmung mit 
Funken aus nem Feuerzeug-Zünder.

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.