Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement an optional more manual device/interface selection. #435

Closed
5 tasks done
hmatuschek opened this issue May 14, 2024 · 6 comments
Closed
5 tasks done

Implement an optional more manual device/interface selection. #435

hmatuschek opened this issue May 14, 2024 · 6 comments
Labels
enhancement New feature or request

Comments

@hmatuschek
Copy link
Owner

hmatuschek commented May 14, 2024

As frequently requested and needed for some very cheap devices (DR-1801), a proper interface and device selection mechanism is needed. The majority of the work is already present.

There are a few things to be done:

  • Enable interface selection dialog.
  • Enable device selection dialog.
  • Allow for disabling the auto-detection.
  • Interface specification for CLI.
  • Update documentation. Also explain auto-detection mechanism.
@hmatuschek hmatuschek added the enhancement New feature or request label May 14, 2024
@DH1PK
Copy link

DH1PK commented May 14, 2024

Looking forward to testing this ;-)
Thanks,
Patrick

hmatuschek added a commit that referenced this issue May 15, 2024
…ve and unidentifiable). Added settings option to disable auto-detection at all. Addresses #435, #420.
@hmatuschek
Copy link
Owner Author

Enabled device selection for DR-1801UV, also have a look at the settings dialog. There, you can disable the auto-detection, if you want to.

@DH1PK
Copy link

DH1PK commented May 15, 2024

Hi!
I built qdmr-435-implement-manual-device-interface-selection.

In settings I deactivated auto-detect.
Then clicked "download codeplug".

Debug in src/application.cc@1001: Set icon theme to 'light'.
Debug in src/application.cc@81: Search for translation in '/usr/local/share/locale/de_DE/LC_MESSAGES'.
Debug in src/application.cc@81: Search for translation in '/usr/local/share/locale/de/LC_MESSAGES'.
Debug in src/application.cc@84: Installed translator for locale 'de_DE'.
Debug in src/repeaterbookcompleter.cc@328: Loaded repeater cache of 0 entries.
Debug in lib/userdatabase.cc@132: Loaded user database with 259618 entries from /home/pk/.local/share/DM3MAT/qdmr/user.json.
Debug in lib/talkgroupdatabase.cc@140: Loaded talk group database with 1675 entries from /home/pk/.local/share/DM3MAT/qdmr/talkgroups.json.
serialnmea: No known GPS device found. Specify the COM port via QT_NMEA_SERIAL_PORT.
Debug in src/application.cc@137: Last known position:
Debug in src/application.cc@189: Create main window using icon theme 'light'.
serialnmea: No known GPS device found. Specify the COM port via QT_NMEA_SERIAL_PORT.
qt.positioning.geoclue2: Already stopped
Debug in src/application.cc@554: Last device is invalid, search for new one.
Debug in lib/usbserial.cc@118: Search for serial port with matching VID:PID 28e9:18a.
Debug in lib/usbserial.cc@118: Search for serial port with matching VID:PID 1fc9:94.
Debug in lib/hid_libusb.cc@128: Search for HID interfaces matching VID:PID 15a2:73.
Debug in lib/dfu_libusb.cc@157: Search for DFU devices matching VID:PID 483:df11.
Debug in lib/c7000device.cc@236: Search for C7000 devices matching VID:PID 1206:227.
Debug in src/application.cc@558: No save device found, continue searching for unsave ones.
Debug in lib/usbserial.cc@118: Search for serial port with matching VID:PID 28e9:18a.
Debug in lib/usbserial.cc@118: Search for serial port with matching VID:PID 1fc9:94.
Debug in lib/hid_libusb.cc@128: Search for HID interfaces matching VID:PID 15a2:73.
Debug in lib/dfu_libusb.cc@157: Search for DFU devices matching VID:PID 483:df11.
Debug in lib/usbserial.cc@118: Search for serial port with matching VID:PID 67b:23a3.
Debug in lib/c7000device.cc@236: Search for C7000 devices matching VID:PID 1206:227.
ERROR in src/application.cc@562: Kein passendes Gerät gefunden.

I see no way to select the tty or to select DR1801UV. Maybe I am looking in the wrong places?
Should I select DR1801UV before pressing download? Or should I be asked after pressing download?
And switching off auto-detection doesnt seem to change anything for me.

