[SOLVED] Modbus serial slave (poller) issue with Symlinks (probably)

I desperate need help, and most probably from somone who actually know how to get symlinks to work on a Rpi3 with openhab 2.5Release (hasslefree). Sorry if I may sound a bit harsh, but I have been struggling quite alot with this issue before, and had to give up. Today I have spend well, aprox 8 hours, getting nowhere trying to breake this issue.

Short story - Untill this morning, I was running openhab 2.5M2. I knew from earlier, that I never had the symlinks to work. But since I stay away from changing anything, I could reboot and my devices were still running fine.
This morning I spend some time backup my system prepare it to update to openhab 2.5release. After the backup, I simply choose option 03 in openhabian-config to update to openhab 2.5Release.
Things went well… Well, at least untill the system started to read the things file for my Nilan Ventilation system, running modbus serial slave… The system could no longer connecte the the USB0 interface.
After this, I needed to get the symlinks to work, cause no matter what I tried, I could get the modbus binding to connect to my RS485 USB dongle anymore. (The serial slave works fine, but as soon as the Poller starts, I get an error with the USB port I have specified).

I have read probably all threads about this damn symlinks option here on the forum. None of them have helped me. I have tried probably all kinds of combinations. I have rebooted, cleared cache/tmp what seem a zillion times. Nothing seem to work for my modbus serial slave device.

EDIT:
Forgot to post the lsusb:

[00:56:20] openhabian@openHABianPi:~$ lsusb
Bus 001 Device 011: ID 152d:9561 JMicron Technology Corp. / JMicron USA Technology Corp.
Bus 001 Device 010: ID 0658:0200 Sigma Designs, Inc. Aeotec Z-Stick Gen5 (ZW090) - UZB
Bus 001 Device 009: ID 0403:6001 Future Technology Devices International, Ltd FT232 Serial (UART) IC
Bus 001 Device 005: ID 05e3:0610 Genesys Logic, Inc. 4-port hub
Bus 001 Device 008: ID 0424:7800 Standard Microsystems Corp.
Bus 001 Device 003: ID 0424:2514 Standard Microsystems Corp. USB 2.0 Hub
Bus 001 Device 002: ID 0424:2514 Standard Microsystems Corp. USB 2.0 Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

This is my symlinks file located at /etc/udev/rules.d/99-usb-serial.rules:

SUBSYSTEM=="tty", ATTRS{idVendor}=="0658", ATTRS{idProduct}=="0200", SYMLINK+="ttyUSB-ZStick", GROUP="dialout", MODE="0666"
SUBSYSTEM=="tty", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", SYMLINK+="ttyUSB-RS485", GROUP="dialout", MODE="0666"
SUBSYSTEM=="tty", ATTRS{idVendor}=="0bda", ATTRS{idProduct}=="2838", SYMLINK+="ttyUSB-DVBT", GROUP="dialout", MODE="0666"

I have 3 USB devices connected (and a 4-port active USB hub, but I have tried running without as well).

This is my Extra Java opts Symlink PATH in Java, located at /etc/default/openhab2

#########################
## JAVA OPTIONS
## Additional options for the JAVA_OPTS environment variable.
## These will be appended to the execution of the openHAB Java runtime in front of all other options.
## 
## A couple of independent examples:
##   EXTRA_JAVA_OPTS="-Dgnu.io.rxtx.SerialPorts=/dev/ttyAMA0"
##   EXTRA_JAVA_OPTS="-Dgnu.io.rxtx.SerialPorts=/dev/ttyUSB0:/dev/ttyS0:/dev/ttyS2:/dev/ttyACM0:/dev/ttyAMA0"
##   EXTRA_JAVA_OPTS="-Djna.library.path=/lib/arm-linux-gnueabihf/ -Duser.timezone=Europe/Berlin -Dgnu.io.rxtx.SerialPorts=/dev/ttyS0"

EXTRA_JAVA_OPTS="-Dgnu.io.rxtx.SerialPorts=/dev/ttyUSB-Zstick:/dev/ttyUSB-RS485:/dev/ttyUSB-DVBT"

EXTRA_JAVA_OPTS="-Xms250m -Xmx350m"

A listning of USB tty from putty looks like this:

[00:30:27] openhabian@openHABianPi:~$ ls -al /dev | grep tty
crw-rw-rw-  1 root tty       5,   2 Jan  2 00:30 ptmx
lrwxrwxrwx  1 root root           7 Jan  1 23:52 serial0 -> ttyAMA0
lrwxrwxrwx  1 root root           5 Jan  1 23:52 serial1 -> ttyS0
crw-rw-rw-  1 root tty       5,   0 Jan  1 23:52 tty
crw--w----  1 root tty       4,   0 Jan  1 23:52 tty0
crw--w----  1 root tty       4,   1 Jan  1 23:52 tty1
crw--w----  1 root tty       4,  10 Jan  1 23:52 tty10
crw--w----  1 root tty       4,  11 Jan  1 23:52 tty11
crw--w----  1 root tty       4,  12 Jan  1 23:52 tty12
crw--w----  1 root tty       4,  13 Jan  1 23:52 tty13
crw--w----  1 root tty       4,  14 Jan  1 23:52 tty14
crw--w----  1 root tty       4,  15 Jan  1 23:52 tty15
crw--w----  1 root tty       4,  16 Jan  1 23:52 tty16
crw--w----  1 root tty       4,  17 Jan  1 23:52 tty17
crw--w----  1 root tty       4,  18 Jan  1 23:52 tty18
crw--w----  1 root tty       4,  19 Jan  1 23:52 tty19
crw--w----  1 root tty       4,   2 Jan  1 23:52 tty2
crw--w----  1 root tty       4,  20 Jan  1 23:52 tty20
crw--w----  1 root tty       4,  21 Jan  1 23:52 tty21
crw--w----  1 root tty       4,  22 Jan  1 23:52 tty22
crw--w----  1 root tty       4,  23 Jan  1 23:52 tty23
crw--w----  1 root tty       4,  24 Jan  1 23:52 tty24
crw--w----  1 root tty       4,  25 Jan  1 23:52 tty25
crw--w----  1 root tty       4,  26 Jan  1 23:52 tty26
crw--w----  1 root tty       4,  27 Jan  1 23:52 tty27
crw--w----  1 root tty       4,  28 Jan  1 23:52 tty28
crw--w----  1 root tty       4,  29 Jan  1 23:52 tty29
crw--w----  1 root tty       4,   3 Jan  1 23:52 tty3
crw--w----  1 root tty       4,  30 Jan  1 23:52 tty30
crw--w----  1 root tty       4,  31 Jan  1 23:52 tty31
crw--w----  1 root tty       4,  32 Jan  1 23:52 tty32
crw--w----  1 root tty       4,  33 Jan  1 23:52 tty33
crw--w----  1 root tty       4,  34 Jan  1 23:52 tty34
crw--w----  1 root tty       4,  35 Jan  1 23:52 tty35
crw--w----  1 root tty       4,  36 Jan  1 23:52 tty36
crw--w----  1 root tty       4,  37 Jan  1 23:52 tty37
crw--w----  1 root tty       4,  38 Jan  1 23:52 tty38
crw--w----  1 root tty       4,  39 Jan  1 23:52 tty39
crw--w----  1 root tty       4,   4 Jan  1 23:52 tty4
crw--w----  1 root tty       4,  40 Jan  1 23:52 tty40
crw--w----  1 root tty       4,  41 Jan  1 23:52 tty41
crw--w----  1 root tty       4,  42 Jan  1 23:52 tty42
crw--w----  1 root tty       4,  43 Jan  1 23:52 tty43
crw--w----  1 root tty       4,  44 Jan  1 23:52 tty44
crw--w----  1 root tty       4,  45 Jan  1 23:52 tty45
crw--w----  1 root tty       4,  46 Jan  1 23:52 tty46
crw--w----  1 root tty       4,  47 Jan  1 23:52 tty47
crw--w----  1 root tty       4,  48 Jan  1 23:52 tty48
crw--w----  1 root tty       4,  49 Jan  1 23:52 tty49
crw--w----  1 root tty       4,   5 Jan  1 23:52 tty5
crw--w----  1 root tty       4,  50 Jan  1 23:52 tty50
crw--w----  1 root tty       4,  51 Jan  1 23:52 tty51
crw--w----  1 root tty       4,  52 Jan  1 23:52 tty52
crw--w----  1 root tty       4,  53 Jan  1 23:52 tty53
crw--w----  1 root tty       4,  54 Jan  1 23:52 tty54
crw--w----  1 root tty       4,  55 Jan  1 23:52 tty55
crw--w----  1 root tty       4,  56 Jan  1 23:52 tty56
crw--w----  1 root tty       4,  57 Jan  1 23:52 tty57
crw--w----  1 root tty       4,  58 Jan  1 23:52 tty58
crw--w----  1 root tty       4,  59 Jan  1 23:52 tty59
crw--w----  1 root tty       4,   6 Jan  1 23:52 tty6
crw--w----  1 root tty       4,  60 Jan  1 23:52 tty60
crw--w----  1 root tty       4,  61 Jan  1 23:52 tty61
crw--w----  1 root tty       4,  62 Jan  1 23:52 tty62
crw--w----  1 root tty       4,  63 Jan  1 23:52 tty63
crw--w----  1 root tty       4,   7 Jan  1 23:52 tty7
crw--w----  1 root tty       4,   8 Jan  1 23:52 tty8
crw--w----  1 root tty       4,   9 Jan  1 23:52 tty9
crw-rw-rw-  1 root dialout 166,   0 Jan  2 00:30 ttyACM0
crw-rw----  1 root dialout 204,  64 Jan  1 23:52 ttyAMA0
crw-------  1 root root      5,   3 Jan  1 23:52 ttyprintk
crw-rw----  1 root dialout   4,  64 Jan  1 23:52 ttyS0
crw-rw-rw-  1 root dialout 188,   0 Jan  1 23:52 ttyUSB0
lrwxrwxrwx  1 root root           7 Jan  1 23:52 ttyUSB-RS485 -> ttyUSB0
lrwxrwxrwx  1 root root           7 Jan  1 23:52 ttyUSB-ZStick -> ttyACM0
crw-rw----  1 root tty       7,   0 Jan  1 23:52 vcs
crw-rw----  1 root tty       7,   1 Jan  1 23:52 vcs1
crw-rw----  1 root tty       7,   2 Jan  1 23:52 vcs2
crw-rw----  1 root tty       7,   3 Jan  1 23:52 vcs3
crw-rw----  1 root tty       7,   4 Jan  1 23:52 vcs4
crw-rw----  1 root tty       7,   5 Jan  1 23:52 vcs5
crw-rw----  1 root tty       7,   6 Jan  1 23:52 vcs6
crw-rw----  1 root tty       7, 128 Jan  1 23:52 vcsa
crw-rw----  1 root tty       7, 129 Jan  1 23:52 vcsa1
crw-rw----  1 root tty       7, 130 Jan  1 23:52 vcsa2
crw-rw----  1 root tty       7, 131 Jan  1 23:52 vcsa3
crw-rw----  1 root tty       7, 132 Jan  1 23:52 vcsa4
crw-rw----  1 root tty       7, 133 Jan  1 23:52 vcsa5
crw-rw----  1 root tty       7, 134 Jan  1 23:52 vcsa6
crw-rw----  1 root tty       7,  64 Jan  1 23:52 vcsu
crw-rw----  1 root tty       7,  65 Jan  1 23:52 vcsu1
crw-rw----  1 root tty       7,  66 Jan  1 23:52 vcsu2
crw-rw----  1 root tty       7,  67 Jan  1 23:52 vcsu3
crw-rw----  1 root tty       7,  68 Jan  1 23:52 vcsu4
crw-rw----  1 root tty       7,  69 Jan  1 23:52 vcsu5
crw-rw----  1 root tty       7,  70 Jan  1 23:52 vcsu6
[00:30:43] openhabian@openHABianPi:~$

Two of my symlinks are showen, (I have no idea why the third isn´t. But at first this isn´t important, cause I dont use that DVBT dongle yet. It is my plan when I have this update up running fully).
The two symlinks however, doesnt seem like they are attached to the dialout group. And I have no idea why not. The rules file above specificly says group dialout. And yet I see them for root only…
This may be the cause of my problem… I really have no idea anymore. I´m stucked here, and desperatly need my Nilan device up running.

My Zwave dongle connects fine to dev/ttyACM0, (dont ask why. I have no idea).

In my thing file for my Nilan (modbus device), I have tried almost all possible USB ports as well as the symlink. Bu not matter what I try, I end up with the modbus poller cant connect to the device on the specified USB port :tired_face:

Bridge modbus:serial:myNilan [ port="/dev/ttyUSB0", id=30, baud=19200, stopBits="1.0", parity="even", dataBits=8, encoding="rtu" ] {

  Bridge poller appRegisters [ start=000, length=4, refresh=6000, type="input" ] {
      Thing data inp000 [ readStart="000", readValueType="int16" ]
      Thing data inp001 [ readStart="001", readValueType="int16" ]
      Thing data inp002 [ readStart="002", readValueType="int16" ]
      Thing data inp003 [ readStart="003", readValueType="int16" ]

   }

  Bridge poller 100Registers [ start=100, length=16, refresh=6000, type="input" ] {
      Thing data inp100 [ readStart="100", readValueType="int16" ]
      Thing data inp101 [ readStart="101", readValueType="int16" ]
      Thing data inp103 [ readStart="103", readValueType="int16" ]
      Thing data inp105 [ readStart="105", readValueType="int16" ]
      Thing data inp106 [ readStart="106", readValueType="int16" ]
      Thing data inp107 [ readStart="107", readValueType="int16" ]
      Thing data inp114 [ readStart="114", readValueType="int16" ]
      Thing data inp115 [ readStart="115", readValueType="int16" ] 

   }

  Bridge poller inputRegisters [ start=200, length=23, refresh=6000, type="input" ] {
      Thing data inp200 [ readStart="200", readValueType="int16", readTransform="JS(divide100.js)" ]
      Thing data inp202 [ readStart="202", readValueType="int16", readTransform="JS(divide100.js)" ]
      Thing data inp203 [ readStart="203", readValueType="int16", readTransform="JS(divide100.js)" ]
      Thing data inp204 [ readStart="204", readValueType="int16", readTransform="JS(divide100.js)" ]
      Thing data inp207 [ readStart="207", readValueType="int16", readTransform="JS(divide100.js)" ]
      Thing data inp208 [ readStart="208", readValueType="int16", readTransform="JS(divide100.js)" ]
      Thing data inp209 [ readStart="209", readValueType="int16", readTransform="JS(divide100.js)" ]
      Thing data inp210 [ readStart="210", readValueType="int16", readTransform="JS(divide100.js)" ]
      Thing data inp215 [ readStart="215", readValueType="int16", readTransform="JS(divide100.js)" ]
      Thing data inp221 [ readStart="221", readValueType="int16", readTransform="JS(divide100.js)" ]

   }

  Bridge poller 400Registers [ start=400, length=10, refresh=6000, type="input" ] {
      Thing data inp400 [ readStart="400", readValueType="int16" ]
      Thing data inp401 [ readStart="401", readValueType="int16" ]
      Thing data inp402 [ readStart="402", readValueType="int16", readTransform="JS(nilan_alarmdate.js)" ]
      Thing data inp403 [ readStart="403", readValueType="int16", readTransform="JS(nilan_alarmdate.js)" ]
      Thing data inp404 [ readStart="404", readValueType="int16" ]
      Thing data inp405 [ readStart="405", readValueType="int16", readTransform="JS(nilan_alarmdate.js)" ]
      Thing data inp406 [ readStart="406", readValueType="int16", readTransform="JS(nilan_alarmdate.js)" ]
      Thing data inp407 [ readStart="407", readValueType="int16" ]
      Thing data inp408 [ readStart="408", readValueType="int16", readTransform="JS(nilan_alarmdate.js)" ]
      Thing data inp409 [ readStart="409", readValueType="int16", readTransform="JS(nilan_alarmdate.js)" ]


   }


  Bridge poller statusRegisters [ start=1000, length=4, refresh=6000, type="input" ] {
      Thing data inp1000 [ readStart="1000", readValueType="int16" ]
      Thing data inp1001 [ readStart="1001", readValueType="int16" ]
      Thing data inp1002 [ readStart="1002", readValueType="int16" ]
      Thing data inp1003 [ readStart="1003", readValueType="int16" ]
   }

  Bridge poller airflowRegisters [ start=1100, length=5, refresh=6000, type="input" ] {
      Thing data inp1100 [ readStart="1100", readValueType="int16" ]
      Thing data inp1101 [ readStart="1101", readValueType="int16" ]
      Thing data inp1102 [ readStart="1102", readValueType="int16" ]
      Thing data inp1103 [ readStart="1103", readValueType="int16" ]
      Thing data inp1104 [ readStart="1104", readValueType="int16" ]
   }

  Bridge poller airRegisters [ start=1200, length=7, refresh=6000, type="input" ] {
      Thing data inp1200 [ readStart="1200", readValueType="int16" ]
      Thing data inp1201 [ readStart="1201", readValueType="int16", readTransform="JS(divide100.js)" ]
      Thing data inp1202 [ readStart="1202", readValueType="int16", readTransform="JS(divide100.js)" ]
      Thing data inp1203 [ readStart="1203", readValueType="int16", readTransform="JS(divide100.js)" ]
      Thing data inp1204 [ readStart="1204", readValueType="int16", readTransform="JS(divide100.js)" ]
      Thing data inp1205 [ readStart="1205", readValueType="int16", readTransform="JS(divide100.js)" ]
      Thing data inp1206 [ readStart="1206", readValueType="int16", readTransform="JS(divide100.js)" ]

   }


  Bridge poller displayRegisters [ start=2000, length=12, refresh=6000, type="input" ] {
      Thing data inp2000 [ readStart="2000", readValueType="int16" ]
      Thing data inp2001 [ readStart="2001", readValueType="int16" ]
      Thing data inp2002 [ readStart="2002", readValueType="int16" ]
      Thing data inp2003 [ readStart="2003", readValueType="int16" ]
      Thing data inp2004 [ readStart="2004", readValueType="int16" ]
      Thing data inp2005 [ readStart="2005", readValueType="int16" ]
      Thing data inp2006 [ readStart="2006", readValueType="int16" ]
      Thing data inp2007 [ readStart="2007", readValueType="int16" ]
      Thing data inp2008 [ readStart="2008", readValueType="int16" ]
      Thing data inp2009 [ readStart="2009", readValueType="int16" ]
      Thing data inp2010 [ readStart="2010", readValueType="int16" ]
      Thing data inp2011 [ readStart="2011", readValueType="int16" ]

   }


  Bridge poller holdingRegisters [ start=100, length=28, refresh=6000, type="holding" ] {
      Thing data hol100 [ readStart="100", readValueType="int16" ]
      Thing data hol102 [ readStart="102", readValueType="int16" ]
      Thing data hol103 [ readStart="103", readValueType="int16" ]
      Thing data hol123 [ readStart="123", readValueType="int16", writeStart="123", writeValueType="int16", writeType="holding", writeMultipleEvenWithSingleRegisterOrCoil="true"  ]
      Thing data hol125 [ readStart="125", readValueType="int16", writeStart="125", writeValueType="int16", writeType="holding" ]
      Thing data hol126 [ readStart="126", readValueType="int16", writeStart="126", writeValueType="int16", writeType="holding" ]

   }

  Bridge poller fanRegisters [ start=200, length=3, refresh=6000, type="holding" ] {
      Thing data hol200 [ readStart="200", readValueType="int16", readTransform="JS(divide100.js)" ]
      Thing data hol201 [ readStart="201", readValueType="int16", readTransform="JS(divide100.js)" ]
      Thing data hol202 [ readStart="202", readValueType="int16", readTransform="JS(divide100.js)" ]


   }

  Bridge poller timeRegisters [ start=300, length=6, refresh=6000, type="holding" ] {
      Thing data hol300 [ readStart="300", readValueType="int16" ]
      Thing data hol301 [ readStart="301", readValueType="int16" ]
      Thing data hol302 [ readStart="302", readValueType="int16" ]
      Thing data hol303 [ readStart="303", readValueType="int16" ]
      Thing data hol304 [ readStart="304", readValueType="int16" ]
      Thing data hol305 [ readStart="305", readValueType="int16" ]

   }

  Bridge poller ProgSelRegisters [ start=500, length=2, refresh=6000, type="holding" ] {
      Thing data hol500 [ readStart="500", readValueType="int16", writeStart="500", writeValueType="int16", writeType="holding", writeMultipleEvenWithSingleRegisterOrCoil="true" ]
 
   }

  Bridge poller ProgUserFuncActRegisters [ start=600, length=7, refresh=6000, type="holding" ] {
      Thing data hol600 [ readStart="600", readValueType="int16", writeStart="600", writeValueType="int16", writeType="holding", writeMultipleEvenWithSingleRegisterOrCoil="true" ]
      Thing data hol601 [ readStart="601", readValueType="int16", writeStart="601", writeValueType="int16", writeType="holding", writeMultipleEvenWithSingleRegisterOrCoil="true" ]
      Thing data hol602 [ readStart="602", readValueType="int16", writeStart="602", writeValueType="int16", writeType="holding", writeMultipleEvenWithSingleRegisterOrCoil="true" ]
      Thing data hol603 [ readStart="603", readValueType="int16", writeStart="603", writeValueType="int16", writeType="holding", writeMultipleEvenWithSingleRegisterOrCoil="true" ]
      Thing data hol604 [ readStart="604", readValueType="int16", writeStart="604", writeValueType="int16", writeType="holding", writeMultipleEvenWithSingleRegisterOrCoil="true", readTransform="JS(divide100.js)", writeTransform="JS(multiply100.js)" ]
      Thing data hol605 [ readStart="605", readValueType="int16", writeStart="605", writeValueType="int16", writeType="holding", writeMultipleEvenWithSingleRegisterOrCoil="true", readTransform="JS(divide100.js)", writeTransform="JS(multiply100.js)" ]
 
   }

  Bridge poller controlRegisters [ start=1001, length=7, refresh=6000, type="holding" ] {
      Thing data hol1001 [ readStart="1001", readValueType="int16", writeStart="1001", writeValueType="int16", writeType="holding", writeMultipleEvenWithSingleRegisterOrCoil="true" ]
      Thing data hol1002 [ readStart="1002", readValueType="int16", writeStart="1002", writeValueType="int16", writeType="holding", writeMultipleEvenWithSingleRegisterOrCoil="true"  ]
      Thing data hol1003 [ readStart="1003", readValueType="int16", writeStart="1003", writeValueType="int16", writeType="holding", writeMultipleEvenWithSingleRegisterOrCoil="true"  ]
      Thing data hol1004 [ readStart="1004", readValueType="int16", writeStart="1004", writeValueType="int16", writeType="holding", writeMultipleEvenWithSingleRegisterOrCoil="true", readTransform="JS(divide100.js)", writeTransform="JS(multiply100.js)"  ]
      Thing data hol1005 [ readStart="1005", readValueType="int16" ]
      Thing data hol1006 [ readStart="1006", readValueType="int16", readTransform="JS(divide100.js)" ]
      Thing data hol1007 [ readStart="1007", readValueType="int16" ]

   }

  Bridge poller AirFlowExhMoRegisters [ start=1100, length=2, refresh=6000, type="holding" ] {
      Thing data hol1100 [ readStart="1100", readValueType="int16" ]
      Thing data hol1101 [ readStart="1101", readValueType="int16", writeStart="1101", writeValueType="int16", writeType="holding", writeMultipleEvenWithSingleRegisterOrCoil="true" ]

   }

  Bridge poller AirTempRegisters [ start=1200, length=8, refresh=6000, type="holding" ] {
      Thing data hol1200 [ readStart="1200", readValueType="int16", writeStart="1200", writeValueType="int16", writeType="holding", writeMultipleEvenWithSingleRegisterOrCoil="true", readTransform="JS(divide100.js)", writeTransform="JS(multiply100.js)" ]
      Thing data hol1201 [ readStart="1201", readValueType="int16", writeStart="1201", writeValueType="int16", writeType="holding", writeMultipleEvenWithSingleRegisterOrCoil="true", readTransform="JS(divide100.js)", writeTransform="JS(multiply100.js)" ]
      Thing data hol1202 [ readStart="1202", readValueType="int16", writeStart="1202", writeValueType="int16", writeType="holding", writeMultipleEvenWithSingleRegisterOrCoil="true", readTransform="JS(divide100.js)", writeTransform="JS(multiply100.js)" ]
      Thing data hol1203 [ readStart="1203", readValueType="int16", writeStart="1203", writeValueType="int16", writeType="holding", writeMultipleEvenWithSingleRegisterOrCoil="true", readTransform="JS(divide100.js)", writeTransform="JS(multiply100.js)" ]
      Thing data hol1204 [ readStart="1204", readValueType="int16", writeStart="1204", writeValueType="int16", writeType="holding", writeMultipleEvenWithSingleRegisterOrCoil="true", readTransform="JS(divide100.js)", writeTransform="JS(multiply100.js)" ]
      Thing data hol1205 [ readStart="1205", readValueType="int16", writeStart="1205", writeValueType="int16", writeType="holding", writeMultipleEvenWithSingleRegisterOrCoil="true", readTransform="JS(divide100.js)", writeTransform="JS(multiply100.js)" ]
 
   }

 Bridge poller AirQuaRhRegisters [ start=1910, length=4, refresh=6000, type="holding" ] {
      Thing data hol1910 [ readStart="1910", readValueType="int16", writeStart="1910", writeValueType="int16", writeType="holding", writeMultipleEvenWithSingleRegisterOrCoil="true" ]
      Thing data hol1911 [ readStart="1911", readValueType="int16", writeStart="1911", writeValueType="int16", writeType="holding", writeMultipleEvenWithSingleRegisterOrCoil="true" ]
      Thing data hol1912 [ readStart="1912", readValueType="int16", writeStart="1912", writeValueType="int16", writeType="holding", writeMultipleEvenWithSingleRegisterOrCoil="true", readTransform="JS(divide100.js)", writeTransform="JS(multiply100.js)" ]
      Thing data hol1913 [ readStart="1913", readValueType="int16", writeStart="1913", writeValueType="int16", writeType="holding", writeMultipleEvenWithSingleRegisterOrCoil="true" ]

   }

}

