pcileech icon indicating copy to clipboard operation
pcileech copied to clipboard

FPGA: ERROR: Unable to connect to usb/ft601 device

Open FwRules opened this issue 5 years ago • 15 comments

Hey, i'm trying to follow the guide for this project. I'm using AC701 board and the FT60x usb 3.0 convector. After i build a bit file and programmed the device (all seems about right) i tried running a few commands from the pcileech.exe and got the error about the FTDI FTD3XX.dll missing error. i have downloaded and added them and then the message changed to "FPGA: ERROR: Unable to connect to usb/ft601 device [0, v0.0, 0000] PCILEECH: Failed to connect to the device" i got this messages when running the "pcileech.exe kmdload -kmd win10_x64 -device fpga -v" command i saw on another issue online. how can i verify the connection to the board? (in order to verify the cable is fine or the converter) i didn't saw anything regarding this error online so i'll be thankful for any advice or solutions :) Thanks!!

FwRules avatar Jun 23 '19 10:06 FwRules

I'm going to assume you run the pcileech for Linux coz of the ./. The FTD3XX.dll is required for Windows only.

For Linux you will need to download and build the driver from: https://github.com/enjoy-digital/pcie_screamer/tree/master/drivers/ft60x Also, you need to run as root or if you chmod the device that the driver exposes so it's read/write from your user. I have some instructions for Linux at: https://github.com/ufrisk/pcileech/wiki/PCILeech-on-Linux

the [0, v0.0 indicates you havne't connected to a successfully flashed FPGA device - this may be due to multiple reasons such as a driver problem, cable issue or incorrectly flashed device. The 0000] indicates you have no or a bad PCIe connection (this is not the problem now since you haven't been able to connect to the device).

ufrisk avatar Jun 23 '19 10:06 ufrisk

Hey, thank you for your response!

I'm actually running it on windows (the './' was a mistake).

do you have any idea how can i debug what is the reason there is no connection to a successfully flashed device?

Thanks!

FwRules avatar Jul 01 '19 16:07 FwRules

I'm having the same issue, i get:

FPGA: ERROR: Unable to connect to usb/ft601 device [0, v0.0, 0000] PCILEECH: Failed to connect to the device

flashed fine with openocd on linux. led works on button press. Windows 10 1709. Windows detects a FT601 device but when I run the command mentioned I get the above. On linux it just freezes and i get no output. Have dll on Windows and kernel module on linux. After about 7 hours i'm currently out of things to try. I tried your 3.2 and built 3.2, i have LC R01.

Edit: Strange now my board is showing vid 0x10ee and device id 0x0666 with lspci. However when i try to flash with openocd 10ee 0666 can't be found. But 0x0403 0x6011 works just fine and openocd appears to flash. Hmmm what happened? I didn't change vendor id or anything. I'm new to FPGA im probably just doing something stupid.

JordanBoulan avatar Jul 21 '19 22:07 JordanBoulan

The error message indicates you are unable to connect over USB3 to the device. If you have it successfully flashed (VID=0x10ee / PID=0x0666 indicates that) I'm guessing it may be something with the usb connection or the driver.

Ensure the FT601 device is detected in device manager as shown below. It should have VID=0403/PID=601F most likely. Windows will want to download a kernel driver from windows update automatically at first connect. In addition to this you will have to have the .dll file (as you already do have).

If having the SP605/AC701 it may also be a good idea to re-attach the FT601 daughter card - sometimes there might be a bad connection. Also change USB port on your computer and try another cable.

image

ufrisk avatar Jul 22 '19 20:07 ufrisk

I'm getting that exact same for the hids on the USB connection. The PCI connection is showing up as a Ethernet Controller in other devices with no driver (yellow exclamation point). I assumed that was fine but maybe not?

Also, I tested the USB cable with a hard drive that uses the same "double mini" type b connection and the hard drive seems to work fine. I even manually downloading the ft601 drivers from the FTDI website and tried manually installing that driver.

Thanks for your help

Edit: So the PCI shouldn't matter since we are reading data directly off the bus. Also the all 0's [0, v0 ...] seems to indicate that I can't get a connection to the board at all over usb,, as you mentioned. Should I be using an older version of pcileech? I glanced at the code of the newest version and R01 is in the devices still. Windows seems to see the device just fine but the pcileech is having issues.

Also I get why I still need the original ID's to flash because you are connecting to a different device over jtag.

EDIT2: Ok on linux I install the kernel driver, insert the usb, in "ls /dev" i see ft60x4. Xilinix shows up in lsusb as well. But pci leech just says "PCILEECH: Failed to connect to the device". I'm at a loss, linux can clearly see the device. I tried changing the permissions and running as root. Wow this board really hates me. Is my only option to start running code in a debugger?

Thanks again for taking the time, I've been learning a lot.

JordanBoulan avatar Jul 25 '19 01:07 JordanBoulan

Have you solved the error of [0, v0.00000]? I also encountered this problem. My device is screener m2

baigu7 avatar Mar 25 '22 10:03 baigu7

@3456668888 please try run pcileech.exe display -min 0x1000 -device fpga -v -vv for additional debug output. Also make sure you have the FTD3XX.dll alongside pcileech.exe. Please let me know how it goes.

ufrisk avatar Mar 27 '22 17:03 ufrisk

Apologies for the late reply.

The most likely cause of this error is due to a bad flash of the FPGA. When powered on is the LED blinking a couple of times before it stops?

ufrisk avatar Apr 03 '22 18:04 ufrisk

