Klakap wrote:now I wait and check for values in uhci_mem[0] but nothing happend. Please where can be error?
It could be many things. You need to check all of the following:
- Are you using physical addresses? You must have all memory access, physical addresses.
- Are these addresses below the 4gig address space?
- Is the Run bit set in the command register?
- Have you reset the device and waited the allotted time for it to recover?
- Have you powered the port?
- Have you checked the status byte? Does it change from 0x80 to another value?
- If it is still 0x80, then the controller's stack hasn't found it. Check the Frame Pointers, QUEUE and TD pointers.
There are many things you need to check.
Are you running your code via an emulator? If so, how about Bochs? Set the Debug flag for the UHCI and look at the log file.
Ben
-
http://www.fysnet.net/the_universal_serial_bus.htm