I did try create the Modbus serial slave through PaperUI. It went only with ttyS0. But as soon as I add the Poller to the bridge, I get the same error again. The poller cant connect to ttyS0.

So I´m simply stucked here… I have no idea what to do anymore. All help appreciated. But please notice. I have already read the theads about how to create symlinks etc… So dont waste your (and my) time pointing me to these threads again, please. They do no good.

EDIT:
This is the error I´m facing:

2020-01-02 01:22:15.069 [ERROR] [et.wimpi.modbus.net.SerialConnection] - Could not get port identifier, maybe insufficient permissions. gnu.io.NoSuchPortException: null
2020-01-02 01:22:15.071 [ERROR] [ing.ModbusSlaveConnectionFactoryImpl] - connect try 1/1 error: Could not get port identifier, maybe insufficient permissions. null. Connection SerialConnection@127bb62[portName=/dev/ttyUSB0,port=<null>]. Endpoint ModbusSerialSlaveEndpoint@bca5a8[portName=/dev/ttyUSB0]
2020-01-02 01:22:15.073 [ERROR] [ing.ModbusSlaveConnectionFactoryImpl] - re-connect reached max tries 1, throwing last error: Could not get port identifier, maybe insufficient permissions. null. Connection SerialConnection@127bb62[portName=/dev/ttyUSB0,port=<null>]. Endpoint ModbusSerialSlaveEndpoint@bca5a8[portName=/dev/ttyUSB0]
2020-01-02 01:22:15.075 [ERROR] [ing.ModbusSlaveConnectionFactoryImpl] - Error connecting connection SerialConnection@127bb62[portName=/dev/ttyUSB0,port=<null>] for endpoint ModbusSerialSlaveEndpoint@bca5a8[portName=/dev/ttyUSB0]: Could not get port identifier, maybe insufficient permissions. null
2020-01-02 01:22:15.077 [WARN ] [rt.modbus.internal.ModbusManagerImpl] - Could not connect to endpoint ModbusSerialSlaveEndpoint@bca5a8[portName=/dev/ttyUSB0] -- aborting request ModbusPollerThingHandlerImpl.ModbusPollerReadRequest@1f4daa7[slaveId=30,functionCode=READ_INPUT_REGISTERS,start=0,length=4,maxTries=3] [operation ID 3603656d-7fd0-4d66-bcd2-41726bce1b71]
2020-01-02 01:22:15.080 [ERROR] [ernal.handler.ModbusDataThingHandler] - Thing modbus:data:myNilan:appRegisters:inp000 'Modbus Data' had ModbusConnectionException error on read: ModbusConnectionException(Error connecting to endpoint=ModbusSerialSlaveEndpoint@bca5a8[portName=/dev/ttyUSB0])
2020-01-02 01:22:15.085 [ERROR] [ernal.handler.ModbusDataThingHandler] - Thing modbus:data:myNilan:appRegisters:inp001 'Modbus Data' had ModbusConnectionException error on read: ModbusConnectionException(Error connecting to endpoint=ModbusSerialSlaveEndpoint@bca5a8[portName=/dev/ttyUSB0])
2020-01-02 01:22:15.089 [ERROR] [ernal.handler.ModbusDataThingHandler] - Thing modbus:data:myNilan:appRegisters:inp002 'Modbus Data' had ModbusConnectionException error on read: ModbusConnectionException(Error connecting to endpoint=ModbusSerialSlaveEndpoint@bca5a8[portName=/dev/ttyUSB0])
2020-01-02 01:22:15.093 [ERROR] [ernal.handler.ModbusDataThingHandler] - Thing modbus:data:myNilan:appRegisters:inp003 'Modbus Data' had ModbusConnectionException error on read: ModbusConnectionException(Error connecting to endpoint=ModbusSerialSlaveEndpoint@bca5a8[portName=/dev/ttyUSB0])