I tried two different cables, both with the same result.
Both cables report: idVendor=1a86, idProduct=7523

And I found my second DR1801UV which has a working codeplug installed, no difference.

Maybe the zip-file is not yet updated?
md5sum qdmr-435-implement-manual-device-interface-selection.zip
537806a85dc9b21566ef380c24a8a7c5 qdmr-435-implement-manual-device-interface-selection.zip

Regards,
Patrick

@hmatuschek
Copy link
Owner Author

Opps, sorry my fault. Yes, I forgot to push the last changes. The interface and device selection dialog should appear, once you clicked download (also on detect and upload).

@DH1PK
Copy link

DH1PK commented May 15, 2024

Hi!
cloned the branch 435, compiled - and yes, I get the dialogue to pick the interface and trx.
But the qdmr crashes while downloading:

Debug in lib/hid_libusb.cc@128: Search for HID interfaces matching VID:PID 15a2:73.
Debug in lib/dfu_libusb.cc@157: Search for DFU devices matching VID:PID 483:df11.
Debug in lib/usbserial.cc@137: Search for serial ports.
Debug in lib/usbserial.cc@143: Found ttyUSB1 (USB 1a86:7523).
Debug in lib/c7000device.cc@236: Search for C7000 devices matching VID:PID 1206:227.
Debug in lib/usbdevice.cc@256: Check if serial port ttyUSB1 still exisist and has VID:PID 1a86:7523.
Debug in lib/radio.cc@61: Try to detect radio at Serial interface 'ttyUSB1'.
Debug in lib/usbserial.cc@28: Try to open Serial interface 'ttyUSB1'.
Debug in lib/usbserial.cc@73: Opened serial port ttyUSB1 with 9600baud.
Debug in lib/auctus_a6_interface.cc@23: Open interface to Auctus A6 based radio.
Debug in lib/auctus_a6_interface.cc@90: Send aa06010403bb
ERROR in lib/usbserial.cc@101: Serial port error: (12) Operation timed out.
ERROR in lib/auctus_a6_interface.cc@173: QSerialPort: Operation timed out
ERROR in lib/auctus_a6_interface.cc@114: Cannot read response 0h.
ERROR in lib/auctus_a6_interface.cc@44: Cannot receive response.
ERROR in lib/dr1801uv_interface.cc@352: Cannot enter programming mode.
ERROR in lib/dr1801uv_interface.cc@85: Cannot connect to DR-1801UV.
ERROR in lib/dr1801uv_interface.cc@129: Cannot read codeplug from device: Interface not in idle state. State=4.
ERROR in lib/dr1801uv.cc@147: Cannot read codeplug from device.
QSocketNotifier: Socket notifiers cannot be enabled or disabled from another thread
QSocketNotifier: Socket notifiers cannot be enabled or disabled from another thread
Speicherzugriffsfehler (Speicherabzug geschrieben)

(trx is on and idle, cable is freshly plugged in)

Regards,
Patrick

hmatuschek added a commit that referenced this issue May 16, 2024
* Enabled interface and device selection for DR-1801UV (considered unsafe and unidentifiable). Added settings option to disable auto-detection at all. Addresses #435, #420.
* Associate DR-1801UV with all USB ACM-CDC devices.
* Fixed auto-detection for command line tool. 
* Updated manual.
@hmatuschek
Copy link
Owner Author

Merged into devel.

hmatuschek added a commit that referenced this issue Jul 20, 2024
New Devices:
* Added support for the Radioddity GD-73 (#396)
* Implementation of BTECH DR-1801A6 (#392)

New Features:
* Integer frequency (#292)
* Added intermediate codeplug representation (#382)
* Added button settings extension to Radioddity codeplugs. Addresses #397.
* Implemented merging of codeplugs.
* Implemented moving rows by drag & drop (#430)
* Implemented manual device interface & model selection #435. (#436)
* SMS templates implemented (#439)

Bug fixes:
* Fixed handling of singaling enum. Fixes #399. (#400)
* Fixed CTCSS frequency, thanks @ANTodorov.
* Moved default DMR radio ID to radio settings element. (#390)
* Implemented codeplug import/merge (#431)
* Fixed CSV reader parsing frequencies. (#429)
* Fixed encoding of DMTF number length for AnyTone devices. Addresses #425.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants