tinyvision-ai-inc / UPduino-v3.0

UPduino 3.0: new 4 layer layout, various other improvements
MIT License
320 stars 38 forks source link

Error: board upduino3 not connected #15

Open standarddeviant opened 2 years ago

standarddeviant commented 2 years ago

I'm able to build and verify the blinky_led example with apio, but am unable to upload. I see the below error:

C:\Users\davec\Documents\apio\UPduino-v3.0\RTL\blink_led>apio upload
(DEBUG) Profile path: C:\Users\davec\.apio\profile.json
(DEBUG) Home_dir: C:\Users\davec\.apio
(DEBUG) Profile path: C:\Users\davec\.apio\profile.json
(DEBUG) Home_dir: C:\Users\davec\.apio
(DEBUG) Run Command: lsusb
(DEBUG) System_base_dir: C:\Users\davec\.apio\packages\tools-oss-cad-suite
(DEBUG) System bin dir: C:\Users\davec\.apio\packages\tools-oss-cad-suite\bin
(DEBUG) Executable file: C:\Users\davec\.apio\packages\tools-oss-cad-suite\bin\lsusb.exe
(DEBUG) Profile path: C:\Users\davec\.apio\profile.json
(DEBUG) Home_dir: C:\Users\davec\.apio
(DEBUG) Run Command: lsftdi
(DEBUG) System_base_dir: C:\Users\davec\.apio\packages\tools-oss-cad-suite
(DEBUG) System bin dir: C:\Users\davec\.apio\packages\tools-oss-cad-suite\bin
(DEBUG) Executable file: C:\Users\davec\.apio\packages\tools-oss-cad-suite\bin\lsftdi.exe
Error: board upduino3 not connected

It seems the board is connected to my machine according to apio system --lsftdi:

C:\Users\davec\Documents\apio\UPduino-v3.0\RTL\blink_led>apio system --lsftdi
(DEBUG) Profile path: C:\Users\davec\.apio\profile.json
(DEBUG) Home_dir: C:\Users\davec\.apio
(DEBUG) Run Command: lsftdi
(DEBUG) System_base_dir: C:\Users\davec\.apio\packages\tools-oss-cad-suite
(DEBUG) System bin dir: C:\Users\davec\.apio\packages\tools-oss-cad-suite\bin
(DEBUG) Executable file: C:\Users\davec\.apio\packages\tools-oss-cad-suite\bin\lsftdi.exe
Number of FTDI devices found: 1
Checking device: 0
Manufacturer: tinyVision.ai, Description: UPduino v3.1

I followed Shawn Hymel's FPGA tutorials on youtube (on Part 2) to get to this point. I've used Zadig to make sure libusbK is the selected driver for the UPduino v3.1 board seen by Zadig.

Have others run into this error?

cliffordtech commented 2 years ago

Hi @standarddeviant, I also have the UPduino3.1 and have just run into exactly the same problem. Console output is virtually identical to yours. Have you been able to resolve the issue? We may have run into the error discussed in this thread: https://github.com/FPGAwars/icestudio/issues/234

vr2045 commented 2 years ago

Another possibility is that icestudio doesnt recognize the 3.1 USB string? You can update the EEPROM quite easily: If on windows, you can download the FTDI FT_PROG program and change the EEPROM to read v3.0 and see if that helps. Dont worry, this wont brick your FPGA board :)

cliffordtech commented 2 years ago

So after trying many of the suggestions in the previously linked thread without success, I decided to try accessing iceprog directly.... and it worked!

$apio raw "iceprog -d i:0x0403:0x6014 hardware.bin"

PATH: </snipped>

init..
cdone: high
reset..
cdone: low
flash ID: 0xEF 0x40 0x16 0x00
file size: 104090
erase 64kB sector at 0x000000..
erase 64kB sector at 0x010000..
programming..
reading..
VERIFY OK
cdone: high
Bye.
cliffordtech commented 2 years ago

@vr2045 I think you got it. Updating the Product Description (under USB String Descriptors) from "UPduino v3.1" to "UPduino v3.1" and then repeating the driver update and upload process did the trick. Thank you for the pointer!

One important thing to note is that FT_PROG does not recognize the FTDI device when the libusbK driver is being used. I just moved it to a new USB port so that it reverted to the FTDIBUS driver.

[Tue Mar 15 21:31:24 2022] Processing upduino3
-----------------------------------------------------------------------------------------------------------------------------

iceprog -d i:0x0403:0x6014:0 hardware.bin
init..
cdone: high
reset..
cdone: low
flash ID: 0xEF 0x40 0x16 0x00
file size: 104090
erase 64kB sector at 0x000000..
erase 64kB sector at 0x010000..
programming..
reading..
VERIFY OK
cdone: high
Bye.
=============================================== [SUCCESS] Took 18.96 seconds ===============================================
joshbrake commented 2 years ago

I had this same issue and fixed it by changing my board in apio.ini file to upduino31. Noticed that https://github.com/FPGAwars/apio/blob/c7c941e63220d62512df2cd203cea3f7fd8c6f27/apio/resources/boards.json#L261 includes an entry with the correct FTDI descriptor – no need to mess with the eeprom!

Xenador77 commented 2 years ago

Anyone having this same issue with icestudio, the nightly/dev branch has the updated board list with Upduino-3.1