1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

[OBSOLETE] MCE Replacement Driver

Discussion in 'IR Server Suite (IRSS)' started by and-81, October 3, 2007.

Thread Status:
Not open for further replies.
  1. and-81
    • Team MediaPortal

    and-81 Retired Team Member

    Joined:
    March 7, 2005
    Messages:
    2,257
    Likes Received:
    183
    Gender:
    Male
    Occupation:
    IT Consultant/Developer
    Location:
    Melbourne
    Ratings:
    +183 / 0
    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: January 30, 2016
    • Like Like x 4
  2. Google AdSense Guest Advertisement



    to hide all adverts.
  3. ADude

    ADude New Member

    Joined:
    December 3, 2007
    Messages:
    3
    Likes Received:
    1
    Ratings:
    +1 / 0
    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.
     
  4. and-81
    • Team MediaPortal

    and-81 Retired Team Member

    Joined:
    March 7, 2005
    Messages:
    2,257
    Likes Received:
    183
    Gender:
    Male
    Occupation:
    IT Consultant/Developer
    Location:
    Melbourne
    Ratings:
    +183 / 0
    Home Country:
    Australia Australia
    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.


    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,
     
  5. ADude

    ADude New Member

    Joined:
    December 3, 2007
    Messages:
    3
    Likes Received:
    1
    Ratings:
    +1 / 0
    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
     
  6. ADude

    ADude New Member

    Joined:
    December 3, 2007
    Messages:
    3
    Likes Received:
    1
    Ratings:
    +1 / 0
    • Like Like x 1
  7. and-81
    • Team MediaPortal

    and-81 Retired Team Member

    Joined:
    March 7, 2005
    Messages:
    2,257
    Likes Received:
    183
    Gender:
    Male
    Occupation:
    IT Consultant/Developer
    Location:
    Melbourne
    Ratings:
    +183 / 0
    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,
     
  8. nobbly

    nobbly Portal Member

    Joined:
    September 18, 2007
    Messages:
    21
    Likes Received:
    0
    Ratings:
    +0 / 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
     
  9. nightfox89

    nightfox89 Portal Member

    Joined:
    October 20, 2007
    Messages:
    20
    Likes Received:
    0
    Ratings:
    +0 / 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.
     
  10. and-81
    • Team MediaPortal

    and-81 Retired Team Member

    Joined:
    March 7, 2005
    Messages:
    2,257
    Likes Received:
    183
    Gender:
    Male
    Occupation:
    IT Consultant/Developer
    Location:
    Melbourne
    Ratings:
    +183 / 0
    Home Country:
    Australia Australia
    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....

    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.

    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.

    The replacement driver does not work on any x64 systems.
     
  11. nobbly

    nobbly Portal Member

    Joined:
    September 18, 2007
    Messages:
    21
    Likes Received:
    0
    Ratings:
    +0 / 0
    Home Country:
    England England
    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:

    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!
     
Loading...
Thread Status:
Not open for further replies.

Users Viewing Thread (Users: 0, Guests: 0)

  • About The Project

    The vision of the MediaPortal project is to create a free open source media centre application, which supports all advanced media centre functions, and is accessible to all Windows users.

    In reaching this goal we are working every day to make sure our software is one of the best.

             

  • Like Us On Facebook

  • Support MediaPortal!

    The team works very hard to make sure the community is running the best HTPC-software. We give away MediaPortal for free but hosting and software is not for us.

    Care to support our work with a few bucks? We'd really appreciate it!