But that is not asking to connect to a symlink.

Hello,

I have the same problem after update to 2.5stable.
The first time i had the problem i solved it by removing the modbus binding and installing it again.
But when i restart openhab the problem came back.
I solved it again by reinstalling the modbus binding.
It was working fine for 1 week.
Monday the problem came back there was no way to get it running again.
I spent hours looking for the problem.
I change my usb converter i made symlinks that i did not use before.
Nothing could make it work sometimes it worked for 10min and then with no reason it stopt.
Eventually i removed openhab en reinstalled everything.
It Immediately worked with no problems it is running for 20 hours now.But i do not thrust it i think it wil come back.
In fact i am glade you are suffering the same problem this means there is nothing wrong with our setup.
I think there is something wrong with the 2.5release or the modbus binding involving the serial communication.It looks like it lose permissions of the serial port?

Thanks Rossko… I have tried with the ttyUSB-RS485 symlink, and its the same issue. :frowning:

That is really bad… In fact, I´m not sure this is a modbus binding issue alone. I think there are different issues here…

I just tried uninstall the modbus binding. I noticed something weird going on, like the cloud connection disconnected, netamo disconnected, Zwave disconnected. All came online again. And this happened when I uninstalled the modbus binding only.
When I reinstalled the modbus binding, the same thing happened. And again all came online again incl modbus. After aprox 30 seconds, the modbus binding gave the same connection error again :rage:

I forgot to mention. I use modbus for serial as well as TCP. The TCP connection is working just fine. So it´s only the serial connection which is a problems.

Here is some news… I Finally got it working, (at least for now).

I suddenly remembered there is a serial setting with-in the openhabian-config utility. At menu #30 (35) The first two was enabled. I enabled the last one as well (meaning all three options was ticked!). Rebooted, and BAM! Modbus serial connection to my Nilan Ventilation came online just fine.

openhab serial console

Please notice - I have not done any changes to this setting for aprox a coupple of years. Infact I´m not even sure I have made any changes in here at all beside when I first installed the Elelabs Zigbee Shield a coupple of years ago, (This device I havn´t used for at least the last 6 months). So this was the exact same setting before I did the update to Openhab 2.5Release. I have no idea if updating to openhab 2.5Release has made any changes to this, I think not.
This means, something has changed about the serial ports from Openhab 2.5M2 to openhab 2.5Release. And this is a real pain in the a** to try solve this.

Status:
Right now the modbus is connected through serial ttyUSB0 to my Nilan ventilation… Which mean, symlinks is not in use either, and probably aint working at all (again). All other devices which uses serial seems to work as well. I´ll let this run for the rest of the day, then I´ll get on with adding the RTL-SDR USB dongle…I do fear, this isn´t the last serial trouble I´ll be facing…
I really hate Linux and this serial nightmare every time!! :rage:

Did you reboot after reinstalling the modbus binding?I forget to mention that i also needed to reboot.
I will check the openhabian config utility to see what te total reinstall of openhab did to those config.(After work)
I know i added the common serial ports to openhab JVM before reinstalling and that did not work.

Note that you will find comments in other threads that openhabian interferes with manual settings of EXTRA_JAVA_OPTS

Extensive resetting of ther stuff sounds a like a manifestation of a problem a few are complaining of - some kind of “system started” response to a Thing changing status.

I didnt reboot after reinstalling modbus today. But yesterday I tried a zillion times. I know changing something to a thing file like the modbus, sometimes require to make a reboot (for god know what reason). Otherweise I can pull some tricks on you.

I guess you mean, when upgrading openhab it will reset the file in /etc/default/openhab2 (reload a new openhab2 file)? I am aware of that issue, which is why I keep a copy of my settings :smiley:

I´m not sure what you mean here?

I believe @rossko57 mentioned something similar earlier.

As maintainer of the binding I would appreciate clearly reproducible description of this problem to look into it further.

If I could reproduce this clearly, I would have tagged you long time ago :slight_smile:
Unfortunatly I cant, cause the issue seems to be concentrated around the serial driver (or whatever it´s called). And it seems to affect several bindings whenever something is going wrong, or if there is an inappropiate setting (like the above screenshot) somewhere. This is like trying to find the needle in a haystack. I change something somewhere in a hope to get one issue fixed, and I see an inappropiate effect elsewhere (another issue elsewhere). It is VERY hard to get something clearly from this.

Remind you - I didnt change anything, except updating openhab from 2.5M2 to 2.5Release. The fixed as showen above by getting into openhabian-config to change the serial setting should either have been a simular problem in 2.5M2 or shouldn´t have become a problem in 2.5Release. But “something” ticked this issue from 2.5M2 to 2.5Release.

I have no idea how to post this more clearly… I wish I could, but I wont spend your time searching for the same needle, which probably is hidden among several things at the same time, (openhab core, serial driver, bindings etc)… I do however wish, we could get rid of these serial issues once and for all. Unfortunatly I think, it´s a OS (Linux) issue or difficulty which is causing this. It´s not a openhab only issue… There are tons of post around the net regarding the issues by the use of USB ports on linux in an enviroment like opehab/HA/Domotizs etc…

1 Like

I have checked the configuration of the openhabian configuration utility and none of the 3 have been clicked. Until now everything is still running properly what the problem was is not clear yet.

──────────────────────────┤ Prepare Serial Port ├───────────────────────────┐                                 
                                │ Proceeding with this routine, the serial console normally provided by a    │                                 
                                │ Raspberry Pi can be disabled for the sake of a usable serial port. The     │                                 
                                │ provided port can henceforth be used by devices like Razberry, UZB or      │                                 
                                │ Busware SCC.                                                               │                                 
                                │ On a Raspberry Pi 3 the Bluetooth module can additionally be disabled,     │                                 
                                │ ensuring the operation of a Razberry (mutually exclusive).                 │                                 
                                │ Finally, all common serial ports can be made accessible to the openHAB     │                                 
                                │ java virtual machine.                                                      │                                 
                                │                                                                            │                                 
                                │ Please make your choice:                                                   │                                 
                                │                                                                            │                                 
                                │    [ ] 1  (RPi) Disable serial console           (Razberry, SCC, Enocean)  │                                 
                                │    [ ] 2  (RPi3) Disable Bluetooth module        (Razberry)                │                                 
                                │    [ ] 3  Add common serial ports to openHAB JVM (Razberry, Enocean)       │                                 
                                │                                                                            │                                 
                                │                                                                            │                                 
                                │                    <Ok>                        <Cancel>                    │                                 
                                │                                                                            │                                 
                                └────────────────────────────────────────────────────────────────────────────┘                                 
                                                                                            
#########################
## JAVA OPTIONS
## Additional options for the JAVA_OPTS environment variable.
## These will be appended to the execution of the openHAB Java runtime in front of all other options.
## 
## A couple of independent examples:
##   EXTRA_JAVA_OPTS="-Dgnu.io.rxtx.SerialPorts=/dev/ttyAMA0"
##   EXTRA_JAVA_OPTS="-Dgnu.io.rxtx.SerialPorts=/dev/ttyUSB0:/dev/ttyS0:/dev/ttyS2:/dev/ttyACM0:/dev/ttyAMA0"
##   EXTRA_JAVA_OPTS="-Djna.library.path=/lib/arm-linux-gnueabihf/ -Duser.timezone=Europe/Berlin -Dgnu.io.rxtx.SerialPorts=/dev/ttyS0"

