Hi, >> Well the official Ralink driver also uses a timer to wakeup the hardware, >> there are however registers which suggest support for autowake functionality. > >> Jay, Dennis, Eddy, can you explain a but how the autowake functionality is >> implemented in the rt2800usb firmware? > > Current power saving and wake up procedure as below. > > PCI: > 1. Driver sends power-save command to firmware to turn off RF/BBP and configure > mac register (AUTO_WAKEUP_CFG) to set a hardware timer counter. > 2. When hardware timer timeout, issue an interrupt and notify the driver. > 3. Driver send wake up command to firmware to turn on RF/BBP and ready to process > packets > > USB: > 1. Driver sends power-save command to firmware to turn off RF/BBP and set > a software timer to emulate the purpose of hardware timer. > 2. When software timer timeout, driver sends wake up command to firmware to > turn on RF/BBP and ready to process packets. Thanks. So I'll add this routine to the rt2800usb driver then. :) Johannes, if you don't want to add the complexity for checking the "pending MC/BC frames" in a received frame. Would you mind if I add some utility functions to mac80211 then? That way the logic is still shared for the drivers that need it, but it doesn't impact the code paths in mac80211 itself... > Note: for future projects, hw or firmware will take more psm mechanism to reduce > some latency between firmware and host to save more power. Cool :) Thanks for the info. Ivo -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html