Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/upstream-linus
[linux-btrfs-devel.git] / drivers / staging / wlags49_h2 / README.ubuntu
blobedee8b9385be8c5ca9e7412c0c92c739b4afb082
1 =======================================================================
2 WLAN driver for cards using the HERMES II and HERMES II.5 chipset
4 HERMES II Card
6 PCMCIA Info: "Agere Systems" "Wireless PC Card Model 0110"
7              Manufacture ID: 0156,0003
9 HERMES II.5 Card
11 PCMCIA Info: "Linksys" "WCF54G_Wireless-G_CompactFlash_Card"
12              Manufacture ID: 0156,0004
14 Based on Agere Systems Linux LKM Wireless Driver Source Code,
15 Version 7.22; complies with Open Source BSD License.
16 =======================================================================
18 DESCRIPTION
20 The software is a modified version of wl_lkm_722_abg.tar.gz from the
21 Agere Systems website, addapted for Ubuntu 9.04.
23 Modified for kernel 2.6 by Henk de Groot <pe1dnn@amsat.org>
24 Based on 7.18 version by Andrey Borzenkov <arvidjaar@mail.ru> $Revision: 39 $
26 INSTALLATION
28 Unpack in a new directory.
30 Open a terminal screen.
32 Change directory to the source directory
34 Type command
36 make
38 and wait until it is finshed. Now you have build the module
39 wlags49_h2_cs; this module is meant for a HERMES II card.
41 The driver is tested with a Thomson SpeedTouch 110 Wireless PC Card.
42 For the test Station mode was used with WEP. The driver is supposed
43 to support WAP and as accesspoint that is NOT tested.
45 If you have a card using the HERMES II.5 chip you have to make
46 changes to the Makefile and uncomment -DHERMES25. This will build
47 driver wlags49_h25_cs.
49 Note: You can detemine the type with command "pccardctrl info"
50         MANIFID: 0156,0002 = HERMES - not supported by this driver
51         MANIFID: 0156,0003 = HERMES II   (Wireless B)
52         MANIFID: 0156,0004 = HERMES II.5 (Wireless B/G)
54 After succesfull compile type command
56 sudo make install
58 to install the module.
60 Now the card should be recognized. It should be able to configure
61 and use the card with NetworkManager. Wpa_supplicant also works, as does
62 manual configuration using the iwconfig/iwlist programs.
64 Note: I only tested Station mode with WEP but if I didn't break anything
65 WPA and AP mode should also work; note however that WPA was experimental
66 in the original Agere driver!
68 Note: to compile as AP change the makefile and remove the line
69 -DSTA_ONLY \
71 (or comment it, but in that case make sure to move it after all the
72  flags you want to use)
74 CHANGES
76 The HCF functions to control the card are virtually unchanged, the only
77 changes are meant to fix compiler warnings. The only real change is in
78 HCF_WAIT_WHILE which now has a udelay(2) added to give a small delay.
80 The linux driver files (wl_xxxx.c) are changed in the following ways:
81 - Addaptations of Andrey Borzenkov applied to 7.22 source
82 - Alterations to avoid most HCF_ASSERTs
83 -- Switching interrupts off and on in the HCF
84 -- Bugfixes, things that were aparently wrong like reporting link status
85    change which checked a variable that was not changed in HCF anymore.
86 -- Used on WEP but setting keys via SIOCSIWENCODEEXT was not supported
87 -- Recovery actions added
89 The major problem was the order in which calls can be made. The original
90 looks like a traditonal UNIX driver. To call an "ioctl" function you
91 have to "open" the device first to get a handle and after "close" no
92 "ioctl" function can be called anymore. With the 2.6 driver this all
93 changed; the former ioctl functions are now called before "open" and
94 after "close", which was not expected. One of the problems was enable/
95 disable of interrupts in the HCF. Interrupt handling starts at "open"
96 so if a former "ioctl" routinge is called before "open" or after "close"
97 then nothing should be done with interrupt switching in the HCF. Once
98 this was solved most HCF_ASSERTS went away.
100 The last point, recovery actions added, needs some clarification.
101 Starting the card works most of the time, but unfortunately not always.
102 At a few times recovery code was added; when the card starts to
103 misbehave or the communication between the HCF and the card is
104 out of sync and the HCF enters DEFUNCT mode everything is reset and
105 reinitialized. Note, hcf.c contains a lot of documentation. It takes
106 some time but slowly some things become clear. Also some unresolved
107 issues are mentioned in hcf.c, so there are still unknown bugs.
109 The card problems are almost in all cases when starting up and before
110 the first association with an AP, once the card is in operation it
111 seems to stay that way; when debugging no HCF_ASSERTS appear anymore.
112 Note: some HCF_ASSERTS still appear, in a number of cases it is a real
113 error, for example at card removal the missing card is detected.
115 LICENSE
117 The Agere Systems license applies. This is why I include the original
118 README.wlags49. The instructions in that file are bogus now. I also
119 include the man page. Even though setting parameters on the module
120 does not work anymore but it provides some information about all the
121 settings.
123 I have not have personal contact with Agere, but others have. Agere
124 agreed to make their software available under the BSD licence.
125 This driver is based on the 7.22 version.
127 The following was mailed by Agere to Andrey Borzenkov about this:
129     --- Begin Message ---
131         * From: TJ <tj@xxxxxxxxxxx>
132         * Date: Mon, 05 Feb 2007 19:28:59 +0000
134     Hi Andrey,
136     I've got some good news for you/us/the world of Hermes :)
138     I got a reply from the legal representative at Agere confirming that
139     their source-code is BSD licensed, and I've included the contents of the
140     email here.
142     I hope this re-assures you so that your excellent work on the drivers
143     can be made widely available for other hackers to work with.
145     Regards,
147     TJ.
149     ---------
150     On Mon, 2007-02-05 at 13:54 -0500, Pathare, Viren M (Viren) wrote:
153     "I would like to confirm that the two drivers; Linux LKM Wireless Driver
154     Source Code, Version 7.18 and Linux LKM Wireless Driver Source Code,
155     Version 7.22 comply with Open Source BSD License. Therefore the source
156     code can be distributed in unmodified or modified form consistent with
157     the terms of the license.
159     The Linux driver architecture was based on two modules, the MSF (Module
160     specific functions) and the HCF (Hardware Control Functions). Included
161     in the HCF is run-time firmware (binary format) which is downloaded into
162     the RAM of the Hermes 1/2/2.5 WMAC.
164     This hex coded firmware is not based on any open source software and
165     hence it is not subject to any Open Source License. The firmware was
166     developed by Agere and runs on the DISC processor embedded within the
167     Hermes 1/2/2.5 Wireless MAC devices.
169     Hope this helps.
171     Sincerely,
173     Viren Pathare
174     Intellectual Property Licensing Manager
175     Agere"
179     --- End Message ---