EXTRA_JAVA_OPTS=""
#########################

[17:36:59] openhabian@openhabian-server:~$ dmesg | grep tty
[    0.000000] console [tty0] enabled
[    1.419194] 00:01: ttyS0 at I/O 0x3f8 (irq = 4, base_baud = 115200) is a 16550A
[    1.440287] 00:02: ttyS1 at I/O 0x2f8 (irq = 3, base_baud = 115200) is a 16550A
[    6.516245] usb 1-4: FTDI USB Serial Device converter now attached to ttyUSB0
[    6.518671] usb 1-6: FTDI USB Serial Device converter now attached to ttyUSB1

It´s very strange… this is how tty looks from my system:


[17:39:51] openhabian@openHABianPi:~$ dmesg | grep tty
[    0.000000] Kernel command line: coherent_pool=1M 8250.nr_uarts=1 bcm2708_fb.fbwidth=656 bcm2708_fb.fbheight=416 bcm2708_fb.fbdepth=16 bcm2708_fb.fbswap=1 vc_mem.mem_base=0x3f000000 vc_mem.mem_size=0x3f600000  dwc_otg.lpm_enable=0 console=tty1 root=PARTUUID=6d149c5a-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait
[    0.000913] console [tty1] enabled
[    0.898473] 3f201000.serial: ttyAMA0 at MMIO 0x3f201000 (irq = 81, base_baud = 0) is a PL011 rev2
[    0.905301] 3f215040.serial: ttyS0 at MMIO 0x0 (irq = 53, base_baud = 50000000) is a 16550
[    9.791487] cdc_acm 1-1.2:1.0: ttyACM0: USB ACM device
[    9.830583] usb 1-1.1.3.4: FTDI USB Serial Device converter now attached to ttyUSB0
[    9.877404] usb 1-1.1.3.3: cp210x converter now attached to ttyUSB1
[17:39:57] openhabian@openHABianPi:~$

I have just dropped out of Modbus again. I don’t see anything special in the logs.
It worked well for a couple of day’s
It just happens for no reason if I restart openhab everything is going well again?
Next time i take TRACE loggings of the modbus binding.

2020-01-04 17:31:42.811 [ERROR] [ernal.handler.ModbusDataThingHandler] - Thing modbus:data:slave10:slave10Inputs:di15 'Modbus Data' had ModbusConnectionException error on read: ModbusConnectionException(Error connecting to endpoint=ModbusSerialSlaveEndpoint@7b0084[portName=/dev/ttyUSB0])
2020-01-04 17:31:42.809 [ERROR] [ernal.handler.ModbusDataThingHandler] - Thing modbus:data:slave11:slave11Inputs:di17 'Modbus Data' had ModbusConnectionException error on read: ModbusConnectionException(Error connecting to endpoint=ModbusSerialSlaveEndpoint@1fe2663[portName=/dev/ttyUSB0])
2020-01-04 17:31:42.815 [ERROR] [ernal.handler.ModbusDataThingHandler] - Thing modbus:data:slave11:slave11Inputs:di18 'Modbus Data' had ModbusConnectionException error on read: ModbusConnectionException(Error connecting to endpoint=ModbusSerialSlaveEndpoint@1fe2663[portName=/dev/ttyUSB0])
2020-01-04 17:31:42.816 [ERROR] [ernal.handler.ModbusDataThingHandler] - Thing modbus:data:slave11:slave11Inputs:di19 'Modbus Data' had ModbusConnectionException error on read: ModbusConnectionException(Error connecting to endpoint=ModbusSerialSlaveEndpoint@1fe2663[portName=/dev/ttyUSB0])
2020-01-04 17:31:42.818 [ERROR] [ernal.handler.ModbusDataThingHandler] - Thing modbus:data:slave11:slave11Inputs:di20 'Modbus Data' had ModbusConnectionException error on read: ModbusConnectionException(Error connecting to endpoint=ModbusSerialSlaveEndpoint@1fe2663[portName=/dev/ttyUSB0])
2020-01-04 17:31:42.820 [ERROR] [ernal.handler.ModbusDataThingHandler] - Thing modbus:data:slave11:slave11Inputs:di21 'Modbus Data' had ModbusConnectionException error on read: ModbusConnectionException(Error connecting to endpoint=ModbusSerialSlaveEndpoint@1fe2663[portName=/dev/ttyUSB0])
2020-01-04 17:31:42.821 [ERROR] [ernal.handler.ModbusDataThingHandler] - Thing modbus:data:slave11:slave11Inputs:di22 'Modbus Data' had ModbusConnectionException error on read: ModbusConnectionException(Error connecting to endpoint=ModbusSerialSlaveEndpoint@1fe2663[portName=/dev/ttyUSB0])
2020-01-04 17:31:42.823 [ERROR] [ernal.handler.ModbusDataThingHandler] - Thing modbus:data:slave11:slave11Inputs:di23 'Modbus Data' had ModbusConnectionException error on read: ModbusConnectionException(Error connecting to endpoint=ModbusSerialSlaveEndpoint@1fe2663[portName=/dev/ttyUSB0])
2020-01-04 17:31:42.825 [ERROR] [ernal.handler.ModbusDataThingHandler] - Thing modbus:data:slave11:slave11Inputs:di24 'Modbus Data' had ModbusConnectionException error on read: ModbusConnectionException(Error connecting to endpoint=ModbusSerialSlaveEndpoint@1fe2663[portName=/dev/ttyUSB0])
2020-01-04 17:31:42.826 [ERROR] [ernal.handler.ModbusDataThingHandler] - Thing modbus:data:slave11:slave11Inputs:di25 'Modbus Data' had ModbusConnectionException error on read: ModbusConnectionException(Error connecting to endpoint=ModbusSerialSlaveEndpoint@1fe2663[portName=/dev/ttyUSB0])
2020-01-04 17:31:42.828 [ERROR] [ernal.handler.ModbusDataThingHandler] - Thing modbus:data:slave11:slave11Inputs:di26 'Modbus Data' had ModbusConnectionException error on read: ModbusConnectionException(Error connecting to endpoint=ModbusSerialSlaveEndpoint@1fe2663[portName=/dev/ttyUSB0])
2020-01-04 17:31:42.830 [ERROR] [ernal.handler.ModbusDataThingHandler] - Thing modbus:data:slave11:slave11Inputs:di27 'Modbus Data' had ModbusConnectionException error on read: ModbusConnectionException(Error connecting to endpoint=ModbusSerialSlaveEndpoint@1fe2663[portName=/dev/ttyUSB0])
2020-01-04 17:31:42.831 [ERROR] [ernal.handler.ModbusDataThingHandler] - Thing modbus:data:slave11:slave11Inputs:di28 'Modbus Data' had ModbusConnectionException error on read: ModbusConnectionException(Error connecting to endpoint=ModbusSerialSlaveEndpoint@1fe2663[portName=/dev/ttyUSB0])
2020-01-04 17:31:42.833 [ERROR] [ernal.handler.ModbusDataThingHandler] - Thing modbus:data:slave11:slave11Inputs:di29 'Modbus Data' had ModbusConnectionException error on read: ModbusConnectionException(Error connecting to endpoint=ModbusSerialSlaveEndpoint@1fe2663[portName=/dev/ttyUSB0])
2020-01-04 17:31:42.835 [ERROR] [ernal.handler.ModbusDataThingHandler] - Thing modbus:data:slave11:slave11Inputs:di30 'Modbus Data' had ModbusConnectionException error on read: ModbusConnectionException(Error connecting to endpoint=ModbusSerialSlaveEndpoint@1fe2663[portName=/dev/ttyUSB0])
2020-01-04 17:31:42.836 [ERROR] [ernal.handler.ModbusDataThingHandler] - Thing modbus:data:slave11:slave11Inputs:di31 'Modbus Data' had ModbusConnectionException error on read: ModbusConnectionException(Error connecting to endpoint=ModbusSerialSlaveEndpoint@1fe2663[portName=/dev/ttyUSB0])
2020-01-04 17:31:42.845 [ERROR] [et.wimpi.modbus.net.SerialConnection] - Could not get port identifier, maybe insufficient permissions. gnu.io.NoSuchPortException: null
2020-01-04 17:31:42.846 [ERROR] [ing.ModbusSlaveConnectionFactoryImpl] - connect try 1/1 error: Could not get port identifier, maybe insufficient permissions. null. Connection SerialConnection@8a112f[portName=/dev/ttyUSB0,port=<null>]. Endpoint ModbusSerialSlaveEndpoint@1d91c44[portName=/dev/ttyUSB0]
2020-01-04 17:31:42.846 [ERROR] [ing.ModbusSlaveConnectionFactoryImpl] - re-connect reached max tries 1, throwing last error: Could not get port identifier, maybe insufficient permissions. null. Connection SerialConnection@8a112f[portName=/dev/ttyUSB0,port=<null>]. Endpoint ModbusSerialSlaveEndpoint@1d91c44[portName=/dev/ttyUSB0]
2020-01-04 17:31:42.846 [ERROR] [ing.ModbusSlaveConnectionFactoryImpl] - Error connecting connection SerialConnection@8a112f[portName=/dev/ttyUSB0,port=<null>] for endpoint ModbusSerialSlaveEndpoint@1d91c44[portName=/dev/ttyUSB0]: Could not get port identifier, maybe insufficient permissions. null
2020-01-04 17:31:42.846 [WARN ] [rt.modbus.internal.ModbusManagerImpl] - Could not connect to endpoint ModbusSerialSlaveEndpoint@1d91c44[portName=/dev/ttyUSB0] -- aborting request ModbusPollerThingHandlerImpl.ModbusPollerReadRequest@1432fe0[slaveId=100,functionCode=READ_MULTIPLE_REGISTERS,start=32106,length=2,maxTries=3] [operation ID edc211b9-cb1b-483b-ab5b-2b16cfde2aab]
2020-01-04 17:31:42.847 [ERROR] [ernal.handler.ModbusDataThingHandler] - Thing modbus:data:slave100:slave106holding:E_total 'Modbus Data' had ModbusConnectionException error on read: ModbusConnectionException(Error connecting to endpoint=ModbusSerialSlaveEndpoint@1d91c44[portName=/dev/ttyUSB0])
2020-01-04 17:31:42.978 [ERROR] [et.wimpi.modbus.net.SerialConnection] - Could not get port identifier, maybe insufficient permissions. gnu.io.NoSuchPortException: null
2020-01-04 17:31:42.980 [ERROR] [ing.ModbusSlaveConnectionFactoryImpl] - connect try 1/1 error: Could not get port identifier, maybe insufficient permissions. null. Connection SerialConnection@24a53a[portName=/dev/ttyUSB0,port=<null>]. Endpoint ModbusSerialSlaveEndpoint@1d91c44[portName=/dev/ttyUSB0]
2020-01-04 17:31:42.982 [ERROR] [ing.ModbusSlaveConnectionFactoryImpl] - re-connect reached max tries 1, throwing last error: Could not get port identifier, maybe insufficient permissions. null. Connection SerialConnection@24a53a[portName=/dev/ttyUSB0,port=<null>]. Endpoint ModbusSerialSlaveEndpoint@1d91c44[portName=/dev/ttyUSB0]
2020-01-04 17:31:42.984 [ERROR] [ing.ModbusSlaveConnectionFactoryImpl] - Error connecting connection SerialConnection@24a53a[portName=/dev/ttyUSB0,port=<null>] for endpoint ModbusSerialSlaveEndpoint@1d91c44[portName=/dev/ttyUSB0]: Could not get port identifier, maybe insufficient permissions. null
2020-01-04 17:31:42.985 [WARN ] [rt.modbus.internal.ModbusManagerImpl] - Could not connect to endpoint ModbusSerialSlaveEndpoint@1d91c44[portName=/dev/ttyUSB0] -- aborting request ModbusPollerThingHandlerImpl.ModbusPollerReadRequest@14da49f[slaveId=100,functionCode=READ_MULTIPLE_REGISTERS,start=32114,length=2,maxTries=3] [operation ID ee897486-67b1-4a29-bfd7-fa0a42995bf8]
2020-01-04 17:31:42.987 [ERROR] [ernal.handler.ModbusDataThingHandler] - Thing modbus:data:slave100:slave107holding:E_day 'Modbus Data' had ModbusConnectionException error on read: ModbusConnectionException(Error connecting to endpoint=ModbusSerialSlaveEndpoint@1d91c44[portName=/dev/ttyUSB0])
2020-01-04 17:31:43.075 [ERROR] [et.wimpi.modbus.net.SerialConnection] - Could not get port identifier, maybe insufficient permissions. gnu.io.NoSuchPortException: null
2020-01-04 17:31:43.076 [ERROR] [ing.ModbusSlaveConnectionFactoryImpl] - connect try 1/1 error: Could not get port identifier, maybe insufficient permissions. null. Connection SerialConnection@1031b05[portName=/dev/ttyUSB0,port=<null>]. Endpoint ModbusSerialSlaveEndpoint@1f44cf6[portName=/dev/ttyUSB0]
2020-01-04 17:31:43.077 [ERROR] [ing.ModbusSlaveConnectionFactoryImpl] - re-connect reached max tries 1, throwing last error: Could not get port identifier, maybe insufficient permissions. null. Connection SerialConnection@1031b05[portName=/dev/ttyUSB0,port=<null>]. Endpoint ModbusSerialSlaveEndpoint@1f44cf6[portName=/dev/ttyUSB0]
2020-01-04 17:31:43.077 [ERROR] [ing.ModbusSlaveConnectionFactoryImpl] - Error connecting connection SerialConnection@1031b05[portName=/dev/ttyUSB0,port=<null>] for endpoint ModbusSerialSlaveEndpoint@1f44cf6[portName=/dev/ttyUSB0]: Could not get port identifier, maybe insufficient permissions. null
2020-01-04 17:31:43.078 [WARN ] [rt.modbus.internal.ModbusManagerImpl] - Could not connect to endpoint ModbusSerialSlaveEndpoint@1f44cf6[portName=/dev/ttyUSB0] -- aborting request ModbusPollerThingHandlerImpl.ModbusPollerReadRequest@1cbc010[slaveId=12,functionCode=READ_INPUT_DISCRETES,start=0,length=16,maxTries=3] [operation ID d5b11912-695e-4ba9-a6f0-6b57e97b219c]
2020-01-04 17:31:43.078 [ERROR] [ernal.handler.ModbusDataThingHandler] - Thing modbus:data:slave12:slave12Inputs:di32 'Modbus Data' had ModbusConnectionException error on read: ModbusConnectionException(Error connecting to endpoint=ModbusSerialSlaveEndpoint@1f44cf6[portName=/dev/ttyUSB0])
2020-01-04 17:31:43.079 [ERROR] [ernal.handler.ModbusDataThingHandler] - Thing modbus:data:slave12:slave12Inputs:di33 'Modbus Data' had ModbusConnectionException error on read: ModbusConnectionException(Error connecting to endpoint=ModbusSerialSlaveEndpoint@1f44cf6[portName=/dev/ttyUSB0])
2020-01-04 17:31:43.081 [ERROR] [ernal.handler.ModbusDataThingHandler] - Thing modbus:data:slave12:slave12Inputs:di34 'Modbus Data' had ModbusConnectionException error on read: ModbusConnectionException(Error connecting to endpoint=ModbusSerialSlaveEndpoint@1f44cf6[portName=/dev/ttyUSB0])
2020-01-04 17:31:43.081 [ERROR] [ernal.handler.ModbusDataThingHandler] - Thing modbus:data:slave12:slave12Inputs:di35 'Modbus Data' had ModbusConnectionException error on read: ModbusConnectionException(Error connecting to endpoint=ModbusSerialSlaveEndpoint@1f44cf6[portName=/dev/ttyUSB0])
2020-01-04 17:31:43.083 [ERROR] [ernal.handler.ModbusDataThingHandler] - Thing modbus:data:slave12:slave12Inputs:di36 'Modbus Data' had ModbusConnectionException error on read: ModbusConnectionException(Error connecting to endpoint=ModbusSerialSlaveEndpoint@1f44cf6[portName=/dev/ttyUSB0])
2020-01-04 17:31:43.083 [ERROR] [ernal.handler.ModbusDataThingHandler] - Thing modbus:data:slave12:slave12Inputs:di37 'Modbus Data' had ModbusConnectionException error on read: ModbusConnectionException(Error connecting to endpoint=ModbusSerialSlaveEndpoint@1f44cf6[portName=/dev/ttyUSB0])
2020-01-04 17:31:43.084 [ERROR] [ernal.handler.ModbusDataThingHandler] - Thing modbus:data:slave12:slave12Inputs:di38 'Modbus Data' had ModbusConnectionException error on read: ModbusConnectionException(Error connecting to endpoint=ModbusSerialSlaveEndpoint@1f44cf6[portName=/dev/ttyUSB0])
2020-01-04 17:31:43.084 [ERROR] [ernal.handler.ModbusDataThingHandler] - Thing modbus:data:slave12:slave12Inputs:di39 'Modbus Data' had ModbusConnectionException error on read: ModbusConnectionException(Error connecting to endpoint=ModbusSerialSlaveEndpoint@1f44cf6[portName=/dev/ttyUSB0])
2020-01-04 17:31:43.085 [ERROR] [ernal.handler.ModbusDataThingHandler] - Thing modbus:data:slave12:slave12Inputs:di40 'Modbus Data' had ModbusConnectionException error on read: ModbusConnectionException(Error connecting to endpoint=ModbusSerialSlaveEndpoint@1f44cf6[portName=/dev/ttyUSB0])
2020-01-04 17:31:43.085 [ERROR] [ernal.handler.ModbusDataThingHandler] - Thing modbus:data:slave12:slave12Inputs:di41 'Modbus Data' had ModbusConnectionException error on read: ModbusConnectionException(Error connecting to endpoint=ModbusSerialSlaveEndpoint@1f44cf6[portName=/dev/ttyUSB0])
2020-01-04 17:31:43.086 [ERROR] [ernal.handler.ModbusDataThingHandler] - Thing modbus:data:slave12:slave12Inputs:di42 'Modbus Data' had ModbusConnectionException error on read: ModbusConnectionException(Error connecting to endpoint=ModbusSerialSlaveEndpoint@1f44cf6[portName=/dev/ttyUSB0])
2020-01-04 17:31:43.086 [ERROR] [ernal.handler.ModbusDataThingHandler] - Thing modbus:data:slave12:slave12Inputs:di43 'Modbus Data' had ModbusConnectionException error on read: ModbusConnectionException(Error connecting to endpoint=ModbusSerialSlaveEndpoint@1f44cf6[portName=/dev/ttyUSB0])
2020-01-04 17:31:43.087 [ERROR] [ernal.handler.ModbusDataThingHandler] - Thing modbus:data:slave12:slave12Inputs:di44 'Modbus Data' had ModbusConnectionException error on read: ModbusConnectionException(Error connecting to endpoint=ModbusSerialSlaveEndpoint@1f44cf6[portName=/dev/ttyUSB0])
2020-01-04 17:31:43.087 [ERROR] [ernal.handler.ModbusDataThingHandler] - Thing modbus:data:slave12:slave12Inputs:di45 'Modbus Data' had ModbusConnectionException error on read: ModbusConnectionException(Error connecting to endpoint=ModbusSerialSlaveEndpoint@1f44cf6[portName=/dev/ttyUSB0])
2020-01-04 17:31:43.088 [ERROR] [ernal.handler.ModbusDataThingHandler] - Thing modbus:data:slave12:slave12Inputs:di46 'Modbus Data' had ModbusConnectionException error on read: ModbusConnectionException(Error connecting to endpoint=ModbusSerialSlaveEndpoint@1f44cf6[portName=/dev/ttyUSB0])
2020-01-04 17:31:43.088 [ERROR] [ernal.handler.ModbusDataThingHandler] - Thing modbus:data:slave12:slave12Inputs:di47 'Modbus Data' had ModbusConnectionException error on read: ModbusConnectionException(Error connecting to endpoint=ModbusSerialSlaveEndpoint@1f44cf6[portName=/dev/ttyUSB0])
2020-01-04 17:31:43.386 [ERROR] [et.wimpi.modbus.net.SerialConnection] - Could not get port identifier, maybe insufficient permissions. gnu.io.NoSuchPortException: null
2020-01-04 17:31:43.387 [ERROR] [ing.ModbusSlaveConnectionFactoryImpl] - connect try 1/1 error: Could not get port identifier, maybe insufficient permissions. null. Connection SerialConnection@45288d[portName=/dev/ttyUSB0,port=<null>]. Endpoint ModbusSerialSlaveEndpoint@1d91c44[portName=/dev/ttyUSB0]
2020-01-04 17:31:43.387 [ERROR] [ing.ModbusSlaveConnectionFactoryImpl] - re-connect reached max tries 1, throwing last error: Could not get port identifier, maybe insufficient permissions. null. Connection SerialConnection@45288d[portName=/dev/ttyUSB0,port=<null>]. Endpoint ModbusSerialSlaveEndpoint@1d91c44[portName=/dev/ttyUSB0]
2020-01-04 17:31:43.388 [ERROR] [ing.ModbusSlaveConnectionFactoryImpl] - Error connecting connection SerialConnection@45288d[portName=/dev/ttyUSB0,port=<null>] for endpoint ModbusSerialSlaveEndpoint@1d91c44[portName=/dev/ttyUSB0]: Could not get port identifier, maybe insufficient permissions. null
2020-01-04 17:31:43.388 [WARN ] [rt.modbus.internal.ModbusManagerImpl] - Could not connect to endpoint ModbusSerialSlaveEndpoint@1d91c44[portName=/dev/ttyUSB0] -- aborting request ModbusPollerThingHandlerImpl.ModbusPollerReadRequest@194f239[slaveId=100,functionCode=READ_MULTIPLE_REGISTERS,start=32016,length=8,maxTries=3] [operation ID 1e7c2cca-f096-43b1-aad7-9bb56a7d0bd1]
2020-01-04 17:31:43.389 [ERROR] [ernal.handler.ModbusDataThingHandler] - Thing modbus:data:slave100:slave104holding:Pv_1_Voltage 'Modbus Data' had ModbusConnectionException error on read: ModbusConnectionException(Error connecting to endpoint=ModbusSerialSlaveEndpoint@1d91c44[portName=/dev/ttyUSB0])
2020-01-04 17:31:43.390 [ERROR] [ernal.handler.ModbusDataThingHandler] - Thing modbus:data:slave100:slave104holding:Pv_1_Current 'Modbus Data' had ModbusConnectionException error on read: ModbusConnectionException(Error connecting to endpoint=ModbusSerialSlaveEndpoint@1d91c44[portName=/dev/ttyUSB0])
2020-01-04 17:31:43.391 [ERROR] [ernal.handler.ModbusDataThingHandler] - Thing modbus:data:slave100:slave104holding:Pv_2_Voltage 'Modbus Data' had ModbusConnectionException error on read: ModbusConnectionException(Error connecting to endpoint=ModbusSerialSlaveEndpoint@1d91c44[portName=/dev/ttyUSB0])
2020-01-04 17:31:43.392 [ERROR] [ernal.handler.ModbusDataThingHandler] - Thing modbus:data:slave100:slave104holding:Pv_2_Current 'Modbus Data' had ModbusConnectionException error on read: ModbusConnectionException(Error connecting to endpoint=ModbusSerialSlaveEndpoint@1d91c44[portName=/dev/ttyUSB0])
2020-01-04 17:31:43.395 [ERROR] [et.wimpi.modbus.net.SerialConnection] - Could not get port identifier, maybe insufficient permissions. gnu.io.NoSuchPortException: null
2020-01-04 17:31:43.396 [ERROR] [ing.ModbusSlaveConnectionFactoryImpl] - connect try 1/1 error: Could not get port identifier, maybe insufficient permissions. null. Connection SerialConnection@570769[portName=/dev/ttyUSB0,port=<null>]. Endpoint ModbusSerialSlaveEndpoint@1d91c44[portName=/dev/ttyUSB0]
2020-01-04 17:31:43.396 [ERROR] [ing.ModbusSlaveConnectionFactoryImpl] - re-connect reached max tries 1, throwing last error: Could not get port identifier, maybe insufficient permissions. null. Connection SerialConnection@570769[portName=/dev/ttyUSB0,port=<null>]. Endpoint ModbusSerialSlaveEndpoint@1d91c44[portName=/dev/ttyUSB0]
2020-01-04 17:31:43.396 [ERROR] [ing.ModbusSlaveConnectionFactoryImpl] - Error connecting connection SerialConnection@570769[portName=/dev/ttyUSB0,port=<null>] for endpoint ModbusSerialSlaveEndpoint@1d91c44[portName=/dev/ttyUSB0]: Could not get port identifier, maybe insufficient permissions. null
2020-01-04 17:31:43.396 [WARN ] [rt.modbus.internal.ModbusManagerImpl] - Could not connect to endpoint ModbusSerialSlaveEndpoint@1d91c44[portName=/dev/ttyUSB0] -- aborting request ModbusPollerThingHandlerImpl.ModbusPollerReadRequest@c61b81[slaveId=100,functionCode=READ_MULTIPLE_REGISTERS,start=32064,length=31,maxTries=3] [operation ID 265d72f0-c078-4911-a5d0-e4589e73828e]
2020-01-04 17:31:43.396 [ERROR] [ernal.handler.ModbusDataThingHandler] - Thing modbus:data:slave100:slave105holding:Active_peak_of_current_day 'Modbus Data' had ModbusConnectionException error on read: ModbusConnectionException(Error connecting to endpoint=ModbusSerialSlaveEndpoint@1d91c44[portName=/dev/ttyUSB0])
2020-01-04 17:31:43.397 [ERROR] [ernal.handler.ModbusDataThingHandler] - Thing modbus:data:slave100:slave105holding:Active_power 'Modbus Data' had ModbusConnectionException error on read: ModbusConnectionException(Error connecting to endpoint=ModbusSerialSlaveEndpoint@1d91c44[portName=/dev/ttyUSB0])
2020-01-04 17:31:43.397 [ERROR] [ernal.handler.ModbusDataThingHandler] - Thing modbus:data:slave100:slave105holding:Inverter_efficiency 'Modbus Data' had ModbusConnectionException error on read: ModbusConnectionException(Error connecting to endpoint=ModbusSerialSlaveEndpoint@1d91c44[portName=/dev/ttyUSB0])
2020-01-04 17:31:43.398 [ERROR] [ernal.handler.ModbusDataThingHandler] - Thing modbus:data:slave100:slave105holding:Cabinet_temperature 'Modbus Data' had ModbusConnectionException error on read: ModbusConnectionException(Error connecting to endpoint=ModbusSerialSlaveEndpoint@1d91c44[portName=/dev/ttyUSB0])
2020-01-04 17:31:43.398 [ERROR] [ernal.handler.ModbusDataThingHandler] - Thing modbus:data:slave100:slave105holding:Device_status 'Modbus Data' had ModbusConnectionException error on read: ModbusConnectionException(Error connecting to endpoint=ModbusSerialSlaveEndpoint@1d91c44[portName=/dev/ttyUSB0])
2020-01-04 17:31:43.398 [ERROR] [ernal.handler.ModbusDataThingHandler] - Thing modbus:data:slave100:slave105holding:Fault_code 'Modbus Data' had ModbusConnectionException error on read: ModbusConnectionException(Error connecting to endpoint=ModbusSerialSlaveEndpoint@1d91c44[portName=/dev/ttyUSB0])
2020-01-04 17:31:43.686 [ERROR] [et.wimpi.modbus.net.SerialConnection] - Could not get port identifier, maybe insufficient permissions. gnu.io.NoSuchPortException: null
2020-01-04 17:31:43.687 [ERROR] [ing.ModbusSlaveConnectionFactoryImpl] - connect try 1/1 error: Could not get port identifier, maybe insufficient permissions. null. Connection SerialConnection@70c2a7[portName=/dev/ttyUSB0,port=<null>]. Endpoint ModbusSerialSlaveEndpoint@1d91c44[portName=/dev/ttyUSB0]
2020-01-04 17:31:43.688 [ERROR] [ing.ModbusSlaveConnectionFactoryImpl] - re-connect reached max tries 1, throwing last error: Could not get port identifier, maybe insufficient permissions. null. Connection SerialConnection@70c2a7[portName=/dev/ttyUSB0,port=<null>]. Endpoint ModbusSerialSlaveEndpoint@1d91c44[portName=/dev/ttyUSB0]
2020-01-04 17:31:43.688 [ERROR] [ing.ModbusSlaveConnectionFactoryImpl] - Error connecting connection SerialConnection@70c2a7[portName=/dev/ttyUSB0,port=<null>] for endpoint ModbusSerialSlaveEndpoint@1d91c44[portName=/dev/ttyUSB0]: Could not get port identifier, maybe insufficient permissions. null
2020-01-04 17:31:43.689 [WARN ] [rt.modbus.internal.ModbusManagerImpl] - Could not connect to endpoint ModbusSerialSlaveEndpoint@1d91c44[portName=/dev/ttyUSB0] -- aborting request ModbusPollerThingHandlerImpl.ModbusPollerReadRequest@1a8af4[slaveId=100,functionCode=READ_MULTIPLE_REGISTERS,start=32002,length=1,maxTries=3] [operation ID 809e4f67-3c02-4b22-8733-a897caeb3403]
2020-01-04 17:31:43.690 [ERROR] [ernal.handler.ModbusDataThingHandler] - Thing modbus:data:slave100:slave102aholding:Operating_statusbit0 'Modbus Data' had ModbusConnectionException error on read: ModbusConnectionException(Error connecting to endpoint=ModbusSerialSlaveEndpoint@1d91c44[portName=/dev/ttyUSB0])
2020-01-04 17:31:43.691 [ERROR] [ernal.handler.ModbusDataThingHandler] - Thing modbus:data:slave100:slave102aholding:Operating_statusbit1 'Modbus Data' had ModbusConnectionException error on read: ModbusConnectionException(Error connecting to endpoint=ModbusSerialSlaveEndpoint@1d91c44[portName=/dev/ttyUSB0])
2020-01-04 17:31:43.692 [ERROR] [ernal.handler.ModbusDataThingHandler] - Thing modbus:data:slave100:slave102aholding:Operating_statusbit2 'Modbus Data' had ModbusConnectionException error on read: ModbusConnectionException(Error connecting to endpoint=ModbusSerialSlaveEndpoint@1d91c44[portName=/dev/ttyUSB0])
2020-01-04 17:31:43.814 [ERROR] [et.wimpi.modbus.net.SerialConnection] - Could not get port identifier, maybe insufficient permissions. gnu.io.NoSuchPortException: null
2020-01-04 17:31:43.817 [ERROR] [ing.ModbusSlaveConnectionFactoryImpl] - connect try 1/1 error: Could not get port identifier, maybe insufficient permissions. null. Connection SerialConnection@119d00c[portName=/dev/ttyUSB0,port=<null>]. Endpoint ModbusSerialSlaveEndpoint@7b0084[portName=/dev/ttyUSB0]
2020-01-04 17:31:43.818 [ERROR] [ing.ModbusSlaveConnectionFactoryImpl] - re-connect reached max tries 1, throwing last error: Could not get port identifier, maybe insufficient permissions. null. Connection SerialConnection@119d00c[portName=/dev/ttyUSB0,port=<null>]. Endpoint ModbusSerialSlaveEndpoint@7b0084[portName=/dev/ttyUSB0]
2020-01-04 17:31:43.821 [ERROR] [ing.ModbusSlaveConnectionFactoryImpl] - Error connecting connection SerialConnection@119d00c[portName=/dev/ttyUSB0,port=<null>] for endpoint ModbusSerialSlaveEndpoint@7b0084[portName=/dev/ttyUSB0]: Could not get port identifier, maybe insufficient permissions. null
2020-01-04 17:31:43.822 [WARN ] [rt.modbus.internal.ModbusManagerImpl] - Could not connect to endpoint ModbusSerialSlaveEndpoint@7b0084[portName=/dev/ttyUSB0] -- aborting request ModbusPollerThingHandlerImpl.ModbusPollerReadRequest@79cfbc[slaveId=10,functionCode=READ_INPUT_DISCRETES,start=0,length=16,maxTries=3] [operation ID 0cc41dc0-10a9-447a-95b0-9e544321e18c]
2020-01-04 17:31:43.824 [ERROR] [ernal.handler.ModbusDataThingHandler] - Thing modbus:data:slave10:slave10Inputs:di00 'Modbus Data' had ModbusConnectionException error on read: ModbusConnectionException(Error connecting to endpoint=ModbusSerialSlaveEndpoint@7b0084[portName=/dev/ttyUSB0])
2020-01-04 17:31:43.827 [ERROR] [ernal.handler.ModbusDataThingHandler] - Thing modbus:data:slave10:slave10Inputs:di01 'Modbus Data' had ModbusConnectionException error on read: ModbusConnectionException(Error connecting to endpoint=ModbusSerialSlaveEndpoint@7b0084[portName=/dev/ttyUSB0])
2020-01-04 17:31:43.829 [ERROR] [ernal.handler.ModbusDataThingHandler] - Thing modbus:data:slave10:slave10Inputs:di02 'Modbus Data' had ModbusConnectionException error on read: ModbusConnectionException(Error connecting to endpoint=ModbusSerialSlaveEndpoint@7b0084[portName=/dev/ttyUSB0])
2020-01-04 17:31:43.830 [ERROR] [ernal.handler.ModbusDataThingHandler] - Thing modbus:data:slave10:slave10Inputs:di03 'Modbus Data' had ModbusConnectionException error on read: ModbusConnectionException(Error connecting to endpoint=ModbusSerialSlaveEndpoint@7b0084[portName=/dev/ttyUSB0])
2020-01-04 17:31:43.832 [ERROR] [ernal.handler.ModbusDataThingHandler] - Thing modbus:data:slave10:slave10Inputs:di04 'Modbus Data' had ModbusConnectionException error on read: ModbusConnectionException(Error connecting to endpoint=ModbusSerialSlaveEndpoint@7b0084[portName=/dev/ttyUSB0])
2020-01-04 17:31:43.833 [ERROR] [ernal.handler.ModbusDataThingHandler] - Thing modbus:data:slave10:slave10Inputs:di05 'Modbus Data' had ModbusConnectionException error on read: ModbusConnectionException(Error connecting to endpoint=ModbusSerialSlaveEndpoint@7b0084[portName=/dev/ttyUSB0])
2020-01-04 17:31:43.835 [ERROR] [ernal.handler.ModbusDataThingHandler] - Thing modbus:data:slave10:slave10Inputs:di06 'Modbus Data' had ModbusConnectionException error on read: ModbusConnectionException(Error connecting to endpoint=ModbusSerialSlaveEndpoint@7b0084[portName=/dev/ttyUSB0])
2020-01-04 17:31:43.837 [ERROR] [ernal.handler.ModbusDataThingHandler] - Thing modbus:data:slave10:slave10Inputs:di07 'Modbus Data' had ModbusConnectionException error on read: ModbusConnectionException(Error connecting to endpoint=ModbusSerialSlaveEndpoint@7b0084[portName=/dev/ttyUSB0])
2020-01-04 17:31:43.838 [ERROR] [ernal.handler.ModbusDataThingHandler] - Thing modbus:data:slave10:slave10Inputs:di08 'Modbus Data' had ModbusConnectionException error on read: ModbusConnectionException(Error connecting to endpoint=ModbusSerialSlaveEndpoint@7b0084[portName=/dev/ttyUSB0])
2020-01-04 17:31:43.839 [ERROR] [et.wimpi.modbus.net.SerialConnection] - Could not get port identifier, maybe insufficient permissions. gnu.io.NoSuchPortException: null

