I'm delighted to announce that I've got the Opti Firelink 82c861 chip working with the Personality card.
We no longer need to source the scarce CMD 0670 chips.
I compared the USB logs of the working 0670 chip and troublesome Firelink chip in Apple System Profiler. The error in the Firelink's log window was 'OverCurrent Indicator Change detected' after which the chip would just hang, and fail to complete initialisation. Looking at the datasheet for the Firelink, PWRFLT1 and 2 are responsible for indicating that an over-current fault has occured on each of the USB ports. It also says 'their polarity can be software controlled: strap low for active high, strap high for active low.' On my design, PWRFLT2 is tied high through a 10K resistor, since there is no second USB port, but PWRFLT1 is left floating. I decided to try tieing it high, which required a bit of a bodge to do:
Like this, it works. I can plug in a USB device and it's recognised and works perfectly.
So, to sum up: PWRFLT1 is used to indicate to the USB chip, by use of an optional glue logic chip at U9, that an overcurrent fault has occured. This feature is redundant if using a fuse to supply power, which in the current design we do. The 0670 chip does not care if this line is left floating, but the 82c861 errors out. Solution, tie it to +5V with a 10K resistor.