Well my original question is not answered, but I just got this from FTDI based on the input from Tsuneo.
A combination of the location IDs and descriptions can help you. If you convert the values to hex and flip the order (MSByte first), you'll see a pattern:
0 0 116 33 = 0x00 0x00 0x74 0x21
0 0 116 49 = 0x00 0x00 0x74 0x31
0 0 116 34 = 0x00 0x00 0x74 0x22
0 0 116 50 = 0x00 0x00 0x74 0x32
If you read from left-to-right now you have:
- the 7th motherboard USB root hub
- the 4th port of the root hub
- the 2nd port of your internal hub
- the 1st port of the first FT2232D
- the 7th motherboard USB root hub
- the 4th port of the root hub
- the 3rd port of your internal hub
- the 1st port of the second FT2232D
- the 7th motherboard USB root hub
- the 4th port of the root hub
- the 2nd port of your internal hub
- the 2nd port of the first FT2232D
- the 7th motherboard USB root hub
- the 4th port of the root hub
- the 3rd port of your internal hub
- the 2nd port of the second FT2232D
The ports of the FT2232D will always be the right-most digit. Since your hub is "fixed", it will be the second digit from the right. There could be other digits depending on if you have additional hubs in the chain. For example if you had a 4 port hub plugged into the root hub, and your circuit was conneted to port 3 of that hub, then you'd have
0x00 0x07 0x43 0x21.
From the location information and description, you can then build a table of which port is where, then open the desired port by location. I don't recall if you're using an EEPROM, but if you are, you can also read the chip's serial number and work that into the location/description information as well.