Italiano English
Modifica History Actions

Differenze per "ath5k"

Differenze tra le versioni 8 e 9
Versione 8 del 2008-07-29 00:27:17
Dimensione: 5843
Autore: host-78-12-2-54
Commento:
Versione 9 del 2008-08-11 21:33:09
Dimensione: 11096
Autore: host-78-12-0-176
Commento:
Le cancellazioni sono segnalate in questo modo. Le aggiunte sono segnalate in questo modo.
Linea 121: Linea 121:


From: Michael Renzmann <mrenzmann@...>
Subject: [ANNOUNCE] MadWifi project moves away from binary-only HAL in favor of ath5k
Date: Sep 20, 10:58 am 2007

Hi all.

We, the MadWifi team, announce our decision to move away from the
binary-only HAL and change the focus of our future development towards
ath5k [1], a completely free (as in freedom) driver which will eventually
become an integral part of the Linux kernel. We encourage all interested
developers to join us and contribute to our efforts.

For those who are not familiar with the concept, the proprietary "Hardware
Abstraction Layer" (HAL) [2] was designed as compromise to allow at least
one Free and Open Source Software (FOSS) wireless driver component. Unlike
many other wireless devices Atheros chipsets can use a wide range of
frequencies and the host software can control many aspects of the radio.
Regulatory agencies all over the world have laws which restrict the use of
the wireless spectrum to certain frequency bands under specific
transmission power levels. These laws drive wireless manufacturers to come
up with solutions to enforce compliance with the wide array of regulatory
agencies. The binary HAL is a wrapper around all chipset registers, and
all direct hardware access is routed through it. This approach ensures
that non-compliant settings are not applied to the radio, while allowing
the open source part of the driver to interact with the chipset in a
permissive manner.

We understand Atheros' reasons for introducing the HAL and distributing it
in binary form only, and we supported it. But this decision forced us to
deal with a black box that we could neither fix nor fully understand - a
major issue for a free software project. This prevented MadWifi from
appearing in many Linux distributions. Because of the proprietary HAL and
since the MadWifi driver also did not make use of the new mac80211 layer
in Linux it has been impossible for it to become part of the Linux kernel.
It's also been clear to us that the "security through obscurity" approach
won't work to protect the hardware against unlawful use. Regardless, we
kept working on MadWifi as no acceptable alternative existed.

This situation has changed.

A driver for Atheros wireless cards is available in OpenBSD that talks
directly to the hardware, based on reverse engineering efforts done by
Reyk Floeter. Relevant parts of the driver have been ported to Linux by
Nick Kossifidis to start OpenHAL [3], a free (as in freedom) replacement
of the proprietary HAL. Claims that the OpenBSD driver (and thus also
OpenHAL) contains stolen code slowed down the OpenHAL efforts but finally
could be voided. The Software Freedom Law Center (SFLC) [4], with the help
of Atheros, performed a thorough code review and concluded "that OpenHAL
does not infringe copyrights held by Atheros" [5]. In other words, the way
is clear now for the inclusion of an OpenHAL-based driver into the Linux
kernel.

Another important development is the work on a "central regulatory domain
agent". It aims to ensure compliance with the regulatory constraints and
rules based on the current location of the user. The agent and its
integration with the kernel will allow wireless LAN drivers to enforce
local regulations without requiring non-free software for that task. This
work will soon be published for merging with the upstream kernel.

We now see a road to move away from the binary-only HAL; it's no
comfortable road, however, and thus requires full concentration of our
resources to finally reach the ultimate goal of getting a free driver for
Atheros devices into the Linux kernel. This free driver is called ath5k,
and the work on it has already been started. We are also in contact with
Atheros to encourage them to support these efforts.

To underline our decision and commitment to ath5k we now declare MadWifi
"legacy.". In the long run ath5k will replace the MadWifi driver. For the
time being MadWifi will still be supported, bugs will get fixed and HAL
updates will be applied where possible. But it becomes unlikely that we'll
see new features or go through major changes on that codebase. The only
exception to this is the work spent on improved support for Dynamic
Frequency Selection (DFS) [6], which is used for avoiding interference
with radars.

