Re: MMDVM & UDRC

Annaliese McDermond
 

Dan --

I’m still working on the code to get things running, but I’m not quite there yet. I’ve gotten sidetracked by some DRAWS issues that I’m running down for the team. Thanks for trying things out, though, it’s nice to have some folks to test and see if things are running correctly.

--
Annaliese McDermond (NH6Z)
nh6z@...

On Dec 29, 2018, at 12:10 PM, Dan Porter (AI2M) <groups@...> wrote:

Hi Anna,

I noticed several recent GitHub updates. Am I missing something obvious or are there still some things to be worked out?

When I start MMDVM-UDRC it appears ok…

pi@udrc:~/MMDVM-UDRC $ sudo ./MMDVM
Virtual pty: /dev/pts/2 <> /dev/ttyMMDVM0
Opened hw:CARD=udrc,DEV=0 hw:CARD=udrc,DEV=0 Rate 48000

But MMDVMHost fails like this:

pi@udrc:~/MMDVMHost $ sudo ./MMDVMHost MMDVM.ini
I: 2018-12-29 19:38:11.296 This software is for use on amateur radio networks only,
I: 2018-12-29 19:38:11.297 it is to be used for educational purposes only. Its use on
I: 2018-12-29 19:38:11.297 commercial networks is strictly prohibited.
I: 2018-12-29 19:38:11.297 Copyright(C) 2015-2018 by Jonathan Naylor, G4KLX and others
M: 2018-12-29 19:38:11.297 MMDVMHost-20180916 is starting
M: 2018-12-29 19:38:11.297 Built 11:47:45 Dec 29 2018 (GitID #5de3bee)
I: 2018-12-29 19:38:11.298 General Parameters
I: 2018-12-29 19:38:11.298 Callsign: AI2M
I: 2018-12-29 19:38:11.298 Id: xxxxxxx04
I: 2018-12-29 19:38:11.298 Duplex: no
I: 2018-12-29 19:38:11.298 Timeout: 180s
I: 2018-12-29 19:38:11.298 D-Star: enabled
I: 2018-12-29 19:38:11.299 DMR: disabled
I: 2018-12-29 19:38:11.299 YSF: disabled
I: 2018-12-29 19:38:11.299 P25: disabled
I: 2018-12-29 19:38:11.299 NXDN: disabled
I: 2018-12-29 19:38:11.299 POCSAG: disabled
I: 2018-12-29 19:38:11.299 Modem Parameters
I: 2018-12-29 19:38:11.300 Port: /dev/ttyMMDVM0
I: 2018-12-29 19:38:11.300 Protocol: uart
I: 2018-12-29 19:38:11.300 RX Invert: no
I: 2018-12-29 19:38:11.300 TX Invert: yes
I: 2018-12-29 19:38:11.300 PTT Invert: no
I: 2018-12-29 19:38:11.300 TX Delay: 100ms
I: 2018-12-29 19:38:11.300 RX Offset: 0Hz
I: 2018-12-29 19:38:11.301 TX Offset: 0Hz
I: 2018-12-29 19:38:11.301 RX DC Offset: 0
I: 2018-12-29 19:38:11.301 TX DC Offset: 0
I: 2018-12-29 19:38:11.301 RF Level: 100.0%
I: 2018-12-29 19:38:11.301 DMR Delay: 0 (0.0ms)
I: 2018-12-29 19:38:11.301 RX Level: 50.0%
I: 2018-12-29 19:38:11.301 CW Id TX Level: 50.0%
I: 2018-12-29 19:38:11.301 D-Star TX Level: 50.0%
I: 2018-12-29 19:38:11.301 DMR TX Level: 50.0%
I: 2018-12-29 19:38:11.302 YSF TX Level: 50.0%
I: 2018-12-29 19:38:11.302 P25 TX Level: 50.0%
I: 2018-12-29 19:38:11.302 NXDN TX Level: 50.0%
I: 2018-12-29 19:38:11.302 POCSAG TX Level: 50.0%
I: 2018-12-29 19:38:11.302 RX Frequency: 145650000Hz (145650000Hz)
I: 2018-12-29 19:38:11.302 TX Frequency: 146650000Hz (146650000Hz)
M: 2018-12-29 19:38:11.303 Opening the MMDVM
E: 2018-12-29 19:38:11.303 Cannot get the control attributes for /dev/ttyMMDVM0

Followed by this in MMDVM-UDRC:

Slave disconnected, reopening master
Virtual pty: /dev/pts/2 <> /dev/ttyMMDVM0

This is on a working DStarRepeater system with the dstarrepeaterd service disabled.

I’m just fooling around with it in my spare time out of curiosity. I don’t have a real need for it otherwise.

I’ll admit I don’t understand the Pseudo TTY part very well.

Thanks,
Dan - AI2M

On 7 Dec 2018, at 1:01, Annaliese McDermond wrote:

Dan --

Because I’m trying to get my repeater up and running again, and would like to use MMDVM-UDRC to do so, I’ve been doing some work on getting MMDVM-UDRC to work. My code is in the nwdigitalradio github account at:

https://github.com/nwdigitalradio/MMDVM-UDRC

You’re welcome to play with it with the understanding that it’s development code, may not work at all. I’m getting close to having things possibly working acceptably.

An issue you’ll have to deal with is that mmdvm-udrc expects a 24000 sample rate. The UDRC hardware doesn’t support this and if you try to use hw:CARD=udrc,DEV=0 it will fail complaining on not being able to send sample rate. You might try using plughw:CARD=udrc,DEV=0 instead. I’m using a custom asound.conf to support it.

More as I get things worked out.

--
Annaliese McDermond (NH6Z)
nh6z@...

On Dec 6, 2018, at 4:51 AM, Dan Porter (AI2M) groups@... wrote:

Hi Rich,

Did you eventually manage to get it working?
I was thinking of trying again with my UDRC.

73, Dan - AI2M

On Jul 6, 2018, at 3:05 PM, Rich KR4PI @KR4PI wrote:

Thanks John, that helped but there were still a few errors along the way:

g++ -g -O3 -Wall -std=c++0x -pthread -c -o Biquad.o Biquad.cpp
g++ -g -O3 -Wall -std=c++0x -pthread -c -o CalDMR.o CalDMR.cpp
g++ -g -O3 -Wall -std=c++0x -pthread -c -o CalDStarRX.o CalDStarRX.cpp
g++ -g -O3 -Wall -std=c++0x -pthread -c -o CalDStarTX.o CalDStarTX.cpp
g++ -g -O3 -Wall -std=c++0x -pthread -c -o CalNXDN.o CalNXDN.cpp
g++ -g -O3 -Wall -std=c++0x -pthread -c -o CalP25.o CalP25.cpp
g++ -g -O3 -Wall -std=c++0x -pthread -c -o CWIdTX.o CWIdTX.cpp
g++ -g -O3 -Wall -std=c++0x -pthread -c -o DMRDMORX.o DMRDMORX.cpp
g++ -g -O3 -Wall -std=c++0x -pthread -c -o DMRDMOTX.o DMRDMOTX.cpp
g++ -g -O3 -Wall -std=c++0x -pthread -c -o DMRSlotType.o DMRSlotType.cpp
g++ -g -O3 -Wall -std=c++0x -pthread -c -o DStarRX.o DStarRX.cpp
g++ -g -O3 -Wall -std=c++0x -pthread -c -o DStarTX.o DStarTX.cpp
DStarTX.cpp: In member function ‘void CDStarTX::txHeader(const uint8_t*, uint8_t*) const’:
DStarTX.cpp:382:7: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation]
if (d & 0x08U)
^~
DStarTX.cpp:384:9: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘if’
i++;
^
g++ -g -O3 -Wall -std=c++0x -pthread -c -o FIR.o FIR.cpp
g++ -g -O3 -Wall -std=c++0x -pthread -c -o FIRInterpolator.o FIRInterpolator.cpp
g++ -g -O3 -Wall -std=c++0x -pthread -c -o IO.o IO.cpp
g++ -g -O3 -Wall -std=c++0x -pthread -c -o IOUDRC.o IOUDRC.cpp
g++ -g -O3 -Wall -std=c++0x -pthread -c -o MMDVM.o MMDVM.cpp
g++ -g -O3 -Wall -std=c++0x -pthread -c -o NXDNRX.o NXDNRX.cpp
g++ -g -O3 -Wall -std=c++0x -pthread -c -o NXDNTX.o NXDNTX.cpp
g++ -g -O3 -Wall -std=c++0x -pthread -c -o P25RX.o P25RX.cpp
g++ -g -O3 -Wall -std=c++0x -pthread -c -o P25TX.o P25TX.cpp
g++ -g -O3 -Wall -std=c++0x -pthread -c -o POCSAGTX.o POCSAGTX.cpp
g++ -g -O3 -Wall -std=c++0x -pthread -c -o SampleRB.o SampleRB.cpp
g++ -g -O3 -Wall -std=c++0x -pthread -c -o SerialController.o SerialController.cpp
g++ -g -O3 -Wall -std=c++0x -pthread -c -o SerialPort.o SerialPort.cpp
g++ -g -O3 -Wall -std=c++0x -pthread -c -o SerialRB.o SerialRB.cpp
g++ -g -O3 -Wall -std=c++0x -pthread -c -o SoundCardReaderWriter.o SoundCardReaderWriter.cpp
SoundCardReaderWriter.cpp: In member function ‘virtual void CSoundCardWriter::entry()’:
SoundCardReaderWriter.cpp:479:85: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
le ((ret = ::snd_pcm_writei(m_handle, m_samples + offset, nSamples - offset)) != (nSamples - offset)) {
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
g++ -g -O3 -Wall -std=c++0x -pthread -c -o Thread.o Thread.cpp
g++ -g -O3 -Wall -std=c++0x -pthread -c -o Utils.o Utils.cpp
g++ -g -O3 -Wall -std=c++0x -pthread -c -o YSFRX.o YSFRX.cpp
g++ -g -O3 -Wall -std=c++0x -pthread -c -o YSFTX.o YSFTX.cpp
g++ Biquad.o CalDMR.o CalDStarRX.o CalDStarTX.o CalNXDN.o CalP25.o CWIdTX.o DMRDMORX.o DMRDMOTX.o DMRSlotType.o DStarRX.o DStarTX.o FIR.o FIRInterpolator.o IO.o IOUDRC.o MMDVM.o NXDNRX.o NXDNTX.o P25RX.o P25TX.o POCSAGTX.o SampleRB.o SerialController.o SerialPort.o SerialRB.o SoundCardReaderWriter.o Thread.o Utils.o YSFRX.o YSFTX.o -g -lpthread -lasound -lwiringPi -o MMDVM

it did complete the compile. When I attempt ./MMDVM is receive the following:

Link does not exist: /dev/pts/1 <> ttyMMDVM0
Error creating symlink from /dev/pts/1 to ttyMMDVM0
Unable to open serial port on vpty: ttyMMDVM0

I am assuming this indicates that it is not properly configured for the UDRC. That is what I will be exploring next.

Thanks for the help
Rich, KR4PI


Join main@nw-digital-radio.groups.io to automatically receive all group messages.