This is one of my three current 'challenges'
First off, has anyone done it.
I have two cards, both Netgear.
The WG511 PCMCIA
This apparently needs a kernel rebuild to take pcmcia support out of the kernel and a patch applying.
This is apparently a PRISM chipset.
This is destined for the Laptop ..running Debian SID (sort of)
The best place seems to be:
http://ruslug.rutgers.edu/~mcgrof/802.11g/.../Documentation/
Only my Debian knowledge is holding me back and I can't download (or apt the packages because they are US only)
Then desktop
I have a NG WG311
Despite the similarity in name and the fact they are meant to be the same series
Again US export restriction prevent the firmware being ditributed so its kernel taint time....
The problem here is I just get lost....
QUOTE
Building the driver
===================
To build the driver at the top level you may need to edit Makefile.inc
to set the pathname to your Linux kernel distribution. By default this
path is obtained automatically.
If you are cross-compiling the driver for a different platform define
the CC, LD, and STRIP macros appropriately. For example:
#CC= /export/tools/bin/mips-linux-gcc
#LD= /export/tools/bin/mips-linux-ld
#STRIP= /export/tools/bin/mips-linux-strip
Once you've got Makefile.inc configured appropriately, do:
make
This will generate three important files:
Linux 2.6
driver/ath_pci.ko (driver for PCI/Cardbus devices),
ath_hal/ath_hal.ko (Atheros HAL), and
wlan/wlan.ko (802.11 support layer)
Linux 2.4
driver/ath_pci.o (driver for PCI/Cardbus devices),
ath_hal/ath_hal.o (Atheros HAL), and
wlan/wlan.o (802.11 support layer)
These files can be loaded with insmod or modprobe; e.g.
Linux 2.6
insmod wlan/wlan.ko
insmod ath_hal/ath_hal.ko
insmod driver/ath_pci.ko
Linux 2.4
insmod wlan/wlan.o
insmod ath_hal/ath_hal.o
insmod driver/ath_pci.o
(note you must load the wlan and ath_hal modules first as the driver
depends on them). You can also try:
make install
to install the drivers where they can be loaded automatically, i.e.
/lib/modules/<your kernel name>/net.
Note that you MUST do a "make clean" before compiling for a different
version of Linux; e.g. building for 2.6 after building for 2.4.
Using the driver
================
The driver should support any Atheros-based cardbus or pci device.
Management uses the normal Linux tools such as ifconfig. Support
is included for versions 12 and later of the Wireless Extensions
so tools like iwconfig should work too.
To use this software in ``station mode'' (i.e. as a client) just
bring the interface up and the driver will scan for all access
points in all supported frequency bands supported by the hardware.
Specifically for 5210-based devices scanning will happen in the
5Ghz (11a) range, for 5211-based devices scanning will happen over
both 2Ghz (11b) and 5GHz frequencies (11a). For 5212-based devices
the driver will scan both 2Ghz and 5GHz ranges and also look for
11g devices in the 2Ghz range. To restrict operation you can either
select a mode (e.g. 11b) using iwpriv or, more commonly, select the
AP based on SSID and/or channel.
===================
To build the driver at the top level you may need to edit Makefile.inc
to set the pathname to your Linux kernel distribution. By default this
path is obtained automatically.
If you are cross-compiling the driver for a different platform define
the CC, LD, and STRIP macros appropriately. For example:
#CC= /export/tools/bin/mips-linux-gcc
#LD= /export/tools/bin/mips-linux-ld
#STRIP= /export/tools/bin/mips-linux-strip
Once you've got Makefile.inc configured appropriately, do:
make
This will generate three important files:
Linux 2.6
driver/ath_pci.ko (driver for PCI/Cardbus devices),
ath_hal/ath_hal.ko (Atheros HAL), and
wlan/wlan.ko (802.11 support layer)
Linux 2.4
driver/ath_pci.o (driver for PCI/Cardbus devices),
ath_hal/ath_hal.o (Atheros HAL), and
wlan/wlan.o (802.11 support layer)
These files can be loaded with insmod or modprobe; e.g.
Linux 2.6
insmod wlan/wlan.ko
insmod ath_hal/ath_hal.ko
insmod driver/ath_pci.ko
Linux 2.4
insmod wlan/wlan.o
insmod ath_hal/ath_hal.o
insmod driver/ath_pci.o
(note you must load the wlan and ath_hal modules first as the driver
depends on them). You can also try:
make install
to install the drivers where they can be loaded automatically, i.e.
/lib/modules/<your kernel name>/net.
Note that you MUST do a "make clean" before compiling for a different
version of Linux; e.g. building for 2.6 after building for 2.4.
Using the driver
================
The driver should support any Atheros-based cardbus or pci device.
Management uses the normal Linux tools such as ifconfig. Support
is included for versions 12 and later of the Wireless Extensions
so tools like iwconfig should work too.
To use this software in ``station mode'' (i.e. as a client) just
bring the interface up and the driver will scan for all access
points in all supported frequency bands supported by the hardware.
Specifically for 5210-based devices scanning will happen in the
5Ghz (11a) range, for 5211-based devices scanning will happen over
both 2Ghz (11b) and 5GHz frequencies (11a). For 5212-based devices
the driver will scan both 2Ghz and 5GHz ranges and also look for
11g devices in the 2Ghz range. To restrict operation you can either
select a mode (e.g. 11b) using iwpriv or, more commonly, select the
AP based on SSID and/or channel.
Great its compiled BUT now what ???
It says bring the IF up but how...????
It goes on to saY
QUOTE
NOTE: adhoc mode is presently untested and may not work (send fixes).
Wireless tools cribsheet:
iwlist ath0 scan list AP's the driver has scanned
iwconfig ath0 essid "foo" set the ssid to foo
iwpriv ath0 mode 1 lock operation to 11a only
iwpriv ath0 mode 2 lock operation to 11b only
iwpriv ath0 mode 3 lock operation to 11g only
iwpriv ath0 mode 0 autoselect from 11a/b/g (default)
Wireless tools cribsheet:
iwlist ath0 scan list AP's the driver has scanned
iwconfig ath0 essid "foo" set the ssid to foo
iwpriv ath0 mode 1 lock operation to 11a only
iwpriv ath0 mode 2 lock operation to 11b only
iwpriv ath0 mode 3 lock operation to 11g only
iwpriv ath0 mode 0 autoselect from 11a/b/g (default)
IVE INSMODDED SUCESSFULLY
The modules show in lsmod ....
CODE
Module Size Used by Tainted: P
ath_pci 27536 0 (unused)
ath_hal 100960 1 [ath_pci]
wlan 31712 1 [ath_pci]
ide-tape 47664 0 (autoclean)
ath_pci 27536 0 (unused)
ath_hal 100960 1 [ath_pci]
wlan 31712 1 [ath_pci]
ide-tape 47664 0 (autoclean)
But what next ??????
Which one first.....