IgorPlug-USB and Windows 7 x64

Do you know IgorPlug? Back in the old days when computers had RS-232 ports, this was a nice and cheap solution to control the OS and other software with an arbitrary infrared remote control. However, today most PCs do not have these connectors anymore. Fortunately, there is IgorPlug-USB, an IR receiver for USB ports. It uses an 8-bit AVR microcontroller and implements all necessary USB commands in software, as this microcontroller does not support USB natively. In comparison with the RS-232 solution, device drivers are needed in order to communicate with the IgorPlug-USB. Currently, I am using Windows 10 x64, and unfortunately, the original driver that came with IgorPlug-USB does not work with the 64-bit edition of Windows. There are other drivers (this one for example), but they never worked reliably for me. So, I decided to write my own “driver” based on libusb. It is not really a driver, because all the kernel-related stuff is handled by libusb. Therefore, it is very easy to implement and as this comes with a valid digital signature, it can be used without disabling signature checks etc.

The “driver” is designed as a replacement for IgorUSB.dll, so it can be integrated into any software that supports the original driver, e.g., EventGhost (or, maybe, Girder, but I have never tested it). In order to use it, you have to perform the following steps:

  1. Download Windows binaries for libusb and install one of the recommended drivers as described in their wiki. I use the WinUSB driver, as it comes with Windows and can be installed directly from the device manager (choose Browse my computer/Let me pick from a list of device drivers/WinUsb device)
  2. Download the new IgorUSB.dll that is used by EventGhost to communicate with the device through libusb.
  3. Copy IgorUSB.dll to the installation folder of EventGhost.
  4. Run EventGhost and enjoy!

If you are interested, you can grab the source code and experiment with it. For now, only receiving of IR commands is supported, other functions like setting LEDs are not implemented.

Update 2014-05-24

Thanks to Serge, I could fix some bugs and make a new release that should improve compatiblity with the original IgorUSB.dll. I changed the links in this post to point to the new version. Unfortunately, the IR codes reported to EventGhost have changed, so old configuration files won’t work anymore. If you want the old buggy version, you can download it below.

Update 2016-10-12
Some people report that the DLL does not work on Windows 10. Unfortunately, libusb-win32 is no longer maintained and is lacking Windows 10 support. I switched to another library called libusb. This slightly changes the installation procedure, because it needs another filter driver. Uninstall the device in the device manager and follow the instructions above to install the new version.

Version History


