Here are my screenshots from the scope for D+ (channel 1) and D- (channel 2). You can see that the reply from the device is with 5V levels since I omitted the zener diodes. Even with the zeners you should see which is the host's request and which the device reply by the voltage levels.
The first image shows an overview of the message exchange, the second is a zoom-in on a different request.
Problems with HIDkeys on atmega32 @WinXP
Finally I found the issue: as in most cases, it's located behind the screen
The trouble was caused by the pull-up which has been placed between VCC and D+ instead of VCC and D-, so the device always registered as full-speed instead of low-speed.
I've looked several times at the pull-up, but due to some strange reasons I thought D+ was the right line. Yesterday late night I had a look at the USB spec and I was wondering why the schematic there looks so wrong .....
Now everything works as expected
Christian: thanks for your extensive help and your awesome work! Sorry for the trouble I've caused....
Regards,
Oliver
The trouble was caused by the pull-up which has been placed between VCC and D+ instead of VCC and D-, so the device always registered as full-speed instead of low-speed.
I've looked several times at the pull-up, but due to some strange reasons I thought D+ was the right line. Yesterday late night I had a look at the USB spec and I was wondering why the schematic there looks so wrong .....
Now everything works as expected
Christian: thanks for your extensive help and your awesome work! Sorry for the trouble I've caused....
Regards,
Oliver