Subject: more on Re: NetBSD DWL-520+ Support
To: David Young <dyoung@pobox.com>
From: Sam Thigpen <sthigpen@sdf.lonestar.org>
List: tech-kern
Date: 03/07/2004 16:38:02
On Fri, 9 Jan 2004, David Young wrote:
>
> At the author's request, I looked at this. The code looks very clean,
> and I encourage you to port it.
>
> The FreeBSD driver does not look like it makes enough use out of
> ieee80211 #defines and structs. In if_acxtemplate.c, for example, I see
> some opportunities to use `struct ieee80211_frame' and some IEEE80211_
> constants. The code for assembling beacons should move up to the IEEE
> 802.11 layer, since it can be re-used by other drivers.
The FreeBSD structures need to be matched with the NetBSD ieee80211
structures.
Anything more on the mtx functions?
> For ACX100, it is not clear to me what the division of labor between
> the radio and the host is. Since the host has to assemble the beacon,
> I imagined it would be responsible for all the other management frames,
> but I do not see where it receives/transmits those.
The beacon is initialized in the attach function and configured with io to
the firmware (Is this what you mean by the radio level?). (I am also
looking for the schematics of the actual hardware radio, consisting of
steps of capacitators, resistors, etc -- I am curious if it is possible to
tune the frequency of the antenna with any of these cards).
From what I read the transmit function writes the control, rate, packet
length, timing values, etc. to the card chipset which then executes the
wireless transmission based on this load..
from: FreeBSD driver: if_acxpacket.c:
acx_packet_tx(struct ifnet *ifp)
... [ much deleted ] ...
WRITEB(&sc->mem2, offset + ACX_PACKET_REGB_CTL, control);
WRITEB(&sc->mem2, offset + ACX_PACKET_REGB_RATE, rate);
WRITEL(&sc->mem2, offset + ACX_PACKET_REGL_LENGTH, packet_len);
WRITEL(&sc->mem2, offset + ACX_PACKET_REGL_TXTIME, time_second);
... [ much deleted ] ...
I am trying to do this as a lkm for faster debugging, if anyone else takes
this approach??
http://sthigpen.freeshell.org/netbsd/
Sam.
--------------------------------------------------
SA Thigpen * KL1FE * http://sthigpen.freeshell.org
--------------------------------------------------