arduino 1.8.1 does not refresh serial ports in linux

Status
Not open for further replies.

linuxgeek

Well-known member
I recently updated to 1.8.1 arduino ide w/teensyduino. I noticed that the serial ports don't get refreshed if they are newly created. It's a pain for troubleshooting bluetooth, since I often need to reconnect the bluetooth device (ie /dev/rfcomm1).
arduino ide 1.6.8 and prior definitely do refresh the serial port so you can see it in the list when it's available.

I don't know if it's the same for windows.
 
Just tried here with Arduino 1.8.1 on Ubuntu 14.04. The Tools > Ports menu definitely updates when I plug and unplug devices. I do need to click outside the Arduino window, then click Tools and Ports again to see the freshly updated list.
 
Ok, it doesn't seem to register at all. I'm not unplugging/plugging though, I'm just reconnecting rfcomm3.

But even if I connect to rfcomm3 beforehand, and then launch arduino, it won't show up in the ports. I thought maybe it wasn't refreshing, but actually it's not showing it at all. This is in ubuntu 14.04.5
Oddly it does reference rfcomm3 in the lower right corner as below. Not sure what that means there though:
rfcomm.png
 
re. OP - Under Windows 10 w/IDE 1.8.1 - looking at ports I see USB devices:: Teensy, an FTDI adapter ( just COM15 ), and another Arduino MCU.
If I add/remove them and just hit menu: Tools / Port again the list is updated based on the state at that time - no need to click outside of the IDE window, just close the menu and re-open it.

When I had ESP8266 units active (before IDE 1.8.1) they were only scanned when the IDE started - and then maintained if it went offline or not the IP address was only checked at startup if it was in OTA broadcast response mode. Is there any chance the Bluetooth is treated like the ESP8266 - a networked device? And this may have been outside ports?
 
When I had ESP8266 units active (before IDE 1.8.1) they were only scanned when the IDE started - and then maintained if it went offline or not the IP address was only checked at startup if it was in OTA broadcast response mode. Is there any chance the Bluetooth is treated like the ESP8266 - a networked device? And this may have been outside ports?

Mine's not behaving like that. It never sees it, even if it's connected at startup of IDE. I can see it if I launch 1.6.8. I'll try a re-install and physically unplug/plug bluetooth.
 
Does it detect /dev/ttyACM0 for a directly connected Teensy? Maybe it's just not recognizing this special name, or perhaps it's completely broken on your system?
 
Yes, arduino 1.8.1 does detect /dev/ttyACM0.

The /dev/rfcomm3 is also there in the filesystem, and arduino 1.6.8 sees it, but not 1.8.1

I'll do the reinstall, and maybe lower it to rfcomm1. Maybe it only looks for so many, like is common in windows.
 
Maybe try copying lib/liblistSerialsj.so from 1.6.8 into 1.8.1?

If that fixes things, please check to make sure the detection issue is the same on a copy of 1.8.1 without Teensyduino, then file a bug report on Arduino's issue tracker.
 
Attempted to switch out liblistSerialsj.so from 1.6.8 created an exception:
Code:
Exception in thread "cc.arduino.packages.discoverers.serial.SerialBoardsLister" java.lang.UnsatisfiedLinkError: processing.app.Platform.listSerialsNative()[Ljava/lang/String;
	at processing.app.Platform.listSerialsNative(Native Method)
	at processing.app.Platform.listSerials(Platform.java:180)
	at cc.arduino.packages.discoverers.serial.SerialBoardsLister.retriggerDiscovery(SerialBoardsLister.java:67)
	at cc.arduino.packages.discoverers.serial.SerialBoardsLister.run(SerialBoardsLister.java:183)
	at java.util.TimerThread.mainLoop(Timer.java:555)
	at java.util.TimerThread.run(Timer.java:505)
 
Status
Not open for further replies.
Back
Top