+++
title = 'Radioddity GD-77'
summary = '''Consider the OpenGD77 firmware and you're all set with a
very user friendly and customizable handheld radio.'''
date = '2020-10-17'
lastmod = '2023-10-25T20:41:06+0000'
#categories = [ 'amateur-radio' ]
showBreadcrumbs = true
showReadingTime = false
showWordCount = false
+++

[Product page][1] — [OpenGD77 Firmware][2] — [Latest CPS][3]
[1]: https://www.radioddity.com/products/radioddity-gd-77-dmr-two-way-radio
[2]: https://www.opengd77.com/downloads/GD77/Latest/
[3]: https://www.opengd77.com/downloads/CPS/Latest/
This is probably the first DMR capable radio that is made for amateur radio.
Obviosly not per default, but thanks to OpenGD77 it is now suited for amateur
radio usage.
## udev-Rules for Linux
~~~rb
# USB rules for GD-77
# Place this in /etc/udev/rules.d/ to let all users talk to the radios by USB.
#
SUBSYSTEM=="usb", ATTRS{idVendor}=="15a2", ATTRS{idProduct}=="0073", MODE="0666"
# HIDAPI/libusb
SUBSYSTEM=="usb", ATTRS{idVendor}=="15a2", ATTRS{idProduct}=="0073", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="1fc9", ATTRS{idProduct}=="0094", MODE="0666"
# HIDAPI/hidraw
KERNEL=="hidraw*", ATTRS{idVendor}=="15a2", ATTRS{idProduct}=="0073", MODE="0666"
KERNEL=="hidraw*", ATTRS{idVendor}=="1fc9", ATTRS{idProduct}=="0094", MODE="0666"
# HIDAPI/hiddev
## We need to unbind this device, otherwise LibUsb will fail to SetConfiguration() and ClaimInterface()
# For Bootloader (usbhid)
KERNEL=="hiddev*", ATTRS{idVendor}=="15a2", ATTRS{idProduct}=="0073", MODE="0666", RUN+="/bin/bash -c 'ID=$(IFS=/; read -a array <<< %p; echo ${array[-3]}); echo $ID > /sys/bus/usb/drivers/usbhid/unbind'"
# OpenGD77
KERNEL=="ttyACM[0-9]*", SUBSYSTEM=="tty", ATTRS{idVendor}=="1fc9", ATTRS{idProduct}=="0094", MODE="0666", GROUP="dialout", SYMLINK+="OpenGD77"
~~~
If you want do reload udev with the new rules, run:
~~~console
$ udevadm control --reload-rules && udevadm trigger
~~~
## Original boot tone melody
The originally used boot-up melody. I'm not sure if it changed already, but this
was on my GD-77 when I first installed the OpenGD77 firmware.
~~~plain
38,6,0,2,38,2,0,2,38,6,0,2,38,2,0,2,38,6
~~~
## My boot-up picture
| Normal display settings | Inverted display settings |
| :--- | :--- |
|  |  |
## Importing DMR-IDs
Open _Extras >> Download callsign database_ and fetch the data that you want.

Set the region to the desired MCC that
you want to import. You can also use the inactivity filter that fetches only
recently active DMR-IDs. Or you can import DMR-IDs from a file.

I usually import them from a CSV-file. The file that I use contains all the
austrian callsigns plus a few other callsigns, that I regularly see. ~~So I need
to import about 2000 callsigns.~~ Well, I do not use DMR, D-STAR or C4FM so often;
so I don't import anything at the moment. But I came across this site again and I
thought I could update this list again (after nearly 2 years there are a few new
callsigns in this list -- about 2000 new callsigns).
{{< alert "circle-info" >}}
If you don't have a proper file to start with use this one here. It contains
these regions: `232, 262, 263, 264, 222, 228`.
:open_file_folder: Download (\~238KB)
{{< /alert >}}
Or: download your own set of DMR-IDs with the regions you want. You can also
download only some federal states (like `2327,2328`) if you don't want all
entries from `232`. [Read along here][dmrid] for some instructions about this.
[dmrid]: {{< ref "posts/2020-11-16-create-your-own-dmrid-database-file" >}}
## Band scope (Spectrum sweep scan)
I'm not sure when this feature was implemented, but OpenGD77 now supports
an easy to use band scope on the GD-77.
Press and hold the hash key # when in VFO mode to enter this feature.