icestorm: iceprog does not find iCEstick on Windows

Hello, I got a new iCEstick today, trying to use it with the icestorm toolchain on Windows. I can get a bitstream generated fine, but when I do iceprog my_bitstream.bin I just get this:

Can't find iCE FTDI USB device (vendor_id 0x0403, device_id 0x6010).
ABORT.

I’m thinking this is a bug in icestorm/iceprog itself, since Diamond Programmer off the Lattice site can program the iCEstick with no problem. I also double checked what device/vendor IDs it’s showing up as, and they matched 0x0403/0x6010, as shown in this screenshot.

How would I fix this? I even tried with -d i:0x0403:0x6010, although that didn’t fix it at all.

About this issue

  • Original URL
  • State: closed
  • Created 6 years ago
  • Comments: 24 (8 by maintainers)

Most upvoted comments

For custom boards such as the icebreaker (cc @esden), I wonder if this could be fixed by disabling VCP in the EEPROM for the first port? Or does Windows need to be explicitly told to use libusb, as opposed to just not autobinding the serial port?

LibFTDI doesn’t really play nice w/ Windows by default. Unlike Linux, it’s not possible for libusb/libFTDI to switch between a serial port USB device and FTDI functionality at will; you need a special driver for this.

… and @daveshah1 beat me to it 😃.

Hi @soccermitchy

Diamond uses the standard FTDI drivers, whereas iceprog is designed to be cross platform and uses libftdi/libusb. In order to get this working, you need to enable the correct driver using Zadig. The instructions at: https://learn.adafruit.com/adafruit-ft232h-breakout/windows-setup should hopefully work - ignore the difference in the device ID.