Commit bd75dd8c authored by Simon Kelley's avatar Simon Kelley Committed by Richard Henderson

[netdrvr] add atmel[_cs], new wireless driver

Attached is a driver for Atmel at76c50x WiFi cards. This code started
out as a GPL release from Atmel of pretty horrible quality and I've
extensively re-worked it with the aim of making it acceptable in the
kernel. Please could you take a look and either pass it into the patch
stream or let me know what's wrong with it?

The code has been tested on at least three different brand cards by
different people. Jean Tourrilhes took a look at an earlier version an
was positive. He's put incorporating this into 2.6 as a priority 1.
The patch works fine on 2.5.70.

The firmware issue has been addressed now. The only firmware in the
driver is a small stub which reads the MAC address from NVRAM on the
card. The source for that is included so there are no GPL issues. The
main firmware is loaded from userspace using Manuel Estrada Sainz's
sysfs firmware class. I know that the  patch for that has been
accepted but it hasn't turned up anywhere I can see yet. The 
driver compiles fine even without the firmware class. I've made a
package of the firmware images which is available from my website.

The remaining issues with the driver are migrating PCMCIA to the new
driver model and PCI support. I'm happy to produce followup patches as
the PCMCIA system gets evolved to the new driver model: the timing on
that is controlled by others. This set of chips includes a PCI version
and the driver should support that, but AFAIK there is no PCI hardware
available anywhere. If Atmel can provide me with some it will be
simple to add PCI support.

The driver uses the CRC32 library module and the firmware loader. I've
not put in dependencies on those, but when the lastest set of patches
go into Kconfig I'll set it up so that selecting the Atmel driver
selects CRC32 and FW_LOADER too.
parent b1871948
...@@ -281,6 +281,21 @@ config AIRO_CS ...@@ -281,6 +281,21 @@ config AIRO_CS
for location). You also want to check out the PCMCIA-HOWTO, for location). You also want to check out the PCMCIA-HOWTO,
available from <http://www.tldp.org/docs.html#howto>. available from <http://www.tldp.org/docs.html#howto>.
config PCMCIA_ATMEL
tristate "Atmel at76c502/at76c504 PCMCIA cards"
depends on NET_RADIO && EXPERIMENTAL && PCMCIA
---help---
A driver for PCMCIA 802.11 wireless cards based on the
Atmel fast-vnet chips. This driver supports standard
Linux wireless extensions.
Many cards based on this chipset do not have flash memory
and need their firmware loaded at start-up. If yours is
one of these, you will need to provide a firmware image
to be loaded into the card by the driver. The Atmel
firmware package can be downloaded from
http://www.thekelleys.org.uk/atmel/atmel_firmware.tar.gz
# yes, this works even when no drivers are selected # yes, this works even when no drivers are selected
config NET_WIRELESS config NET_WIRELESS
bool bool
......
...@@ -22,4 +22,5 @@ obj-$(CONFIG_AIRO_CS) += airo_cs.o airo.o ...@@ -22,4 +22,5 @@ obj-$(CONFIG_AIRO_CS) += airo_cs.o airo.o
# 16-bit wireless PCMCIA client drivers # 16-bit wireless PCMCIA client drivers
obj-$(CONFIG_PCMCIA_RAYCS) += ray_cs.o obj-$(CONFIG_PCMCIA_RAYCS) += ray_cs.o
obj-$(CONFIG_PCMCIA_ATMEL) += atmel_cs.o atmel.o
This source diff could not be displayed because it is too large. You can view the blob instead.
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment