Yet another USB Gecko clone

Portables, case replacements, mods etc, all in here!
User avatar
Streetwalker
Posts: 1744
Joined: Mon Dec 30, 2013 7:50 am
Location: Israel

Re: Yet another USB Gecko clone

Post by Streetwalker » Sat Nov 03, 2018 12:36 am

I haven't tried HBC as I don't even have a Wii, but that shouldn't be the problem. You could give Swiss a try, it will output debugging information over slot B (must be enabled first). If the FTDI shows up on USB then it's working. Flashing it only changes some information in the descriptor that isn't relevant to proper functionality.
qwerty123
Posts: 2
Joined: Fri Nov 09, 2018 11:22 am

Re: Yet another USB Gecko clone

Post by qwerty123 » Fri Nov 09, 2018 11:27 am

How would I make USB Gecko? Is it even possible in 2018? If so, please can you tell me where I can buy the parts. Can you use any XC9572xl or does it have to be a specific one? Thanks
User avatar
Streetwalker
Posts: 1744
Joined: Mon Dec 30, 2013 7:50 am
Location: Israel

Re: Yet another USB Gecko clone

Post by Streetwalker » Fri Nov 09, 2018 1:15 pm

Everything you asked is listed in the OP.
qwerty123
Posts: 2
Joined: Fri Nov 09, 2018 11:22 am

Re: Yet another USB Gecko clone

Post by qwerty123 » Fri Nov 09, 2018 2:25 pm

What is the OP? Thanks for the quick reply.

Edit: Oh, it means original post.
Some items aren't on Farnell anymore so can I buy them anywhere else, thanks.
Cameron_MKW
Posts: 3
Joined: Sat Apr 06, 2019 12:40 pm

Re: Yet another USB Gecko clone

Post by Cameron_MKW » Sat Apr 06, 2019 12:46 pm

-deleted-
Last edited by Cameron_MKW on Sun Apr 19, 2020 12:24 pm, edited 1 time in total.
User avatar
StarkNebula
Posts: 66
Joined: Fri Feb 21, 2014 5:58 am
Location: Toronto, Canada
Contact:

Re: Yet another USB Gecko clone

Post by StarkNebula » Sat Feb 22, 2020 2:36 am

I would appreciate if someone could more accurately outline the specifics of the CPLD (and perhaps USB controller for good measure too) for anyone trying to build their own. The original post lacks any specifics about the part in question. Farnell no longer lists the item on their site. Wayback Machine would/does not work because the site fetches from a database. I emailed support a week ago with the part and Farnell number provided but have not heard back.

That being said, I am trying to find the specifics myself. I can only use my judgement with the information provided to try and guess what it is. I may have found some parts that is the same or matches the specifications based purely on the shoestring information and images in this thread. My understanding is these are the significant specs needed:
  • XC9500XL series chip, specifically XC9572XL
  • 44pin TQFP/VQFP package (surface mount)
  • Voltage range includes 3.3v (would use the 3.3v from the GC Memory Card port)
  • Delay time: 10ns (shorter delays exist, is this critical?)
  • 72 Macrocells (assumed correct since it likely identifies the part number, XL9572XL)
  • 4 logic elements/blocks (or more?)
  • 1600 gates (or more?)
If correct, there are a few results on Digikey that satisfy the requirements. Prices range due to operating temperature and nanosecond delay times.

10ns variants 7.5ns variants Any confirmation from someone with either the knowledge or that has previously acquired the required CPLD and can read their markings on the chip (the images in this thread do not help with that one) or has the datasheet would be immensely appreciated.
Last edited by StarkNebula on Sat Feb 22, 2020 10:32 pm, edited 1 time in total.
mj_judge
Posts: 9
Joined: Thu Feb 13, 2020 9:46 pm

Re: Yet another USB Gecko clone

Post by mj_judge » Sat Feb 22, 2020 9:20 pm

StarkNebula wrote:
Sat Feb 22, 2020 2:36 am
I would appreciate if someone could more accurately outline the specifics of the CPLD (and perhaps USB controller for good measure too) for anyone trying to build their own. The original post lacks any specifics about the part in question. Farnell no longer lists the item on their site. Wayback Machine would/does not work because the site fetches from a database. I emailed support a week ago with the part and Farnell number provided but have not heard back.

That being said, I am trying to find the specifics myself. I can only use my judgement with the information provided to try and guess what it is. I may have found some parts that is the same or matches the specifications based purely on the shoestring information and images in this thread. My understanding is these are the significant specs needed:
  • XC9500XL series chip, specifically XC9572XL
  • 44pin TQFP/VQFP package (surface mount)
  • Voltage range includes 3.3v (would use the 3.3v from the GC Memory Card port)
  • Delay time: 10ns (shorter delays exist, is this critical?)
  • 72 Macrocells (assumed correct since it likely identifies the part number, XL9572XL)
  • 4 logic elements/blocks (or more?)
  • 1600 gates (or more?)

If correct, there are a few results on Digikey that satisfy the requirements. Prices range due to operating temperature and nanosecond delay times.

10ns variants 7.5ns variants
Any confirmation from someone with either the knowledge or that has previously acquired the required CPLD and can read their markings on the chip (the images in this thread do not help with that one) or has the datasheet would be immensely appreciated.
https://wiibrew.org/wiki/USB_Gecko

have you had a look here, there is a lot of information about how it works.
User avatar
StarkNebula
Posts: 66
Joined: Fri Feb 21, 2014 5:58 am
Location: Toronto, Canada
Contact:

Re: Yet another USB Gecko clone

Post by StarkNebula » Sat Feb 22, 2020 10:30 pm

mj_judge wrote:
Sat Feb 22, 2020 9:20 pm
https://wiibrew.org/wiki/USB_Gecko

have you had a look here, there is a lot of information about how it works.
Thanks mj_judge. I haven't been on that page in a long time. The information helped shed some light on the device itself but doesn't fully address the concern I have which is that the layman will not be able to build a USB Gecko without specifics on the CPLD. The classic USB Gecko in the link is a 100pin package and has flash memory on the board, both not part of the design of the one in this thread. The CPLD is also some 17$USD based on a quick search (https://www.mouser.ca/ProductDetail/Int ... a%2FwQKw==).

However, it lead me to narrow down a few things. What I learned and can infer is:
  • The original CPLD has 440 Macrocells, USB Gecko likely uses much less
  • The original CPLD had 57 Logic Element/Blocks, USB Gecko likely uses much less
  • The operating temperature is 0C to 70C
  • Propagation delay of 5.4ns. "The delay specification in a CPLD is the maximum (i.e. worst case) pin-to-pin delay. That is, the maximum delay it takes for a signal "edge" to propagate from any pin to any other pin through the internal (combinational) logic." (source on StackExchange)
That shortlists the parts I think are compatible to these 2. If I had to guess, I would think either works but would play it safe and grab the one with less delay.
mj_judge
Posts: 9
Joined: Thu Feb 13, 2020 9:46 pm

Re: Yet another USB Gecko clone

Post by mj_judge » Tue Feb 25, 2020 10:32 am

StarkNebula wrote:
Sat Feb 22, 2020 2:36 am
I would appreciate if someone could more accurately outline the specifics of the CPLD (and perhaps USB controller for good measure too) for anyone trying to build their own. The original post lacks any specifics about the part in question. Farnell no longer lists the item on their site. Wayback Machine would/does not work because the site fetches from a database. I emailed support a week ago with the part and Farnell number provided but have not heard back.
hey sorry I was half asleep when I replied to this, I realise you are trying to rebuild one of these clone devices and not re-create the official one.

https://www.xilinx.com/support/document ... /ds057.pdf

Heres the datasheet to the CPLD, I presume you have it? the specific one quotes was the XC9572XL-10VQG44C (This corresponds to 1605849 that used to be available from farnells)

XC9572XL-10VQG44C 10 ns VQG44 44-pin Quad Flat Pack (VQFP); Pb-free C

Do you need the datasheet for the 245 usb controller? there a fairly off the shelf chip.

C is commerical (i.e C = Commercial: TA = 0° to +70°C;)



hth
User avatar
StarkNebula
Posts: 66
Joined: Fri Feb 21, 2014 5:58 am
Location: Toronto, Canada
Contact:

Re: Yet another USB Gecko clone

Post by StarkNebula » Wed Feb 26, 2020 3:20 am

Thanks mj_judge! It turns out the part I had listed on Digi-Key is the same. Glad you could confirm that as I know some of the other questions in this thread relate to part specifics. If you don't mind throwing up the datasheet for the other part that would be nice for any future readers. That one is a least easier to be confident in when searching online.

For those future readers, it looks like XC9572XL-10VQG44C is the CPLD to look for. I would recommend viewing the opening post as there are specifics on how to program these chips.
mj_judge
Posts: 9
Joined: Thu Feb 13, 2020 9:46 pm

Re: Yet another USB Gecko clone

Post by mj_judge » Wed Feb 26, 2020 6:47 pm

https://bg.farnell.com/ftdi/ft245rl/int ... dp/1146034

datasheet and overview is there for the ft245, some years ago ftdi drivers messed with the eeprom of cloned chips (you can get many usb clone chips for almost free) so if using a clone be careful what drivers you use, im not sure if the current ones do
User avatar
Streetwalker
Posts: 1744
Joined: Mon Dec 30, 2013 7:50 am
Location: Israel

Re: Yet another USB Gecko clone

Post by Streetwalker » Sat Apr 18, 2020 12:37 pm

I've heard some were having trouble programming the FTDI with MProg. Since MProg is deprecated, I've added a programming file for FT_Prog which is the newer, still supported tool (this was already the case when I originally made this post, I just never bothered to provide and updated file because MProg worked for me :P).
Cameron_MKW
Posts: 3
Joined: Sat Apr 06, 2019 12:40 pm

Re: Yet another USB Gecko clone

Post by Cameron_MKW » Sun Apr 19, 2020 12:23 pm

Oh, great! Thanks for that, it worked first time no hassle.
User avatar
Streetwalker
Posts: 1744
Joined: Mon Dec 30, 2013 7:50 am
Location: Israel

Re: Yet another USB Gecko clone

Post by Streetwalker » Mon Apr 20, 2020 5:37 am

You're welcome. :)
User avatar
StarkNebula
Posts: 66
Joined: Fri Feb 21, 2014 5:58 am
Location: Toronto, Canada
Contact:

Re: Yet another USB Gecko clone

Post by StarkNebula » Thu Jul 09, 2020 2:34 am

I've been trying to get my boards programmed and I'm having the hardest time getting anything to work. I had spent a week finagling with various JTAG programmers and Arduino XSVF players with no luck so I bought one of the knock-off XILINX programmers from AliExpress (which arrived today). While it has seemingly gotten me farther I keep getting an error in IMPACT "A problem may exist in the hardware configuration. Check that the cable, scan chain, and power connections are intact, that the specified scan chain configuration matches the actual hardware, and that the power supply is adequate and delivering the correct voltage."

What I've found online isn't helping as the version of IMPACT that came with the programmer crashes when I try to debug the scan chain (both 32- and 64-bit versions, running Windows 10 x64). I'm currently downloading the newer tool chain (31GB!) which feels like using a flamethrower to light a candle.

In any case, I would appreciate it if someone who has Done It™ could explain the process of flashing a CPLD and the rationale behind why certain steps are involved. It's frustrating because plugging a USB cable in and twiddling some bits shouldn't have to be this convoluted.
User avatar
emu_kidid
Site Admin
Posts: 4698
Joined: Mon Mar 29, 2010 10:06 am
Location: Australia
Contact:

Re: Yet another USB Gecko clone

Post by emu_kidid » Thu Jul 09, 2020 3:04 am

I have done it, I typically have the PCB in the GameCube memory card slot with the power turned on when programming since my xilinx platform cable knockoff (and real ones?) don't power the device by default.
Image
User avatar
StarkNebula
Posts: 66
Joined: Fri Feb 21, 2014 5:58 am
Location: Toronto, Canada
Contact:

Re: Yet another USB Gecko clone

Post by StarkNebula » Thu Jul 09, 2020 3:23 am

Thanks for the reply! I find that a strange choice but presume it provides flexibility in device power requirements. I should probably take the time to read the manual to learn these things. Good to know!

Edit: I didn't notice before but the pinout is indeed Vref and not Vcc which makes a lot of sense. I'm running into different issues now with IMPACT 14.7 but it's still a step up. It seems more actionable. I'll have more time to dig into this during the weekend. Thanks again for the tip!
INFO:iMPACT - Current time: 2020-07-08 11:50:18 PM

Unsupported command - validateInstance invoked
, Please make sure that the command is supported on this device.

Unsupported command - getBypassInfo invoked
, Please make sure that the command is supported on this device.
Unsupported command - validateInstance invoked
, Please make sure that the command is supported on this device.
Unsupported command - checkIDCode invoked
, Please make sure that the command is supported on this device.
Unsupported command - getBypassInfo invoked
, Please make sure that the command is supported on this device.
User avatar
StarkNebula
Posts: 66
Joined: Fri Feb 21, 2014 5:58 am
Location: Toronto, Canada
Contact:

Re: Yet another USB Gecko clone

Post by StarkNebula » Thu Aug 27, 2020 10:05 pm

So I finally had a bit of time again to try things out and still no luck.

I've tried 3 operating systems at this point. From digging around I know that Windows 10 is not supported by iMPACT so I went and made both a Windows XP x32 and Windows 7 x64 virtual machine to try things out. Windows 7 would not for the life of me accept any drivers I would supply through manual installation. While it took a bit to get the XP vm to cooperate it, once I did I got iMPACT up and running easily.

From what I gather iMPACT is complaining about the hardware setup for the CPLD. The first error I encounter is:
ERROR:iMPACT - A problem may exist in the hardware configuration. Check that the cable, scan chain, and power connections are intact, that the specified scan chain configuration matches the actual hardware, and that the power supply is adequate and delivering the correct voltage.
For further context, my current setup for programming the CPLD is:
1. XILINX programmer connect to PC via USB
2. Programmer pins Vref, GND, TCK, TDO, TDI, TMS, connected to jumpers
3. Jumpers soldered onto USB Gecko pads
4. USB Gecko's GameCube 3.3v and GND pins soldered to jumpers
5. Jumpers connect to Arduino UNO 3.3v and GND pins

I heard that the CPLD is sensitive to the voltage anything non 3.3v. I'm unsure if the CPLD has accidentally used 5v from another power source when trying to do this previously. If this is a possible cause, please let me know. I'm going to try ordering a CPLD pre-programed from Digi-Key in my next order to try out anyways, so might change the CPLD out if that's a possibility. (The U.S. is a strange place and won't let me do this apparently.)

