Replies: 6 comments 2 replies
-
Maybe unrelated, but I've had problems with uploading sketches to the RP2350 based boards (Pico 2 and Pimoroni Tiny2350) in Windows 7, which seem similar. Maybe the same sort of workaround can be used. I've found I can either have the USB serial (CDC) driver working or the removable drive for .uf2 working, but not both at once. After a successful upload to a specified serial port, the removable drive can't be found:
This isn't a timeout issue - I've tried increasing that considerably, with no change. I can work around that part of the problem by uninstalling the serial CDC device driver, from Device Manager on the Control Panel, and optionally ticking the box to delete the driver for it (I don't know if Windows 11 has that option, but it might not be an essential step). I can then try to put the RP2350 device in .uf2 mode using the Boot/BOOTSEL button and resetting with an external button (it's well worth adding one, if you're using a breadboard), but instead of a removable drive, for the Pico 2, I get an unknown device with a yellow warning triangle "!" next to it, called "USB Mass Storage Device" in USB devices. That part only happens with the Pico 2, not the Tiny2350, so YMMV. If I then uninstall that driver, the removable .uf2 drive is detected properly. So far, my workaround is to get the device into boot / .uf2 mode, using the Boot button, and uninstall/delete drivers as necessary to get it recognised as such - it then appears as a drive in "Computer", and it can either have a .uf2 file pasted onto it, or be uploaded to in the Arduino IDE by choosing "UF2 Board" under Port on the Tools menu. That option isn't shown (in IDE v1.8.19) unless the device is in boot / .uf2 mode. This part of the workaround ought to work the same, for an RP2040 / Pico 1. After a successful upload with the port as "UF2 Board", the USB serial port still doesn't work because Windows 7 still only has the driver for a removable device installed - that has to be uninstalled, from Device Manager, to allow the serial port to be detected. If I previously deleted, not just uninstalled, its driver, I then have to put it back again, either with Zadig, or by forcing Windows to install it using a .inf file that I've saved for it - that method seems safer, but takes quite a lot of extra steps, in Windows 7. By default it just claims that the best driver for the device is already installed - you have to know how to navigate through the options to "update" the driver to the one you're trying to set. So, to summarise, maybe Windows 11 has similar problems with drivers for the RP2040 / Pico 1 that I've encountered with the RP2350 boards under Windows 7 - in that it can't cope with both drivers being intalled at once, so it fails to switch between USB serial / CDC mode and .uf2 mode. If so, a similar process of deleting the current driver in Device Manager (or Windows 11 equivalent), may work, to allow it to detect the relevant one for the current mode, and manually putting it into .uf2/boot mode to do the upload. This is a workaround, not a solution, but it gets easier after doing it a few times, and at least lets me use the problem devices with the Arduino IDE. |
Beta Was this translation helpful? Give feedback.
-
I'm back in the uploading business, no thanks to an intermittent USB cable! Even thought I'd tried a different one I must have induced a different problem as it wasn't until I moved to a R-Pi4 that I found the problem. I had a terminal open running lsusb, and saw that the Pico would disappear at random times. Whatever was wrong with the cable, it worked well enough for the Pico to enumerate on Win 11 and show up in Device Manager, but not good enough for uploading. I did discover something new to me but probably well known to those who use Pi OS: If I plug a Pico in with the bootsel button held down, a dialog will pop up asking if I want to open the device with File Manager. If I click Cancel, lsusb will show it as "Raspberry Pi PR2 Boot" and a UF2 board option appears under Tools-Port in the IDE. Downloading can proceed as usual, but afterward the IDE shows the Pico as a serial device (such as /dev/ttyACM0 (Raspberry Pi Pico) and lsusb has changed to "Raspberry Pi Pico". Then if I change the Port to this serial device, further uploading can be done normally and Serial Monitor is available. This seems that linux (at least the Pi OS version) provides an option for uploading that isn't available, or at least not as clear under Windows. |
Beta Was this translation helpful? Give feedback.
-
I can now describe a repeatable failure of the uploading process with the IDE running on a PC:
Repeating the same test on a Raspberry Pi 4 with IDE v. 1.8.19 results in normal expected operation - the serial port is available for downloading and the Serial Monitor works as expected. The UF2 option is not needed. Clearly something has changed in the PC or IDE that prevents the Arduino boot-upload sequence from working correctly. I know the test code is OK and not crashing because it works fine under PiOS. Thanks in advance for any suggestions as to what's going on here |
Beta Was this translation helpful? Give feedback.
-
@w9ran Did you read the reply I wrote two days ago? |
Beta Was this translation helpful? Give feedback.
-
Update to my last update! IT WORKS ;-) So for anyone slogging thru this mess, it looks like Zadig 2.9 and USB Serial (CDC) are the magic words. |
Beta Was this translation helpful? Give feedback.
-
Cool. Does it continue to work after another upload cycle? It doesn't with the Pico 2 in Windows 7 - hence the workaround - but that might just be unique to Win7 and the RP2350. They did something with the drivers that's supposed to be an improvement, but maybe only works right in Windows 10. I can't claim to understand all the details. |
Beta Was this translation helpful? Give feedback.
-
I'm having problems uploading to Pico1 from Win 11 PC running IDE v. 1.8.19. The code compiles without error and the uploading process proceeds until it can't find the Pico:
Resetting COM6
Converting to uf2, output size: 174592, start address: 0x2000
Scanning for RP2040 devices
No drive to deploy.
An error occurred while uploading the sketch
Also, I can't open the Serial Monitor as it says "Port not found" even though Device Manager also says it's there and still shows the Com port as present after the Pico is unplugged. Subsequent attempts to open Serial Monitor get "Port busy" error. I've tried using Putty to talk to the serial port but get a "port busy" message also.
It seems like this is a Windows serial issue but I've uninstalled the device(s) and it always comes back and fails the same way. Tried different USB cable and tried the same version IDE on a different PC with the same result. The sketch doesn't matter, I can't even upload Blink "no drive to deploy". I'm about out of ideas and would welcome any suggestions, thanks.
Beta Was this translation helpful? Give feedback.
All reactions