Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

OVCM - actual implementation has severe issues and does not really work #530

Open
dk5ras opened this issue Nov 5, 2019 · 24 comments
Open

Comments

@dk5ras
Copy link
Contributor

dk5ras commented Nov 5, 2019

Hi,

after testing a lot we found that the actual OVCM implementation has some severe issues and does not work anyway - fist the issues, what is more critical :)

It appears that also in DMR traffic from an OVCM enabled hotspot to the net something is changed, but not the right thing. This has the effect that receiving Motorola radios do not decode, or only decode for a fraction of a second and then go mute. This only can be overcome by setting OVCM=0 in the ini. This issue is critical as it breaks some connections, and almost nobody makes the connection that the combination Moto radio with OVCM MMDVM is the cause.

Now about functionality:

When I listen on an OVCM enabled MMDVM repeater to its transmissions with an OVCM radio and empty RX group list, I get a short audio fragment, then the radio mutes again. It appears the OVCM bit is only present in the first frame, then not any more. Also no late entry is possible. When the same radio receives directly from a correct OVCM implementation, audio stays on, the talk group stays in the display for the configured hang time, and one can reply into this TG. As intended. Also late entry works as intended, as the OVCM signaling is present during the whole transmission.

We will try to see if we find something, but maybe Jonathan or some other skilled coders will find the last quirks with this description :)

Thanks a lot for all the great work you all are doing here, we users and repeater and master sysops highly appreciate this fantastic software!!!

@g4klx
Copy link
Owner

g4klx commented Nov 5, 2019

I have looked at the MMDVM code and the LC data with IVCM enabled is carried by the header and by the the embedded LC sent for the duration of the transmission so it should still be active for late entry. I need someone to look at the data going to the modem to check that the embedded data is correct and that the OVCM bit is present.

This would not be difficult to do but would require time, of which I have very little. We need people who are happy to get into the guts of DMR and analyse the data being sent out looking for bugs. Sorry I can't be more helpful but I only have limited time available.

@dk5ras
Copy link
Contributor Author

dk5ras commented Nov 5, 2019

Sure, time is also our issue :) I am so far in the guts of DMR, but I am not in the guts of C/C++ :)

@g4klx
Copy link
Owner

g4klx commented Nov 5, 2019

I have changed the software to switch OVCM off by default when there is no OVCM option in the ini file. If it worked I would like it to be on by default, but it is not a good idea at the moment.

@dk5ras
Copy link
Contributor Author

dk5ras commented Nov 6, 2019

Yep, first let's see how to make it work!

@maierp
Copy link
Contributor

maierp commented Nov 6, 2019

I've added a pull request for adding also the OVCM bit in the two supported CSBKs: "Unit to Unit Voice Service Request CSBK" and "Unit to Unit Voice Service Answer Response CSBK".
But this still does not fix the problem which @dk5ras has.
As I'm also working on the MMDVMSdr, I've a running system, where I could debug if the bit is also available in the MMDVM.
I also wanted to see if I could borrow a test device from work to analyze the complete signal including the protocol.

@g4klx
Copy link
Owner

g4klx commented Nov 6, 2019

You can easily dump out the data sent to the modem by the use of configuration options and then you can see the transmitted bits. In addition you can sprinkle dump commands in the code to supply the unencoded LC data which would be a good way to see if the bit is set at the beginning of the process of encoding it.

@dk5ras
Copy link
Contributor Author

dk5ras commented Nov 8, 2019

Incoming traffic from the net, sent out by the MMDVM on RF, looks good now, OVCM works as intended. Amazing! The outgoing variant I did not yet check in all combinations, but it looks good.

One conversation came in weird, a guy with a GD-77 was shown as phone call, however another guy on the same repeater with MD-380 came with normal OVCM mode, so I assume it is some issue with the GD-77.

I will look into the dumping options when I have some more continuous time chunks available :) This is nothing to do on the go...

@maierp
Copy link
Contributor

maierp commented Nov 8, 2019

But this still does not fix the problem which @dk5ras has.

So it actually did fix the problem. Great to hear that. :)

@g4klx
Copy link
Owner

g4klx commented Nov 13, 2019

So what's the state of this now?

@maierp
Copy link
Contributor

maierp commented Nov 15, 2019

I split up the configuration for setting the OVCM bit in TX and RX direction. I couldn't check it here, but @dk5ras reported,that this somehow does not work and still sends the bit to the network...
I will do a push request. Maybe you see where I've been wrong...

@maierp
Copy link
Contributor

maierp commented Nov 29, 2019

I changed the code so that the OVCM bit is only SET when configured for this direction, but is never UNSET if received over RF or network.
This is currently as a pending pull-request.
What are the remeining problems or open questions?

@iddq
Copy link

iddq commented Nov 29, 2019

What is OVCM?

@maierp
Copy link
Contributor

maierp commented Nov 29, 2019

I answered to your private message to me...

@shawnchain
Copy link
Contributor

@maierp Does it mean your previous pull request that split up the configuration for setting the OVCM bit is not solving your problem and do we still need keep that 2 configurations there ?

@yl3im
Copy link

yl3im commented Jul 3, 2021

I discovered OVCM started to misbehave since several months. I bet it worked well at least in March. When its value is enabled (1 or 3) in /etc/mmdvmhost, only the first second (or half) of the transmission can be heard, like the respective flag would be transmitted only in the beginning. Switching to a channel with an ongoing conversation doesn't show anything at all.

I use Pi-Star 4.1.5, MMDVMHost version 20210617_PS4 git #9106fd6.

There is a workaround with choosing a BM master server with OVCM enabled by default (2621 for example) - in such case OVCM transmissions are received smoothly regardless of mmdvmhost settings.

@yl3im
Copy link

yl3im commented May 21, 2022

The issue is still there.

@yl3im
Copy link

yl3im commented Jun 24, 2022

R9XBC figured out the issue with only hearing a half second of the transmission in OVCM=1 mode disappears when DMR EmbeddedLCOnly mode is enabled -- when TA and GPS data are disabled. I just tested it out and I can confirm this dependency.

@g4klx
Copy link
Owner

g4klx commented Jun 27, 2022 via email

@yl3im
Copy link

yl3im commented Jun 27, 2022

Also possible. No issues with Hytera as I have heard.

I started experiencing the issue since last spring and I always keep the firmware of my Moto radios up to date.

Will try with both TA and OVCM TX between radios, without MMDVM.

@yl3im
Copy link

yl3im commented Jun 27, 2022

I can confirm there are no issues when calling between two Motorola radios in simplex with both OVCM TX and TA enabled. So it may be in MMDVMHost though.

@g4klx
Copy link
Owner

g4klx commented Jun 27, 2022 via email

@yl3im
Copy link

yl3im commented Jan 2, 2023

Hi @g4klx,

Are there any news about putting both OVCM and TA together?

Thank you!

@g4klx
Copy link
Owner

g4klx commented Jan 8, 2023 via email

@yl3im
Copy link

yl3im commented Jan 8, 2023

Beyound any doubt it is :)

I'd be willing to help with testing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants