Mehrere USB RS232 Adapter Softlink

Nico84

Neuer User
Mitglied seit
27 Sep 2011
Beiträge
42
Punkte für Reaktionen
0
Punkte
0
Hallo. Ich habe 2 FTDI Adapter. Wie kann ich für jeden einen festen Softlink festlegen?

mit
Code:
USBNR=$(grep ftdi /proc/tty/driver/usbserial | cut -d ":" -f1)
ln -s /dev/ttyUSB$USBNR /dev/meinlink

kann ich die ja nicht auseinander halten.

Code:
usbserinfo:1.0 driver:v2.0
0: module:ftdi_sio name:"FTDI USB Serial Device" vendor:0403 product:6001 num_ports:1 port:1 path:usb-ahci_hcd-1.3.2
1: module:pl2303 name:"PL-2303" vendor:067b product:2303 num_ports:1 port:1 path:usb-ahci_hcd-1.2
2: module:ftdi_sio name:"FTDI USB Serial Device" vendor:0403 product:6001 num_ports:1 port:1 path:usb-ahci_hcd-1.3.3

Aber anhand der Serial muss das doch irgendwie gehen?

Code:
T:  Bus=01 Lev=03 Prnt=04 Port=01 Cnt=01 Dev#=  5 Spd=12  MxCh= 0
D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
P:  Vendor=0403 ProdID=6001 Rev= 6.00
S:  Manufacturer=FTDI
S:  Product=USB Serial Converter
S:  SerialNumber=FTFR9EFF
C:* #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr= 44mA
I:  If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=ftdi_sio
E:  Ad=81(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms
E:  Ad=02(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms




T:  Bus=01 Lev=03 Prnt=04 Port=02 Cnt=02 Dev#=  7 Spd=12  MxCh= 0
D:  Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
P:  Vendor=0403 ProdID=6001 Rev= 4.00
S:  Manufacturer=fidi
S:  Product=usb serial conerter
S:  SerialNumber=ftAKHM09
C:* #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr= 44mA
I:  If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=ftdi_sio
E:  Ad=81(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms
E:  Ad=02(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms
 
Kann ich mir nicht irgendwie ttyUSbx und die Serial anzeigen lassen? Daraus würde sich doch was machen lassen.
 
Keiner eine Idee? Hier nochmal mein Problem etwas genauer:

Ich möchte 3 identische ftdi Adapter anschließen. Das funktioniert soweit auch, nur ist es nach einem Neustart Zufall welcher ttyUSB0, 1, und 2 ist. An 2 davon hängen Mikrocontroller die Daten von der Fritz bekommen.

Wenn ich nun neu starte, dann ist es schlecht wenn Mikrocontroller 1 die Daten von Mikrocontroller 2 bekommt. Damit kann er nix anfangen. Deshalb würde ich gerne beim Start festlegen welcher ftdi Adapter wo zu erreichen ist.
 
Da fällt mir nur eine Möglichkeit ein: Bei FTDI Chips kann man in einem PROM einen Vendor-String unterbringen. Den kann man per udev auswerten und entsprechend Links für definierte Devices erzeugen.
 
Den Vendor-String bekomme ich mit Windows eingebaut, nur wie lese ich den nun mit Freetz aus? udev habe ich auf der Box nicht gefunden. Ich kann auch Vendor und Product ID ändern. Nur dann wird er nicht mehr richtig erkannt.
 
Ich weiß nicht, wie man den String ohne udev auswerten kann. Der String wird im Rahmen der Hotplug Events übermittelt. Die musst du abfangen und auswerten. Das sollte möglich sein. Ist schon lange her, aber wenn ich mich recht erinnere, kann man dem Kernel ein Userspace Programm mit auf den Weg geben, an das die Hotplug Events übermittelt werden. /sbin/hotplug oder so. Da könnte man ansetzen.

Wenn du Vendor- und Product-IDs änderst, musst du natürlich auch den Treiber so anpassen, das sie wieder erkannt werden.
 
Danke für deine Antwort. Wenn ich den Treiber ändere, muss ich dann das Image neu flashen oder geht das auch so? Das ganze läuft mit USB Root. Ich schätze mal der Treiber muss auch neu kompiliert werden? Bei Windows braucht man ja nur die inf Dateien anpassen.
 
Dafür müssen definitiv Treiber und Image neu kompiliert werden. Der einzige unterstützte Weg für das Erstellen von Freetz Images ist aber eh der direkt aus dem Original Source. Von daher sind solche Modifikationen ja kein Problem.

Ich hoffe inständig für dich, dass du keine vorgefertigten Images verwendest. Im Zusammenhang mit FTDI wirft das ein Licht auf deine Tätigkeit, die ein Fall für den Staatsanwalt sind. Außerdem sind vorgefertigte Images ein hervorragendes Vehikel für Trojaner und andere Schadsoftware.
 
Im Zusammenhang mit FTDI wirft das ein Licht auf deine Tätigkeit, die ein Fall für den Staatsanwalt sind.

Ist das ändern des Treibers etwa nicht legal? Das bietet FTDI doch extra an.

Natürlich erstelle ich mein Image selber. Nur weiß ich noch nicht wie ich den Treiber dafür wo ändern muss.
 
Ist das ändern des Treibers etwa nicht legal? Das bietet FTDI doch extra an.
Nein. Es ging um das Verwenden vorgefertigter Images. Vorgefertigte Images mit FTDI Treibern werden bevorzugt für das Hacken von Sky PayTV verwendet. Und das ist illegal.

Nur weiß ich noch nicht wie ich den Treiber dafür wo ändern muss.
In der Quelldatei sind die Vendor- und Product IDs der unterstützen Chips aufgeführt. Da kann man einfach weitere hinzufügen.

Für einen produktiven Einsatz würde ich das willkürliche Ändern von USB Vendor und Product-IDs aber nicht empfehlen. Zum Testen ist es aber durchaus legitim.
 
So nach einem kleinen Blick in die ftdi_sio.h habe ich festgestellt das schon mehrere vendor und product id's hinterlegt sind.

Code:
#define FTDI_VID	0x0403	/* Vendor Id */
#define FTDI_SIO_PID	0x8372	/* Product Id SIO application of 8U100AX  */
#define FTDI_8U232AM_PID 0x6001 /* Similar device to SIO above */
#define FTDI_8U232AM_ALT_PID 0x6006 /* FTDI's alternate PID for above */
#define FTDI_8U2232C_PID 0x6010 /* Dual channel device */
#define FTDI_RELAIS_PID	0xFA10  /* Relais device from Rudolf Gugler */
#define FTDI_NF_RIC_VID	0x0DCD	/* Vendor Id */
#define FTDI_NF_RIC_PID	0x0001	/* Product Id */

Also warum die nicht nutzen? Klappt bis jetzt super:

Code:
0: module:ftdi_sio name:"FTDI USB Serial Device" vendor:0403 product:6001 num_ports:1 port:1 path:usb-ahci_hcd-1.1
1: module:ftdi_sio name:"FTDI USB Serial Device" vendor:0403 product:6001 num_ports:1 port:1 path:usb-ahci_hcd-1.3.2
2: module:ftdi_sio name:"FTDI USB Serial Device" vendor:0403 product:6001 num_ports:1 port:1 path:usb-ahci_hcd-1.4
3: module:ftdi_sio name:"FTDI USB Serial Device" vendor:0403 product:[COLOR="red"]6006 [/COLOR]num_ports:1 port:1 path:usb-ahci_hcd-1.3.3

Als nächstes werde ich versuchen Infrarot Befehle zu empfangen und auszusenden.
 

Zurzeit aktive Besucher

Statistik des Forums

Themen
246,245
Beiträge
2,248,681
Mitglieder
373,819
Neuestes Mitglied
gibsonalisha292
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.