summaryrefslogtreecommitdiff
path: root/sys/dev/ic/acx.c
AgeCommit message (Collapse)Author
2009-09-13M_DUP_PKTHDR() define -> m_dup_pkthdr() function to properly dealKenneth R Westerback
with m_tag_copy_chain() failures. Use m_defrag() to eliminate hand rolled defragging of mbufs and some uses of M_DUP_PKTHDR(). Original diff from thib@, claudio@'s feedback integrated by me. Tests kevlo@ claudio@, "reads ok" blambert@ ok thib@ claudio@, "m_defrag() bits ok" kettenis@
2009-07-28timeout_add -> timout_add_msecBret Lambert
ok jsg@ claudio@
2009-03-31On watchdog timeout reset the full chip. Just draining the tx ring is notClaudio Jeker
enough to get the device unstuck. OK mglocker@
2009-03-29make various strings ("can't map mem space" and similar) more consistentStuart Henderson
between instances, saving space in the kernel. feedback from many (some incorporated, some left for future work). ok deraadt, kettenis, "why not" miod.
2009-03-11Do more error checking in acx(4).Stefan Sperling
"If it works for you, commit it. The diff looks right." claudio@ "Seems to work here with ACX111 CardBus" jsg@
2009-03-09Do not start printing device info before attachment succeeded.Stefan Sperling
ok claudio@
2009-02-26If acx_attach() fails, print the reason why it is failing.Stefan Sperling
Amendment to fix for PR6089. Patch by mglocker@ "good night guys!" mglocker@, "hurry up" deraadt@
2008-11-23Don't use ifp->if_xname if you can use the sc_dev.dv_xname instead.Claudio Jeker
Removes some unneeded ifp pointers from the stack and don't assign ifp->if_softc twice in the same function.
2008-08-27introduce new IEEE80211_STA_ONLY kernel option that can be set toDamien Bergamini
remove IBSS and HostAP support from net80211 and 802.11 drivers. it can be used to shrink RAMDISK kernels for instance (like what was done for wi(4)). it also has the benefit of highlighting what is specific to IBSS and HostAP modes in the code. the cost is that we now have two code paths to maintain.
2008-08-14in ieee80211_input(), call if_start() after enqueuing frames in if_sndDamien Bergamini
when acting as an access point instead of having each driver doing the job. tested by krw@ (ral AP) and me with several drivers.
2008-07-21instead of passing rx tstamp and rssi to the ieee80211_input function,Damien Bergamini
pass a pointer to an ieee80211_rxinfo structure containing those two fields plus an extra flags field that indicates whether the frame was decrypted by hardware or not. required for a future fix.
2008-06-22Update watchdog timer code from DragonFly.Brad Smith
From sephe@DragonFly ok mglocker@
2008-06-01Use 1Mbits/s as beacon sending rate; it seems to fix TX performance issueBrad Smith
when using acx(4) as HostAP. From sephe@DraonFly ok mglocker@
2008-04-16Kernel implementation of the 4-way handshake and group-keyDamien Bergamini
handshake protocols (both supplicant and authenticator state machines) as defined in the IEEE 802.11i standard. Software implementation of the TKIP (Temporal Key Integrity Protocol) and CCMP (CTR with CBC-MAC Protocol) protocols. This diff doesn't implement any of the 802.1X authentication protocols and thus only PSK authentication (using pre-shared keys) is currently supported. In concrete terms, this adds support for WPA-PSK and WPA2-PSK protocols, both in station and hostap modes. The following drivers are marked as WPA-capable and should work: bwi(4), malo(4), ral(4), iwn(4), wpi(4), ural(4), rum(4), upgt(4), and zyd(4) The following options have been added to ifconfig(8): wpa, wpapsk, wpaprotos, wpaakms, wpaciphers, wpagroupcipher wpa-psk(8) can be used to generate keys from passphrases. tested by many@ ok deraadt@
2008-03-13Do not increment the input packet counter in these drivers asBrad Smith
ieee80211_input() already does this. Mentioned by Peter Philipp in PR 5248. ok claudio@ mglocker@
2007-11-26typos; ok jmc@Martynas Venckus
sys/netinet/in_pcb.c and sys/net/bridgestp.c ok henning@ sys/dev/pci/bktr/* ok jakemsr@
2007-10-14Fix a panic which happens with ACX100 chipsets in ieee80211_add_xrates()Marcus Glocker
because the drivers tries to set extended rates for a 11b chip. Tested and OK winiger@
2007-10-01More easy bzero() -> M_ZERO. Use 'p = malloc(sizeof(*p) ...'.Kenneth R Westerback
2007-08-28unify firmware load failure messages; ok mglockerTheo de Raadt
2007-08-05Don't use ieee80211_beacon_alloc() in acx_set_probe_resp_tmplt() useClaudio Jeker
ieee80211_get_probe_resp() and code from ieee80211_mgmt_output() to build a proper probe response. Found the hard way -- buffer overflow because of oversized beacons -- by mglocker@ and myself. OK mglocker@ damien@
2007-07-18replace the ieee80211_wepkey structure with a more generic ieee80211_keyDamien Bergamini
one that can be used with other ciphers than WEP.
2007-05-03Add monitor mode. Add fast channel switching. Do some simplificationsMarcus Glocker
while there. Comments, tested, and OK claudio@
2007-04-11Remove debug leftovers to make console output quite again in hostap mode.Marcus Glocker
ok claudio@
2007-04-11As probe response mgmt frames are already handled by the firmware, ignoreMarcus Glocker
the ones which come from the 802.11 stack. Seen in the DragonFly driver. ok claudio@
2007-04-03Really drop data packets if the station is not associated. It does notClaudio Jeker
make sense to keep these packets around and send them out somewhen later when they are no longer valid. OK mglocker@
2007-03-29Fix a scary bug when setting up the HW dma structure. Use a 2byte bus_spaceClaudio Jeker
access to write the mbuf lenght instead of a 4byte one. On big endian machines the length was written to the wrong field and so no TX transactions were done. OK mglocker@
2007-03-19Only call bus_dmamap_unload() if we loaded a dmamap beforehand. Found outClaudio Jeker
the hard way on sparc64. Now acx(4) no longer panics but it does not yet work. OK mglocker@
2007-03-16Split the beacon returned by ieee80211_beacon_alloc() in two parts andClaudio Jeker
fill everything up to IEEE80211_ELEMID_TIM into the beacon template and everything after and including IEEE80211_ELEMID_TIM into the tim template. This fixes the beacons on 11g where two TIM fields where announced. acx_beacon_locate() is used to calculate the offset to a defined TLV field. If other dirvers need it as well we may move it up into net80211. OK mglocker@
2007-03-14In HostAP mode, ieee80211_input() will enqueue packets in if_snd withoutClaudio Jeker
calling if_start(). So call ifp->if_start() at the end of the RX interrupt function. This solves the porblem of getting dhcp leases from the AP if the network is quiet. OK mglocker@
2007-03-01In acx_set_probe_resp_tmplt () ieee80211_beacon_alloc() could fail so check theClaudio Jeker
return value. Stolen from acx_set_beacon_tmplt() that already does this check.
2007-02-28Another round of makro killing. Kill _ACX_CONF_FUNC() and replace allClaudio Jeker
calls with acx_set_conf()/acx_get_conf(). OK mglocker@
2007-02-28Fix a ieee80211_node refcount leak -- the node lookup is done inClaudio Jeker
ieee80211_encap() so there is no need to do call ieee80211_find_txnode() beforehands. OK mglocker@
2007-02-23Another two missing htoleX() for big endian support. Still more missingClaudio Jeker
but now I'm able to receive packets on macppc. OK mglocker@
2007-02-21Make the firmware load on big endian systems and while there make sure thatClaudio Jeker
the right value is printed in case of an error. OK mglocker@
2007-02-20Fix a memory leak in acx_load_radio_firmware() -- free the ucode after use.Claudio Jeker
OK mglocker@
2006-12-31Bye bye unused acx_shutdown() we won't miss you.Claudio Jeker
2006-12-30Don't use M_DUP_PKTHDR() on static mbufs. M_DUP_PKTHDR() copies the mtagClaudio Jeker
chain and so a later MFREE() is needed to free the chain again. Just initialize a minimal mbuf header for bpf_mtap(). See earlier rum(4) commit for the full story. OK mglocker@ Sounds good jsg@
2006-12-17Kill some more macros. This time ACX_NOARG_FUNC and ACX_INIT_TMPLT_FUNCClaudio Jeker
bite the dust and make the code easier to read. Help and OK mglocker@
2006-12-13First part of fixing broken beacon frames in acx(4) AP mode based on aMarcus Glocker
diff from Sepherosa Ziehau (DragonFly); The firmware TIM element template was initialized wrong. Though, our ieee80211_alloc_beacon() routine calculates it's own TIM element, which now results in having two TIMs in an acx(4) beacon. Would it be an idea to introduce a ieee80211_alloc_beacon() flag to turn the TIM element off? Because fiddling out the TIM element in the driver for cases in which the firmware calculates its own TIM is a bit ugly ... ok claudio@
2006-12-08First round of evil macro removal. _acx_set_##name##_tmplt bites the dust.Claudio Jeker
OK mglocker@
2006-11-26Make use of ieee80211_std_ratesetJonathan Gray
2006-11-09Correctly update the m_pkthdr.len in the raw bpf tap. OK mglocker@Claudio Jeker
2006-10-10bescon -> beacon, found by Maxim Bourmistrov, thanks. Since I am correctingMarc Balmer
typos today...
2006-10-03Enable altq in acx(4) the tx path is already handling all cases correctly.Claudio Jeker
OK mglocker@
2006-09-26Get HostAP mode working and fix IBSS tweaks. From DragonFly driver.Marcus Glocker
Tested by claudio and me so far. ok jsg@
2006-08-29Don't panic when watchdog timeout is called.Marcus Glocker
formal ok deraadt@
2006-08-21Add missing amrr statistic updates. Makes rate control work proper.Marcus Glocker
Pointed out by damien@. ok damien@
2006-08-20Remove some dead code.Marcus Glocker
2006-08-19Replace existing rate adaption code with the ieee80211_amrr framework.Marcus Glocker
ok jsg@
2006-08-15Remove DPRINTF from watchdog routine. To noisy even for debug mode.Marcus Glocker