Welcome to the new FlexRadio Community! Please review the new Community Rules and other important new Community information on the Message Board.
If you are having a problem, please refer to the product documentation or check the Help Center for known solutions.
Need technical support from FlexRadio? It's as simple as Creating a HelpDesk ticket.

Smart sdr packet loss

Andy M5ZAP
Andy M5ZAP Member
edited February 2020 in SmartSDR for Windows

Hi,

I have been looking at problems with writelog in another post, but at least one of them appears to be a problem with SmartSDR.

When I connect to the Flex with Writelog using IP comms,  SmartSDR reports packet losses (30% ish) and the network health bars go red.

This does not happen all the time but when the problem appears rebooting SmartSDR or Writelog or the the PC often doesnt resolve the problem.

Functionality of SmartSDR does not seem to degrade and the packet loss reporting persists even if all panadapters are closed ie very little data flow. Also the data rate from writelog can be very small.

The network normally performs faultlessly with zero dropped packets and <1mS latency and this is with 10 times the data flow.

If you look at the network performance when the problem is present using Windows 10 resource monitor then it reports no packet losses and very low dataflow.

So my question... is smartSDR incorrectly reporting packet loss or why is writelog connecting to the flex server causing SmartSDR to drop packets. Connecting DXlab or SDR bridge does not have the same affect.

Another flex user has reported the same problem on the community.

Any network experts out there able to help me fault find this problem.


Regards Andy M5ZAP

