Fazecast / jSerialComm

Platform-independent serial port access for Java
GNU Lesser General Public License v3.0
1.35k stars 287 forks source link

support of "rfcomm" has been lost after #484 fix #547

Closed zalexua closed 7 months ago

zalexua commented 9 months ago

There was a change in https://github.com/Fazecast/jSerialComm/issues/484 which caused this regression.

Port created by Bluetooth connections got lost. If I connect to a BT SPP device by command:

# rfcomm connect 1 90:E3:2B:11:7B:B6
Connected /dev/rfcomm1 to 90:E3:2B:11:7B:B6 on channel 1
Press CTRL-C for hangup

A java code example I used in the #484 , using v2.9.1 library, previously saw it as: rfcomm1 : Bluetooth Port rfcomm1 || Bluetooth Port rfcomm1

And now it's missing in output of v2.9.2 and v 2.10.3

hedgecrw commented 8 months ago

Just checked in a fix for this...will be available in the next release v2.10.5. Currently testable as a snapshot if you'd like:

SNAPSHOT Version: 2.10.5-SNAPSHOT SNAPSHOT Direct Download Link SNAPSHOT Instructions

zalexua commented 8 months ago

SNAPSHOT Version: 2.10.5-SNAPSHOT

I've tested it and it works not for BT/rfcomm ports! This now can be closed.

zalexua commented 8 months ago

Not sure it's ok to report it here, but let me do it. I've spot a strange naming for some ports. Note trimmed name USB2.0-Ser!:

$ java -classpath jSerialComm-2.10.5-20240320.191556-7.jar:. ComTest
Library Version: 2.10.5-4d76b4c-SNAPSHOT
Ports discovered by getCommPorts():
ttyUSB1 : USB2.0-Ser! || USB2.0-Ser!
ttyS4 : Physical Port S4 || Physical Port S4
ttyACM0 : Serial Device (acm) || Serial Device (acm)
ttyUSB0 : USB2.0-Ser! || USB2.0-Ser!
ttyACM2 : Pseudo-Terminal Device || PTY Device
ttyACM1 : Pseudo-Terminal Device || PTY Device

It actually started from version 2.9.2, not on this Beta.

Here how it was for 2.9.1, where device named USB-to-Serial Port (ch341-uart) :

$ java -classpath jSerialComm-2.9.1.jar:. ComTest
Library Version: 2.9.1
Ports discovered by getCommPorts():
ttyS4 : Physical Port S4 || Physical Port S4
ttyUSB1 : USB-to-Serial Port (ch341-uart) || USB-to-Serial Port (ch341-uart)
ttyUSB0 : USB-to-Serial Port (ch341-uart) || USB-to-Serial Port (ch341-uart)
ttyACM2 : USB-Based Serial Port || USB-Based Serial Port
ttyACM1 : USB-Based Serial Port || USB-Based Serial Port
ttyACM0 : USB-Based Serial Port || USB-Based Serial Port
hedgecrw commented 7 months ago

This is now available with the release of v2.11.0. (By the way, the USB2.0-Ser! string isn't trimmed...that's actually what Linux thinks the name of the port is internally for some ch341 ports. The old 2.9.1 version was just manually assigning this USB-to-Serial Port string, newer versions take whatever Linux gives us.)