-
Notifications
You must be signed in to change notification settings - Fork 983
Open
Labels
Description
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