53 thoughts on “IgorPlug-USB and Windows 7 x64

  1. To clarify step 1): Run inf-wizard.exe
    Thanks, now I am using my IgorPlug + XBox-Remote again. Only the Volume-up/down Button on the Remote acts wired and sends different commands each Button-Press-Event.

  2. Hi, I have problem. I did this steps:
    1. Run inf-wizard.exe
    2. Selected IgorPlug-USB (AVR), saved inf file.
    3. In device manager updated driver with this inf file. Driver installed ok.
    4. Installed Evenghost and copy IgorUSB.dll to Evenghost folder.
    5. In eventghost add plugin IgorPlug and Eventghost give me error: “Driver not found”
    What is wrong pls?

    1. Maybe you do not have installed the VC++ 2010 Redistributable? You can download it here. Note that you need the x86 DLLs, as IgorUSB.dll is compiled for x86.

  3. Hello,
    I didn’t reach yet the part of the usb connection I am still in the programming of the microtroller step. I have win7 and I made up the circuit as showed by Igor Ceskor but I used an lpt to usb connector since I don’t have a parallel port on my computer. After opening IgorplugUSBprgrammer.exe I get “Sorry program under xp requires driver” error. Is it not a driver for win7 that is required? from where can I download it ?
    Thank you in advance.

    1. Sorry, I don’t know where you can download the driver, I didn’t use IgorplugUSBprogrammer.exe to program the device. Maybe PonyProg works for you. However, regardless of whether you use the programmer of Igor or PonyProg, the USB to LPT converter could be a problem. According to the FAQ of PonyProg, some converters won’t work.

  4. Hello,
    I’ve problems to get it running with Girder (V. 3.3.8). I ran \libUSB\inf-wizard.exe and copied the new IgorUSB.dll into \girder\plugins directory.

    When starting Girder (in XP compatible mode), it says “Old plugin found c:\….\girder\plugins\IgorUSB.dll you downloaded the incorrect version, please make sure that you get the Girder 3.2 compatible version of this plugin”

    In Device Manager everything seems to be ok.

    When using IgorPlug.dll (which works fine under Win XP Pro) instead of your IgorUSB.dll the message “unable to inicialise USB driver library” appears.

    Do you have any suggestions or another IgorUSB.dll?

    Am I right that I don’t need the files which are running under Windows XP IgorPlug.dll, IgorDrv.dll, IgorUSB.dll, IgorPlug.sys anymore?

      1. AFAIK the last one is 3.2.9(b).

        And no, I did not test it yet, because I just discovered this stuff. 🙂 But I plan to in the near future. This was actually preventing me to upgrade my HTPC from XP.

        I mentioned the possibility of the wrong version because I encountered the same error with original plugin on XP and newer versions of Girder. I’m not sure if the breakpoint of plugin framework was exactly the change from free to commercial, but soon after it started to complain about old plugins.

    1. So… I made it work with Windows 7 x64. 🙂
      In the start I encountered the same problem, however the reason is not in the Girder version, but in the concept of installation.
      You must still have old Girder plugin (IgorPlug.dll from the XP era) in the Girder’s plugin folder and put the provided “libusb interface” (i.e. IgorUSB.dll) in the Windows folder (in place of the same file from Windows XP drivers).
      And it works both with Girder 3.2.9b and 5.0.

      1. Thank you very much for the information! I can not test it now, because I switched back to Windows XP. But maybe it helps me in the future.

  5. Hi,

    everything works great, except the remote button events.
    Every button fires two or more events and the event names are different from the event names that i get when i use the original driver (on a x86 system).

    Btw i’m using Eventghost to map the events.

  6. I will immediately grab your rss because i are not able to to discover ones mail monthly subscription url or e-newsletter company. Carry out you might have almost any? Nicely make me aware to make sure that I might signed up. Many thanks.

  7. Hello my friend! I wish tto say that this article is
    amazing, great written and include approximately all important infos.
    I would like to peer more posts like this .

  8. Hello and thank you for doing great job.
    I found that your IgorDll.dll is not completely compatible with original one because exported function names are mangled and GetProcAddress does not work. I had to create .DEF file with proper names and set VC to use it to get proper working lib.

      1. Hi, thanks for reporting these issues. Actually, I think two bytes are lost, one in the middle and one at the end. I have set up a github repository for this project and committed a new version that fixes both issues. I will provide binaries in the next days. You can find the repository at https://github.com/proog128/IgorUSB_libusb.

  9. Hey there! Thanks for your nice work! I use it in my carpc with eventghost and it work (more or less). What i get are different (like 3) codes when i hit the same key on the remote controller. Is this behavior regarding to the issues Serge reported? I really would love to tryout a new version if this is gone. With EZMCUSB i get exactly one code for every key, but i cant get it to work on Win 8, except i switch off driver signing check for every boot.

    But i got no idea, how to compile yours on github.

  10. Hello!

    Okay, i managed to compile the library on my own, with your Project on github. It works PERFECTLY. Now one code for one key.
    Thankyou so much. Is there a way to activate those leds too, or isnt it possible with libusb ?

    Thankyou in advance!

    1. Hi! I released the new binaries today, sorry for being that late… Controlling the LEDs is possible with libusb, it is just not implemented in the IgorUSB.dll currently.

  11. @ Update 2014-05-24
    I’ve updated IgorUSB.dll to v1.1 and an error appears in EventGhost Log:
    Error starting plugin: IgorPlug-USB
    Driver not found!
    With the previous .dll v1.0 everything works well (except problems when PC goes into stan-by).

      1. Hi!
        After installation of the redistributable package everything seems to work perfectly.
        I use: libusb-win32 v1.2.6.0; EventGhost 0.4.1.r1640; Your IgorUSB.dll v1.1; Redistributable for VS 2012 (x86); Win8.1 x64.

  12. Hey, i2…

    I ran into the same as i compiled the source on my own. Visual Studio Express updated some libraries from v100 to v102. I compiled this one, changed the PC and i got the same error you got. The one and only solution i found so far is to install Visual Studio and let it upgrade the libs. Maybe 0xef got some more knowledge about this and how about to come across it. I wasnt able to watch that fast WHICH libs got updated….


    1. Which version of Visual Studio Express did you use to compile the code? I think you also have to install the VC++ redistributables. There is a package for each version of Visual Studio (2010, 2012, 2013, …), so you have to use the correct version.

  13. Hi, i also have the problem Eventghost gets different commands each time i am pressing the same button on remote. Compiled the dll myself results same failure. Any Suggestion?

  14. Any idea why it’s not working with Windows10 ?
    Eventghost says:
    Error starting plugin: IgorPlug-USB
    Driver not found!
    with 1.1 and installed VS 2012

    1. Thanks for reporting the issue! Unfortunately, it took me a while to come back to it, but I finally could reproduce the problems on Windows 10. libusb-win32 does not work on Windows 10, and as it is not maintained anymore, I had to switch to another library. Please try the new IgorUSB.dll, version 1.2. You have to uninstall the current libusb-win32 based filter driver and install a new one, see the blog post for instructions.

    1. Hi, thanks for your feedback. libusb-win32 is not maintained anymore and does not work on Windows 10. I use a different library now, please try the new IgorUSB.dll, version 1.2. You have to uninstall the current libusb-win32 based filter driver and install a new one, see the blog post for instructions.

  15. I used your new v1.2 IgorUSB.dll with Windows 10 and tried to install any of the drivers Zadig offers. The IR-Adapter is properly recognized in the device manager with each (except with libusb-win32 of course). But I cannot get this to wor in EventGhost. I put your new dll in the main folder but EventGhost says: IgorPlug-USB: Driver not found! I use 0.4.1.r1722. Can you help me?

      1. Yeah! That fixed it finally. The igorUSB is recognized, fully functional and detected by EventGhost now.

      2. I forgot to say: Thank you very much. I was very close to throw all this IgorUsb-Win10-EventGhost-Kodi-Stuff out of the window 😉

  16. Hi, I also try to use the good old Igor IR Receiver with Windows 10 (1809). I use a fresh Win 10 install, installed the VC 2012 redistributable, Installed the driver via Zadig (also fine detected in device Manager) and also use Eventghost 0.4.1.r1722.

    What Windows 10 Version did you use? – Is it possible to use it on 1809?

  17. Same problem here, Eventghost always says “driver not found”. Win 10 x64 Pro v1909, EventGhost 0.4.1.r1722 (also tried v0.5.0-rc6) and IgorUSB.dll v1.2. As 0xef mentioned in a comment above I installed “Visual Studio 2012 redistributable (x86)”, but it doesn’t help.

    Zadig works fine, the device is shown in device manager, but as far as I understand this, it doesn’t install libusb. Zadig creates a directory “c:\users\username\usb_driver” with WinUSB, libusbK and libusb-win32 drivers only. I assume libusb needs to be installed manually, but I don’t have a clue how to do this.

    I downloaded the Windows binaries (libusb-, 958k), but they seem to be for programming environments only, with many .h and .c files. In 4 subdirectories I found different “libusb-1.0.dll”, copied them to System32, and tried to register them (command line: “regsvr32 C:\Windows\System32\libusb-1.0.dll”), but only got error messages about something is missing or not valid.

  18. I also tried it like FiveDog. I didn´t understand, what I have to do with the lubusb files, there are no executable file…

    I use Windows 10, i´ve choose the winusb Driver, I´ve copied the dll in Eventghost root, but EventGhost says Driver not found.

  19. Very good text on blog!
    It works with latest Windows 11 Pro 22H2:

    1. I installed:
    Microsoft Visual C++ 2012 Redistributable (x84) – v11.061030
    Microsoft Visual C++ 2012 Redistributable (x64) – v11.061030
    Microsoft Visual C++ 2015-2022 Redistributable (x84) – v14.34.31931
    Microsoft Visual C++ 2015-2022 Redistributable (x64) – v14.34.31931
    EventGhost 0.4.1.r1722

    2. I copied IgorUSB.dll – v1.2 to “C:\Program Files (x86)\EventGhost” directory.

    3. I installed driver using Zadig v2.7 > WinUSB (v6.1.7600.16385).

    Everything works!
    Best Regards

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: