MCE Replacement Plugin under Vista 64 (1 Viewer)

andyd

MP Donator
  • Premium Supporter
  • February 2, 2007
    61
    0
    Auckland
    Home Country
    New Zealand New Zealand
    Hi,

    just thought I would let you know that the MCE replacment runs ok under Vista 64 and what I mean by that statement is that the configuration utility runs and I get the basic up / down / left / right and ok butttons work inside Media Portal.

    Now if I used Media Portal's own driver or subsystem for the MCE remote then all buttons work ok.

    Also the IR leaning funcationality doesnt go at all. all I get is "Failed to Learn IR", now I cant use the replacement IRbus drivers as they wont work with Vista X64 so I am stuck with the stock standard factory drivers from MS.

    now I know that Vista is not high on your list of priorities but just thought I would let you know what i have found.

    And yes this is a great plugin despite the little teething problems.

    Cheers

    Andy
     

    and-81

    Retired Team Member
  • Premium Supporter
  • March 7, 2005
    2,257
    183
    Melbourne
    Home Country
    Australia Australia
    Hi Andy,

    Thanks for the feedback.

    I do intend to support Vista because I know more and more of MediaPortal's users will be switching to Vista for whatever reason.

    I'll try to get my hands on Vista and do some development. Until then, unless someone else wants to take up the challenge, I'm afraid there will be little progress.

    What I believe I need to do is to have a look at the Vista registry with the MCE USB device plugged in and find what it's different ClassID's are.

    Until I do that you won't be able to use the plugin at all really. What you're experiencing at the moment is by way of the default driver sending those keypresses, the plugin is doing nothing.

    I'll try to explain some of the issues that are present ...

    1. The MceIr.dll that the plugin relies on for communicating with the MCE USB device will not work properly under Vista. It doesn't have the right Device IDs in it to initiate communication with the driver. I've experimented with fixing it, but have had no success yet because I don't have my own Vista install to test on.

    2. The replacement driver (which is just the example Bulk USB driver from the DDK) is not compiled for Vista, I have no idea if it would work or not. I don't think you could install it now anyway because the .inf file doesn't have the right device IDs for Vista. I need to figure out if I can just paste in the right ID or if I need to do something more tricky. 64 bit support would require additional changes on top of that.

    3. Vista blocks unsigned drivers. You can get around this but it adds another hurdle for users. And I've read (I don't know if it's true) that having an unsigned driver installed will play havoc with the DRM. There's a lot of misinformation floating around about Vista so I don't know if that's true or not.

    I think that if I could get my hands on a copy of Vista I could have support built in within a week or two. Even if I had a way of browsing the Vista registry to find the IDs I need I could probably have something to test... Maybe if a Vista user would let me VNC in to have a look, or could somehow compress a text copy of there registry and send it to me?

    In fact, let me explain what I'm after, maybe someone can find it for me ...

    To access the device driver I need a GUID. The GUID for the default driver in Windows XP is ...

    0x7951772d, 0xcd50, 0x49b7, 0xb1, 0x03, 0x2b, 0xaa, 0xc4, 0x94, 0xfc, 0x57

    You can find it in the registry here:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\DeviceClasses\{7951772d-cd50-49b7-b103-2baac494fc57}

    Now, under that key there is another key:
    ##?#USB#Vid_0471&Pid_0815#PH00MirX#{7951772d-cd50-49b7-b103-2baac494fc57}

    Notice the "Vid_0471&Pid_0815", that is an identifier for the Philips MCE device.

    In Windows Vista I believe the ID is different, it's "\\?\hid#irdevice&col01#2".

    So I believe (I'm guessing really) that if you can find a similar registry key in the same place in Vista with "\\?\hid#irdevice&col01#2" in it then I should be able to get the GUID that I need to put into the MceIr.dll.

    Basically, I believe that if I had access to the Vista registry I could search in "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\DeviceClasses\" for "irdevice&col01#2" and find the GUID I need.

    Does that make sense to anyone?

    If someone wants to chuck a GUID at me I can pop it into the MceIr.dll and give it a try?

    I did try this earlier with no result, but I'm not sure I got the right values in.

    Otherwise it will wait until I can do it myself, and I have no idea when that will be.

    Cheers,
     

    tesamu

    Portal Pro
    December 4, 2006
    61
    0
    Rogaland
    Home Country
    Norway Norway
    Hi Aaron

    Attached You will find the whole deviceclasses in registry (Vista 32). Hope this is what You need. Sure would be nice to have it working in Vista. Thanks.
     

    and-81

    Retired Team Member
  • Premium Supporter
  • March 7, 2005
    2,257
    183
    Melbourne
    Home Country
    Australia Australia
    ok, I've attached 5 test versions for you to try. EDIT: There are 4 test versions a few posts down ...

    Just overwrite the MceIr.dll that the plugin installs in your \Windows\System32\ and then test the plugin. You can either run MediaPortal or run the Configuration and see if you can learn IR and Blast IR Commands.

    Good luck, I hope this works.

    Cheers,
     

    tesamu

    Portal Pro
    December 4, 2006
    61
    0
    Rogaland
    Home Country
    Norway Norway
    Hi
    This is exciting. But got error message when starting configuration:

    Unable to load DLL Mceir.dll. The application has failed to start because its side-by-side configuration is incorrect.

    From Event log:
    Activation context generation failed for "C:\Windows\system32\MceIr.dll". Dependent Assembly Microsoft.VC80.CRT,processorArchitecture="x86",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="8.0.50727.762" could not be found. Please use sxstrace.exe for detailed diagnosis.

    ---
    By the way, should the dll's be so small?

    Seems others also have this problem:

    https://forum.team-mediaportal.com/problems_mceir_dll_latest_test_version-t18759.html
     

    and-81

    Retired Team Member
  • Premium Supporter
  • March 7, 2005
    2,257
    183
    Melbourne
    Home Country
    Australia Australia
    ok, there's a problem with an "optimization" I made to the compiling of the mceir.dll

    I'll recompile with that particular optimization disabled.

    Thanks for the heads up.
     

    andyd

    MP Donator
  • Premium Supporter
  • February 2, 2007
    61
    0
    Auckland
    Home Country
    New Zealand New Zealand
    Hi Aaron,

    I had a check on the net and found that user mode drivers dont need to be signed only kernel mode drivers do and Here is the GUID from my Vista 64 environment and all other information related to that usb\vid_0471&pid_0815 id

    Key Name: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{36FC9E60-C465-11CF-8056-444553540000}\0015
    Class Name: <NO CLASS>
    Last Write Time: 30/01/2007 - 9:25 p.m.
    Value 0
    Name: CoInstallers32
    Type: REG_MULTI_SZ
    Data: CIRCoInst.dll,IRCoInstaller

    Value 1
    Name: InfPath
    Type: REG_SZ
    Data: usbcir.inf

    Value 2
    Name: InfSection
    Type: REG_SZ
    Data: usbcir_Device_V2

    Value 3
    Name: InfSectionExt
    Type: REG_SZ
    Data: .NT

    Value 4
    Name: ProviderName
    Type: REG_SZ
    Data: Microsoft

    Value 5
    Name: DriverDateData
    Type: REG_BINARY
    Data:
    00000000 00 80 8c a3 c5 94 c6 01 - ...£Å.Æ.

    Value 6
    Name: DriverDate
    Type: REG_SZ
    Data: 6-21-2006

    Value 7
    Name: DriverVersion
    Type: REG_SZ
    Data: 6.0.6000.16386

    Value 8
    Name: MatchingDeviceId
    Type: REG_SZ
    Data: usb\vid_0471&pid_0815

    Value 9
    Name: DriverDesc
    Type: REG_SZ
    Data: eHome Infrared Receiver (USBCIR)

    Key Name: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\DeviceClasses\{064f8c82-77b2-445e-b85d-c4e20f942fe1}\##?#USB#VID_0471&PID_0815#PH00Q9I7#{064f8c82-77b2-445e-b85d-c4e20f942fe1}
    Class Name: <NO CLASS>
    Last Write Time: 3/02/2007 - 5:36 p.m.
    Value 0
    Name: DeviceInstance
    Type: REG_SZ
    Data: USB\VID_0471&PID_0815\PH00Q9I7


    Key Name: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\DeviceClasses\{064f8c82-77b2-445e-b85d-c4e20f942fe1}\##?#USB#VID_0471&PID_0815#PH00Q9I7#{064f8c82-77b2-445e-b85d-c4e20f942fe1}\#
    Class Name: <NO CLASS>
    Last Write Time: 3/02/2007 - 5:36 p.m.
    Value 0
    Name: SymbolicLink
    Type: REG_SZ
    Data: \\?\USB#VID_0471&PID_0815#PH00Q9I7#{064f8c82-77b2-445e-b85d-c4e20f942fe1}


    Key Name: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\DeviceClasses\{064f8c82-77b2-445e-b85d-c4e20f942fe1}\##?#USB#VID_0471&PID_0815#PH00Q9I7#{064f8c82-77b2-445e-b85d-c4e20f942fe1}\#\Control
    Class Name: <NO CLASS>
    Last Write Time: 3/02/2007 - 5:36 p.m.
    Value 0
    Name: Linked
    Type: REG_DWORD
    Data: 0x1


    Key Name: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\DeviceClasses\{064f8c82-77b2-445e-b85d-c4e20f942fe1}\##?#USB#VID_0471&PID_0815#PH00Q9I7#{064f8c82-77b2-445e-b85d-c4e20f942fe1}\Control
    Class Name: <NO CLASS>
    Last Write Time: 3/02/2007 - 5:36 p.m.
    Value 0
    Name: ReferenceCount
    Type: REG_DWORD
    Data: 0x1


    Key Name: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\DeviceClasses\{a5dcbf10-6530-11d2-901f-00c04fb951ed}\##?#USB#VID_0471&PID_0815#PH00Q9I7#{a5dcbf10-6530-11d2-901f-00c04fb951ed}
    Class Name: <NO CLASS>
    Last Write Time: 3/02/2007 - 5:36 p.m.
    Value 0
    Name: DeviceInstance
    Type: REG_SZ
    Data: USB\VID_0471&PID_0815\PH00Q9I7


    Key Name: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\DeviceClasses\{a5dcbf10-6530-11d2-901f-00c04fb951ed}\##?#USB#VID_0471&PID_0815#PH00Q9I7#{a5dcbf10-6530-11d2-901f-00c04fb951ed}\#
    Class Name: <NO CLASS>
    Last Write Time: 3/02/2007 - 5:36 p.m.
    Value 0
    Name: SymbolicLink
    Type: REG_SZ
    Data: \\?\USB#VID_0471&PID_0815#PH00Q9I7#{a5dcbf10-6530-11d2-901f-00c04fb951ed}


    Key Name: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\DeviceClasses\{a5dcbf10-6530-11d2-901f-00c04fb951ed}\##?#USB#VID_0471&PID_0815#PH00Q9I7#{a5dcbf10-6530-11d2-901f-00c04fb951ed}\#\Control
    Class Name: <NO CLASS>
    Last Write Time: 3/02/2007 - 5:36 p.m.
    Value 0
    Name: Linked
    Type: REG_DWORD
    Data: 0x1


    Key Name: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\DeviceClasses\{a5dcbf10-6530-11d2-901f-00c04fb951ed}\##?#USB#VID_0471&PID_0815#PH00Q9I7#{a5dcbf10-6530-11d2-901f-00c04fb951ed}\Control
    Class Name: <NO CLASS>
    Last Write Time: 3/02/2007 - 5:36 p.m.
    Value 0
    Name: ReferenceCount
    Type: REG_DWORD
    Data: 0x1

    Key Name: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB\VID_0471&PID_0815\PH00Q9I7
    Class Name: <NO CLASS>
    Last Write Time: 4/02/2007 - 3:28 p.m.
    Value 0
    Name: DeviceDesc
    Type: REG_SZ
    Data: @usbcir.inf,%usbcir.devicedesc%;eHome Infrared Receiver (USBCIR)

    Value 1
    Name: LocationInformation
    Type: REG_SZ
    Data: Port_#0002.Hub_#0004

    Value 2
    Name: Capabilities
    Type: REG_DWORD
    Data: 0x94

    Value 3
    Name: HardwareID
    Type: REG_MULTI_SZ
    Data: USB\VID_0471&PID_0815&REV_0000
    USB\VID_0471&PID_0815

    Value 4
    Name: CompatibleIDs
    Type: REG_MULTI_SZ
    Data: USB\Class_FF&SubClass_FF&Prot_FF
    USB\Class_FF&SubClass_FF
    USB\Class_FF

    Value 5
    Name: Service
    Type: REG_SZ
    Data: usbcir

    Value 6
    Name: ClassGUID
    Type: REG_SZ
    Data: {36fc9e60-c465-11cf-8056-444553540000}

    Value 7
    Name: ConfigFlags
    Type: REG_DWORD
    Data: 0

    Value 8
    Name: Driver
    Type: REG_SZ
    Data: {36fc9e60-c465-11cf-8056-444553540000}\0015

    Value 9
    Name: DeviceCharacteristics
    Type: REG_DWORD
    Data: 0x100

    Value 10
    Name: Security
    Type: REG_BINARY
    Data:
    00000000 01 00 04 90 00 00 00 00 - 00 00 00 00 00 00 00 00 ................
    00000010 14 00 00 00 02 00 1c 00 - 01 00 00 00 01 00 14 00 ................
    00000020 00 00 00 10 01 01 00 00 - 00 00 00 01 00 00 00 00 ................


    Value 11
    Name: Class
    Type: REG_SZ
    Data: USB

    Value 12
    Name: Mfg
    Type: REG_SZ
    Data: @usbcir.inf,%microsoft%;Microsoft


    Key Name: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB\VID_0471&PID_0815\PH00Q9I7\Device Parameters
    Class Name: <NO CLASS>
    Last Write Time: 4/02/2007 - 3:28 p.m.
    Value 0
    Name: UsbIrCategories
    Type: REG_DWORD
    Data: 0xfff0ff

    Value 1
    Name: SymbolicName
    Type: REG_SZ
    Data: \??\USB#VID_0471&PID_0815#PH00Q9I7#{a5dcbf10-6530-11d2-901f-00c04fb951ed}

    Value 2
    Name: PortReferenceString
    Type: REG_SZ
    Data: PORT1


    Key Name: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB\VID_0471&PID_0815\PH00Q9I7\Device Parameters\WDF
    Class Name: <NO CLASS>
    Last Write Time: 30/01/2007 - 9:25 p.m.
    Value 0
    Name: WakeFromSleepState
    Type: REG_DWORD
    Data: 0x1


    Key Name: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB\VID_0471&PID_0815\PH00Q9I7\LogConf
    Class Name: <NO CLASS>
    Last Write Time: 4/02/2007 - 3:28 p.m.

    Key Name: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB\VID_0471&PID_0815\PH00Q9I7\Control
    Class Name: <NO CLASS>
    Last Write Time: 4/02/2007 - 3:28 p.m.
    Value 0
    Name: ActiveService
    Type: REG_SZ
    Data: usbcir
     

    and-81

    Retired Team Member
  • Premium Supporter
  • March 7, 2005
    2,257
    183
    Melbourne
    Home Country
    Australia Australia
    That's good to hear that not all drivers need to be signed.

    Ok, I've recompiled some test dll files.

    Pop them into your Windows\System32\ folder one at a time and test the plugin. Let me know if one of them works. And of course, which one...

    If this doesn't work then I'll have to get a copy of Vista myself.

    Cheers,
     

    tesamu

    Portal Pro
    December 4, 2006
    61
    0
    Rogaland
    Home Country
    Norway Norway
    Hi Aaron.

    Sorry to report they don't work.

    1. "Press button to learn" but empty IR-file. No blasting
    2. Immediately shows "Failed to learn". No blasting
    3. "Press button to learn" until timeout. No blasting
    2. Immediately shows "Failed to learn". No blasting

    What about the 5th testfile. Did You recompile that one ?
     

    and-81

    Retired Team Member
  • Premium Supporter
  • March 7, 2005
    2,257
    183
    Melbourne
    Home Country
    Australia Australia
    damn,

    I'll compile up another test program to see if I can find out why these test versions fail. But it looks like I need to get my hands on Vista and figure out for myself.

    There is no 5th test file now due to a coding change I made.

    I'll report back in a few days when I have something for you to try...

    Thanks for your help so far.
     

    Users who are viewing this thread

    Top Bottom