Hi Tom,

I think I have reproduced the issue. I have an account on my Windows PC, I use for testing UAC matters, that is not a member of the local administrators group. If I use this account I cannot have WSJT-X use Omni-Rig, even though I can start the Omni-Rig server by running its executable. It would seem that members of the local administrator group have the necessary rights via group policies. I can fix the problem by granting a full control ACL to the Omni-Rig executable for the user that is not a member of the local administrators group, like this:

Start an Administrator CMD prompt and type the following command:

icacls "C:\Program Files (x86)\Afreet\OmniRig\omnirig.exe" /grant <user>:F

where <user> is the user name (or SID) to be granted the right. Use /remove to remove the ACL entry to prove it is working.

Granting full control like this seems like a sledge-hammer to crack a nut, but I am not sure exactly which access right is required to start an out-of-process COM server like Omni-Rig. It could be that the Omni-Rig installer is not setting up Omni-Rig correctly for it to be started by users outside of the local administrators group, but I am not sufficiently knowledgeable on Windows security system to be sure.

73
Bill
G4WJS.

On 18/07/2021 19:37, Tom via wsjt-devel wrote:

Hi

Exactly the same for all users.

Don’t know where to go from here….

73 Tom

*From:*Bill Somerville via wsjt-devel <wsjt-devel@lists.sourceforge.net>
*Sent:* Sunday, July 18, 2021 2:22 PM
*To:* wsjt-devel@lists.sourceforge.net
*Cc:* Bill Somerville <g4...@classdesign.com>
*Subject:* Re: [wsjt-devel] WSJT-X and Omni-Rig: Failed to start Omni Rig COM server

Hi Tom,

thanks for that. So it seems that something is blocking COM communications between WSJT-X and Omni-Rig that is resolved by running WSJT-X with elevated rights. The Windows security model, in general, blocks IPC between processes running at different security levels. If that is the issue then perhaps somehow Omni-Rig can only be started using elevated rights. Is it possible that the OmniRig.exe file has a security restriction applied? On my system if I check the effective rights for my non-administrator user to the omnirig.exe file I see this:

which includes read and execute. Is it the same on your system?

I am not sure why you are asking about how WSJT-X accesses serial ports, when using Omni-Rig it doesn't access serial ports. To access COM services we use a Qt library Active that allows us to access COM services without the low level details of handling COM in C. We also use a Qt tool called dumpcpp which generates Active Qt COM wrappers by querying the COM server via its GUID to enumerate its COM API.

https://doc.qt.io/qt-5/activeqt-index.html <https://doc.qt.io/qt-5/activeqt-index.html>

73
Bill
G4WJS.

