Max Laier wrote:
On Wednesday 11 October 2006 17:32, Yuri Lukin wrote:
Doug Barton wrote ..
On Tue, 10 Oct 2006, Paul Schmehl wrote:
Why isn't anyone working on updating it?
This is a volunteer project. No one has volunteered.
Doug
I think there are some that would like to contribute but don't
know where to begin. I, for one, enjoy wireless networking
and would like to contribute to the project but I dont
know the OS internals and don't have any real programming
experience. Perhaps some basic guidance could set people
like myself on the right path? I'm not asking for hand-holding,
just something to start with.
There are three things that need to be done here:
1) Adapt the bus interface. This is not too much work and should boil
down to a couple of sed(1)s and a few manual edits. Check drivers that
are in OpenBSD and FreeBSD and compare, or just check existing drivers.
The DRIVER(9) manual page and jmg@'s paper[1,2] should provide additional
insight.
2) Use firmware(9) to load the ucode - as far as I understand the device
needs firmware as well. This shouldn't be much work and can be taken
verbatim from iwi(4).
3) Adapt the net80211 interface. This one's a bit tricky since OpenBSD
went a different way with their 80211 implementation. Again, looking at
existing drivers (esp. ath(4) as the reference implementation and iwi(4)
as a driver from OpenBSD that was also retrofitted into FreeBSD) should
give an idea what is done how.
In the end, you won't know what problems you come across until you start
with it. I can help with questions regarding 2 & 3, but will be busy for
the next two months and don't have a 3945 to test with, either.
[1] http://www.bsdcan.org/2006/papers/freebsd.driver.pdf
[2] http://www.bsdcan.org/2006/papers/freebsd.device.driver.slides.pdf
I started to port (actually try to port) this driver. I can read and
write C, but I don't have any experience and knowledge with kernel
drivers and architectural programming. I was able to understand some
pieces of the code and made some progress so far, and will try to finish
the whole driver, but it is quite difficult to me. Could you give me
some feedback, please if I'm going towards the good direction or not? I
uploaded my modified files to here:
http://gabor.t-hosting.hu/if_wpi.tar
What I did so far:
- Included the necessary headers and dropped the unnecessary ones
- Ported the driver interface (DRIVER_MODULE, MODULE_DEPENDS, wpi_ident,
wpi_ident_table[], wpi_methods[], wpi_driver,
- Added the necessary functions for wpi_methods[]
- Added the following functions in the same manner as used in our if_iwi
(with the corresponding macros):
static void wpi_radio_on(void *, int);
static void wpi_radio_off(void *, int);
static void wpi_scanabort(void *, int);
static void wpi_scandone(void *, int);
static void wpi_scanstart(void *, int);
static void wpi_scanchan(void *, int);
- Started to port wpi_attach, but that is quite complicated to me yet
What I have difficulties with:
- wpi_cmd is called differently than iwi_cmd so I have no idea how to
handle that
- at line 513 (still wpi_cmd) I don't know what macro to use, since
there's no equivalent for IWI_CMD_ABORT_SCAN
--
Cheers,
Gabor
_______________________________________________
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "[EMAIL PROTECTED]"