Any new suggestions on this? Im getting this issue with my Squirrel. Tried reflashing countless times, power cycling etc. etc. USB data is flashing 3 times on startup while the 2 others are green constantly.

darknessbetz avatar Aug 02 '22 13:08 darknessbetz

@darknessbetz what is your error message if you do:

pcileech.exe display -min 0x1000 -v -device fpga

also are you testing with the default firmware I have for download? If you're running a custom firmware please change to my default for testing.

if it's blinking 3 times or so at startup that means that the firmware is successfully loaded and configured onto the fpga.

ufrisk avatar Aug 02 '22 13:08 ufrisk

Will be testing with your firmware once im home again. The odd thing about my case is that directly after boot it works flawless for 5-15 minutes, before losing connection and I have to reboot to get it working for the same amount of time again. I’ve tried it with a custom firmware, a confirmed working pool firmware and with the default squirrel firmware. Will be testing yours once im back home. This is the error im receiving after it has been working for 5-15 minutes. 5A7C3818-2F12-4211-B4DF-7327810B7EC3

darknessbetz avatar Aug 02 '22 14:08 darknessbetz

@darknessbetz you're the 2nd person reporting it stops working after 20 minutes of use or so, the other guy was going to try to put a heat sink on the FPGA and the USB chip. I can keep you updated how it goes.

ufrisk avatar Aug 02 '22 14:08 ufrisk

I'm the same guy that contacted you on twitter regarding this issue. I wanted to also make a post on here just in case someone else had figured out / also have this issue. I'm getting a third USB cable today just to 100% exclude a cable issue.

darknessbetz avatar Aug 02 '22 14:08 darknessbetz

@darknessbetz any new findings? I am having the same issue but with a little different error message: DEVICE: FPGA: ERROR: Unable to retrieve required Device PCIe ID [4,v4.10,0000]

pschellack avatar Aug 16 '22 09:08 pschellack

@pschellack Hey! Tried it with a third USB cable, same result. Tried it on 3 different computers with different motherboards, even AMD/Intel with same result. Pretty much my last option was a faulty board. Requested a return from Lambda, no answer for almost 3 weeks now. So I went ahead and just bought a new one, and that one is working flawlessly. So it was in fact a faulty board. Still trying to get the first one returned. As of your issue I'm not so sure, I would suggest trying everything else before ordering a new one like I did!

Good luck with the troubleshooting, hope you find a cheaper solution than me! :D

darknessbetz avatar Aug 16 '22 15:08 darknessbetz

Hello, I am also facing this issue but only when attempting this via the CLI. Whenever I have a python script using memprocfs library everything reads and works fine. Any tips?

ArcticSlayy avatar May 16 '23 13:05 ArcticSlayy

@ArcticSlayy have you downloaded FTD3XX.dll from ftdichip and placed it alongside MemProcFS / pcileech?

What does it say if you try to execute: pcileech.exe display -min 0x1000 -device fpga -v

ufrisk avatar May 16 '23 21:05 ufrisk

Hello ! I can’t deal with the board, the protection is disconnected, (IOMMU) is disconnected, tried through the laptop, the driver has been installed and has no errors, but he doesn’t see it, the system on the AMD, tried it on the intel, does not work, tried 1.3.0.2 - 1.3. 0.4 drivers, 4.4 - 4.15, I tried to connect the cable to the same computer where there is a fee, tried to kill the frequency of RAM (2800), put 2333MHz, nothing happened, I don’t want to flash the firmware. Device: FPGA: Error: Unable to Retrieve REQUIRED DEVICE PCIE ID [4, V4.11.0000] As I understand it, there is a firmware here and he sees it, but they confuse it 0000, tried different slots Pcie x16/x4/x1 474734545 56843234522222 53465788213 plz Help me=(

Fightergf avatar Jun 24 '23 13:06 Fightergf

@Fightergf

You have a working connection over USB.

You don't have a good PCIe connection to the target system for some reason, the 0000 tells that your device haven't been assigned a PCIe ID by the system for some reason.

Which device are you using and are you running the default PCILeech firmware I provide, or do you have a custom firmware?

If you have a custom firmware I'm sorry I cannot help. Sometimes custom firmwares are goofy. A lot of people are selling these but not so many contribute to my project. I'm not willing to give huge amounts of support for free just so that other people can earn a lot of money on my open source tools. If you're running custom firmware I'm afraid I'd have to ask you contact the vendor (or maybe someone else here have good ideas).

ufrisk avatar Jun 24 '23 15:06 ufrisk

PCI_E4 will be unavailable when an M.2 SSD is installed in the M2_2 slot. MSI b550 MORTAR

Fightergf avatar Jun 25 '23 20:06 Fightergf

@Fightergf thanks for the update, by the sounds of it that sucks :\

ufrisk avatar Jun 25 '23 22:06 ufrisk

@Fightergf thanks for the update, by the sounds of it that sucks :
667934353 This is fine? Pages read: 918016 / 4387712 (20%) Pages failed: 3469696 (79%)

Fightergf avatar Jun 26 '23 16:06 Fightergf

DMA is working :)

Probe is super agressive tho and things seems to have stopped working a short way in. This is quite normal and a reboot will clear it up.

If you're on AMD (also otherwise) I can recommend using the memmap feature for extra stability. https://github.com/ufrisk/LeechCore/wiki/Device_FPGA_AMD_Thunderbolt

Best wishes with your DMA attacking 👍

Since your device works and issue is resolved I'm closing this issue.

ufrisk avatar Jun 26 '23 16:06 ufrisk