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

Fix wrong serialnumber in windows #190

Open
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

kidswong999
Copy link

Hi.

The serialnumber of a composite device on Windows is not the same as that of a USB device.

This behavior is inconsistent with MacOS and Linux.
This behavior is also inconsistent with pyserial and qtserialport.

So we should change it.

The serialnumber we expect is the USB parent device. For example:
The pnpId is: USB\VID_1209&PID_ABD1&MI_00\6&18DA7745&0&0000. The serialnumber contains the & character, which is incorrect. What we wanted was his father USB\VID_1209&PID_ABD1\387132593131

I refer to the code of qtserialport, https://github.com/qt/qtserialport/blob/dev/src/serialport/qserialportinfo_win.cpp#L470. Fixed this property.

I've also refactored other properties with cfgmgr32.h.

Related:
serialport/node-serialport#2726
serialport/node-serialport#1459

@kidswong999
Copy link
Author

https://www.npmjs.com/package/@singtown/bindings-cpp

A version is released for temporary use and will be deleted after merging.

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

Successfully merging this pull request may close these issues.

1 participant