Just guessing (so please consider the source). Could it be that the host you are using is broken or is not operating as expected? It may be the loads your device is presenting to the host are a bit different than the hub or analyzer. And that the differences are enough to solicit different responses from the host. Or, maybe the host is not able to detect the difference between the loads for a USB 1.0 and 2.0 device? I think a high speed DEVICE(PERIPHERAL) pulls up the D+ line and a low speed DEVICE pulls up the D- line. Also, I'm not sure about what hardware your DEVICE is using. Are you sure you have designed in the correct pull up resistor. Or, perhaps, a better question is, are you sure you have PROGRAMMED the USB interface chip on your DEVICE to pull up the correct Data line for the behavior you want?