I have been observing unexpected USB resets in a product I am troubleshooting. The board has three USB devices internal to itself: a 2.0 hub chip, a PIC18F4550 which I programmed, and a touch panel circuit. Everything works fine until we attach another device to the hub - a mouse-keyboard combination custom-designed for the overall product. Then I see all three USB devices (the PIC, the touch panel, and the mouse-keyboard) are USB-reset every 2-5 minutes.
Reading through the spec and a couple of USB design books, it seems to me that the USB reset is normally originated by the USB root/host computer. Is it reasonable that that computer would issue resets to devices? Is it possible that my hub chip is doing it on its own?