Jump to content
Flirc Forums

jason

Administrators
  • Posts

    3,758
  • Joined

  • Last visited

  • Days Won

    233

Posts posted by jason

  1. 20 minutes ago, StephenM64 said:

    Sigh, makes me appreciate that the bulk of my software development has been on Linux platforms the last few years.

    Oh it's awful. I hate working with windows. And then they said the method in which we use to circumvent an issue another app created would violate the terms that would allow us to be in the windows app store.  Don't even get me started on signing the fucking app. That was a nightmare that was nearly impossible to automate in our CI environment.

    Anyways, here is the updated version: https://update.flirc.tv/skipapp/pr/998/SkipApp-0.9.80.6182-mg-hid-broker-test-build-x64.msix?token=skipAppUpdate

    • Haha 1
  2. 46 minutes ago, StephenM64 said:

    This is the first time i can recall seeing a issue like this with third party devices and steam. The only things steam itself tends to interact with at the device level generally is with input devices (including hid) for the steam controller input system (and some other devices if you install Steam VR). I would like to validate that steam is actually making system level changes myself.

     

    to be accurate with terminology, when you say "system registry" you are referring to the Windows Property System "System.Devices.RestrictedInterface" and not a actual windows registry entry itself within HKCU or HKLM?

    I'm on windows 11 22H2, build 22621.1848

    All over the internet are complaints that steam does this.  

    To reproduce:
    - We made a clean machine.
    - Installed SkipApp. Verified it worked
    - Installed Steam, and installed the XBOX hid drivers
    - Saw it stopped working.
    - Removed the XBOX hid driver, still didn't work.

    Then Misha went through the registry for every single instance of our VID/PID until he found the restricted interface property.

    ProblematicRegEntry.gif

    We can't figure out why the steam driver changes this value, and why removing it doesn't stop it. If you reset the boolean, unplugging the device and plugging it back in sets it back to restricted.

    So the only resolution we found was to launch a service with escalated privileges to detect the property, ask the user for permission to get elevated accesses, and then change the booloan back every time we open the device.

    Further, as Misha has shown in the GIF, you can not just open the registry and modify this field, you need a special tool:

    "You have to run regedit as the “System” user via PsTools:
    - Download https://learn.microsoft.com/en-us/sysinternals/downloads/pstools
    - Open cmd/PS as admin, cd to that extracted folder, then run .\psexec -s -i regedit
    - Ah and yeah that’s an opaque interface path apparently, can be random for each machine: https://social.msdn.microsoft.com/Forums/windowsdesktop/en-US/d68ab1dc-2615-4ae6-b3e2-b8811d0364f9/composition-of-a-device-instance-id?forum=wdk

    Would have to fetch it via some API using device VID/PID." - Misha

    You can try the steps above to force the permissions.

  3. 9 hours ago, Daniel said:

    Ok. Well, tell me if there's anything more I could test. I'm in no hurry to get it working and being a systems developer I know how infuriating this kind of problems is :-D

    Can you try this: https://update.flirc.tv/skipapp/pr/998/SkipApp-0.9.80.6180-mg-hid-broker-test-build-x64.msix?token=skipAppUpdate

    This should give us more information. Post the logs and anything spit out in any console window that pops up.

  4. When you have an IR sensor, you get the edges of pulses. Because it's light bouncing off walls, the edges are going to vary. 

    irtools is going to spit out the raw format, and convert the raw format. As long as it's within 5%, it's going to be accurate. So it's going to vary.

    What I intend to do is once I decode it, reformat it to an idealized signal on what the spec says. It's not critical, but it will be beneficial for compression.

  5. 7 minutes ago, Daniel said:

    My Steam isn't started. It's not in any autostart and in fact I haven't started it in months. I guess I could simply uninstall it completely if it would help in the investigation?

    And about the privileges requester, yes I grant it again and again. Also tried not granting, which made no difference.

    No don't remove it. Unfortunately, whatever it installs or does, never gets removed. When you plug in the remote, their service, or driver changes a field in the system registry which sets a restriction on our device. Our own app no longer has access to it. That's what the second process is, to ask for permission to change the field back. But it's not running, and we'll figure out why.

    Even after uninstalling, the field continuously gets set. It's unbelievable. 

    ** EDIT **

    https://learn.microsoft.com/en-us/windows/win32/properties/props-system-devices-restrictedinterface

  6. 1 hour ago, jason said:

    Yeah, it's nothing special. Let me clean it up and I'll post it.

    Here you go. I would run this on a text file format that I specified:

    CURSOR UP, 0000 006D 0022 0002....
    CURSOR DOWN, 0000 006D 0022 0002....

    python csv_to_skip.py `input` > "Manufacturer - Brand.json"

    Edit the resulting JSON and replace the model and brand:
        "brand": "BRAND (REPLACE ME)",
        "model": "MODEL (REPLACE ME)",

    Then also the types is anyone of the following: "devices.tv.a", "devices.box", "devices.audio", "devices.av", "devices.games", "devices.pc", "devices.home", "devices.misc"

    They are all listed in the json for convenience, just remove the ones you don't want it to show up in.

    csv_to_skip.py

    ** EDIT ** 

    I forgot to say, if you want the buttons to auto map correctly, they should follow the naming conventions of all the other entries. So if you have Enter and Back, and not MENU BACK, etc, they might not get assigned correctly if you run the wizard.

    • Thanks 1
  7. 7 hours ago, liambrown said:

    Thanks - will do.

    If you wanted to and it's easier then feel free to chuck the python script (think you've said elsewhere this takes you from csv to json perhaps?) at me then happy to run that myself.

    Thanks again for all your hard work and replies on here!

    Yeah, it's nothing special. Let me clean it up and I'll post it.

  8. On 5/29/2023 at 12:14 PM, snds said:

    I have 3 Skip remotes, 1 for my office, 1 for my living room, and 1 for my bedroom. None of them are connecting or being detected by the Skip software on either Mac or PC. I have tried the supplied USB-C cables for each, as well as 3 other known working USB-C cables. The batteries are installed and each remote lights up with pressing the multi-colored button.

    Can someone give me a hand here?

    @snds This is the most puzzling in the thread. Do you have steam on windows? 

    What kind of mac are you using? It shouldn't be an issue on the mac, the steam problem has only been in windows.

    We had spent 2 months solving the windows issue, it's crazy it's back. Something must be different. Can you tell me which version of windows you are running? @StephenM64 @Kurojin_Karu?

    Don't worry, we'll figure it out. 

  9. We are creating another version with more console logging. Yes, it seems so, but we are going to add some helpful info. 
     

    16 minutes ago, StephenM64 said:

    I have a feeling the problem here is less steam and more the fact you are making more work for yourself with a UWP app. ;p

    We have no choice, UWP is a requirement for react native desktop, which is all owned and being done by microsoft. Unfortunately it's needed because we are planning tablet/phone apps.

  10. 6 hours ago, Kurojin_Karu said:

    When I installed the app, it had "run as administrator" as one of it's permissions, so I'm assuming it is already running with admin perms.

    Still looking, if Steam is currently running, can you close it. Also close the skipapp. 

    Make sure steam is killed in task manager.

    Open up the skipApp after.

    Maybe they are fighting over USB devices.

    One more... When the pop-up comes up about the 'broker' asking for administration privileges, do you grant them?

  11. On 6/26/2023 at 12:17 PM, Someone said:

    I'm not able to install the windows 10 app (and the Linux version simply does not recognized the remote once plugged in, And i'm not rich I don't have a mac)

    Tried to install it manually but I could not find a suitable version version for one of the dependencies.

    ```

    PS C:\Users\***\Downloads> add-appxpackage -Path ".\SkipApp-0.9.80-Beta-x64.msix"                                       add-appxpackage : Deployment failed with HRESULT: 0x80073CF3, Package failed updates, dependency or conflict            validation.                                                                                                             Windows cannot install package SkipApp_0.9.80.6008_x64__sddpyax1dmvqm because this package depends on a framework that  could not be found. Provide the framework "Microsoft.VCLibs.140.00" published by "CN=Microsoft Corporation,             O=Microsoft Corporation, L=Redmond, S=Washington, C=US", with neutral or x64 processor architecture and minimum         version 14.0.30704.0, along with this package to install. The frameworks with name "Microsoft.VCLibs.140.00" currently  installed are: {Microsoft.VCLibs.140.00_14.0.29231.0_x                                                                  Windows cannot install package SkipApp_0.9.80.6008_x64__sddpyax1dmvqm because this package depends on a framework that  could not be found. Provide the framework "Microsoft.VCLibs.140.00" published by "CN=Microsoft Corporation,             O=Microsoft Corporation, L=Redmond, S=Washington, C=US", with neutral or x64 processor architecture and minimum         version 14.0.30704.0, along with this package to install. The frameworks with name "Microsoft.VCLibs.140.00" currently  installed are: {Microsoft.VCLibs.140.00_14.0.29231.0_x64__8wekyb3d8bbwe                                                 Microsoft.VCLibs.140.00_14.0.30035.0_x64__8wekyb3d8bbwe Microsoft.VCLibs.140.00_14.0.30035.0_x86__8wekyb3d8bbwe}        NOTE: For additional information, look for [ActivityId] 1f45632b-a84e-0013-a466-451f4ea8d901 in the Event Log or use    the command line Get-AppPackageLog -ActivityID 1f45632b-a84e-0013-a466-451f4ea8d901                                     At line:1 char:1                                                                                                        + add-appxpackage -Path ".\SkipApp-0.9.80-Beta-x64.msix"                                                                + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                                                                    + CategoryInfo          : WriteError: (C:\Users\***\Do...0-Beta-x64.msix:String) [Add-AppxPackage], IOException         + FullyQualifiedErrorId : DeploymentError,Microsoft.Windows.Appx.PackageManager.Commands.AddAppxPackageCommand  

    ```

     

    Can you provide an MSI instead of msix or simply give the list of dependencies with links to where to get them and install them ?

     

    Follow these steps:

    Microsoft App Installer for Windows 10/11 makes it easy to sideload apps and you won’t have to run PowerShell to install apps. Starting on Windows 10 1809, Windows Package Manager is supported via App Installer.

    See how to do this thing:

    Step 1: Launch Microsoft Store on your computer – type Microsoft Store into the search box and click the app to open.

    Step 2: Search for App Installer in Store and then install it.

    Step 3: Then, double-click on the .msixbundle file and you can see the following window. Just click Install to start installing MSIXBundle.

    https://www.minitool.com/news/install-msixbundle-windows.html

  12. On windows, there is a new utility called irtools.exe in the Flirc Application directory.

    Using the commandline, run the following:

    irtools.exe decode -l

    Note the codes that are spit out and label them in a text file for me, like the following:

    POWER, 0000 006D 0022 0002 015B 00AA 0014 0015 0014 0040 0014 0015 0014 0040 0014 0015 0014 0040 0014 0040 0014 0040 0014 0040 0014 0040 0015 003F 0014 0015 0014 0015 0014 0015 0014 0040 0014 0040 0014 0040 0014 0015 0014 0015 0014 0040 0014 0040 0014 0014 0014 0015 0014 0014 0014 0015 0014 0040 0014 0040 0014 0015 0014 0015 0014 0040 0014 0040 0014 0040 0014 05F1 0156 0056 0015 0E4A
    VOLUME UP, 0000 006D 0022 0002 015B 00AA 0014 0015 0014 0040 0014 0015 0014 0040 0014 0015 0014 0040 0014 0040 0014 0040 0014 0040 0014 0040 0015 003F 0014 0015 0014 0015 0014 0015 0014 0040 0014 0040 0014 0015 0014 0015 0014 0040 0014 0040 0014 0014 0014 0015 0014 0014 0014 0015 0014 0040 0014 0040 0014 0015 0014 0015 0014 0040 0014 0040 0014 0040 0014 05F1 0156 0056 0015 0E4A

    etc

    I'll help convert this into something you can import into the app.

     

  13. 21 hours ago, liambrown said:

    Hello

    I'm wondering if there is any way I can get the JSON out of the app for a particular device?

    The reason being that I have an Altec Lansing amp and some of the Altec Lansing devices you already have are kind of close to doing all the right things and I can make it work more or less. But I'd love to get that JSON, tweak until perfect and then be able to submit on here to be added to the database.

     

    Alternatively I have the flirc usb and my original remote, can I get the pronto values out this way? I could then just feed them into my own .txt (as per the pinned post)?  Haven't seen anything specific/definitive on getting pronto values from original remote via flirc usb...

     

    Also I know you are working on learning mode (thank you!) so I could just wait for that.

    Thanks in advance and appreciate all your hard work!

    What os do you have?

  14. It's not vaporware. It's window's fault. Why it doesn't allow us to talk to our own device is batshit crazy. And it's a registry item that you are not allowed to change, we had to write a special program.

    Are you running the app as administrator? Right click it and 'run as admin'

    Let's also grab some logs. Enable them with the following.

    • Kill the app
    • Put the attached config in the following location: %localappdata%\Packages\SkipApp_sddpyax1dmvqm\LocalState\
    • start up the app
    • Head over to the admin panel
    • Go to app logs->logs folder
    • Post the log once the broker runs and asks you for permission

    config.json

×
×
  • Create New...