Anyways, back to iMPACT on Windows XP. Upon loading a new project, the main window displays "Identify Succeeded" and says "Right click to Add Device or Initialize JTAG chain." [Right-Click > Add Xilinx Device] and locate the file "usb_gecko.xsvf", the icon displays it in the main window. Selecting [Output > Cable Auto Connect] works and detects the cable and configures it with default settings. With "usb_gecko.xsvf" selected in the window, I can go to the "iMPACT Processes" tab and double-click "Execute Svf/Xsvf." It begins execution but then fails with:
ERROR:iMPACT:1876 - The xsvf executed operation did not complete successfully.
According to a similar Xilinx support post, the solution is to contact them which really isn't useful. (Reference: https://www.xilinx.com/support/answers/31984.html) The main window now shows "Play Failed". Trying to select [Debug > Chain Integrity Check] or [Debug > ID CODETEST] crashes iMPACT.

I've tried mucking around with no success. I started working on a Linux/Ubuntu VM but I'm having issues setting up the file transfer from host to guest, so I'll have a go at that the next time around. I'm wondering what I can even try at this point.

The output log from iMPACT:
Spoiler
Show
iMPACT Version: 14.7

iMPACT log file Started on Thu Aug 27 17:41:28 2020

Welcome to iMPACT
iMPACT Version: 14.7
Project: C:\Xilinx\14.7\LabTools\LabTools\bin\\auto_project.ipf created.
// *** BATCH CMD : setMode -bs
GUI --- Auto connect to cable...
// *** BATCH CMD : setCable -port auto
INFO:iMPACT - Digilent Plugin: Plugin Version: 2.4.4
INFO:iMPACT - Digilent Plugin: found 1 device(s).
INFO:iMPACT - Digilent Plugin: opening device: "JtagHs2", SN:526562241142
INFO:iMPACT - Digilent Plugin: User Name: JtagHs2
INFO:iMPACT - Digilent Plugin: Product Name: Digilent JTAG-HS2
INFO:iMPACT - Digilent Plugin: Serial Number: 526562241142
INFO:iMPACT - Digilent Plugin: Product ID: 30900152
INFO:iMPACT - Digilent Plugin: Firmware Version: 0108
INFO:iMPACT - Digilent Plugin: JTAG Port Number: 0
INFO:iMPACT - Digilent Plugin: JTAG Clock Frequency: 10000000 Hz
Attempting to identify devices in the boundary-scan chain configuration...
INFO:iMPACT - Current time: 8/27/2020 5:41:34 PM
// *** BATCH CMD : Identify -inferir
PROGRESS_START - Starting Operation.
Identifying chain contents...done.
ERROR:iMPACT - A problem may exist in the hardware configuration. Check that the cable, scan chain, and power connections are intact, that the specified scan chain configuration matches the actual hardware, and that the power supply is adequate and delivering the correct voltage.
PROGRESS_END - End Operation.
Elapsed time = 1 sec.
// *** BATCH CMD : identifyMPM
// *** BATCH CMD : addDevice -p 1 -file "C:/Documents andSettings/Raphael/Desktop/usb_gecko_cpld/usb_gecko.xsvf"
INFO:iMPACT:501 - '1': Added Device BoundaryScanFile successfully.
----------------------------------------------------------------------
INFO:iMPACT - Current time: 8/27/2020 5:41:49 PM
// *** BATCH CMD : Play
XSVF Interpreter v5.01, Xilinx, Inc.
XSVF file = C:/Documents andSettings/Raphael/Desktop/usb_gecko_cpld/usb_gecko.xsvf
PROGRESS_START - Starting Operation.
Execution Time = 0.380 seconds
ERROR:iMPACT:1876 - The xsvf execute operation did not complete sucessfully.
PROGRESS_END - End Operation.
Elapsed time = 0 sec.
Images of hardware programming setup:
Spoiler
Show
Image
Image
Image
Image
Post Reply