Tracing on the Modbus binding will tell you nothing more than that.

You might get something more helpful out of serial transport, but I’m not convinced about that either.

You’re not configured for using symlinks either. Maybe you should start a new thread.

1 Like

If it happens out of nowhere, symlinks probably wont do any changes, cause symlinks are only “read” on startup. When things are running, it shouldn´t happen, cause his serial interface is already locked to the USB0.
But if it happens because OH restart/OS reboot without him noticing, then this could be due to missing symlinks.

Personally I would try with symlinks anyway if I had this issue…

I am sure that openhab was not restarted because I was able to see the moment when it happened in the logs.And nothing special happened.But to be sure I will make symlinks.

You should, just to leave out this possibility…
But I´m also wondering if your situation could be cause of bad connection somewhere… Which FTDI are you using?

I started i new tread about this problem Modbus binding loses its serial connection every few days without a reason after updating to 2.5.0 Release Build
I use this type https://www.acculaders.nl/rs485-naar-usb-interface-kabel-1-8m.html#product-tabs

T:  Bus=01 Lev=01 Prnt=01 Port=03 Cnt=02 Dev#=  3 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=06.00
S:  Manufacturer=FTDI
S:  Product=FT232R USB UART
S:  SerialNumber=AK061I02
C:  #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr=90mA
I:  If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=ftdi_sio