Users who need stable and solid WLAN support for their Linux computers
should stick with MadWifi for now. Interested parties are welcome to try
ath5k and any constructive feedback is highly appreciated.

We encourage developers to contribute [7] to the free driver efforts -
it's still a long way before we reach the goal of a truly free Atheros
driver for Linux, and every helping hand is welcome.

If you have any questions, feel free to ask. Thanks for listening.

  -- The MadWifi Team

Links:
[1] http://madwifi.org/wiki/About/ath5k
[2] http://madwifi.org/wiki/About/HAL
[3] http://madwifi.org/wiki/About/OpenHAL
[4] http://softwarefreedom.org/
[5] http://www.softwarefreedom.org/news/2007/jul/31/openhal/
[6] http://en.wikipedia.org/wiki/IEEE_802.11h#DFS_Dynamic_Frequency_Selection
[7] http://linuxwireless.org/en/users/Drivers/ath5k#Hackingath5k

Ath5k

Ath5k è il nuovo driver per schede wireless con chipset atheros. Il driver in fase di sviluppo quindi molte funzionalità ancora non sono disponibili (ad esempio non è ancora possibile settare una scheda in modalità AP stando a quanto riporta il loro sito) A differenza di madwifi, ath5k è *completamente* open source, quindi abbiamo libero accesso a tutte le funzionalità del chipset. Un esempio? Il chip regola la sintonizzazione e la potenza emessa dalla scheda!
Per maggiori informazioni, andate a vedervi il sito del progetto: http://wireless.kernel.org/

Istruzioni per lo sblocco dei canali

!!! Invadere le frequenze non libere è PARTICOLARMENTE illegale !!!
(Per sapere a chi andate a rompere le scatole potete vedere il piano nazionale di ripartizione delle frequenze a questo link: http://www.urpcomunicazioni.it/radiocomunicazione.htm )

I chipset della atheros supportano una vasta gamma di frequenze (2312-2732, 4920-6100 MHz) delle quali è consentito l'utilizzo per applicazioni ISM solo ad un sottoinsieme. I militari stessi, a volte utilizzano componenti Commerciali Off-the-shielf per trasmettere nelle frequenze di loro competenza.
Questi sono i canali supportati a 2.4 e 5 Ghz:

Artheros Supported Channels (Center Frequencies) - 2GHz IEEE 802.11b/g channels (frequencies are given in MHz):

 2462, 2464, 2467, 2469, 2472, 2474, 2477, 2479, 2482

802.11a channels:

4920, 4925, 4930, 4935, 4940, 4945, 4950, 4955, 4960, 4965, 4970, 4975, 4980, 4985, 4990, 4995, 5000, 5005, 5010, 5015, 5020, 5025, 5030, 5035, 5040, 5045, 5050, 5055, 5060, 5065, 5070, 5075, 5080, 5085, 5090, 5095, 5100, 5105, 5110, 5115, 5120, 5125, 5130, 5135, 5140, 5145, 5150, 5155, 5160, 5165, 5170, 5175, 5180, 5185, 5190, 5195, 5200, 5205, 5210, 5215, 5220, 5225, 5230, 5235, 5240, 5245, 5250, 5255, 5260, 5265, 5270, 5275, 5280, 5285, 5290, 5295, 5300, 5305, 5310, 5315, 5320, 5325, 5330, 5335, 5340, 5345, 5350, 5355, 5360, 5365, 5370, 5375, 5380, 5385, 5390, 5395, 5400, 5405, 5410, 5415, 5420, 5425, 5430, 5435, 5440, 5445, 5450, 5455, 5460, 5465, 5470, 5475, 5480, 5485, 5490, 5495, 5500, 5505, 5510, 5515, 5520, 5525, 5530, 5535, 5540, 5545, 5550, 5555, 5560, 5565, 5570, 5575, 5580, 5585, 5590, 5595, 5600, 5605, 5610, 5615, 5620, 5625, 5630, 5635, 5640, 5645, 5650, 5655, 5660, 5665, 5670, 5675, 5680, 5685, 5690, 5695, 5700, 5705, 5710, 5715, 5720, 5725, 5730, 5735, 5740, 5745, 5750, 5755, 5760, 5765, 5770, 5775, 5780, 5785, 5790, 5795, 5800, 5805, 5810, 5815, 5820, 5825, 5830, 5835, 5840, 5845, 5850, 5855, 5860, 5865, 5870, 5875, 5880, 5885, 5890, 5895, 5900, 5905, 5910, 5915, 5920, 5925, 5930, 5935, 5940, 5945, 5950, 5955, 5960, 5965, 5970, 5975, 5980, 5985, 5990, 5995, 6000, 6005, 6010, 6015, 6020, 6025, 6030, 6035, 6040, 6045, 6050, 6055, 6060, 6065, 6070, 6075, 6080, 6085, 6090, 6095, 6100

Per saperne di più potete leggere questa pagina: http://www.qsl.net/kb9mwr/projects/wireless/modify.html

Ecco i passi necessari per "sbloccare" questi canali:

1) Installare un kernel che supporti ath5k. Noi abbiamo fatto le prove con il 2.6.26 ma dato che il progetto e in corso d'opera, non sono escluse modifiche sostanziali nelle prossime release. Dovete compilare il kernel con queste opzioni abilitate:

