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

Enable picotool reset_interface functionality #18

Open
Poofjunior opened this issue Dec 7, 2023 · 0 comments
Open

Enable picotool reset_interface functionality #18

Poofjunior opened this issue Dec 7, 2023 · 0 comments

Comments

@Poofjunior
Copy link
Collaborator

Poofjunior commented Dec 7, 2023

In our local copy of usb_descriptors.c, it is not sufficient to set
#define PICO_STDIO_USB_ENABLE_RESET_VIA_VENDOR_INTERFACE (1).

What I'm seeing by setting the #define statement is that lsusb will show that a Reset interface descriptor does indeed exist, but the device hangs when we try to do anything with it.

That's most likely(?) because the pico-sdk's reset_interface.c is not being populated if we link to tinyusb_device in our CMakeLists.txt. We may need to make a local copy of the callback functions if we want to be able to use picotool (i.e: to reset the device from the PC without physically touching the BOOTSEL button).

Paste of lsusb output with Reset interface descriptor info shown below:

    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        2
      bAlternateSetting       0
      bNumEndpoints           0
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      0 
      bInterfaceProtocol      1 
      iInterface              5 Reset

References

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

1 participant