summaryrefslogtreecommitdiff
path: root/sys/dev/ic/ar5xxx.c
AgeCommit message (Collapse)Author
2012-01-28Fix ar5k_rt_copy() to copy all fields of the HAL_RATE_TABLE struct.Stefan Sperling
ok mikeb deraadt
2009-09-23do not attach the AR5416 and AR5418 (AR5416 PCIe) to the ath(4)Damien Bergamini
driver as these chipsets are not currently supported. noticed by ian@ "makes sense" millert@ ok jsg@
2009-06-02replace custom macro AR5K_ELEMENTS() with nitems()Reyk Floeter
2009-06-02If a bogus channel is encountered, return an error instead of tryingPhilip Guenthe
to use the -1 flag value as an array index. Found by Parfait. ok reyk@ oga@
2008-07-30spacingReyk Floeter
2008-07-30Update the RF, RFGAIN, MODE, INI, and BBGAIN initialization tablesReyk Floeter
with different versions for various ar5212 variants and add an extra table for PCI-E devices. This fixes support for various newer devices (like the 1st generation MacBook, T61 variants) but it still does not work on a number of other devices. Tested by many ok deraadt@
2008-07-29- fix FIFO overruns on PCI-E chipsets by setting the DMA sizeReyk Floeter
RX/TX configuration registers to 128 instead of 512 bytes. - add a few more MAC/RF id strings for the dmesg. - check for PCI-E instead of single chip variants in a few places. ok deraadt@
2008-07-28syncReyk Floeter
2008-07-28syncReyk Floeter
2007-12-03Check for G channels before B when setting the (eeprom) mode.Federico G. Schwindt
based on a change from Luis R. Rodriguez <mcgrof at gmail dot com>. reyk@ ok
2007-10-13add the AR5416 and AR5418 device IDs (needs some more testing)Reyk Floeter
2007-10-12The newer single chip Atheros wireless chipsets like the AR5424,Reyk Floeter
AR2423 etc. are mostly compatible to the AR5212 but use a different algorithm to set the 2GHz RF channel, that's why they didn't work in OpenBSD. I figured out that the channels were set with an offset, setting channel 11 in the driver caused the hardware to set channel 5 etc. Because I didn't figure out the pattern to fix the algoritm yet, I fixed it in a workaroundish way by defining a small "table" with offsets for the 11b channels to get the right results. For example, if we want to set channel 11 (2462MHz), we add an offset of -30MHz, and feed the result (2432MHz ^= channel 5) into the unmodified AR5212/AR5112 RF setup function. Long description for a commit message, but it needed some time to figure it out. It is still not perfect, needs some more work, and it doesn't work in all cases; but it allows to use newer chipsets in 11b mode restricted to 1 or to 2Mbit/s. 11a mode seems to work without problems so far.
2007-09-11KNFGilles Chehade
prompted and "much better" by marco@, ok pyr@
2007-09-07use M_ZEROReyk Floeter
2007-06-26Implement bit swap for a byte in O(log(N)) rather than O(N), promptedTom Cosgrove
by an interview question I was asked. ok reyk@
2007-05-09remove the internal wrapper functions for ieee80211_mhz2ieee andReyk Floeter
ieee80211_ieee2mhz which also removes some dead code. figured out by deraadt@
2007-04-13The integrated Atheros NICs found in IBM/Lenovo ThinkPads use the sameReyk Floeter
device ID for old AR5212-based 32bit and new AR5424-based 64bit (PCI Express Mini Card) interfaces. Use an extra check to look if the card is 64bit and attach it as a single chip device. This prevents a panic when attaching the device on some laptops like the T60. Tested on a T42 (old AR5212 Mini PCI interface), Tested on a T60 (new AR5424 Mini Card interface) Nevertheless, the AR5424 does not work yet. Thanks to Stefan Konrath
2007-03-12add some HAL functions (again) inspired by the changes from theReyk Floeter
madwifi-old-openhal project. this was backed out the last time because it was too close to the release and i didn't respect the ABI/API lock.
2007-03-05back out, reyk is not paying attentionTheo de Raadt
2007-03-05Add some HAL functions.Reyk Floeter
From madwifi-old-openhal via Nick Kossifidis (mickflemm at gmail dot com) Bump copyright while I'm here.
2006-11-06figured out by tdeval@:Reyk Floeter
>During factorization in 1.57, the switch block was moved too early. >Hence it's updating an uninitialized ah structure.
2006-09-19detect the newer single chip generations AR2413, AR5413 and AR5224 butReyk Floeter
don't attach them, yet.
2006-09-19disable 11g mode for nowReyk Floeter
2006-06-05start to sync some changes and fixes from various "openhal" ports ofReyk Floeter
this driver. thanks for contribution (even if i didn't get much feedback from these projects...). tested by many during c2k6, like aanriot@ and ian@
2005-12-18Update my e-mail address in the copyright statement, no binary changes.Reyk Floeter
2005-09-23cleanup and simplify the regulation domain handling. some devices areReyk Floeter
known to have a broken/unsupported regulation domain stored in their EEPROM, we use the default instead (Canada). there's no need to manually define COUNTRYCODE in ar5xxx.c anymore for invalid EEPROMs but it's still possible to force a specific country - your choice. ok aanriot@
2005-09-19don't attach unsupported radio chipsetsReyk Floeter
based on a diff by jsg@
2005-09-10ansi, no binary change.Jonathan Gray
ok reyk@
2005-08-17fix compiling with AR5K_DEBUG. thanks to Bernd Ahlers.Reyk Floeter
2005-08-02reduce stack usageReyk Floeter
spotted out by jsg@
2005-06-17remove non-constant array initializers which is a GNU extension.Reyk Floeter
suggested by anil some time ago.
2005-05-28fix hostap modeReyk Floeter
2005-05-27- disable the gpio user interface for now, it's just an unimportantReyk Floeter
button which is not yet available on non-i386 platforms - fix endianess and attachement on big endian platforms (tested on macppc - ath attaches correctly, receives frames but assoc still fails)
2005-05-16remove an extra delay in rf register initReyk Floeter
2005-05-08change the dmesg output: print known chipset names, don't print theReyk Floeter
supported 802.11a/b/g modes (this could be discovered with ifconfig -m athX). inspired by Johan M:son Lindman and others asking about the several different ARxxxx chipset combos.
2005-04-18beautify the code by renaming HAL functions with capitalized words (iReyk Floeter
always wanted to do that). this breaks HAL compatibility but porting should be easy, have a look at athvar.h. no functional changes.
2005-03-20some fixes for wep and reset.Reyk Floeter
btw.: this is a commit using an ar5212 in 11b mode... ok deraadt@, krw@
2005-03-19further fixes for ar5212.Reyk Floeter
2005-03-18improve ar5212 init on resetReyk Floeter
2005-03-10fix beacon handlingReyk Floeter
2005-03-03improve radiotap support, fix some minor bugs.Reyk Floeter
2005-02-25add support for the atheros ar5211 802.11A/B/g wireless chipset.Reyk Floeter
ok deraadt@
2005-02-23add all supported regulation domains. the forced COUNTRYCODE in ar5xxxReyk Floeter
is now disabled by default to use the value found in EEPROM. ok deraadt@
2005-02-19add support for the atheros ar5212 wireless chipsets. it is notReyk Floeter
finished yet and still misses some channel initialization and calibration bits. (if you want to hand in your dmesg output, please build a kernel with an uncommented COUNTRYCODE in line 109 of dev/ic/ar5xxx.c to get the value stored in your card's eeprom.) ok henning@
2005-02-17a new year and a new, less restrictive license. because it has to beReyk Floeter
free. go ahead miod@
2005-02-17knfReyk Floeter
2005-02-17cosmetic changes, fix regdomain code and beacon handlingReyk Floeter
2005-02-03make prototype match function for ar5k_ar5110_chan2athchanKevin Lo
2005-01-09fix regulation domain handlingReyk Floeter
2004-12-31people who don't understand the preprocessor should stay away from the tree.Marc Espie