Polprzewodnikowy / SummerCart64

SummerCart64 - a fully open source N64 flashcart
https://summercart64.dev
GNU General Public License v3.0
405 stars 22 forks source link

eeprom configuration file for libftdi as an alternative to FT_PROG? #46

Closed Sukid closed 10 months ago

Sukid commented 11 months ago

My main issue is I absolutely cannot get FT_PROG to see the cart through the usb connector no matter what I do. Even after erasing and rebuilding the EEPROM with libftdi and installing the drivers from the ftdi website there's still nothing there. But I CAN get libftdi's utilities to work with it. I have written a config file myself based on the XML template, but there are options in one that I don't see in the other and it makes me quite nervous. Been having trouble finding documentation on the libftdi conf options as well.

If there's any way you would either know what the options should be, or have a way of dumping them and shipping them alongside the xml, it would be greatly appreciated.

This is the config file I wrote based on what I saw in the XML. Does this look ok?

vendor_id=0x403
product_id=0x6014

# The rest of the fields are settings which can be written to the
# FT2xx with the --flash-eeprom option.

# Max. power consumption: value * 2 mA. Use 0 if self_powered = true.
max_power=500

###########
# Strings #
###########
manufacturer="Polprzewodnikowy"
product="SC64"
serial="SC64xxxxx"

###########
# Options #
###########
self_powered=false  # Turn this off for bus powered
remote_wakeup=false # Turn this on for remote wakeup feature
use_serial=true     # Use the serial number string

# Normally out don't have to change one of these flags
in_is_isochronous=false     # In Endpoint is Isochronous
out_is_isochronous=false    # Out Endpoint is Isochronous
suspend_pull_downs=false    # Enable suspend pull downs for lower power
change_usb_version=false    # Change USB Version
usb_version=0x0200          # Only used when change_usb_version is enabled

cha_vcp=true
cha_type=FT1284
#chb_type=UART

########
# Misc #
########

# This is the relative filename that EEPROM contents will either be 
# read from or written to, depending on whether ftdi_eeprom is run
# with the --read-eeprom or --flash-eeprom option.
filename="eeprom.bin"

FT_PROG does see the cart if I use the UART header but not the usb connector. :(

EDIT: After a... lot of googling I finally found some documentation listing all the possible values.

Polprzewodnikowy commented 11 months ago

This sounds like you have residual WinUSB/libusb driver installed and it's picking up any new FT232H device overwriting default driver. Check in device manager if that's the case. You probably installed non default driver via Zadig or other method. Select device that shows up in device manager after plugging in the cart, then select option to uninstall the device and make sure to select option that removes the driver. Do this repeatedly until original FTDI driver shows up in device properties. This should resolve the issue with FT_Prog. image

Polprzewodnikowy commented 11 months ago

And one more thing - cart must use default FTDI driver for PC app (sc64deployer or UNFLoader) to work. WinUSB/libusb drivers are not supported by these programs. Initial programming procedure also relies on default driver.

Polprzewodnikowy commented 10 months ago

Closing the issue due to inactivity. I won't support any driver other than official one provided by the FTDI. My tools work only with standard drivers.

Would be great to hear if your issue was resolved.

Sukid commented 9 months ago

Closing the issue due to inactivity. I won't support any driver other than official one provided by the FTDI. My tools work only with standard drivers.

Would be great to hear if your issue was resolved.

So sorry, my brain has been somewhere else entirely for the past couple months but after fresh installing windows (and realizing my usb to uart cable had its TX and RX pins mislabeled), everything worked like a charm!!