qdmr icon indicating copy to clipboard operation
qdmr copied to clipboard

[devel] [GD73] Cannot link channels

Open sgofferj opened this issue 1 year ago • 11 comments

I'm trying to read a GD-73 with the devel branch downloaded today. The codeplug has been edited quite a bit with the original windows CPS. Stuff has been deleted and added and such. qdmr fails to decode the codeplug.

Log output:

Debug in src/application.cc@886: Set icon theme to 'dark'.
Debug in src/application.cc@77: Search for translation in '/usr/local/share/locale/en_US/LC_MESSAGES'.
Debug in src/application.cc@77: Search for translation in '/usr/local/share/locale/en/LC_MESSAGES'.
Info in src/repeaterbookcompleter.cc@304: Cannot open repeater cache '/home/sgofferj/.local/share/DM3MAT/qdmr/repeaterbook.cache.json'.
Debug in lib/userdatabase.cc@132: Loaded user database with 251958 entries from /home/sgofferj/.local/share/DM3MAT/qdmr/user.json.
Debug in lib/talkgroupdatabase.cc@140: Loaded talk group database with 1660 entries from /home/sgofferj/.local/share/DM3MAT/qdmr/talkgroups.json.
Debug in src/application.cc@133: Last known position: 
Debug in src/application.cc@185: Create main window using icon theme 'dark'.
Qt WebEngine seems to be initialized from a plugin. Please set Qt::AA_ShareOpenGLContexts using QCoreApplication::setAttribute before constructing QGuiApplication.
Debug in src/application.cc@446: Last device is invalid, search for new one.
Debug in lib/usbserial.cc@117: Search for serial port with matching VID:PID 28e9:18a.
Debug in lib/usbserial.cc@117: 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@117: Search for serial port with matching VID:PID 67b:23a3.
Debug in lib/c7000device.cc@235: Search for C7000 devices matching VID:PID 1206:227.
Debug in lib/c7000device.cc@241: Found device on bus=2, device=25 with 1206:227.
Debug in lib/usbdevice.cc@223: Search for a device matching VID:PID 1206:227 at bus 2, device 25.
Debug in lib/usbdevice.cc@234: Found device on bus=2, device=25 with 1206:227.
Debug in lib/radio.cc@61: Try to detect radio at USB C7000 HT: bus 2, device 25.
Debug in lib/c7000device.cc@147: Try to detect USB C7000 interface USB C7000 HT: bus 2, device 25.
Debug in lib/c7000device.cc@161: Matching device found at bus 2, device 25 with vendor ID 1206 and product ID 227.
Debug in lib/c7000device.cc@201: Connected to C7000 device USB C7000 HT: bus 2, device 25.
Debug in lib/gd73_interface.cc@21: Entered prog mode. Response: 0000000000000000000000000000000006000000d8ce03004e060400d8ce030008.
Debug in lib/c7000device.cc@262: Close C7000 interface.
Debug in lib/usbdevice.cc@223: Search for a device matching VID:PID 1206:227 at bus 2, device 25.
Debug in lib/usbdevice.cc@234: Found device on bus=2, device=25 with 1206:227.
Debug in lib/usbdevice.cc@223: Search for a device matching VID:PID 1206:227 at bus 2, device 25.
Debug in lib/usbdevice.cc@234: Found device on bus=2, device=25 with 1206:227.
Debug in lib/radio.cc@61: Try to detect radio at USB C7000 HT: bus 2, device 25.
Debug in lib/c7000device.cc@147: Try to detect USB C7000 interface USB C7000 HT: bus 2, device 25.
Debug in lib/c7000device.cc@161: Matching device found at bus 2, device 25 with vendor ID 1206 and product ID 227.
Debug in lib/c7000device.cc@201: Connected to C7000 device USB C7000 HT: bus 2, device 25.
Debug in lib/gd73_interface.cc@21: Entered prog mode. Response: 0000000000000000000000000000000006000000d8ce03004e060400d8ce030008.
Debug in lib/gd73_interface.cc@78: Start codeplug read, seqnr=ffffh.
Debug in lib/c7000device.cc@262: Close C7000 interface.
ERROR in lib/gd73_codeplug.cc@1458: Cannot link channel 'NET 1', cannot resolve scanlist index 7.
ERROR in lib/gd73_codeplug.cc@1041: Cannot link channel at index 32.
ERROR in lib/gd73_codeplug.cc@2314: Cannot link channels.
ERROR in lib/gd73_codeplug.cc@2163: Cannot decode codeplug.
Debug in lib/c7000device.cc@262: Close C7000 interface.

