Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Pico Not Discoverable in WSL2 #5021

@PsyonixMonroe

Description

@PsyonixMonroe

I'm trying to setup running the blinky example on the Raspberry Pi Pico under WSL2, I am able to get the device into BOOTSEL mode, I can see it recognized as a USB device, but flashing fails to find it and it isn't mountable as a device.

I'm using usbipd to share the device from windows to WSL2 (Ubuntu). I am able to successfully flash the device by building the .uf2 using tinygo build and then copying it to the device on the windows side. (i.e. the device is fine).

$ tinygo flash -target=pico ./blinky
failed to flash /tmp/tinygo863331782/main.uf2: unable to locate any volume: [RPI-RP2]
$ lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 006: ID 2e8a:0003 Raspberry Pi RP2 Boot
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
$ lsusb -d 2e8a:0003 -v

Bus 001 Device 006: ID 2e8a:0003 Raspberry Pi RP2 Boot
Couldn't open device, some information will be missing
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               1.10
  bDeviceClass            0 [unknown]
  bDeviceSubClass         0 [unknown]
  bDeviceProtocol         0
  bMaxPacketSize0        64
  idVendor           0x2e8a Raspberry Pi
  idProduct          0x0003 RP2 Boot
  bcdDevice            1.00
  iManufacturer           1 Raspberry Pi
  iProduct                2 RP2 Boot
  iSerial                 3 E0C9125B0D9B
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength       0x0037
    bNumInterfaces          2
    bConfigurationValue     1
    iConfiguration          0
    bmAttributes         0x80
      (Bus Powered)
    MaxPower              500mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass         8 Mass Storage
      bInterfaceSubClass      6 SCSI
      bInterfaceProtocol     80 Bulk-Only
      iInterface              0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               0
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      0 [unknown]
      bInterfaceProtocol      0
      iInterface              0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x03  EP 3 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x84  EP 4 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               0
$ dmesg
....
[ 3674.041974] vhci_hcd vhci_hcd.0: pdev(0) rhport(0) sockfd(3)
[ 3674.041978] vhci_hcd vhci_hcd.0: devid(131082) speed(2) speed_str(full-speed)
[ 3674.042017] vhci_hcd vhci_hcd.0: Device attached
[ 3674.327233] vhci_hcd: vhci_device speed not set
[ 3674.397248] usb 1-1: new full-speed USB device number 6 using vhci_hcd
[ 3674.477228] vhci_hcd: vhci_device speed not set
[ 3674.547231] usb 1-1: SetAddress Request (6) to port 0
[ 3674.597397] usb 1-1: New USB device found, idVendor=2e8a, idProduct=0003, bcdDevice= 1.00
[ 3674.597401] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 3674.597402] usb 1-1: Product: RP2 Boot
[ 3674.597404] usb 1-1: Manufacturer: Raspberry Pi
[ 3674.597405] usb 1-1: SerialNumber: E0C9125B0D9B
[ 4380.515202] mini_init (202): drop_caches: 1

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions