Decode Ham-DMR Voice Lubuntu 18.04 Bionic Beaver

Status
Not open for further replies.

SCPD

QRT
Joined
Feb 24, 2001
Messages
0
Location
Virginia
I have been searching around for a way to decode Ham-DMR voice. I used to do it on Windows XP. Since Windows XP is deprecated I made the huge leap into Lubuntu 18.04.1 Bionic Beaver. Just so I can be up-to-date without buying new hardware.

I've read about Wine running DSD+. The issue is Wine is not running in Lubuntu 18.04.1. Installing Wine appears to succeed using sudo apt-get install wine32 but running it doesn't lead to a GUI. Wine Tricks has the same issue. It's listed in Synaptics Package Manager and Software. I am guessing the developer of Wine and Wine Tricks hasn't yet released a updated version for the kernels in Ubuntu Bionic Beaver base.

The system is of course Alsa and Pulse Audio. As for now I have Pulse Audio set to autospawn=0 using nano command. This improved the audio latency.

I have GQRX-SDR and CubicSDR installed.

What I can't find is a way to decode Ham-DMR via some other method just as capable as DSD+

I am reaching out to all the Linux users that have experience with this scenario. May I request your assistance?

Thanks!
simplio.
 

SCPD

QRT
Joined
Feb 24, 2001
Messages
0
Location
Virginia
OP25 does DMR rx.....

Max

I have installed OP25 but I have no instructions how to set up OP25 to just do DMR. The instructions I have found helped me get it installed. Those instructions lead to using it for APCO 25.
 

KA1RBI

Member
Joined
Aug 15, 2008
Messages
799
Location
Portage Escarpment
I have installed OP25 but I have no instructions how to set up OP25 to just do DMR. The instructions I have found helped me get it installed. Those instructions lead to using it for APCO 25.

Not sure where you acquired OP25 or which version... but look in op25/gr_op25_repeater/apps/README - toward the end of that file you should find instructions on multi_rx.py. You'll need to set up a config file containing a device and channel definition for the station...

Max
 

SCPD

QRT
Joined
Feb 24, 2001
Messages
0
Location
Virginia
I took a dive and no luck because zero experience but I am feeling adventurous. I made this

{
{
"demod_type": "fsk4",
"destination": "udp://127.0.0.1:56122",
"excess_bw": 0.2,
"filter_type": "rrc",
"frequency": 443225000,
"if_rate": 24000,
"name": "dmr",
"plot": "symbol",
"symbol_rate": 4800
}
],
"devices": [
{
"args": "rtl=0",
"frequency":443225000,
"gains": "lna:10",
"name": "rtl0",
"offset": 0,
"ppm": 0,
"rate": 1000000,
"tunable": false
}
]

But the result was this

d@d-Latitude-D610:~/op25/op25/gr-op25_repeater/apps$ ./multi_rx.py -c dmr.json
linux; GNU C++ version 7.3.0; Boost_106501; UHD_003.010.003.000-0-unknown

Traceback (most recent call last):
File "./multi_rx.py", line 216, in <module>
rx = rx_main()
File "./multi_rx.py", line 203, in __init__
config = json.loads(open(options.config_file).read())
File "/usr/lib/python2.7/json/__init__.py", line 339, in loads
return _default_decoder.decode(s)
File "/usr/lib/python2.7/json/decoder.py", line 364, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "/usr/lib/python2.7/json/decoder.py", line 380, in raw_decode
obj, end = self.scan_once(s, idx)
ValueError: Expecting property name: line 2 column 5 (char 6)

Helppppppppppp
 

KA1RBI

Member
Joined
Aug 15, 2008
Messages
799
Location
Portage Escarpment
Traceback (most recent call last):
File "./multi_rx.py", line 216, in <module>
rx = rx_main()
File "./multi_rx.py", line 203, in __init__
config = json.loads(open(options.config_file).read())
File "/usr/lib/python2.7/json/__init__.py", line 339, in loads
return _default_decoder.decode(s)
File "/usr/lib/python2.7/json/decoder.py", line 364, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "/usr/lib/python2.7/json/decoder.py", line 380, in raw_decode
obj, end = self.scan_once(s, idx)
ValueError: Expecting property name: line 2 column 5 (char 6)

unfortunately json is not forgiving of errors, so you have to be careful pasting files together. In this case there is no "channels" entry so it throws everything else off. Try starting with the example json and make incremental changes to it. If something blows up, revert to the previous one. You're on the right track

Max
 
Status
Not open for further replies.
Top