[OBSOLETE] MCE Replacement Driver (2 Viewers)

Status
Not open for further replies.

and-81

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

    I'm making this post to let you all know that I am not going to write any more code for the replacement driver. I am no longer going to work on the code that Bruno Fleurette started. I'm no longer going to compile the driver or try to make it work with 64-bit...

    That all sounds very dramatic, but it isn't. Because the Replacement Driver is obsolete. I've found that you can make the standard eHome driver behave the same as the replacement driver, so there's no longer any need for the replacement driver. Not only that but I have rewritten (almost from scratch) the MceIr.dll in C# for my work with MediaPortal, so I no longer need either part of the Replacement Driver package.

    All my latest work on MediaPortal now uses the new device access methods which were painstakingly developed over the last couple of years by reading technical documents, presentation slideshows, other Open Source code, analysing the way MCE works with USB sniffers and the like and by 100's of hours of experimentation and coding. I've made mention of these things in the documentation for IR Server Suite, so if you're interested in the process check it out.

    At this point I should say that without Bruno's work on the driver/dll I would never have started with this, so I owe it all to him.

    So I've attached to this post my final release of the code I have modified. In the attached zip file you will find multiple copies of the replacement driver, each compiled against a different platform (32/64 bit, XP, Vista, 2000, etc).

    The 64-bit versions never worked.

    I've also included the source code for the driver (which is just the bulkusb driver sample from the Windows Driver SDK) and source code for the MceIr.dll which is what made it all work. I've made a couple of minor changes to the dll, just for my work with MediaPortal and nothing major anyway.

    I've posted it here so that if anyone is interested they can pick it up and run with it. Why you'd want to do that, I don't know... But I know some people are interested or already invested in the MceIr.dll so I figure there's no point just deleting my version of it ...

    I've also attached details on how to use the eHome driver like the replacement driver.

    EDIT: I've detailed below a new method for making the eHome driver behave like the replacement driver, this new method is much better than the old one and everyone should switch to it.

    I don't know how I didn't find this earlier...

    Load "regedit.exe" and navigate to:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HidIr\Remotes\745a17a0-74d3-11d0-b6fe-00a0c90f57da

    Then delete the keys from "CodeSetNum0" to "CodeSetNum3".

    To make sure you can recover these keys easily should you want to you should save them by using the export function in the file menu.

    Once the registry has been changed you will need to reboot for the change to take effect.

    This same process can be applied to disable automatic keyboard handling. Just look at the other registry sections under the "Remotes" sections.

    Now if you ever want to re-enable the automatic handling of the MCE Remote and MCE Keyboard you just need to put those registry keys back.

    EDIT:

    You can recover those Registry keys by reinstalling the eHome driver, just go into device manager and uninstall the eHome receiver USB device and then go to the Action menu and select "Scan for hardware changes", this will bring back the driver and the registry keys with it.


    If you're just here for the Vista replacement driver then I've forced you to read all that for nothing, just grab the attachment, it has what you want :)

    EDIT:

    The driver and source is now available from this location as well (doesn't require forum registration):

    MEDIAPORTAL - free MediaCenter HTPC Software - MCE Remote Replacement Driver

    I should also have mentioned that there are limitations that I've found with the Replacement Driver compared to the default eHome driver. Firstly, the Replacement Driver doesn't handle suspend/resume very well. And secondly, the Vista default driver is much better at dealing with learning and blasting IR. Thirdly, the replacement driver won't work with some of the newer Vista MCE remote devices.

    Hope this helps someone out there,
     
    Last edited by a moderator:

    ADude

    New Member
    December 3, 2007
    3
    1
    Once you've disabled the automatic handling you will need some other software
    to pick up the task. Most third party remote handling programs (like HIP,
    Girder and EventGhost) should have no problem with this because they access
    the device directly instead of going through the HID driver.

    This process should work on all version of Windows that support the
    Microsoft eHome Infrared Transceiver. I've tested on Windows XP Pro and
    Windows Vista Home Premium and it worked on both.

    However, please note that as I write this HIP, Girder and EventGhost can't
    use the default Windows eHome driver in Vista. On Windows XP these programs
    are fine because they use Bruno Fleurette's MceIr.dll, but these programs
    need the Replacement driver for Vista and I haven't been able to get the
    Replacement driver to work on 64-bit Vista yet, only 32-bit Vista.

    First, many thanks for your work on MCE Remote software !

    I have an MCE Remote and Vista (all of this message assumes 32-bit).

    I don't happen to use Media Portal, but even if I did use it, I would need the MCE Remote to work for other apps.

    From what you have said:

    - The MCE Remote Replacement Driver is obsolete because you can disable the Automatic Handling that would otherwise make the ehome MCE Remote Driver undesirable.

    - Once you disable Automatic Handling, then you need HIP, Girder or EventGhost to do the remote handling.

    - If you have Vista, then HIP, Girder and EventGhost cannot use the default ehome MCE Remote Driver.

    - So, if you have Vista (the current Windows OS), you need the replacement driver in this thread to use an MCE Remote in any way other than the built-in default support (since they all otherwise use Bruno's original MCE Remote Replacement Driver which does not work with Vista).

    - In a few months, Vista will be the only supported Windows OS, and all other Window OS will be, as you call it, "obsolete".

    - Therefore, I can only come to the conclusion that the MCE Remote Replacement Driver attached to this thread is the only driver that is not obsolete - the opposite of your characterization.

    If I have missed something along the way, please let me know.

    PS This driver is needed to use any of those three programs with Vista with the MCE Remote, yet in order to get it, you have to register for this Forum - even if you have no intention to use Media Portal. So, you should post the driver in the Plugin Downloads section of the site, outside of the Forums.

    Thanks again for coding this and making it available for free.
     

    and-81

    Retired Team Member
  • Premium Supporter
  • March 7, 2005
    2,257
    183
    Melbourne
    Home Country
    Australia Australia
    - The MCE Remote Replacement Driver is obsolete because you can disable the Automatic Handling that would otherwise make the ehome MCE Remote Driver undesirable.

    - Once you disable Automatic Handling, then you need HIP, Girder or EventGhost to do the remote handling.

    - If you have Vista, then HIP, Girder and EventGhost cannot use the default ehome MCE Remote Driver.

    - So, if you have Vista (the current Windows OS), you need the replacement driver in this thread to use an MCE Remote in any way other than the built-in default support (since they all otherwise use Bruno's original MCE Remote Replacement Driver which does not work with Vista).

    - In a few months, Vista will be the only supported Windows OS, and all other Window OS will be, as you call it, "obsolete".

    - Therefore, I can only come to the conclusion that the MCE Remote Replacement Driver attached to this thread is the only driver that is not obsolete - the opposite of your characterization.

    You're logic is sound, but ...

    The MCE Remote Replacement Driver has no future.

    After Bruno finished with it a few years back nobody has really picked it up. It's access methods are not compatible with x64 XP or Vista let alone the 32bit Vista default driver and it would take a lot of work to write a new one that was.

    Bruno's work was great and it's the reason I've done what I have, but Vista has thrown a spanner in the works. If Vista didn't use a completely different access method then it would be worth improving Bruno's original code.

    Also, Windows XP is still the more popular OS and is not about to lose support. This wont happen for some time yet. So the method I've detailed for making the default driver act like the replacement is genuinely useful for a lot of people.

    And finally, I've written IR Server Suite (link in my sig) which is compatible with the XP and Vista default drivers. It's having some issues with x64 at the moment but I expect to have those bugs ironed out soon.

    If people want to continue using the replacement driver they can, and I've provided all my stuff here in one place so that people can pick it up and run with it if they like.

    By summarizing the problem with the current situation I hope that people involved in Girder, HIP and others will try to move forward too. The guys behind EventGhost are actively trying to improve their product (Free and open source) so that it works for Vista and x64, hopefully others will follow suite.

    So I think the statement is true that the replacement driver is obsolete, because:

    1. XP users have a much better option (Keep the default driver and make it work like the replacement).

    2. Vista users have a new option (IR Server Suite) that will continue to be developed. And more alternatives will follow.

    3. x64 users have never had an option and are now getting one too.


    PS This driver is needed to use any of those three programs with Vista with the MCE Remote, yet in order to get it, you have to register for this Forum - even if you have no intention to use Media Portal. So, you should post the driver in the Plugin Downloads section of the site, outside of the Forums.

    Yep, fair call. I'm registered so I didn't notice that :)

    I think it's good to bring people here if it gets people looking at MediaPortal. But registering for a download and never posting is not good, so I'll post the files in the download section and put a link here.

    Cheers,
     

    ADude

    New Member
    December 3, 2007
    3
    1
    Thanks for your reply.

    I do understand what you are saying, and it's possible that your IR Server Suite may become the solution of choice in the future - you've put a lot of effort into understanding the various details of the IR situation, probably more than anyone else working at the moment in the Open Source world.

    However, right at the moment, the MCE Replacement Driver that you've written and attached above, seems to work flawlessly with HIP (also free software) under Vista 32-bit. It seems to work in the same way that Bruno's driver works with XP and HIP.

    I haven't checked it with Girder or EventGhost, they seem to have more issues with Vista than HIP, and also seem to be less user friendly than HIP as well. (However, there may be some people with more unusual requirements who need to use one of those two packages.)

    Vista 64-bit seems to have problems with a lot of existing software ( I haven't actually used it, so I am not qualified to say "most existing software" :) ). I chose not to install Vista 64-bit for that reason. Just like TCP/IP Version 6, it seems that in 2010, a lot of people and a lot of software systems will be running 64-bit, but it is still something for the future. Of course, all developers need and want their code to work under Vista 64-bit, but we are not there yet.

    Both Media Portal and the MS MCE Remote are used primarily for video and audio playback, and Vista does have more advanced and better performing low-level video and audio code. The audio in Windows was entirely rewritten for Vista, and is explained in detail in this thread:

    http://www.avsforum.com/avs-vb/showthread.php?t=713073

    The new video system for Vista is explained here:

    http://en.wikipedia.org/wiki/Media_Foundation
     

    and-81

    Retired Team Member
  • Premium Supporter
  • March 7, 2005
    2,257
    183
    Melbourne
    Home Country
    Australia Australia
    Everyone should take another look at the first post in this thread, I've updated it with a new method for making the eHome driver work like the replacement driver. It's Much better than the HidIr disabling method.

    Check it out.

    Cheers,
     

    nobbly

    Portal Member
    September 18, 2007
    21
    0
    Home Country
    England England
    Am I missing something but........

    I've been using an older version of Girder (3.3.10) with an MCE Remote & the replacement driver in Windows XP. However, I find the key repeat rate and key repeat delay very slow and there does not appear to be a way to change them (unless you know otherwise?). So I was keen to read above that you say the replacement driver is no longer needed, particularly as the original eHome driver has a very fast key repeat rate and fast key repeat delay.

    However! I've followed exactly both of your methods given above to use the original eHome driver instead of the replacement, and unfortunately I cannot get either of them to work with Girder. Girder does not register any key press when using the original Girder MCE Plugin*. The newer method of deleting the specific HID entries in the registry does get a response when using the Girder HID Plugin, but this produces strange key responses making it unusable (maybe something to do with Girder), and of course it does not function like the replacement driver which is able to work with other remotes other than the MCE handset. So what's going wrong? Is it the old version of Girder I'm using? (I've not upgraded the version as what I have does everything I need, apart from the slow key repeat rate.)

    I've also noticed that in the source folder that is in your zip file, there is a text file which gives the version history, and the last version that is listed is version '0.20', yet the latest version that installs from the zip file is version '0.19'. What's happened to version 0.20? It states that version 0.20 adds 'speed settings', are these key repeat rate settings?

    * In your zip file and with previous versions of the replacement driver that you've produced, you provide the file MceIr.dll. Are these files updated versions of the original Girder MCE Plugin that Bruno Fleurette produced. I tried all of these 'versions' of this file to see if they would work in Girder but none of them were recognised by Girder. Only the original version that Bruno produced is recognised by Girder. Am I barking up the wrong tree here, or are these files supposed to work?

    --------------------------------------

    EDIT:

    This problem has been solved - see here https://forum.team-mediaportal.com/...-driver-obsolete-29024/index2.html#post252878
     

    nightfox89

    Portal Member
    October 20, 2007
    20
    0
    Home Country
    Netherlands Netherlands
    Sorry if I sound stupid. But reading trough all the messages I can only get the following conclusion.

    The MCE remote will not work on Windows XP x64 ?

    Damn, that's to bad. Guess I'll have to find a other way then.
     

    and-81

    Retired Team Member
  • Premium Supporter
  • March 7, 2005
    2,257
    183
    Melbourne
    Home Country
    Australia Australia
    I've been using an older version of Girder (3.3.10) with an MCE Remote & the replacement driver in Windows XP. However, I find the key repeat rate and key repeat delay very slow and there does not appear to be a way to change them (unless you know otherwise?). So I was keen to read above that you say the replacement driver is no longer needed, particularly as the original eHome driver has a very fast key repeat rate and fast key repeat delay.

    However! I've followed exactly both of your methods given above to use the original eHome driver instead of the replacement, and unfortunately I cannot get either of them to work with Girder. Girder does not register any key press when using the original Girder MCE Plugin*. The newer method of deleting the specific HID entries in the registry does get a response when using the Girder HID Plugin, but this produces strange key responses making it unusable (maybe something to do with Girder), and of course it does not function like the replacement driver which is able to work with other remotes other than the MCE handset. So what's going wrong? Is it the old version of Girder I'm using? (I've not upgraded the version as what I have does everything I need, apart from the slow key repeat rate.)

    Sorry mate, I really can't offer any advise in regards to Girder. I don't use girder. The only thing I can suggest is to use the mce replacement driver plugin for girder but with the modified registry settings with the default driver. If you haven't already tried that.

    You could try my IR Server Suite, it will let you control repeat rates properly. But if you're already set up and running with Girder then you probably don't want to change....

    I've also noticed that in the source folder that is in your zip file, there is a text file which gives the version history, and the last version that is listed is version '0.20', yet the latest version that installs from the zip file is version '0.19'. What's happened to version 0.20? It states that version 0.20 adds 'speed settings', are these key repeat rate settings?

    Sorry, that's a typo, it should be 0.19 not 0.20. The speed settings are in and refer to blasting IR commands, it's for setting the IR Carrier frequency but not key repeat rate settings.

    * In your zip file and with previous versions of the replacement driver that you've produced, you provide the file MceIr.dll. Are these files updated versions of the original Girder MCE Plugin that Bruno Fleurette produced. I tried all of these 'versions' of this file to see if they would work in Girder but none of them were recognised by Girder. Only the original version that Bruno produced is recognised by Girder. Am I barking up the wrong tree here, or are these files supposed to work?

    The compiled dll (MceIr.dll) is a copy of bruno's that I modified for use in my MediaPortal work. It doesn't have the Girder plugin functions in it... they could be added back in very easily but I didn't include them because of some of the changes I made. There would be no benefit to Girder users in using my modified version even if it did include the Girder functions, so don't worry ... you're not missing out on anything.

    Sorry if I sound stupid. But reading trough all the messages I can only get the following conclusion.

    The MCE remote will not work on Windows XP x64 ?

    Damn, that's to bad. Guess I'll have to find a other way then.

    The replacement driver does not work on any x64 systems.
     

    nobbly

    Portal Member
    September 18, 2007
    21
    0
    Home Country
    England England
    Sorry mate, I really can't offer any advise in regards to Girder. I don't use girder. The only thing I can suggest is to use the mce replacement driver plugin for girder but with the modified registry settings with the default driver. If you haven't already tried that.

    Perhaps I didn't make it clear in my above post the reason why I was posting. To put it bluntly, your statement that 'the Replacement Driver is obsolete' appears to be incorrect. In your original 'unedited' initial posting, which detailed the first method (which was then edited out by you and replaced with the second method), you made it very clear that the method worked with Girder and HIP when using Bruno Fleurette's MceIr.dll. In that original posting you provided a zip file entitled 'Why the MCE Replacement Driver is now obsolete.zip'. Within this zip file was a text file in which you stated:

    Why the MCE Replacement Driver is now obsolete.txt said:
    Once you've disabled the automatic handling you will need some other software
    to pick up the task. Most third party remote handling programs (like HIP,
    Girder and EventGhost) should have no problem with this because they access
    the device directly instead of going through the HID driver.

    This process should work on all version of Windows that support the
    Microsoft eHome Infrared Transceiver. I've tested on Windows XP Pro and
    Windows Vista Home Premium and it worked on both.

    However, please note that as I write this HIP, Girder and EventGhost can't
    use the default Windows eHome driver in Vista. On Windows XP these programs
    are fine because they use Bruno Fleurette's MceIr.dll, but these programs
    need the Replacement driver for Vista and I haven't been able to get the
    Replacement driver to work on 64-bit Vista yet, only 32-bit Vista.

    However neither the first method or the second method (of just removing the registry entries and rebooting) work with Girder when using Bruno Fleurette's MceIr.dll. And I suspect that these methods also do not work with HIP (unless you know better). I would have thought that if it had been so easy as to just remove the three registry settings, that Bruno Fleurette would have sussed this out rather than go to all the trouble of creating the replacement driver.

    I originally posted above to point out that your methods do not work in Girder, as you did state that they would.

    The only statement that appears to be correct and currently verifiable, is that for your own application (which looks very promising) you no longer need to use the replacement driver. What I am really rather disappointed at is that you appear to then jump from this and state that all the other remote control applications no longer need the replacement driver, when actually it appears that they still do need the replacement driver.

    In fact, the replacement driver is far from obsolete for those that do not use your software. For many who use Girder and HIP etc, the replacement driver is essential as there appears to be no other way to bypass the eHome driver.

    The only way of getting your second method to work in these applications, is to use their built in HID support. But this is wholly different to using the replacement driver as you can no longer use different remotes and have to use the original MCE handset. The benefit of the replacement driver is that you can use many other remotes including the original MCE handset.

    To conclude, I think it is only fair to those that have read your statements and then spent some time trying to get your methods to work and then only to find that they don't (such as myself) that you:

    1. Explain fully why you have made the statement that your methods work with the applications, when it appears that at least in Girder they do not (and I suspect they do not in any other application you quote);
    2. That you re-edit your first posting to make it clear that the replacement driver is only obsolete when it comes to using your own software, and that the replacement driver is still probably needed for all other remote control software such as Girder/HIP etc.

    Of course, if I am completely wrong in this, and your methods do actually work as you state in Girder/HIP etc, then please let me know (or anyone else who has tried to get these methods to work, please post!).

    --------------------------------------

    EDIT:

    This problem has been solved - see here https://forum.team-mediaportal.com/...-driver-obsolete-29024/index2.html#post252878

    And apologies to and-81 for this rather harsh posting!
     
    Status
    Not open for further replies.

    Users who are viewing this thread

    Top Bottom