Answers

  • Bill W2PKY
    Bill W2PKY Member ✭✭
    edited January 2017
    In Windows Device manager for the Network adapter check to see if the receive buffers are 256, If so increase the buffers to 512 or more to see if the problem is resolved. Additionally, just curious, if listening to headphones when connecting Writelog do you hear a drop out in the audio?

    Are you directly connected between the PC and Radio? No switich?
  • Andy M5ZAP
    Andy M5ZAP Member
    edited February 2020

    Hi Bill

    Thanks for help.

    1 - There is no audible disturbance when starting writelog.

    2 - I cannot find the receive buffers in the ethernet proberties in Device manager

    3 - The radio is connected via a switch a gigabit TPlink.

    There is only a few bytes being transferred and in other setups with DXlab and sdr Brige and skimmer I can have 20+ mb/sec and not a single dropped packet and sometimes I can have writelog running and SmartSDR not reporting packet loss.

    The problem persists if writelog is set to use its own dax and IQ link or just comms for rig control so is not network traffic volume related.


  • Andy M5ZAP
    Andy M5ZAP Member
    edited February 2020

    I have continued investigating the issue of reported dropped packets by SmartSDR when running Writelog and I am now convinced it is SmartSDR incorrectly reporting packet losses only when Writelog is running,

    The reasons I believe this is the case is

    1 - Windows monitor reports zero packet loss

    2 - You can run Smartsdr with audio on "Remote" (or audio local from Flex) and there is absolutely no audio drop out or artefacts heard, when SmartSDR is reporting 50% packet loss.

    3 - With Writelog and SmartSDR runing at 18mb/sec and a 50% packet loss being reported by Smart SDR I left the system pinging the Flex for 2 hrs and the results were

    Ping statistics for 192.168.1.214:
        Packets: Sent = 7247, Received = 7247, Lost = 0 (0% loss),
    Approximate round trip times in milli-seconds:
        Minimum = 0ms, Maximum = 3ms, Average = 0ms

    4 - it is not dependant on datarate as the problem occurs as soon as I connect Writelog to the flex server when there is only a few bytes per second of data.

    Why it only happens when running writelog I dont know as other setups I use run much higher data rates.

    Can anybody add anything to my findings and should I raise a ticket if I think it is a SmartSDR bug. Can anybody from flex please comment.

    I know Kevin K4VD has the same issue when runnining writelog.

    I must also say I have had fantastic support from Wayne W5XD the creator of Writelog.

  • Andy M5ZAP
    Andy M5ZAP Member
    edited February 2020

    I have a work around,

     

    Not sure why it works but doing some logs with Wireshark to help analyse and will keep digging. 

    If you open Writelog first (it connects to the flex server ) and let it sit there  with "no Slice" displayed. You then open Smart SDR for windows,  smart SDR then does not display dropped packets. Even more weird you can then shut and open Writelog as many times as you want and all is well.  

    If you shut down both, then open Smart SDR first it falls over. This explains the fact a couple of times it worked ok. However the logical process is to open Smart SDR first.

     

     

    Andy

  • Tim - W4TME
    Tim - W4TME Administrator, FlexRadio Employee admin
    edited January 2017
    What happens when you do not connect WL?
  • Andy M5ZAP
    Andy M5ZAP Member
    edited January 2017

    Hi Tim,

    If you read the complete post and my follow on posts and it explains the problem fully

    If Writelog is not connected or connected using Smart CAT all is fine.

    As stated it is also fine if I launch / connect writelog to the flex first then launch / connect SmartSDR second. I however cannot explain this odd behaviour. Port allocation ?

    The problem is not there when using dxlab, with multiple skimmers via SDR bridge. 

    I have wireshark logs but they are rather large.

  • Eric-KE5DTO
    Eric-KE5DTO Administrator, FlexRadio Employee admin
    edited January 2017
    I suspect that the issue is that there are multiple clients that are using the same UDP port.  We use a scheme in FlexLib to avoid collisions on the UDP ports to prevent this from happening.  We will be looking into a way to change things up to prevent this, but in the meantime, the clients need to use a UDP port that doesn't collide with other clients.
  • Andy M5ZAP
    Andy M5ZAP Member
    edited January 2017

    Thanks Eric for info

    I presume there is nothing I can do about that, it is the software writer. If you pass the info of what UDP ports to avoid I can pass that onto Wayne W5XD the author of writelog who I am in corresponance with.

    Is my work around of launching Writelog before Smart SDR a suitable interim solution.

    Does the flex API information tell SW writers to avoid certain ports?

  • Eric-KE5DTO
    Eric-KE5DTO Administrator, FlexRadio Employee admin
    edited January 2017
    Yes, that should work as SmartSDR should avoid a port that is already in use.
  • Andy M5ZAP
    Andy M5ZAP Member
    edited January 2017

    Thanks,

    Could you also reply to the other two questions from post above

    I presume there is nothing I can do about that, it is the software writer. If you pass the info of what UDP ports to avoid I can pass that onto Wayne W5XD the author of writelog who I am in corresponance with.

    Does the flex API information tell SW writers to avoid certain ports?

  • Eric-KE5DTO
    Eric-KE5DTO Administrator, FlexRadio Employee admin
    edited January 2017
    I don't think you can do anything as the user.  This is something that has to change in the software.  If you tell Wayne what I said above, I think he'll know what to do.  If not, tell him he can contact me directly.  I can walk him through it.

    We probably do not have enough information in the docs to explain why this is a problem.  We will improve that as well as make some changes that help to enforce use of separate ports.  At that point, everyone will have to use different ports of their application will not work.
  • Andy M5ZAP
    Andy M5ZAP Member
    edited January 2017
    Hi Eric,

    Do you have an email address so I can forward Wayne's further emails and you guys can try and sort the problem out without having to do it all through the forum.

    Once we have a solution then we can post it to the forum so anybody trying to use Writelog and the flex can learn from it.
  • Eric-KE5DTO
    Eric-KE5DTO Administrator, FlexRadio Employee admin
    edited January 2017
    Sure.  You can reach me via email at eric AT flex DASH radio DOT com.

    Our team talked about it and we are going to make the following changes based on this discussion:
    1. We are going to set the ExclusiveAddressUse flag on the socket we open for streaming data in FlexLib.  This will prevent other processes from being able to bind to the same UDP port (on the same machine).
    2. We are going to change the radio logic so that a UDP port must be specified before any streaming data will come out.  Today, it just sends data out on the default port (4991) if one hasn't been specified.
    3. The radio is going to check to ensure that a specified IP/port doesn't match an existing client's ip/port settings.  In other words, we will enforce using different ports on the same machine at the radio.

    Thanks for your help in bringing this to our attention.  We will make a similar post on this subject in the API section so the developers are in the loop.

Leave a Comment

Rich Text Editor. To edit a paragraph's style, hit tab to get to the paragraph menu. From there you will be able to pick one style. Nothing defaults to paragraph. An inline formatting menu will show up when you select text. Hit tab to get into that menu. Some elements, such as rich link embeds, images, loading indicators, and error messages may get inserted into the editor. You may navigate to these using the arrow keys inside of the editor and delete them with the delete or backspace key.