Ser2net: Difference between revisions

From DaqWiki
Jump to navigation Jump to search
m (New page: When multiple USB-to-serial adapters are present on a Linux system, it is not obvious which port corresponds to which /dev/ttyUSBnnn device. The mapping of ttyUSBnnn devices depends on the...)
 
No edit summary
 
(5 intermediate revisions by the same user not shown)
Line 3: Line 3:
This modification of the ser2net package from http://sourceforge.net/projects/ser2net attempts to solve this problem by specifying serial devices using USB paths instead of /dev/ttyUSBnnn names.
This modification of the ser2net package from http://sourceforge.net/projects/ser2net attempts to solve this problem by specifying serial devices using USB paths instead of /dev/ttyUSBnnn names.


To build the package, get the package sources from svn and run "make" to produce the ser2net executable:
To build the package, get the package sources and run "make" to produce the ser2net executable:


<pre>
cd $HOME/packages
git clone https://bitbucket.org/ttriumfdaq/ser2net.git
cd ser2net
make
ls -l ser2net
</pre>
Browse the git repository at https://bitbucket.org/ttriumfdaq/ser2net
Old ladd00 svn instructions:
svn checkout https://ladd00.triumf.ca/svn/daqsvn/trunk/ser2net  
svn checkout https://ladd00.triumf.ca/svn/daqsvn/trunk/ser2net  
or
firefox http://ladd00.triumf.ca/viewvc/daqsvn/trunk/ser2net/
firefox http://ladd00.triumf.ca/viewcvs/daqsvn/trunk/ser2net/
 
   
   
An example ser2net.conf file for 2 USB serial ports looks like this:  
An example ser2net.conf file for 2 USB serial ports looks like this:  
   
   
<pre>
<pre>
3001:raw:600:usb-2-2:9600  -XONXOFF -RTSCTS LOCAL  
localhost,3001:raw:600:usb-2-2:9600  -XONXOFF -RTSCTS LOCAL  
3002:raw:600:usb-2-4:38400 -XONXOFF -RTSCTS LOCAL  
localhost,3002:raw:600:usb-2-4:38400 -XONXOFF -RTSCTS LOCAL  
</pre>
</pre>
   
   
Line 21: Line 30:


you can  copy these names to ser2net.conf.
you can  copy these names to ser2net.conf.
 
 
and start ser2net from /etc/rc.local:
add ser2net entries to hosts.allow:  
<pre>
<pre>
ser2net-control:  127.0.0.1  142.90.101.81  142.90.115.99 142.90.101.136
/root/ser2net -c /root/ser2net.conf -p localhost,3000 &
ser2net: 127.0.0.1  142.90.101.81  142.90.115.99 142.90.101.136
</pre>
</pre>
 
and start ser2net from /etc/rc.local:
NOTE: latest version of ser2net binds to localhost IP addresses to prevent external access. To enable external access change "localhost,NNNN" to "0.0.0.0,NNNN" and setup firewall rules to restrict access to ser2net ports only to authorized machines.
/root/ser2net -c /root/ser2net.conf -p 3000 &

Latest revision as of 15:39, 28 September 2023

When multiple USB-to-serial adapters are present on a Linux system, it is not obvious which port corresponds to which /dev/ttyUSBnnn device. The mapping of ttyUSBnnn devices depends on the order that devices have been connected and disconnected, may change across system reboots, or when USB devices are re-enumerated after USB hardware errors.

This modification of the ser2net package from http://sourceforge.net/projects/ser2net attempts to solve this problem by specifying serial devices using USB paths instead of /dev/ttyUSBnnn names.

To build the package, get the package sources and run "make" to produce the ser2net executable:

cd $HOME/packages
git clone https://bitbucket.org/ttriumfdaq/ser2net.git
cd ser2net
make
ls -l ser2net

Browse the git repository at https://bitbucket.org/ttriumfdaq/ser2net

Old ladd00 svn instructions: svn checkout https://ladd00.triumf.ca/svn/daqsvn/trunk/ser2net firefox http://ladd00.triumf.ca/viewvc/daqsvn/trunk/ser2net/

An example ser2net.conf file for 2 USB serial ports looks like this:

localhost,3001:raw:600:usb-2-2:9600  -XONXOFF -RTSCTS LOCAL 
localhost,3002:raw:600:usb-2-4:38400 -XONXOFF -RTSCTS LOCAL 


When the program starts it prints the names of all available USB-serial devices,

you can copy these names to ser2net.conf.

and start ser2net from /etc/rc.local:

/root/ser2net -c /root/ser2net.conf -p localhost,3000 &

NOTE: latest version of ser2net binds to localhost IP addresses to prevent external access. To enable external access change "localhost,NNNN" to "0.0.0.0,NNNN" and setup firewall rules to restrict access to ser2net ports only to authorized machines.