Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

2024 USB-C version feedback #13

Open
jbsilva opened this issue Dec 11, 2024 · 33 comments
Open

2024 USB-C version feedback #13

jbsilva opened this issue Dec 11, 2024 · 33 comments

Comments

@jbsilva
Copy link

jbsilva commented Dec 11, 2024

Just writing to say thank you and share my experience.
I installed yesterday's release and it's been working perfectly*! 🙌
(*missing Bluetooth 😔. I only tested for a couple of hours)

As written in the README, I manually assigned the drivers in Device Manager.
It only mentions USB\VID_05AC&PID_0324&MI_00\*** & USB\VID_05AC&PID_0324&MI_01\*** and that was enough to make the trackpad work.
But what about the other devices like USB\VID_05AC&PID_0324&MI_02\*** and USB\VID_05AC&PID_0324&MI_03\***?
(are those for Bluetooth? And the others?)

Before connecting the Trackpad:
Devices_Before

After connecting the Trackpad:
Devices_After

@vitoplantamura
Copy link
Owner

vitoplantamura commented Dec 11, 2024 via email

@jbsilva
Copy link
Author

jbsilva commented Dec 11, 2024

I tested in another laptop.

Indeed, applying only to MI_01 worked.

MI_00 shows errors though:

This device cannot start. (Code 10)
An unknown item was found in the report descriptor.
Device USB\VID_05AC&PID_0324&MI_00\8&7422bb5&0&0000 had a problem starting.

Driver Name: input.inf
Class Guid: {745a17a0-74d3-11d0-b6fe-00a0c90f57da}
Service: HidUsb
Lower Filters: 
Upper Filters: 
Problem: 0x0
Problem Status: 0xC00000E5
Device USB\VID_05AC&PID_0324&MI_00\8&7422bb5&0&0000 was configured.

Driver Name: input.inf
Class Guid: {745a17a0-74d3-11d0-b6fe-00a0c90f57da}
Driver Date: 06/21/2006
Driver Version: 10.0.22621.4111
Driver Provider: Microsoft
Driver Section: HID_Inst.NT
Driver Rank: 0xFF3205
Matching Device Id: USB\Class_03
Outranked Drivers: 
Device Updated: false
Parent Device: USB\VID_05AC&PID_0324\CC2H7S011DA0000502

trackpad_device_error

@vitoplantamura
Copy link
Owner

so I guess our safest option is to leave the installation process as it is now...

Thank you, Vito

@ohmsl
Copy link

ohmsl commented Dec 14, 2024

Thanks for all the info guys!

Thought I'd share my experience too, though you'll have to excuse my total lack of understanding windows drivers:

I noticed 4 USB Input Devices, MI_00, MI_01, MI_02 and MI_03 respectively. (Though this is entirely possible it's me tampering with bluetooth, usb ports etc) It wasn't until I installed the driver on 01 that the track pad started working, which reinforces jbsilva's claim that only applying to MI_01 works.

@gls82
Copy link

gls82 commented Dec 15, 2024

Hello,

I registered just to comment on this thread. First of all, thank you to all who contributed to this discussion so far. However I must report that the described installation procedure does not work for me. I am using Win 10 LTSC.

If I try to install either the standard or user-mode drivers for the HID MI_00 (the one which initially shows a driver error on first plugging in this device) I get Code 10 errors.

If I install the kernel mode driver on MI_00 , then the code 10 error disappears and the device is reported as working correctly, however the most functionality this produces is just simple pointer motions and physical clicks (not taps); it is recognised as a precision touchpad in Windows Settings but none of the gestures work. If I then install any of the drivers on HID MI_01 even the pointer motion stops working.

I tried uninstalling the device completely then plugging back in and installing the kernel mode driver on HID MI_01 FIRST, ignoring the error on MI_00, and after some pause this prompted a PC reboot, upon which I almost got locked out of the system as it appeared to disable ALL the USB devices including my mouse and keyboard! I managed to recover from this by logging in with the OSK and uninstalling the MTP from the device manager.

If I try installing the user-mode driver on just HID MI_01 then I get the code 10 error and the pointer doesn't work.

User Gentoli has a commit for the imbushuo drivers to incorporate the USB Type-C Device ID: Gentoli/magic-trackpad-precision@2f9b218

It appears we will just need to wait and hope this gets accepted?

Thanks.

@vitoplantamura
Copy link
Owner

vitoplantamura commented Dec 15, 2024 via email

@jbsilva
Copy link
Author

jbsilva commented Dec 16, 2024

There was a large Windows 11 Update today (24H2).
After completion, I noticed that gestures were not working.

There was an event in Device Manager: "Device settings for USB\VID_05AC&PID_0324&MI_01\xxx were migrated from previous OS installation".
I saw that Windows reset to its own driver. I had to manually set to "Bingxing Wang" again.

@vitoplantamura
Copy link
Owner

thanks @jbsilva for the additional information.

I still believe that this solution of manually specifying the driver in the case of the USB-C MT2 is the right compromise between security and functionality. This is assuming that it is not a question of doing it more than a couple of times a year, on the occasion of major OS updates.

For example, the alternative of using a self-signed certificate for an updated driver package containing an updated INF file would require having to add a certificate to the Trusted Root CAs of the end users' systems, which in my opinion is less "acceptable" than the current approach.

Vito

@maashrafh
Copy link
Contributor

@gls82 It looks like your issue can be replicated in a Win 10 LTSC VM; I made a fresh VM, attached the USBC MT2 to the VM, installed the drivers, and the Code 10 error showed up. Here's what the system dialog shows:

image image image

The Problem status code seems to be related to Windows update, less of the MT2 drivers.

Could I ask if @vitoplantamura could try testing a Lightning MT2 on a Win 10 LTSC VM? just to rule out the OS version being the issue.

@gls82
Copy link

gls82 commented Dec 18, 2024

@maashrafh interesting, thanks. I did wonder if LTSC might be the issue, but it seems very odd if that would be affecting device drivers. I've not experienced any other driver issues on this system before.

FYI my Win version is 10.0.17763 Build 17763.

@exesdnied
Copy link

exesdnied commented Dec 18, 2024

Hello,
MT2 USB-C is working perfectly in Windows 10 now for me.
At first, it doesn't work nicely like jbsilva's another laptop and gls82 (Showed Code 10 Error and not working at all).
Next I tried remove imbushuo's driver with Driver Store Explorer and reinstalled imbushuo's and vitoplantamura's.
(Also manually choosed drivers in USB\VID_05AC&PID_0324&MI_00*** & USB\VID_05AC&PID_0324&MI_01***)
Then it is working correctly ^^

@vitoplantamura
Copy link
Owner

vitoplantamura commented Dec 18, 2024 via email

@vitoplantamura
Copy link
Owner

On Windows 10 Enterprise LTSC 2019 (English) x64, fully updated, the old MT2 (including my Control Panel) works perfectly:

Win10LTSC_MT2

So the problem is in the new installation procedure for the USB-C MT2.

In the next few days, I will prepare an updated driver package with an INF file updated with the new Product Id of the USB-C MT2, signed with a self-signed certificate. This way, it will work on all systems. The downside is that the user will need to add a certificate to the Trusted Root CAs of their system to make it work. Incidentally, this is how early versions of the imbushuo driver were distributed.

My idea is that the user will be able to choose whether to use the current solution of manually specifying the driver or this second solution with the self-signed driver package.

Vito

@vitoplantamura
Copy link
Owner

vitoplantamura commented Dec 19, 2024

hi Everyone,

These are the self-signed drivers with the updated INF file for the USB-C MT2:

MT2FW-SelfSigned.zip

They can be installed like those of imbushuo.

The only requirement is to import the included certificate in the Trusted Root Certification Authorities (using certlm.msc).

Can anyone with a USB-C MT2 give it a try?

PS: "DriverStoreExplorer" can be used to completely delete a previous installation.

Thanks, Vito

@maashrafh
Copy link
Contributor

@vitoplantamura The self-signed driver works as intended in my LTSC VM, gestures and the control panel included.

Though I still wonder what differences in the driver and OS that causes it to not work on the LTSC version; would appreciate if @gls82 could try it on their physical machine.

@gls82
Copy link

gls82 commented Dec 19, 2024

@vitoplantamura Thanks for the updated drivers. I can confirm these work on my physical LTSC install, with some caveats:

After wiping all old drivers, then installing these new drivers, the device MI_01 is now recognised correctly and all precision touchpad gestures appear to work fine. However, MI_00 still reports a code 10 error by default, and manually attempting installation of the new user-mode driver on it does not change this. Can this device be left in this state and still get full functionality from the touchpad?

mtp driver error

Furthermore, after installing the new driver, if I then try and use the "install driver" button on your control panel I get the following error:

mtp control panel error

If I try and change any of the control panel settings and click apply, it breaks the trackpad functionality entirely (cursor won't even move), and MI_00 also then reports a driver error.

Would a new version of the control panel need to be released to work with these new drivers?

@maashrafh
Copy link
Contributor

@gls82 when I tested the drivers on my VM, I ignored the errors on the MI_00 device and simply disabled it (MT2 works with no issue with it disabled btw, that's how I have my daily driver set up).

Also of note is that the "Install Driver" button on the control panel is no longer necessary, as the driver that's installed via installing the .inf file is vitoplantamura's driver (no longer needs the .dll replacement workaround as the driver is now self signed with a certificate).

In my testing, the MT2 updates accordingly when I click "Apply" on the control panel.

@gls82
Copy link

gls82 commented Dec 19, 2024

@maashrafh Ah, OK thanks. FWIW the new driver installs under a different path, which explains the above error.

I just tried disabling MI_00 completely, then changing something in the control panel and clicking apply. Same result as before: the device immediately stops working at all and gives the below specific code 10 error:

image

edit: furthermore, the device and drivers then need to be uninstalled completely and reinstalled to get functionality back.

Anyway, it's progress! I can live without the control panel customisations, but it would be nice to understand what's going wrong.

@vitoplantamura
Copy link
Owner

thank you both for your tests.

@maashrafh: I wonder if it would make sense to specify in the installation instructions to disable MI_00 instead... what do you think?

So, in summary, there is the problem of the two Control Panel buttons:

Install Driver, as @maashrafh correctly said, is no longer necessary. The driver path in the DriverStore has changed, because the INF file has changed (that id in the path is a hash of the INF file). In the future, when we have defined the installation procedure well, the message will be clearer...

Apply: here I would like to understand what happens.

@gls82: can you try unplugging the MT2 from the USB port and plugging it in immediately afterwards? If you do this test several times, what happens? My question is every time you plug it in, is the driver able to initialize properly? (i.e. does the MT2 work correctly every time you replug it?)

I would ask you to do another test: if you unplug the MT2, change something in the Control Panel and click Apply and then replug the MT2, what happens? Are the new Control Panel settings applied by the driver?

Thanks, Vito

@gls82
Copy link

gls82 commented Dec 19, 2024

@vitoplantamura Thanks for the updated comments. What is device MI_00 anyway? The Bluetooth interface?

Re: your requested tests, I can confirm that on disconnecting and reconnecting the device it is always recognised correctly (I did this 5 times in a row).

Secondly, I can also confirm that disconnecting the device, then changing one or more options in the control panel, then reconnecting the device works and the new settings are applied. No driver errors reported. I also did this several times without incident. Curious.

@vitoplantamura
Copy link
Owner

@gls82: Regarding MI_00, it's hard to say since it's not public information. According to the MT2 driver in the linux kernel, this may be an interface used to get the battery level. In any case it seems something that can be safely disabled in the Device Manager.

Regarding your tests, you can unplug the MT2 when you change something in the Control Panel, as a temporary workaround.

Thanks, Vito

@NewsGuyTor
Copy link

Any progress on Bluetooth support for the 2024 USB-C version?

@manoj153
Copy link

i am on W11 build 2600, worked fine with magic trackpad 2024 USB-c, thanks!

@u-deep
Copy link

u-deep commented Jan 11, 2025

W11 23H2 22631.4602
magic trackpad works

Will using it exclusively with a cable harm the battery over time?
Is it possible to obtain a similar certificate for the Bluetooth connection as well? (I don't know anything about drivers and firmware, sorry if the question is silly)

@vitoplantamura
Copy link
Owner

@manoj153: thanks for the feedback!

@NewsGuyTor, @u-deep:

I don't know if using the MT2 exclusively via USB will damage the battery, but my guess is no 😀

About the bluetooth issue, a few days ago, I tried for the first time to pair my 2015 MT2 with my laptop, which is a 2018 ASUS PC, without success. I also tried to reset the MT2, but nothing.

So the problem as of today is not signing the driver package of the bluetooth version of the driver, but the fact that on some PCs there is no way of using the MT2 via bluetooth. Among the issues of the imbushuo repo, I found other reports of people with the same problem.

As a note, I have a MT1 that I used for several months via bluetooth without problems with the same laptop (with the official Apple driver from 2011), so the problem is specifically with the MT2.

Vito

@u-deep
Copy link

u-deep commented Jan 12, 2025

Anyway to avoid any possible battery issues I've thinked to cut the cable's power wire
I hope will work, I'll let you know

@maashrafh
Copy link
Contributor

I got a some feedback from u/AcidPhase135 on reddit:

I had to turn off power management features for the device. When my PC wakes up from sleep, the trackpad was unresponsive and turning the trackpad on and off did not help. Opening Device Manager however fixes the issue and trackpad starts working again. I'm guessing it has something to do with the sleep states supported. So for now, in Device Manager, right-click "Apple USB Precision Touchpad Device (User-mode) " > Properties > Power Management tab. Uncheck "Allow the computer to turn off this device to save power".

@vitoplantamura are sleep states supported on the lightning MT2?

@vitoplantamura
Copy link
Owner

@u-deep: unfortunately it seems that your idea doesn't work: https://old.reddit.com/r/USBC/comments/dz6efq/dataonly_no_charging_usbc_cable/

@maashrafh: hmm, interesting. Obviously in the code the events are handled appropriately (functions AmtPtpEvtDeviceD0Entry/Exit in Device.c).

Good to know anyway: if this happens to another user, we know the solution...

I personally put my laptop into sleep or hibernate several times a day, and the MT2 resumes correctly every time.

Thanks, Vito

@u-deep
Copy link

u-deep commented Jan 13, 2025

I've done this morning and I was almost thinking to put a resistor on 5V wire
But it's too much simple to resend the Trackpad to Amazon and continue to use the lightning version

@FireFromUpNorth
Copy link

FireFromUpNorth commented Jan 15, 2025

Hello,

I've tried doing this on 2 computers, a win 10 and win 11. My MT1 (lightning) works with traditional drivers, but in trying this method with MT2 (USBC) I'm still stuck with point and left click (no precision touchpad) after assigning drivers on win 11 and disabling MI_00.

With Win 10, I actually get error code 10, and the trackpad is not working when I disable MI_01. It will however go back to working if I re-enable MI_01. I'm basically a noob with driver install/uninstall so maybe I need to figure out a way to start fresh here. (edit: I also tried resetting MI_00 driver and just disabling MI_01 and it still does not work. also tried installing driver via MT2 control panel - nothing changed)

image
image

@maashrafh
Copy link
Contributor

@FireFromUpNorth: Can you perhaps try again with a fresh install, using this self-signed version linked here.

You can uninstall the existing drivers by using DriverStoreExplorer which can be downloaded.

@FireFromUpNorth
Copy link

Ok, I Uninstalled all drivers, my old MT1 no longer shows as a precision touchpad so I guess that means I did something right. However, when I try to install this, I keep getting this message.

image

@FireFromUpNorth
Copy link

Oh sorry, Seems I needed to choose local machine not current user. Its all working now!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

10 participants