USB-Seriell-Modul

Da wir es kürzlich hier ein paarmal hatten:

Das aktuell bei Reichelt verkaufte USB DK-SIE2 ist ein USB-Seriell-Datenkabel für Siemens x55 Serie (3.3 Volt TTL).

Der USB-Seriell-Wandler sitzt hier im/am USB-A-Stecker (also nicht inline im Kabel) und ist ein Prolific 2303. Knackbares Plastikgehäuse, nicht umspritzt.

Kein FTDI, aber immerhin ist man treibermäßig beim Prolific auch ziemlich auf der sicheren Seite, und entwanzt und gut dokumentiert sind die mittlerweile auch.

Für 4,65 kann man sich sowas schonmal auf Halde legen.

formatting link

- Carsten

Reply to
C.P. Kurz
Loading thread data ...

"C.P. Kurz" :

Mhh, aber meldet sich an jedem USB-Port unter einen anderen COM-Port-Nummer an? Nicht so prickelnd. Timing im Treiber beeinflussbar?

M.

Reply to
Matthias Weingart

Also ich fände das besser: So kann man, wenn zwei eingesteckt sind wenigstens sagen welcher welcher ist. Sonst hast du immer Seriell- Roulette.

/ralph

--
http://www.flickr.com/photos/sooperkuh/
Reply to
Ralph Aichinger

Ralph Aichinger :

Bei FTDi kann ich den beliebig reinstecken und er ist immer COM5 (z.B.), da kleb ich nen Aufkleber drauf und gut is.

M.

Reply to
Matthias Weingart

Und was passiert, wenn COM5 schon vergeben ist?

Bzw. haben die irgendeine Art von Seriennummer oder Hardwareadresse anhand derer der Treiber zwei von den Dingern auseinanderhalten kann?

Ich kenn das nur von Linux, das nummeriert die Dinger einfach durch, der erste eingesteckte ist ttyUSB0, der nächste ttyUSB1 usw. Ich hasse es.

/ralph

--
http://www.flickr.com/photos/sooperkuh/
Reply to
Ralph Aichinger

Die FTDIs haben. =C3=9Cblicherweise.

Gru=C3=9F, Michael Karcher

Reply to
Michael Karcher

Passiert nicht.

Das ist genau der Punkt. Wenn der USB-Dongle eine Seriennummer hat, dann bekommt er beim ersten Mal Anstecken seinen COM-Port zugewiesen. An einem anderen USB-Port wird er dann per Seriennummer wiedererkannt und bekommt wieder den gleichen Port.

Dafür gibts udev-Regeln in /etc/udev/rules.d. Damit kannst du die Teile z.B. unter /dev/foo/by-id verfügbar machen. Oder du machst eine "Datenbank" (CSV File) um Ids und Gerätenamen zu verknüpfen. Du kannst da beliebig komplexe Logik reinbauen.

Schau einfach in /etc/udev/persistent* wie man persistente Device-Nodes macht. Standardmäßig machen gängige Linux-Distributionen sowas für Netzwerk-Geräte (anhand der MAC) und für Partitionen (/dev/disk/by-{id,label,uuid}) mit Filesystem.

XL

Reply to
Axel Schwenke

Ja, idealerweise schon, wenn der Hersteller nicht am EEPROM gespart hat.

udev ist erfunden und kann auf Seriennummern matchen.

Gruß Henning

Reply to
Henning Paul

Wie finde heraus, ob es eine Nummer hat bzw. wie krieg ich die?

Ja schon, nur wie krieg ich diese Nummer? Ein FTDI- Kabel, das ich hier dahabe:

us 007 Device 002: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC

schreibt z.B. nur das da in dmesg beim einstöpseln:

[97784.928070] usb 7-1: new full speed USB device using uhci_hcd and address 3 [97785.135577] usb 7-1: configuration #1 chosen from 1 choice

Das Prinzip kenne ich, mir ist nur nicht klar, wie ich an die Nummern oder irgendein anderes Unterscheidungs- merkmal rankomme bei USB-Serial.

/ralph

--
http://www.flickr.com/photos/sooperkuh/
Reply to
Ralph Aichinger

Wird zwar hier langsam OT: Wie findet man die heraus, bzw. ob überhaupt eine solche im Gerät drin ist?

/ralph

--
http://www.flickr.com/photos/sooperkuh/
Reply to
Ralph Aichinger

, Ltd FT232 USB-Serial (UART) IC lsusb -v

F=C3=BCr meinen USB-Stick z.B. so:

cat /sys/bus/usb/devices/1-3/serial

(Die Nummer ist 1-3 ist Bus-Device)

Alle Dateiinhalte unter /sys/bus/usb/devices/ stehen Dir als "attributes" in der Regel zur Verf=C3=BCgung. Also sowas wie

ATTR{serial}=3D=3D0123456789012345678901, SYMLINK+=3D/dev/usb/ttyUSBmyone

Gru=C3=9F, Michael Karcher

Reply to
Michael Karcher

lshal, "lsusb -v" geht auch.

Gruß Henning

Reply to
Henning Paul

lsusb -v und nach "iSerial" suchen

XL

Reply to
Axel Schwenke

Am Mon, 29 Jun 2009 14:01:57 +0200 schrieb Henning Paul:

Hallo!

Das haben die neuen FTDI meines Wissens schon im Chip integriert.

Liebe Grüße, Thorsten

Reply to
Thorsten Oesterlein

snipped-for-privacy@mkarcher.dialup.fu-berlin.de (Michael Karcher):

Yup. Dem Adapter wird beim allerersten Reinstecken die erste freie COM zugewiesen (z.B. COM5). Wird der rausgezogen und ein zweiter FTDI eingesteckt, bekommt dieser den nächstfreien Port (COM6). Das bleibt so unabhängig vom USB-Port oder hinter welchem HUB er hängt ... bis man auf dem Rechner Windows neuinstalliert ...

M.

Reply to
Matthias Weingart

Axel Schwenke wrote:

Also wenn es sonst keinen "Trick" gibt, da hätte ich natürlich schon nachgeschaut gehabt. Sieht bei mir so aus:

Bus 007 Device 003: ID 0403:6001 Future Technology Devices International, Ltd FT

232 USB-Serial (UART) IC Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 1.10 bDeviceClass 0 (Defined at Interface level) bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 8 idVendor 0x0403 Future Technology Devices International, Ltd idProduct 0x6001 FT232 USB-Serial (UART) IC bcdDevice 4.00 iManufacturer 1 iProduct 2 iSerial 3 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 32 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 bmAttributes 0xa0 (Bus Powered) Remote Wakeup MaxPower 44mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 2 bInterfaceClass 255 Vendor Specific Class bInterfaceSubClass 255 Vendor Specific Subclass bInterfaceProtocol 255 Vendor Specific Protocol iInterface 2 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0040 1x 64 bytes bInterval 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x02 EP 2 OUT bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0040 1x 64 bytes bInterval 0

Das ist der aus einem neu gekauften USB-Seriell-Kabel. Mein Arduino meldet sich auch ohne irgeneine Seriennummer, der ist aber ein älteres Modell.

/ralph

--
http://www.flickr.com/photos/sooperkuh/
Reply to
Ralph Aichinger

Hm, sowas haben meine FTDI-Adapter anscheinend nicht.

/ralph

--
http://www.flickr.com/photos/sooperkuh/
Reply to
Ralph Aichinger

Matthias Weingart schrieb:

genau das Problem habe ich gerade mit einem Geät, dessen Steuersoftware nur bis COM5 unterstützt, das Gerät aber als COM8 angemeldet wird, weil alle anderen COMs vorher mal belegt waren aber aktuell nicht verwendet werden. Gibt es da eine Möglichkeit, die Liste der COMs zu editieren?

Gruß, Alexander

Reply to
Alexander Dörr

Alexander Dörr schrieb:

Einmal kannst Du einem Port unter dessen erweiterten Anschlusseigenschaften im Gerätemanager eine andere Nummer zuweisen. Weiterhin findest Du in der Registry [1] eine Bitmaske ComDB, in der jeder für Windows belegte COM-Port mit einer 1 gekennzeichnet ist. Setzt Du die entsprechend zurück, vergibt Windows die Nummern neu.

Christian

[1] HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\COM Name Arbiter
--
Christian Zietz  -  CHZ-Soft  -  czietz (at) gmx.net
WWW: http://www.chzsoft.com.ar/
PGP/GnuPG-Key-ID: 0x6DA025CA
Reply to
Christian Zietz

Müsstest Dich mal auf FTDIs Seiten zu den verschiedenen FT232 Varianten schlau machen. Wenn das Kabel aktuell hergestellt wird, würde ich nicht vermuten, dass es noch der alte/erste FT232 mit (optionalem) externen EEPROM ist. Soweit ich weiss sind die zwar noch verfügbar, zumindest in der bleifreien Variante, aber so ein Standardkabel sollte nicht mehr damit aufgebaut sein, dafür sind die Einsparungen beim Nachfolger zu groß.

- CArsten

Reply to
C.P. Kurz

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.