struct wi_req: how to deal with removal, affects multiple ports
sam at errno.com
Mon Oct 1 14:34:07 PDT 2007
Andrew Thompson wrote:
> On Mon, Oct 01, 2007 at 09:40:35PM +0200, Ulrich Spoerlein wrote:
>> on July 11th you removed the definition for struct wi_req on -CURRENT
>> from sys/dev/wi/if_wavelan_ieee.h with the following commit message
>> revision 1.21
>> date: 2007/07/11 21:25:48; author: thompsa; state: Exp; lines: +2 -0
>> Now that wicontrol has been removed from the base system the corresponding
>> ioctls can be removed. These have been #ifdef'd out and left as a reference in
>> case any of the RIDs need to be turned into sysctls at a later date.
>> Reviewed by: sam, avatar
>> Approved by: re (kensmith)
>> I don't know why, but recently at least the ports xwlans and wmwifi fail
>> to build because of the missing definition, I guess. bsd-airtools has
>> recently been flagged as broken, too. Presumably due to the same reason.
> Up until that commit wi(4) was the only driver to support the
> SIOCGWAVELAN calls, now it has been totally removed in favour of the
> net80211 systems.
>> How should these ports deal with this? Both are calling SIOCGWAVELAN
>> with wi_type set to WI_RID_COMMS_QUALITY.
> I guess these ports should be updated to use the IEEE80211_IOC_SCAN_REQ
> and IEEE80211_IOC_SCAN_RESULTS ioctls. These are driver independent and
> supported by all the wireless drivers, src/sbin/ifconfig/ifieee80211.c
> is a good reference.
> I see that wmwifi-bsd.patch from wmwifi could be updated reasonably
> easy, I can help if you like.
This issue came to me previously and I said basically the same
thing--the old api's were deprecated long ago (w/ the promise to pull
the plug in 7.0). For example, I offered an updated dstumbler that read
radiotap with libpcap for many years but noone updated the port.
Anything wireless should use the current ioctls and if there are any
issues I will help. As Andrew mentioned ifconfig is the best reference
for the moment (though I have changes to make the code less of a
steaming pile of hacks). The best solution would be for someone to take
the ifconfig code and write a library.
More information about the freebsd-ports