Re: Network drivers that don't suspend on interface down

From: Daniel Drake
Date: Wed Dec 20 2006 - 21:37:59 EST


Matthew Garrett wrote:
In order to scan, we need to have the radio on and we need to be able to send and receive. What are you gonna turn off?

The obvious route would be to power the card down, but come back up every two minutes to perform a scan, or if userspace explicitly requests one. Would this cause problems in some cases?

I don't think it makes sense. For zd1211 the power consumption and heat emission goes up considerably when the interface is brought up (radio on, interrupts enabled, etc), and this is also a relatively long operation in terms of duration needed to bring the interface up and down. A scanning operation requires radio on, interrupts enabled, lots of register reading, RF calibration, RX/TX ringbuffers allocation, etc.

I don't think that supporting scanning when the interface is supposed to be disabled is sensible. If you want to scan, you are simply sending and receiving frames, it's no different from having the interface up and sending/receiving data frames.

There are additional implementation problems: scanning requires 2 different ioctl calls: siwscan, then several giwscan. If you want the driver to effectively temporarily bring the interface up when userspace requests a scan but the interface was down, then how does the driver know when to bring it down again?

Daniel
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/