Networking  --->
  Wireless  ---> 
    <M> Improved wireless configuration API 
    <M> Generic IEEE 802.11 Networking Stack (mac80211)

Device Drivers  --->
  [*] Network device support  --->
        Wireless LAN  --->
          <M>   Atheros 5xxx wireless cards support

Se puo' esservi utile ecco un .config si base: .config

2) cambiate il file: drivers/net/wireless/ath5k/ath5k.h alla linea 26 da

#define CHAN_DEBUG      0

a

#define CHAN_DEBUG      1

modificate inoltre il file net/wireless/reg.c dalla linea 58 alla 71 sostituando a:

static const struct ieee80211_channel_range ieee80211_US_channels[] = {
/* IEEE 802.11b/g, channels 1..11 */
RANGE_PWR(2412, 2462, 27, 6, 0),
/* IEEE 802.11a, channel 36*/
RANGE_PWR(5180, 5180, 23, 6, 0),
/* IEEE 802.11a, channel 40*/
RANGE_PWR(5200, 5200, 23, 6, 0),
/* IEEE 802.11a, channel 44*/
RANGE_PWR(5220, 5220, 23, 6, 0),
/* IEEE 802.11a, channels 48..64 */
RANGE_PWR(5240, 5320, 23, 6, 0),
/* IEEE 802.11a, channels 149..165, outdoor */
RANGE_PWR(5745, 5825, 30, 6, 0),
};

queste nuove righe:

static const struct ieee80211_channel_range ieee80211_US_channels[] = {
/* IEEE 802.11b/g, hacked :-) ninux.org  */
RANGE_PWR(2412, 2732, 27, 6, 0),
/* IEEE 802.11a,hacked :-) ninux.org */
RANGE_PWR(5135, 6100, 30, 6, 0),
};

per abilitare i canali a 2 Ghz, occorre qualche manovra in piu': serve modificare il file /net/wireless/util.c e modificare a mano le funzioni ieee80211_channel_to_frequency e ieee80211_frequency_to_channel per aggiungere i canali che vogliamo (ad esempio per creare il canale 15 e settarlo a 2732 Mhz).

copilate il kernel e riavviate. Poi caricate il modulo ath5k con il comando:

modprobe ath5k

3) installate il tool iw che potete scaricare da questa pagina: http://wireless.kernel.org/en/users/Documentation/iw

per eseguire iw vi servirà anche la nuova libreria condivisa per la comunicazione user-kernel space: http://people.suug.ch/~tgr/libnl/

4) create una nuova interfaccia con il comando:

iw dev wmaster0 interface add pippo type station

e settatela sui 6.100 Ghz con il comando

iwconfig pippo channel 220 

:-) Enjoy the 6 Ghz experience!

Note: abbiamo fatto una patch ( sblocca.patch ) ma è ancora da migliorare. Cerchiamo quanto prima di pubblicare la patch da mettere in openwrt.

From: Michael Renzmann <mrenzmann@...> Subject: [ANNOUNCE] MadWifi project moves away from binary-only HAL in favor of ath5k Date: Sep 20, 10:58 am 2007

