Probably not the best fit in terms of section, but I think this is most relevant as this isn't equipment or analog related.
In a design I'm working with this FTDI FT4232 huge quad port / MSSE chip. I've had experience with the Ft232BL which was 'easy enough' and just thought the FT4232H would work similar. So I followed the Typical application circuits, hooked up external EEPROM and RX/TX indicators (for debugging) and prototyped it. The RX/TX indicators was different in this perspective because of a lack of pins, so I had to add a 74HC595 shift register (according to the datasheet) to make it work. This is a prototype, so it's nice to have it on there.
Now when I soldered it on the prototype board, it didn't work. When I plug the device in Windows gives a message 'Device not recognized'. USBView tells no PID/VID whatsoever and says DeviceEnumerationFailed. A device 'Unknown device' appears in Device Manager. The device shows code 43, which is basically telling me something is wrong. If I pinpoint a exact driver file, I get the explicit message "Cannot start the device (code: 10)"
Fair enough I thought, let's debug the circuit. Voltages were fine: 1.8V VCore and 3.3V everywhere else. Was it held in reset? No, if I plug in USB the reset becomes high to 3.4V (which means inactive). Does the oscillator work? Yes, shows 12MHz very neatly - until it goes into suspend mode. When I it's unplugged, the oscillator is on. When I plug it in, the oscillator keeps going for a few seconds and then cuts off.
I read this is the suspend mode. The suspend pin also goes high/low. Clearly, something is not going well here. So I thought well, maybe I killed the chip so I baked a new board up. Exact same behaviour. Voltages are good, oscillator is working, there is EEPROM clocks going across etc.
I'm absolutely confused what's wrong. I tried leaving out the EEPROM (corrupt configuration maybe?), I tried 0 ohm resistor instead of 27 ohms on the USB line, I tried pulling the RESET to 3.3V all the time, nothing had effect. I checked the soldering on the last board by probing every pin with their neighbours. No shorts. All decoupling caps are placed as close to the chip. There is a ground plane under the chip so I'm sure all caps and power pins have the smallest loop, and caps have shortest path to GND. It's a 4 layer board, so getting 3.3V and GND spread is rather easy.
The odd thing is that a FT232 design before works fine (never had a problem with it) with the same PC, drivers and USB cable (which some say may be a factor). In my mind, I have implemented the Typical Applications exactly and just added the RX/TX indicators. The EEPROM is a atmel 96C46 part by the way. The USB connector may be weird, but this is a 8-pin C-GRID connector (internal device), which I have used before. I know the PWREN# signal should be USB_PWREN#, but as it's an output I don't believe that could be a factor in the function of the circuit.
Does anyone have any similar experiences and tips on what could be wrong or something overlooked?