PL2303 Udev Abenteuer

Von | 10. März 2010

Ich habe mir einen 4fach USB zu serial Adapter gekauft. Das Teil ist super einfach. Es hat einen Hub eingebaut an dem 4 PL2303 Adapter hängen. Die werden der Reihenfolge im System eingehängt. Doof nur, dass ich machmal auch andere Geschichten mit FTDI oder PL2303 anschließe. So kann es vorkommen, dass die Ports nicht brav immer am Anfang der Reihenfolge geladen werden, sondern diverse Ports haben. Logischerweise will ich aber immer den richtigen Port direkt ansprechen. Daher habe ich mir ein UDEV Regel mit einem kleinen Skript gebastelt:

  1. UDEV
    KERNEL=="ttyUSB*", SYSFS{product}=="USB-Serial Controller", RUN="/usr/local/bin/comdevice.pl %p %k"
    
  2. Skript
    #!/usr/bin/perl
    
    use strict;
    use warnings;
    
    my $device = $ARGV[0];
    my $path = $ARGV[1];
    exit if($device !~ /devices/);
    
    my $newcomport = "0";
    $newcomport = $1 if($device =~ m/(\d+):[^:]+\/[^\/]+$/);
    
    symlink "/dev/".$path, "/dev/com".$newcomport if(! -e "/dev/com".$newcomport);
    

Das ganze erstellt dann Devices (/dev/com1 für den ersten Anschluß, /dev/com2 für den zweiten, ….)

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.