TL;DR:
Quickest Daily Fix: Uninstall I2C HID Device in Device Manager, scan for hardware changes (or reboot), then immediately uncheck "Allow the computer to turn off this device to save power" under its Power Management tab.
Easiest Permanent Software Fix: Run Reset this PC (choose Keep my files) or do a clean Windows install, then install your laptop manufacturer's official Chipset/Serial IO and Touchpad drivers directly from their support site.
Easiest Hardware Fix: Open the bottom cover, unplug the main battery, hold the power button for 60 seconds to drain static, and clean/reseat the touchpad ribbon cable using rubbing alcohol (or a pencil eraser) and secure it with painter's tape.
Intro
Hello everyone! First time posting here.
I noticed a ton of posts on this sub and other sub dealing with this exact same problem, so I figured my experience might help some of you out. Sorry in advance if my English is a bit rough, if any part of my explanation is hard to follow, please just ask in the comments and I’ll gladly help clarify it! Hopefully I can help if I'm not busy!
I work as a freelance laptop technician (not as good as the greatest technician that have ever lived though, sadly), and for reasons only Microsoft understands (even some tech supports and I don't know for sure), Windows laptops get hit with this I2C HID Device Code 10 error ("A request for the HID descriptor failed") all the time.
A huge chunk of the laptops coming into my shop have this exact symptom. The good news is that the majority of the time it’s just a software glitch, and only rarely is it a physical hardware issue. Because there is no single fix that works for every laptop, I'm going to walk you through how I troubleshoot this step-by-step, starting from simple software resets down to opening the case.
Honestly, before you go unplugging cables and installing untrusted drivers, one of the easiest ways to clear out deep driver corruption is to just use the built-in "Reset this PC" feature (Settings > System > Recovery > Reset this PC). You can choose the "Keep my files" option so you don't lose your personal documents, or do a full clean Windows install from a USB drive if you want a completely fresh slate. Once Windows is fresh, immediately install the official chipset and touchpad drivers from your laptop brand's website and cross-check Device Manager to see if the touchpad behaves. (Bonus: if it STILL throws Code 10 on a clean Windows install, you know 100% it's a hardware/cable issue and can stop wasting time on software!).
The "Did I Really Just Do That?" Pre-Checks
Before we dive deep into Device Manager, let's check three basic things before you spend two hours troubleshooting a working laptop:
1. Keyboard shortcut
Check the keyboard shortcut and make sure you didn't accidentally hit the hardware disable key on your keyboard (usually Fn + F6, F7, or F9 depending on the brand). Yes, sometimes it's not even a driver error, it's just you accidentally hitting a key while gaming or typing. A surprising number of people come to my shop for this, and honestly, it’s totally okay, it happens to the best of us!
2. Disabled in settings
Check Windows Settings. Go to Settings > Bluetooth & devices > Touchpad and see if the toggle is simply turned off. (Note: If the entire Touchpad menu has vanished into thin air, then yep, Windows completely lost communication with the hardware and you have a real Code 10 on your hands).
3. Windows update
Finish your Pending Windows Updates. If this code 10 error happened right after a Windows Update, go check Windows Update right now. A lot of the time, Windows downloads half of an update and leaves optional patches hanging in the queue. Having half-installed updates creates massive driver conflicts because not all dependencies are downloaded or installed yet. Clear out the queue and reboot first!
If none of that worked, plug in a spare USB mouse (or get ready to feel like a 90s hacker using Tab, Arrow Keys, and Alt to navigate) and work through these categories.
Category 1: The I2C HID Driver & Power State (Direct Software Fixes)
In the easiest scenario, the Windows hidi2c.sys driver just crashed, or Windows sleep mode put the touchpad to sleep and forgot how to wake it back up.
1. Purge and Re-enumerate the Device Tree
Sometimes you get lucky and simply right-clicking to Disable and Re-enable the I2C HID Device in Device Manager wakes it right up. Try that first! However, in tougher cases, simply toggling it on and off rarely clears a corrupted descriptor cache. You need to strip the device from the active tree and force Windows to re-detect it from scratch:
- Open Device Manager (Right-click the Start button > Device Manager).
- Expand Human Interface Devices, find the I2C HID Device with the yellow warning triangle of doom, right-click it, and select Uninstall device. (Crucial: If a box pops up asking to "Attempt to remove the driver for this device," do not check it yet, just click Uninstall).
- Expand Mice and other pointing devices. If you see a secondary touchpad entry hiding in there (like HID-compliant mouse, ELAN I2C, or Synaptics), right-click and uninstall that too. Again, do not check the box to delete the driver software.
- Now, click on any random device category in the list just to highlight it, then click Action > Scan for hardware changes at the top menu OR just restart the laptop. Honestly, I don't know which one works better in theory, because I've seen both work in my shop. It's worth trying the scan first, and if it's still dead, do a full reboot
2. Disable Aggressive Power Management
If your touchpad comes back to life after reinstalling, celebrate quickly, because it will probably die again the next time you close the lid. When laptops are left on for days cycling through sleep, hibernate, and Modern Standby, Windows aggressively cuts power to the I2C bus to save battery and fails the wake handshake. (This actually happens to external USB mice and keyboards all the time, too).
- Do this immediately while the touchpad is working, because the Power Management tab literally disappears when the device is in a Code 10 state:
- In Device Manager, right-click I2C HID Device and select Properties.
- Go to the Power Management tab.
- Uncheck Allow the computer to turn off this device to save power and hit OK.
- If you see other HID-compliant devices or USB Host Controllers with this tab, uncheck them too so Windows stops putting your inputs into a coma.
Category 2: Upstream Bus Conflicts & Dependencies (Indirect Software Fixes)
If uninstalling the I2C HID Device does nothing, stop torturing it. The yellow warning icon on the touchpad is often a lie, the touchpad driver itself is completely fine, but the motherboard bridge it uses to talk to the CPU is blocked or crashed.
1. Unplug All External USB Devices
Sometimes an external USB mouse, receiver dongle, or hub hogs the HID interrupt stack and blocks the internal I2C bus from initializing.
- Unplug every single USB device from your laptop.
- Using only your keyboard, navigate to the faulted I2C HID Device in Device Manager and uninstall it (Tab to enter the list, Arrow keys to move, Enter or Menu key to open options).
- \Press Alt + A to open the Action menu and hit Scan for hardware changes (or press Win + L to lock the screen, then Tab down to the bottom-right power icon to Restart).
- Let the laptop boot up naked. Once the touchpad works, you can plug your USB gear back in.
2. Fix the Parent Controller (Intel Serial IO / AMD GPIO)
Your touchpad doesn't plug straight into the CPU; it talks through a Serial I/O Host Controller. If that upstream driver crashes, the touchpad gets stranded and throws Code 10 or Code 51 ("This device is currently waiting on another device to start").
- In Device Manager, click View > Devices by connection at the top.
- Find your broken I2C HID Device. You will now see the parent controller sitting right above it (usually called something like Intel(R) Serial IO I2C Host Controller or AMD I2C Controller).
- If you open the Properties > General tab on the broken touchpad, the status box might even snitch on the parent driver (e.g., Dependencies: ACPI\\AMDI0010).
- To fix this, don't rely on generic Microsoft auto-drivers. Go to your laptop brand's support website (or open apps like MyASUS / Lenovo Vantage), or go straight to Intel/AMD's site.
- Download and reinstall the Chipset, Intel Serial IO, or AMD GPIO drivers.
- Also double-check Windows Update > Advanced options > Optional updates > Driver updates. Windows loves hiding critical motherboard bus drivers inside that optional dropdown menu.
3. Flip the BIOS Switch Off and On Again
Sometimes the motherboard's firmware just locks the I2C bus and refuses to let Windows talk to it.
- Reboot and spam your BIOS key (usually F2, F12, or Del).
- Look for a setting called Internal Pointing Device or Touchpad. (Pro tip: On some Acer and Asus laptops, this setting is hidden until you press Ctrl + S on the Main BIOS screen).
- Switch it to Disabled, hit F10 to save, and let it boot all the way into Windows.
- Now restart, go right back into the BIOS, switch it back to Enabled, and save. This forces the motherboard to refresh the hardware address from scratch.
Category 3: Physical Hardware, Static Drain, & Dirty Cables
If you tried all the software tricks and the touchpad is still dead, we have to look at hardware. Usually, either static electricity has locked up the touchpad's chip, or the ribbon cable inside has wiggled loose or gotten dirty over years of typing.
WARNING: Don't Fry Your Motherboard!
Before poking around inside your laptop, shut it down completely, unplug the charger, and disconnect the main internal battery first. Touch a metal table leg or faucet before touching the board so static electricity from your hands doesn't zap the circuitry.
1. The Hard Static Drain (EC & CMOS Reset)
Shutting down Windows doesn't actually cut 100% of the power to the motherboard, a tiny 3.3V trickle keeps running (maybe), which means a frozen touchpad controller stays frozen.
- Unscrew the bottom cover of your laptop and unplug the main battery cable from the motherboard.
- Unplug the small round coin-cell CMOS battery (if your laptop has a separate one) and gently unplug the Touchpad ribbon cable.
- Hold down the laptop’s power button for a full 60 seconds. You are draining every last drop of trapped electricity out of the motherboard capacitors.
- Plug the touchpad cable, CMOS battery, and main battery back in, and boot it up.
2. Clean and Reseat the Ribbon Cable
Laptop bodies bend a tiny bit every time you pick them up or rest your palms on them. Over a few years, the flat ribbon cable connecting the touchpad to the motherboard gets microscopic dirt on the pins or slips out by a fraction of a millimeter, just enough to fail the Code 10 handshake.
- With the main battery unplugged, look at both ends of the touchpad ribbon cable. Flip up the tiny plastic locking flap (be super gentle, they break easily!) and slide the cable out.
- Look at the shiny metal contact pins on the end of the cable. You don't need fancy lab chemicals to clean them—just grab a Q-tip (cotton swab) and dip it in some rubbing alcohol (isopropyl alcohol, 70% or higher) from your medicine cabinet, or even a little electronic contact cleaner if you have it in the garage. If you don't have alcohol, you can very gently rub the metal pins with a clean white pencil eraser to buff off any oxidation, then brush away the crumbs cleanly.
- Wait a minute for it to dry completely, then slide the cable firmly back into the socket. Make sure it's pushed in straight and all the way to the line before snapping the plastic lock back down.
- If you want, put a small piece of paper masking tape (painter's tape) right over the connector and cable to hold it down so vibrations don't wiggle it loose again. (Don't use cheap duct tape or electrical tape that leaves nasty, gooey glue everywhere).
3. The "Sneak Attack" Driver Install (For Stubborn Windows Cloud Drivers)
Sometimes Windows Update is your worst enemy, the exact second you boot up, Windows sees the touchpad and automatically forces a corrupted driver from the cloud before you can install the proper one from your laptop manufacturer. Here is how to outsmart it:
- Boot into Windows, uninstall the I2C HID Device and Touchpad in Device Manager, and Shut Down immediately (do NOT restart).
- Open the laptop, unplug the battery, and unplug the touchpad ribbon cable. Plug the battery back in and turn the laptop on with the touchpad still unplugged.
- Since the touchpad is physically missing, Windows won't try to auto-install its broken cloud driver. Now, run the official ELAN or Synaptics driver installer that you downloaded directly from your laptop brand's website.
- Once it finishes installing, shut down the laptop, unplug the battery, plug the touchpad cable back in, reconnect the battery, and turn it on. Windows will wake up, see the touchpad, and immediately pair it with the proper manufacturer driver you just staged!
Final Thoughts
Hopefully, one of these three categories brings your touchpad back from the dead so you can finally stop carrying a spare mouse everywhere! I really hope this helps you figure out the root cause and get your laptop working normally again.
Did I miss anything? Because this bug is so unpredictable, maybe some of you managed to fix it using a completely different method. If you found another weird workaround that worked for you, please drop it in the comments below so other people can try it too! Also, if I made any mistakes in my write-up, please let me know so I can edit the post.
Again, sorry if my explanation is a bit hard to follow in some parts. Let me know in the comments which step worked for your laptop model, or just ask if you get stuck on a step and need a hand!