linux/drivers/staging/wlags49_h2/README.ubuntu
<<
>>
Prefs
   1=======================================================================
   2WLAN driver for cards using the HERMES II and HERMES II.5 chipset
   3
   4HERMES II Card
   5
   6PCMCIA Info: "Agere Systems" "Wireless PC Card Model 0110"
   7             Manufacture ID: 0156,0003
   8
   9HERMES II.5 Card
  10
  11PCMCIA Info: "Linksys" "WCF54G_Wireless-G_CompactFlash_Card"
  12             Manufacture ID: 0156,0004
  13
  14Based on Agere Systems Linux LKM Wireless Driver Source Code,
  15Version 7.22; complies with Open Source BSD License.
  16=======================================================================
  17
  18DESCRIPTION
  19
  20The software is a modified version of wl_lkm_722_abg.tar.gz from the
  21Agere Systems website, addapted for Ubuntu 9.04.
  22
  23Modified for kernel 2.6 by Henk de Groot <pe1dnn@amsat.org>
  24Based on 7.18 version by Andrey Borzenkov <arvidjaar@mail.ru> $Revision: 39 $
  25
  26INSTALLATION
  27
  28Unpack in a new directory.
  29
  30Open a terminal screen.
  31
  32Change directory to the source directory
  33
  34Type command
  35
  36make
  37
  38and wait until it is finshed. Now you have build the module
  39wlags49_h2_cs; this module is meant for a HERMES II card.
  40
  41The driver is tested with a Thomson SpeedTouch 110 Wireless PC Card.
  42For the test Station mode was used with WEP. The driver is supposed
  43to support WAP and as accesspoint that is NOT tested.
  44
  45If you have a card using the HERMES II.5 chip you have to make
  46changes to the Makefile and uncomment -DHERMES25. This will build
  47driver wlags49_h25_cs.
  48
  49Note: You can determine 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)
  53
  54After successful compile type command
  55
  56sudo make install
  57
  58to install the module.
  59
  60Now the card should be recognized. It should be able to configure
  61and use the card with NetworkManager. Wpa_supplicant also works, as does
  62manual configuration using the iwconfig/iwlist programs.
  63
  64Note: I only tested Station mode with WEP but if I didn't break anything
  65WPA and AP mode should also work; note however that WPA was experimental
  66in the original Agere driver!
  67
  68Note: to compile as AP change the makefile and remove the line
  69-DSTA_ONLY \
  70
  71(or comment it, but in that case make sure to move it after all the
  72 flags you want to use)
  73
  74CHANGES
  75
  76The HCF functions to control the card are virtually unchanged, the only
  77changes are meant to fix compiler warnings. The only real change is in
  78HCF_WAIT_WHILE which now has a udelay(2) added to give a small delay.
  79
  80The 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 apparently 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
  88
  89The major problem was the order in which calls can be made. The original
  90looks like a traditional UNIX driver. To call an "ioctl" function you
  91have 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
  93changed; the former ioctl functions are now called before "open" and
  94after "close", which was not expected. One of the problems was enable/
  95disable of interrupts in the HCF. Interrupt handling starts at "open"
  96so if a former "ioctl" routine is called before "open" or after "close"
  97then nothing should be done with interrupt switching in the HCF. Once
  98this was solved most HCF_ASSERTS went away.
  99
 100The last point, recovery actions added, needs some clarification.
 101Starting the card works most of the time, but unfortunately not always.
 102At a few times recovery code was added; when the card starts to
 103misbehave or the communication between the HCF and the card is
 104out of sync and the HCF enters DEFUNCT mode everything is reset and
 105reinitialized. Note, hcf.c contains a lot of documentation. It takes
 106some time but slowly some things become clear. Also some unresolved
 107issues are mentioned in hcf.c, so there are still unknown bugs.
 108
 109The card problems are almost in all cases when starting up and before
 110the first association with an AP, once the card is in operation it
 111seems to stay that way; when debugging no HCF_ASSERTS appear anymore.
 112Note: some HCF_ASSERTS still appear, in a number of cases it is a real
 113error, for example at card removal the missing card is detected.
 114
 115LICENSE
 116
 117The Agere Systems license applies. This is why I include the original
 118README.wlags49. The instructions in that file are bogus now. I also
 119include the man page. Even though setting parameters on the module
 120does not work anymore but it provides some information about all the
 121settings.
 122
 123I have no personal contact with Agere, but others have. Agere
 124agreed to make their software available under the BSD license.
 125This driver is based on the 7.22 version.
 126
 127The following was mailed by Agere to Andrey Borzenkov about this:
 128
 129    --- Begin Message ---
 130
 131        * From: TJ <tj@xxxxxxxxxxx>
 132        * Date: Mon, 05 Feb 2007 19:28:59 +0000
 133
 134    Hi Andrey,
 135
 136    I've got some good news for you/us/the world of Hermes :)
 137
 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.
 141
 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.
 144
 145    Regards,
 146
 147    TJ.
 148
 149    ---------
 150    On Mon, 2007-02-05 at 13:54 -0500, Pathare, Viren M (Viren) wrote:
 151
 152
 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.
 158
 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.
 163
 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.
 168
 169    Hope this helps.
 170
 171    Sincerely,
 172
 173    Viren Pathare
 174    Intellectual Property Licensing Manager
 175    Agere"
 176
 177
 178
 179    --- End Message ---
 180
 181