Open Still34 opened 1 year ago
very strange issue... Is nothing else using the COM Port? (eg the CLI)
Yes, nothing else should be using the port. Only either the CLI or the GUI is in use at a time.
mind enabling production logging in the debug settings and sending a log?
#0 NativeSerial.connectDevice (package:chameleonultragui/connector/serial_native.dart:88)
#1 NativeSerial.availableChameleons (package:chameleonultragui/connector/serial_native.dart:54)
π Connecting to COM1
#0 NativeSerial.connectDevice (package:chameleonultragui/connector/serial_native.dart:102)
#1 NativeSerial.availableChameleons (package:chameleonultragui/connector/serial_native.dart:54)
π Connected to COM1
#0 NativeSerial.connectDevice (package:chameleonultragui/connector/serial_native.dart:103)
#1 NativeSerial.availableChameleons (package:chameleonultragui/connector/serial_native.dart:54)
π Manufacturer: null
#0 NativeSerial.connectDevice (package:chameleonultragui/connector/serial_native.dart:104)
#1 NativeSerial.availableChameleons (package:chameleonultragui/connector/serial_native.dart:54)
π Product: null
#0 NativeSerial.connectDevice (package:chameleonultragui/connector/serial_native.dart:88)
#1 NativeSerial.availableChameleons (package:chameleonultragui/connector/serial_native.dart:54)
π Connecting to COM5
#0 NativeSerial.connectDevice (package:chameleonultragui/connector/serial_native.dart:102)
#1 NativeSerial.availableChameleons (package:chameleonultragui/connector/serial_native.dart:54)
π Connected to COM5
#0 NativeSerial.connectDevice (package:chameleonultragui/connector/serial_native.dart:103)
#1 NativeSerial.availableChameleons (package:chameleonultragui/connector/serial_native.dart:54)
π Manufacturer: null
#0 NativeSerial.connectDevice (package:chameleonultragui/connector/serial_native.dart:104)
#1 NativeSerial.availableChameleons (package:chameleonultragui/connector/serial_native.dart:54)
π Product: null
#0 NativeSerial.connectDevice (package:chameleonultragui/connector/serial_native.dart:88)
#1 NativeSerial.availableChameleons (package:chameleonultragui/connector/serial_native.dart:54)
π Connecting to COM1
#0 NativeSerial.connectDevice (package:chameleonultragui/connector/serial_native.dart:102)
#1 NativeSerial.availableChameleons (package:chameleonultragui/connector/serial_native.dart:54)
π Connected to COM1
#0 NativeSerial.connectDevice (package:chameleonultragui/connector/serial_native.dart:103)
#1 NativeSerial.availableChameleons (package:chameleonultragui/connector/serial_native.dart:54)
π Manufacturer: null
#0 NativeSerial.connectDevice (package:chameleonultragui/connector/serial_native.dart:104)
#1 NativeSerial.availableChameleons (package:chameleonultragui/connector/serial_native.dart:54)
π Product: null
#0 NativeSerial.connectDevice (package:chameleonultragui/connector/serial_native.dart:88)
#1 NativeSerial.availableChameleons (package:chameleonultragui/connector/serial_native.dart:54)
π Connecting to COM5
your COM ports somehow dont return any manufacturer or Product information? are you running a custom firmware?
Nope. The latest available 2.0.0 firmware - Chameleon Ultra, Version: v2.0 (v2.0.0-110-gd77e166)
For additional context, the Ultra connects just fine and shows up on the GUI on my Linux laptop and iOS device.
thats very wierd, because it literally is the same code... (And it works fine for me)
Maybe a driver issue?
Chameleon is COM1 or COM5 in your case? PM3 client also interferes with our serial library. Try closing all software that can access serial ports
If you see loading animation on chameleon before selecting chameleon in menu, then there is other software that using it. On main screen we just enumerate them, without connecting
Chameleon is COM1 or COM5 in your case? PM3 client also interferes with our serial library. Try closing all software that can access serial ports
Chameleon should be on COM5 - not entirely sure what's on COM1.
If you see loading animation on chameleon before selecting chameleon in menu, then there is other software that using it. On main screen we just enumerate them, without connecting
The animation starts as soon as I open the application, and vice versa when I close it.
I just tried it on yet another Windows-based device - same behavior.
Can you try on test-without-exception-handling
branch? Will it throw any errors?
I'll test it later tonight. This laptop doesn't have flutter configured yet.
You can grab compiled version from https://github.com/GameTec-live/ChameleonUltraGUI/actions/runs/6741642455
Same issue unfortunately.
Issue still will be there, something in logs?
Roughly the same logs yeah
#0 NativeSerial.connectDevice (package:chameleonultragui/connector/serial_native.dart:88)
#1 NativeSerial.availableChameleons (package:chameleonultragui/connector/serial_native.dart:54)
π Connecting to COM4
#0 NativeSerial.connectDevice (package:chameleonultragui/connector/serial_native.dart:88)
#1 NativeSerial.availableChameleons (package:chameleonultragui/connector/serial_native.dart:54)
π Connecting to COM4
#0 NativeSerial.connectDevice (package:chameleonultragui/connector/serial_native.dart:102)
#1 NativeSerial.availableChameleons (package:chameleonultragui/connector/serial_native.dart:54)
π Connected to COM4
#0 NativeSerial.connectDevice (package:chameleonultragui/connector/serial_native.dart:103)
#1 NativeSerial.availableChameleons (package:chameleonultragui/connector/serial_native.dart:54)
π Manufacturer: null
#0 NativeSerial.connectDevice (package:chameleonultragui/connector/serial_native.dart:104)
#1 NativeSerial.availableChameleons (package:chameleonultragui/connector/serial_native.dart:54)
π Product: null
#0 NativeSerial.connectDevice (package:chameleonultragui/connector/serial_native.dart:88)
#1 NativeSerial.availableChameleons (package:chameleonultragui/connector/serial_native.dart:54)
π Connecting to COM4
#0 NativeSerial.connectDevice (package:chameleonultragui/connector/serial_native.dart:102)
#1 NativeSerial.availableChameleons (package:chameleonultragui/connector/serial_native.dart:54)
π Connected to COM4
#0 NativeSerial.connectDevice (package:chameleonultragui/connector/serial_native.dart:103)
#1 NativeSerial.availableChameleons (package:chameleonultragui/connector/serial_native.dart:54)
π Manufacturer: null
#0 NativeSerial.connectDevice (package:chameleonultragui/connector/serial_native.dart:104)
#1 NativeSerial.availableChameleons (package:chameleonultragui/connector/serial_native.dart:54)
π Product: null
hello i have same problem on arch linux
@foXaCe Mind providing some more info? kernel version, app version, debug log output, etc?
@GameTec-live yes sorry
Operating System: XeroLinux KDE Plasma Version: 5.27.9 KDE Frameworks Version: 5.112.0 Qt Version: 5.15.11 Kernel Version: 6.6.3-zen1-1-zen (64-bit) Graphics Platform: X11 Processors: 16 Γ AMD Ryzen 7 3700X 8-Core Processor Memory: 15.5Β Gio of RAM Graphics Processor: AMD Radeon RX 6600 XT
`
π Connecting to /dev/ttyS0
π Connecting to /dev/ttyACM0
π Connecting to /dev/ttyS0
π Connecting to /dev/ttyACM0
π Connecting to /dev/ttyS0
π Connecting to /dev/ttyACM0
π Connecting to /dev/ttyS0
π Connecting to /dev/ttyACM0`
@foXaCe Seems all up to date, only "wierd" thing would be the zen kernel, but that shouldnt change any functionality... Do you have ModemManager installed? That likes to cause problems. Also; make sure your user has permission to access /dev/ttyS0 (uucp i think is the group on arch based systems)
how to ?
sudo gpasswd -a stephane uucp
do not work
ok work after reboot
thank you
ok work after reboot
thank you
so its fixed for you? great π
yes thank you
I have same problem when I use android device to connect it with BLE,but MTools BLE is working.
I also has this issue on Windows. On Android, I can connect to the device with both MTools and ChameleonUltraGUI. On the Windows PC, I can connect with the console client, but ChameleonUltraGUI doesn't work.
The logs look the same, indicating that manufacturer and product are null:
π Connecting to COM12
#0 NativeSerial.connectDevice (package:chameleonultragui/connector/serial_native.dart:101)
#1 NativeSerial.availableChameleons (package:chameleonultragui/connector/serial_native.dart:53)
π Connected to COM12
#0 NativeSerial.connectDevice (package:chameleonultragui/connector/serial_native.dart:102)
#1 NativeSerial.availableChameleons (package:chameleonultragui/connector/serial_native.dart:53)
π Manufacturer: null
#0 NativeSerial.connectDevice (package:chameleonultragui/connector/serial_native.dart:103)
#1 NativeSerial.availableChameleons (package:chameleonultragui/connector/serial_native.dart:53)
π Product: null
Hence, if (checkPort!.manufacturer == "Proxgrind")
line from lib/connector/serial_native.dart
discards the device as a non-Chameleon device.
However, USB Device Tree Viewer shows that the device, in fact, has both manufacturer and product fields, which should pass the checks in serial_native.dart
:
Manufacturer String : Proxgrind
Product String : ChameleonUltra: hw_v1, fw_v512
I don't know much about Flutter and Dart, but if my understanding is correct, ChameleonUltraGUI uses flutter_libserialport
library, which is a wrapper around Dart's libserialport
library, which is a wrapper around C library. On the Github page for Dart library, I found a somewhat recent issue related to productID, vendorId, manufacturer and description fields being null on Windows.
https://github.com/jpnurmi/libserialport.dart/issues/85
So it looks like we know the issue?
Describe the bug
ChameleonUltraGUI shows an empty list of connected device on the Windows client, despite the ChameleonUltra showing the loading bar animation. COM5 appears to be actively in use when the application is open, suggesting the port is opened and in use by the application.
The CLI version works fine (compiled locally according to instructions) and can connect to the hardware just fine.
To Reproduce Steps to reproduce the behavior:
Expected behavior The device to show up in the application.
Version info:
gd77e166
Also required:
[ v ] - I've upgraded app to latest app version
[ v ] - I've upgraded Chameleon firmware to latest version
[ v ] - I've searched and verified that there is no already created issues