Hi, all:
Now I'm striving with a USB UHCI driver
for MAC OS 10.2.8.
All the four transfer types (Control,
Bulk, Interrupt & Isochronous) can work well,
however, after system went to sleep mode, I can't wake up the system by using USB
keyboard or USB mouse connected to the UHCI card.
I have carefully compared my
driver with Apple's OHCI driver, but don't know why.
Hardware:
UHCI card: VT5687B, VIA Technologies
(has no power management function)
Plugged
in one PCI slot.
UHCI host: VT6202
Computer: 1.25GHz PowerPC
G4, 256M SDRAM
Software:
MAC OS X 10.2.8
IOPCIFamily-12.2
IOUSBFamily-203.4.7
Several days before, there was another
bug which I have solve myself.
I think it has something to do with
this issue.
The bug is:
The USB keyboard or mouse connected to
the UHCI card can't work after
system resume from sleep mode.
The reason is the PCI card was
power off during system sleep. So re-initialization
after system resume is
necessory. Then I added
some codes to Function
'UIMInitializeForPowerUp' &
'UIMFinalizeForPowerDown'. These codes are similar
to 'UIMInitialize' & 'UIMFinalize'
respectively, except for those dealing with memory
allocation and deallocation. So after
resume, USB mouse and KB can work again,
but using them to resume the system is
still impossible.
Then my question is: Now that the power
to the card is removed, can we send a interrupt
signal to resume the system? Namely,
can I solve this question only by modifying my UHCI
driver codes?
Thank you very much.
Jason
|