summaryrefslogtreecommitdiff
path: root/interface-definitions
diff options
context:
space:
mode:
authorChristian Poessinger <christian@poessinger.com>2020-06-07 14:04:36 +0200
committerChristian Poessinger <christian@poessinger.com>2020-06-07 14:04:36 +0200
commit1c7d7cbd3963428888068af679946e6329567451 (patch)
treeedd24f2122ed0f44a8c9aa1c4814ae76ae524f7a /interface-definitions
parent1fc4aadb5d87643d6e64805b19a5a9e7671737ba (diff)
downloadvyos-1x-1c7d7cbd3963428888068af679946e6329567451.tar.gz
vyos-1x-1c7d7cbd3963428888068af679946e6329567451.zip
wwan: T2529: migrate device from ttyUSB to usbXbY.YpZ.Z
During testing it was discovered that there is a well known problem (we had for ethernet interfaces) also in the serial port world. They will be enumerated and mapped to /dev/ttyUSBxxx differently from boot to boot. This is especially painful on my development APU4 board which also has a Sierra Wireless MC7710 LTE module installed. The serial port will toggle between ttyUSB2 and ttyUSB5 depending on the amount of serial port extenders attached (FT4232H). The shipped udev rule (/usr/lib/udev/rules.d/60-serial.rules) partly solves this by enumerating the devices into /dev/serial/by-id folder with their name and serial number - it's a very good idea but I've found that not all of the FT4232H dongles have a serial number programmed - this leads to the situation that when you plug in two cables with both having serial number 0 - only one device symlink will appear - the previous one is always overwritten by the latter one. Derive /usr/lib/udev/rules.d/60-serial.rules and create a /dev/serial/by-bus directory and group devices by attached USB root port. vyos@vyos:~$ find /dev/serial/by-bus/ -name usb* -exec basename {} \; | sort usb0b1.3p1.0 usb0b1.3p1.2 usb0b1.3p1.3 usb0b2.4p1.0 usb0b2.4p1.1 usb0b2.4p1.2 usb0b2.4p1.3 So we have USB root 0 with bus 1.3 and port 1.0. The enumeration is constant accross reboots.
Diffstat (limited to 'interface-definitions')
-rw-r--r--interface-definitions/interfaces-wirelessmodem.xml.in10
1 files changed, 7 insertions, 3 deletions
diff --git a/interface-definitions/interfaces-wirelessmodem.xml.in b/interface-definitions/interfaces-wirelessmodem.xml.in
index 91eee56ab..d5f2e04d7 100644
--- a/interface-definitions/interfaces-wirelessmodem.xml.in
+++ b/interface-definitions/interfaces-wirelessmodem.xml.in
@@ -46,12 +46,16 @@
#include <include/interface-vrf.xml.i>
<leafNode name="device">
<properties>
- <help>System device name (default: ttyUSB0)</help>
+ <help>Serial device </help>
<completionHelp>
- <script>ls -1 /dev | grep ttyUSB</script>
+ <script>ls -1 /dev /dev/serial/by-bus | grep -e ttyS[0-9]* -e usb[0-9]*</script>
</completionHelp>
<valueHelp>
- <format>ttyXXX</format>
+ <format>ttySXX</format>
+ <description>System TTY device name</description>
+ </valueHelp>
+ <valueHelp>
+ <format>usbXbY.YpZ.Z</format>
<description>System TTY device name</description>
</valueHelp>
</properties>