USB device initialization problem, anyone written one?

I’m attempting to write a USB device client for a pxa270 based board and am
having trouble with the enumeration phase.

All the USB docs state that after connecting a device the host (hub) will
hold it in the reset state for 10 ms, then release the reset at which point
the client s/b in the default state listening for control transfers on
endpoint 0.

On my client when we connect the cable the client is held in reset for 10 ms
(correct) and then… nothing. Nothing is sent from the host to endpoint 0.
The host retries the reset a few times then gives up. Using a protocol
analyzer shows this to be the case.

Has anyone else written a USB client and seen this sort of thing?