On 18/07/2021 18:55, Tom via wsjt-devel wrote:

    Hi

    Ok.  I did this.  When you run WSJT without being admin, no log is
    made at all. You get Failed to start Omni Rig COM server in  WSJT

    If you run it as admin, then a log appears.

    Here are the first few lines…

    13:45:51.670  Omni-Rig started: Version 1.19

    13:45:51.675  Loading commands from "ZS-1.ini"

    13:45:51.691  Loading commands from "TS-930.ini"

    13:45:51.707  Loading commands from "TS-870.ini"

    If you run Log4OM for example NOT as admin, a log is created as above.

    Since this happens with an older version of WSJT and the latest
    versions (production) most likely a library somewhere has been
    changed.  Perhaps by Windows update.

    I remember a couple of years ago, that I had a sound device stuck
    in WSJT even though the device wasn’t installed. .  We worked on
    it a lot to no resolution.  A subsequent Windows update fixed it.

    What libraries are you using for serial port access? Or the com
    server?

    73 Tom

    *From:*Bill Somerville via wsjt-devel
    <wsjt-devel@lists.sourceforge.net>
    <mailto:wsjt-devel@lists.sourceforge.net>
    *Sent:* Sunday, July 18, 2021 1:32 PM
    *To:* wsjt-devel@lists.sourceforge.net
    <mailto:wsjt-devel@lists.sourceforge.net>
    *Cc:* Bill Somerville <g4...@classdesign.com>
    <mailto:g4...@classdesign.com>
    *Subject:* Re: [wsjt-devel] WSJT-X and Omni-Rig: Failed to start
    Omni Rig COM server

    Tom,

    I did have a minor typo in the first path I wrote below, other
    than that it most certainly is where the Omni-Rig configuration
    file is found:

    C:\Users\bill\build>dir "%AppData%\Afreet\Products\OmniRig\"

      Volume in drive C is Windows8_OS

      Volume Serial Number is 56CD-82B3

      Directory of C:\Users\bill\AppData\Roaming\Afreet\Products\OmniRig

    20/04/2017  15:16    <DIR>          .

    20/04/2017  15:16    <DIR>          ..

    18/07/2021  08:38               762 OmniRig.ini

    14/08/2016  00:16               282 OmniRig.ini~

    18/07/2021  08:36            18,617 OmniRig.log

                    3 File(s)         19,661 bytes

                    2 Dir(s)  62,254,145,536 bytes free

    Note Products, not Produxts as I mis-typed.

    At this point I think that running anything here with elevated
    rights causing different behaviour is coincidental.

    I also think the "Failed to start Omni-Rig COM server" is somewhat
    bogus too as you have proved that if you stat the server manually
    WSJT-X still fails to hook up with it. I am hoping the Omni-Rig
    debug log has some entry that tells me what is actually happening.

    73
    Bill
    G4WJS.

    On 18/07/2021 17:19, Tom via wsjt-devel wrote:

        Hi

        There is no such path. I am using omni-rig 1.19 just
        downloaded from the web at dxatlas.

        The use of administrator mode only works for the 64 bit WSJT.
        The 32 bit fails with both user and administrator mode. 
        Always failed to start the omnirig com server.

        Tom

        *From:*Bill Somerville via wsjt-devel
        <wsjt-devel@lists.sourceforge.net>
        <mailto:wsjt-devel@lists.sourceforge.net>
        *Sent:* Sunday, July 18, 2021 3:39 AM
        *To:* wsjt-devel@lists.sourceforge.net
        <mailto:wsjt-devel@lists.sourceforge.net>
        *Cc:* Bill Somerville <g4...@classdesign.com>
        <mailto:g4...@classdesign.com>
        *Subject:* Re: [wsjt-devel] WSJT-X and Omni-Rig: Failed to
        start Omni Rig COM server

        Hi Tom,

        thanks for the clarification. You didn't confirm which version
        of Omni-Rig you are using.

        It would be interesting to see the Omni-Rig debug log for a
        test where WSJT-X claims it is unable to start the Omni-Rig
        COM server. To enable Omni-Rig debug logging put the following
        into the main Omni-Rig settings file
        "%AppData%\Afreet\Produxts\OmniRig\OmniRig.ini" at the top:

        [Debug]

        Log=1

        The log file is called OmniRig.log and appears in the same
        "%AppData%\Afreet\Products\OmniRig\" directory.

        73
        Bill
        G4WJS.

        On 17/07/2021 00:42, tom via wsjt-devel wrote:

            Hi

            No, I don't think I said this right.

            If you open omnirig while you monitor the serial port, the
            serial port opens, then there's a little activity and then
            the port closed. Omnirig remains open.

            Starting wsjt with omnirig open or closed produces the
            same result. Failed to start com server unless you run it
            as admin.

            Tom

            Sent from my Galaxy

            -------- Original message --------

            From: Bill Somerville via wsjt-devel
            <wsjt-devel@lists.sourceforge.net>
            <mailto:wsjt-devel@lists.sourceforge.net>

            Date: 2021-07-16 5:56 p.m. (GMT-05:00)

            To: wsjt-devel@lists.sourceforge.net
            <mailto:wsjt-devel@lists.sourceforge.net>

            Cc: Bill Somerville <g4...@classdesign.com>
            <mailto:g4...@classdesign.com>

            Subject: Re: [wsjt-devel] WSJT-X and Omni-Rig: Failed to
            start Omni Rig COM server

            Hi Tom,

            that's not how Omni-Rig behaves for me, if I start it
            manually the setup dialog stays open until it is cancelled
            or closed with the OK button. Starting WSJT-X to
            communicate with it doesn't change that. What version of
            Omni-Rig are you using?

            73
            Bill
            G4WJS.

            On 16/07/2021 22:49, Tom via wsjt-devel wrote:

                Hi

                Omni-rig connects just fine to the radio.  When you
                open it there is some initial comport activity then it
                closes.  All this is normal.

                It is completely reproducible on my system.  There is
                no issue with any other application that uses Omni-rig.

                On the groups.io list, there are people that have
                reported this in the past.

                73 Tom

                *From:*Bill Somerville via wsjt-devel
                <wsjt-devel@lists.sourceforge.net>
                <mailto:wsjt-devel@lists.sourceforge.net>
                *Sent:* Friday, July 16, 2021 4:03 PM
                *To:* wsjt-devel@lists.sourceforge.net
                <mailto:wsjt-devel@lists.sourceforge.net>
                *Cc:* Bill Somerville <g4...@classdesign.com>
                <mailto:g4...@classdesign.com>
                *Subject:* Re: [wsjt-devel] WSJT-X and Omni-Rig:
                Failed to start Omni Rig COM server

                Hi Tom,

                OK, I've not see that behaviour. Are you able to
                reproduce it? If yes, then does starting Omni-Rig
                manually before starting WSJT-X work correctly?

                73
                Bill
                G4WJS.

                On 16/07/2021 20:59, tom via wsjt-devel wrote:

                    Hi

                    Actually no. When you start wsjt it immediately
                    gives an error saying failed to start omnirig com
                    server. If you monitor the serial port traffic,
                    nothing happens at all. No serial communications
                    at all.

                    If you start wsjt as administrator it works
                    without an issue. This doesn't happen with any
                    other software that uses omnirig. It's strange
                    because this always worked in the past.

                    73 Tom va2fsq

                    Sent from my Galaxy

                    -------- Original message --------

                    From: Bill Somerville via wsjt-devel
                    <wsjt-devel@lists.sourceforge.net>
                    <mailto:wsjt-devel@lists.sourceforge.net>

                    Date: 2021-07-16 3:36 p.m. (GMT-05:00)

                    To: wsjt-devel@lists.sourceforge.net
                    <mailto:wsjt-devel@lists.sourceforge.net>

                    Cc: Bill Somerville <g4...@classdesign.com>
                    <mailto:g4...@classdesign.com>

                    Subject: Re: [wsjt-devel] WSJT-X and Omni-Rig:
                    Failed to start Omni Rig COM server

                    On 16/07/2021 20:10, Tom via wsjt-devel wrote:
                    > I am the author of Win4IcomSuite and have
                    started getting reports of WSJT
                    > failing to start the Omni-rig COM server.  This
                    does not happen on all
                    > computers. In addition, it starts happening when
                    no changes have been made
                    > to Omni-rig and WSJT.  Installing the latest
                    versions does not correct the
                    > issue.
                    > To reproduce:
                    > Reboot your computer and make sure there are no
                    other applications using
                    > omni-rig.
                    > Use Omni-rig definition for your Icom radio;.
                    Start WSJT.  You receive the
                    > above error.
                    > Run WSJT as Administrator and it works.
                    >
                    > All other applications using Omni-rig work
                    without putting them in
                    > administrator mode.  No other related software
                    is running.  This is with a
                    > direct connection to the radio.
                    >
                    > Details, version 2.4.0 (happens on previous
                    version as well).
                    > Windows 10, version 19041.1083
                    > 73 Tom va2fsq

                    Tom,

                    I am looking into this issue, you don't need to
                    keep repeating your query.

                    So far I see one problem with startup when there
                    is a fault condition
                    like the rig not being accessible, or if WSJT-X is
                    closed down before it
                    has completed all the retries it attempts before
                    reporting an error
                    (that takes up to 10 seconds). Is that consistent
                    with what you are
                    reporting? If so, then if WSJT-X is left for 20
                    seconds or so to do its
                    own thing does an error get reported?

                    73
                    Bill
                    G4WJS.


_______________________________________________
wsjt-devel mailing list
wsjt-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wsjt-devel

Reply via email to