Possibly related to #250

sgofferj avatar Jan 10 '24 19:01 sgofferj

@sgofferj To gather some information: which firmware is your GD-73 running? According to #188, dev was done against "v1.11" - just to make sure that's not an issue. (Some more discussion in #371, but main thread was #188)

For the actual error message, if there are no secrets inside, could you attach the codeplug here or even try to strip it down to the parts causing the error? Most likely the parts that are reported in the error message? That should help @hmatuschek to find the cause.

allesand avatar Jan 12 '24 14:01 allesand

Yeah, it's 1.11.

Nothing really secret. I'm mostly trying and testing. Don't like booting into Windows all the time, hence qdmr :smile: gd73.rdt.zip

sgofferj avatar Jan 12 '24 14:01 sgofferj

I'll have a look. dmrconf can decode the manufacturer CPS files (rdt):

dmrconf decode --manufacturer --radio=gd73 gd73.rdt --yaml

If you want to play along.

hmatuschek avatar May 22 '24 14:05 hmatuschek

I get:

ERROR in lib/gd73_codeplug.cc@1459: Cannot link channel 'CMLDMR1', cannot resolve scanlist index 6.
ERROR in lib/gd73_codeplug.cc@1042: Cannot link channel at index 61.
ERROR in lib/gd73_codeplug.cc@2316: Cannot link channels.
ERROR in lib/gd73_codeplug.cc@2165: Cannot decode codeplug.
ERROR in cli/decodecodeplug.cc@50: Cannot decode binary codeplug file 'gd73.rdt'.
ERROR in cli/decodecodeplug.cc@117: Cannot decode codeplug 'gd73.rdt':   In decodecodeplug.cc:50: Cannot decode binary codeplug file 'gd73.rdt'.
  In gd73_codeplug.cc:2165: Cannot decode codeplug.
  In gd73_codeplug.cc:2316: Cannot link channels.
  In gd73_codeplug.cc:1042: Cannot link channel at index 61.
  In gd73_codeplug.cc:1459: Cannot link channel 'CMLDMR1', cannot resolve scanlist index 6.

Oooh. That is a bug in the manufacturer CPS. There are only 5 scan lists defined, the channel "CMLDMR" references scan list 6 (indices are 0-based, so the 7th scan list).

hmatuschek avatar May 22 '24 14:05 hmatuschek

Ok, I can be bug compatible. That is, I will just throw warnings for every unresolved reference I find.

hmatuschek avatar May 22 '24 14:05 hmatuschek

Ok, should be fixed in the 414-relax-gd73-linking-errors branch. Let me know, if it works for you.

hmatuschek avatar May 22 '24 15:05 hmatuschek

I'll try to get to it at the weekend. Thanks!

sgofferj avatar May 22 '24 19:05 sgofferj

Got some free slot. qdmr reads the radio now. It does not, however, seem to read CTCSS correctly. TM VLK has an RX tone configured but that doesn't show up. Also, when I try to write to the radio, I get a red message saying "Expected reference to a group call digital contact." but it doesn't say where or why.

sgofferj avatar May 23 '24 08:05 sgofferj

The first issue should be resolved. I simply forgot to encode these settings. The latter might be correct, if the manufacturer does not allow for adding private calls to group lists. Usually, only group calls are allowed. Some firmwares (e.g., OpenGD77) however, handle private calls in group lists.

hmatuschek avatar May 29 '24 07:05 hmatuschek

I've checked it with the manufacturer CPS, the GD-73 only supports group calls in group lists. So that error message is correct.

hmatuschek avatar May 29 '24 07:05 hmatuschek

I actually have programmed the GD73 I'm reading with the manufacturer CPS. I don't have any private calls in the group list but I do have an all-call in the group list.

sgofferj avatar May 29 '24 09:05 sgofferj

I actually have programmed the GD73 I'm reading with the manufacturer CPS. I don't have any private calls in the group list but I do have an all-call in the group list.

You do not need all-calls in group lists. They are received always.

I would close this issue now. Feel free to reopen is, if an issue remains.

hmatuschek avatar Jul 20 '24 10:07 hmatuschek

Thank you for your work!

sgofferj avatar Jul 22 '24 06:07 sgofferj

Oh, forgot to merge. So, reopen.

hmatuschek avatar Jul 22 '24 10:07 hmatuschek