+++
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
+++
![GD77](gd77.jpg )
[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 |
| :--- | :--- |
| ![OE7DRT Boot-up picture white](rendeer512_white.png) | ![OE7DRT Boot-up picture black (inverted)](rendeer512_black.png) |
## Importing DMR-IDs
Open _Extras >> Download callsign database_ and fetch the data that you want.
![Import menu](import-dmr-ids-menu.jpg)
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.
![Import dialog](import-dmr-ids.jpg)
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.