USB-Modul UM 100 von ELV (FTDI)

  • USB-Modul UM 100 von ELV (FTDI)

    Hallo

    Ich bastle immer noch an meinem Simulator projekt rum und würde nun gerne von dem K8055 wegkommen und mein AVR mittels UART ansteuern. Dazu habe ich mir das oben genannte USB modul zugelegt. Ich bin ebenfalls auf folgenden Beitrag gestossen: Zugriff auf serielle Schnittstelle und habe die von james genannten treiber instaliert. Auf meinem AVR habe ich ein programm, das die zeichenkette "Test" in einer schleife ausgibt. diese zeichenkette würde ich nun gerne auf meinem mac in einem c++ command line tool ausgeben (und dann im nächsten schritt wieder eine zeichenkette vom MAC an den AVR schicken). leider weiss ich nicht wie ich vorgehen soll. ich habe mir mal das Serial Programing HowTo angesehen. es scheitert allerdings schon daran, die device über /dev richtig anzusprechen. ich habs mit /dev/ttys0 und /dev/ttys1 probiert, ob das richtig ist, weiss ich nicht. des weiteren ist mir aufgefallen, dass ich auch /dev/cu.T630-SerialPort1-1 und /dev/tty.T630-SerialPort1-1 , ob diese vor der treiberinstallation auch schon da waren, weiss ich leider nicht. wenn ich es (das erste beispiel vom Howto) mit /dev/cu.T630-SerialPort1-1 und /dev/tty.T630-SerialPort1-1 probiere, dann habe ich nach kurzer zeit folgenden "exit":

    /dev/cu.T630-SerialPort1-1: Resource busy

    SERIAL has exited with status 255.


    wenn jemand ein tutorial oder beispiel kennt, was mir weiterhelfen könnte oder direkt selber eine idee hat, währe ich sehr dankbar.

    mfg

    sascha

    (anbei noch das datenblatt vom usb modul)
    mt4.ch/52595_UM100_km.pdf
  • RE: USB-Modul UM 100 von ELV (FTDI)

    Hallo

    nach einer längernen pause und, bin ich dahinter gekommen, dass der treiber (ftdichip.com/Drivers/VCP.htm) offenbar gar nich mit meinem usb modul funktioniert.

    das modul müsste laut doks der treiber unter /dev/cu.usbserial-xxxxxxxx und /dev/tty.usbserial-xxxxxxxx, und ebenfalls in den systemeinstellungen unter nework erscheinen, was leider nicht der fall ist.

    kennt jemand einen treiber der für mein UM100 passt? oder umgekehrt. kennt jemand ein usb-serial modul, dass mit dem oben genannten treiber funktioniert und vergleichbar mit dem UM100 ist?

    mfg

    sascha
  • Die lästige Um 100 Frage verfolgt mich wieder einmal.eigentlich Sollten die Treiber ja Funktionieren, da es sich beim UM 100 um den FT8U232AM chip handelt. Ich habe wie gesagt den VCP Treiber dazu installiert. Leider erscheint unter /dev immer noch nichts in der art "tty.serial-xxxxxxx "

    interesanterweise wird das modul aber von dem Systemprofiler erkannt. aber wo finde ich es nun unter /dev ?


    bin ratlos.


    mfg

    sascha
  • Genau das soll ja der Treiber machen - das "rohe" USB-Gerät in ein serial-device verwandeln. Schau mal in der Plist des Treibers nach dem matching dict des Treibers (normalerweise idVendor und idProduct in der Info.plist) und vergleiche die Werte mit denen, die der USB Prober für das Gerät rauswirft. Wenn die nicht passen, wird der Treiber gar nicht erst aktiv. Wenn ja, könnte in der Konsole oder im system.log etwas interessantes stehen, warum der Treiber es nicht schafft.
    Multigrad - 360°-Produktfotografie für den Mac
  • vielen dank für deine antwort. ich ich habs am wochenende noch mit einem anderen converter probiert. leider auch vergebens. wo genau finde ich das info.plist vom treiber, bzw. den treiber selbst?

    (ich habe zudem am wochenende noch leopard installiert, was wahrscheinlich eine neu hürde sein könnte)


    mfg

    sascha
  • Ich kenne den Treiber nicht und hab' auch keine Ahnung, ob sich da etwas mit Leo verändert hat, aber ich schätze mal, dass der Treiber eine kext ist, die unter /System/Library/Extensions liegt. Welche genau kannst Du z.B. herausbekommen, indem Du das Installer-pkg (falls es eins ist) mit Pacifist anschaust. Die kext dürfte ein ein Bundle sein, in dem die Info.plist gleich unter Contents liegt.
    Multigrad - 360°-Produktfotografie für den Mac
  • nochmals herzlichen dank für deine hilfe. ich habs dank deiner hilfe gefunden (und wieder monumentales im bereich der osx filestruktur dazugelernt). nun weiss ich nicht ob in wie fern die werte vergleichbar sind, da ich die werte wohl in zwei verschiedenen formaten vorfinde.

    die info.plist gibt folgendes aus:

    Quellcode

    1. <key>idProduct</key>
    2. <integer>65280</integer>
    3. <key>idVendor</key>
    4. <integer>1027</integer>


    der USB Prober:

    Quellcode

    1. Device VendorID/ProductID: 0x0403/0xFB5A (Future Technology Devices International Limited)
    2. integer>



    mfg

    sascha
  • Jepp, das eine ist dezimal, das andere hexadezimal. Die VendorID stimmt (0x0403 = 1027 = FTDI), aber 0xFB5A ist 64346 und nicht 65280. Sprich: Der Treiber wird gar nicht aktiv, weil er sich für das angeschlossene USB-Gerät nicht verantwortlich fühlt.

    Eigentlich ist die Product ID dazu da, um verschiedene Geräte des gleichen Herstellers zu unterscheiden - damit jedes Gerät seinen eigenen Treiber findet. Nun gibt es drei Möglichkeiten: a) es ein anderer Chip, was bedeuten würde, dass Du einen komplett anderen Treiber brauchst. b) die PID wurde bei Deinem Chip nur abgeändert, damit sich das angeschlossene Gerät eben nicht als FTDI-Bridge, sondern als ELV-USB-Modul meldet, was bedeuten würde, dass es genügt, die ProductID in der Info.plist des Treibers auf 64346 zu ändern und neu zu starten oder c) die Situation ist wie b), aber die Treiberreferenzimplementation von FTDI verhindert das einfache Ändern in der Plist.

    Welche der Möglichkeiten es ist, kann ich nicht sagen. Ich habe einen ähnlichen Treiber mal auf die einfache plist-Weise zum Laufen gebracht - YMMV.

    Bevor Du aber wild ans Ändern gehst, eine kleine Warnung: IOKit Kernel Extensions laufen, wie der Name nahe legt, im Kernel. Da kann man sehr leicht sehr viel kaputt machen (und in einigen Fällen sogar sehr irreparabel). Nicht ohne Grund geht das nur mit root-Rechten im Terminal. An Deiner Stelle würde ich mir davor die Grundlagen der IORegistry und die Warnhinweise von Apple zum IOKit durchlesen und mich mit dem Handwerkszeug vertraut machen (z.B. die manpages zu ioreg, kextload und kextunload). Das sollte Dich nicht abschrecken - das Ganze ist nicht so wild wie es aussieht und die einfache Änderung der PID in der Plist kann eigentlich keinen großen Schaden anrichten. Aber das IOKit ist halt eher wie Schwimmen ohne Bademeister :)
    Multigrad - 360°-Produktfotografie für den Mac
  • da ich eher der draufgängerische typ bin (und auch vor verlusten nicht scheue) habe ich es einfach mal probiert und bin zum schluss gekommen das entweder antwort a oder c der fall sein muss, denn auch nach der modifikation von info.plist (mittels su und pico im terminal) und einem neustart /dev immer noch ohne meinen gewünschten eintrag ist.

    trotzdem nochmals vielen dank für deine gute erklährungen.


    mfg

    sascha
  • ich habe eben aus verzweiflung den keyspan usb-serial treiber installiert. und siehe da: wenn ich das modul einstecke erscheinen plötzlich folgende einträge in /dev:

    /dev/cu.usbserial-ELKP5DBG
    /dev/tty.usbserial-ELKP5DBG

    ob ich diesem treiber auch wirklich trauen kann, weiss ich nicht. aber ich werde mich trotzdem mal durch das Serial HOWTO kämpfen und sehen wie weit ich komme.

    (was wahrscheinlich zur folge haben wird, dass hier wider allerlei fragen auftauchen)


    mfg

    sascha