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

Can you give some insturctions how to do it? #2

Open
roysG opened this issue May 13, 2022 · 1 comment
Open

Can you give some insturctions how to do it? #2

roysG opened this issue May 13, 2022 · 1 comment

Comments

@roysG
Copy link

roysG commented May 13, 2022

No description provided.

@kutukvpavel
Copy link
Owner

kutukvpavel commented May 13, 2022

How to do what exactly? Well, okay, I can think of 3 questions.

1. How to install INF files?

The same way you manually install any driver under Windows: device manager → device context menu → update drivers → select location → ... → profit.

In fact, the INF is merely a "driver setup information" file, you can always find one beside vendor-supplied driver executables. This might puzzle you. However, this file contains everything device manager needs to install a device driver, so yes, it will let you "install" the INF only.

The trick is, we don't need a custom driver executable, i.e. we don't need a custom driver at all. These INFs just point to a generic usb-to-serial class-driver already inluded with OS distribution, and instruct Windows to use it for specified device (VID, PID etc). This is mentioned in Readme.

2. How to edit the INFs to support custom VID/PID identifiers?

You just rename the INF file accordingly, open the INF in you favorite text editor, and edit relevant lines:

  • under [Strings]
    DriverPackageDisplayName="your driver package name"
    esp="your device name to display in device manager"
  • under [Models. ... ]
    Replace the VID and PID numbers for all 3 driver models (x86, x64, arm, we don't care about the host PC arch) to match yours. You may have to include interface ID (MI) for the "driver update" procedure to work. I do include MIs by default. You can find your PID/VID/MI in device manager → device properties → Hardware IDs.
  • under [Version]
    I usually use current date, to ensure that my driver appears "newer" for the driver update procedure. But this is optional.

3. Native ESP32 USB stack exposes 2 devices (hence it's called Serial/JTAG, I believe), and obviously only one of them is the serial port that will become visible after INF installation. How to find out which one?

See updated readme.

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

2 participants