[PATCH] Add extended 'driver' command

Jouni Malinen j
Mon Apr 11 11:32:18 PDT 2011

On Fri, Apr 08, 2011 at 09:41:27AM -0700, Dmitry Shmidt wrote:
> I totally agree with your approach, however it has two disadvantages:
> 1) We are adding needed commands in proper way slightly slower than
> their demand appears.
> For example, important command to get RSSI and other association
> statuses was added several days ago, and
> still without external API.

Are you talking about wpa_supplicant/hostapd driver wrapper API or the
kernel interface (nl80211) or both?

"Several days" does not sound too problematic, but sure, there is room
for improving the way new functionality and interfaces gets introduced.
Anyway, it needs to be understood that the driver_ops API within
wpa_supplicant/hostapd is going to require more thorough review due to
the desire to avoid unnecessary changes in it in the future (and this
obviously applies to the kernel interface much more).

> 2) Some commands implementation is vendor-specific, using sysfs or special IOCTL
> So my point is let's add something similar to old private command
> approach in WEXT and it will give to people flexibility
> to extend functionality that is still not mainstreamed. And then let's
> try to move all new commands to proper API as you
> suggested.

It would be useful to identify some specific examples of vendor-specific
mechanisms so that it would be possible to evaluate whether they really
need to be vendor-specific or whether there would be benefit in making a
common interface for them.

The private ioctl approach in WEXT results in a horrible mess and driver
dependencies. I cannot really support that approach in upstream Linux or
wpa_supplicant/hostapd. If you truly need faster way of adding new
commands without getting them through proper upstream review, you can do
that in your own tree(s).

I'm not saying that it would be impossible to get some vendor-specific
things into wpa_supplicant/hostapd, but that really needs to be an
exception and there needs to be a good justification for each change and
not just a patch to provide a tunnel between wpa_supplicant control
interface and a WEXT private ioctl like mechanism in a driver to pass
through any arbitrary stuff that people may come up with.

Jouni Malinen                                            PGP id EFC895FA

More information about the Hostap mailing list