Italiano English
Modifica History Actions

ath5k

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* free (as in freedom), 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:

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

 2462, 2467, 2472, 2477, 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