Hi all.

We, the MadWifi team, announce our decision to move away from the binary-only HAL and change the focus of our future development towards ath5k [1], a completely free (as in freedom) driver which will eventually become an integral part of the Linux kernel. We encourage all interested developers to join us and contribute to our efforts.

For those who are not familiar with the concept, the proprietary "Hardware Abstraction Layer" (HAL) [2] was designed as compromise to allow at least one Free and Open Source Software (FOSS) wireless driver component. Unlike many other wireless devices Atheros chipsets can use a wide range of frequencies and the host software can control many aspects of the radio. Regulatory agencies all over the world have laws which restrict the use of the wireless spectrum to certain frequency bands under specific transmission power levels. These laws drive wireless manufacturers to come up with solutions to enforce compliance with the wide array of regulatory agencies. The binary HAL is a wrapper around all chipset registers, and all direct hardware access is routed through it. This approach ensures that non-compliant settings are not applied to the radio, while allowing the open source part of the driver to interact with the chipset in a permissive manner.

We understand Atheros' reasons for introducing the HAL and distributing it in binary form only, and we supported it. But this decision forced us to deal with a black box that we could neither fix nor fully understand - a major issue for a free software project. This prevented MadWifi from appearing in many Linux distributions. Because of the proprietary HAL and since the MadWifi driver also did not make use of the new mac80211 layer in Linux it has been impossible for it to become part of the Linux kernel. It's also been clear to us that the "security through obscurity" approach won't work to protect the hardware against unlawful use. Regardless, we kept working on MadWifi as no acceptable alternative existed.

This situation has changed.

A driver for Atheros wireless cards is available in OpenBSD that talks directly to the hardware, based on reverse engineering efforts done by Reyk Floeter. Relevant parts of the driver have been ported to Linux by Nick Kossifidis to start OpenHAL [3], a free (as in freedom) replacement of the proprietary HAL. Claims that the OpenBSD driver (and thus also OpenHAL) contains stolen code slowed down the OpenHAL efforts but finally could be voided. The Software Freedom Law Center (SFLC) [4], with the help of Atheros, performed a thorough code review and concluded "that OpenHAL does not infringe copyrights held by Atheros" [5]. In other words, the way is clear now for the inclusion of an OpenHAL-based driver into the Linux kernel.

Another important development is the work on a "central regulatory domain agent". It aims to ensure compliance with the regulatory constraints and rules based on the current location of the user. The agent and its integration with the kernel will allow wireless LAN drivers to enforce local regulations without requiring non-free software for that task. This work will soon be published for merging with the upstream kernel.

We now see a road to move away from the binary-only HAL; it's no comfortable road, however, and thus requires full concentration of our resources to finally reach the ultimate goal of getting a free driver for Atheros devices into the Linux kernel. This free driver is called ath5k, and the work on it has already been started. We are also in contact with Atheros to encourage them to support these efforts.

To underline our decision and commitment to ath5k we now declare MadWifi "legacy.". In the long run ath5k will replace the MadWifi driver. For the time being MadWifi will still be supported, bugs will get fixed and HAL updates will be applied where possible. But it becomes unlikely that we'll see new features or go through major changes on that codebase. The only exception to this is the work spent on improved support for Dynamic Frequency Selection (DFS) [6], which is used for avoiding interference with radars.

Users who need stable and solid WLAN support for their Linux computers should stick with MadWifi for now. Interested parties are welcome to try ath5k and any constructive feedback is highly appreciated.

We encourage developers to contribute [7] to the free driver efforts - it's still a long way before we reach the goal of a truly free Atheros driver for Linux, and every helping hand is welcome.

If you have any questions, feel free to ask. Thanks for listening.

Links: [1] http://madwifi.org/wiki/About/ath5k [2] http://madwifi.org/wiki/About/HAL [3] http://madwifi.org/wiki/About/OpenHAL [4] http://softwarefreedom.org/ [5] http://www.softwarefreedom.org/news/2007/jul/31/openhal/ [6] http://en.wikipedia.org/wiki/IEEE_802.11h#DFS_Dynamic_Frequency_Selection [7] http://linuxwireless.org/en/users/Drivers/ath5k#Hackingath5k