summaryrefslogtreecommitdiff
path: root/sys/src/9/pc/wifi.c
AgeCommit message (Collapse)Author
2017-02-16wifi: timestamps in debug print, flush queue on deassoc, shorter roam ↵cinap_lenrek
timeout, timeout in blocked state, fix essid seprint race - add some milisecond timestamps to the status change debug printing - flush the packets in the queue on deassoc to avoid processing old pae packets on next association. - make roaming timeout shorter (60 -> 20 seconds) - automatically timeout and restart wpa/pae blocked state - fix printing race when essid gets changed underneath seprint
2017-02-13wifi: handle short preamble and short time slot capabilitiescinap_lenrek
- drivers enable short preamble and sort timeslot depending on the ap beacon capinfo field (bss->cap) - wifi sets short preamble bit in capinfo on association request - wifi sets short timeslot bit when ap advertized it in beacon
2016-08-27wifi: allocate cipher states in secret memory, do AESstate key setup oncecinap_lenrek
2016-01-14wifi: check tkip/ccmp mac and crc in constant time avoiding timing side channelscinap_lenrek
2015-10-17wifi: prioritize rsne over wpaiecinap_lenrek
if beacon/proble contains both wpa information element and rsne, the rsne wins.
2015-10-09wifi: quote value of parsed ether optionscinap_lenrek
introduce wificfg() function to convert ether->opt[] strings to wifictl messages, which needs quoting for the value. so etherX=type=iwl essid='something with spaces' works.
2015-07-10wifi: reflect current transmit rate in mbpscinap_lenrek
2015-07-10wifi: adjust transmit rate on error (for etheriwl), small mkfile changescinap_lenrek
Wnode gets two new counters: txcount and txerror and actrate pointer that will be between minrate and maxrate. driver should use actrate instead of maxrate for transmission when it can provide error feedback. when a driver detects a transmission failed, it calls wifitxfail() with the original packet. wifitxfail() then reduces wn->actrate. every 256th packet, we optimistically increase wn->actrate before transmitting.
2015-06-21wifi: berlin prime bunny hoppingcinap_lenrek
- reduce delay for channel hop to 200ms - use 1000ms timeout for auth response (dont hop channels while we wait) - bunny hop sequence is mathematically prooven
2015-01-30wifi: fix recvbeacon()cinap_lenrek
we used to read beyond the boundaries of the becon because of the end pointer was offset by the beacon header. this is also what caused the double entries.
2015-01-30wifi: ignore truncated tlv in beacon/probescinap_lenrek
2014-04-21wifi: set ether->mbps to highest supported rate of the associated apcinap_lenrek
2014-04-21wifi: first attempt on negotiating data ratescinap_lenrek
driver sets wifi->rates array to tell wifi layer what rates it supports. when we receive beacon, we determine the minimum and maximum data rates and set wn->minrate and wn->maxrate to point to the entries in wifi->rates. it is the responsibility of the driver to use this information on transmit.
2014-03-06wifi: remove misleading packet header length check in wifidecrypt()cinap_lenrek
we do not need to check block length in wifidecrypt() again as wifiiq() already filters out truncated frames.
2014-03-06wifi: decode AP->AP (WDS / bridge) data frames.cinap_lenrek
2013-11-22pc kernel: kproc error and exitcinap_lenrek
catch the error() that can be thrown by sleep() and tsleep() in kprocs. add missing pexit() calls. always set the freemem argument to pexit() from kproc otherwise the process gets added to the broken list.
2013-08-20wifi: remove pool.h includecinap_lenrek
2013-07-18wifi: make "auth" command non-blocking, let aux/wpa do the waiting for bss ↵cinap_lenrek
scan to complete.
2013-07-09wifi: make wifihdrlen() publicAlexander Polakov
Required for upcoming RT2860 driver
2013-07-04wifi: move scanning/probe into wifi layer, avoid associating with wpa ↵cinap_lenrek
network until rsne is setup
2013-07-01wifi: send probe requests for hidden ssidcinap_lenrek
2013-07-01wifi: handle authentication independent of current bss to allow multiple ↵cinap_lenrek
ap's (roaming)
2013-06-24wifi: add watchdog to drop bss if stuck in ap association or get ↵cinap_lenrek
deauthenticated by the ap
2013-06-24wifi: fix debug print #l1 -> #1cinap_lenrek
2013-06-24wifi: signal ap deassociation to aux/wpa with a zero length read.cinap_lenrek
aux/wpa needs to reset its reply counter on deassociation to properly restart key negotiation. we signal this with a zero length read on the connections filtering for eapol protocol.
2013-06-23wifi: fix missed eapol framescinap_lenrek
allow the driver to associate the node with a new aid right after we receive the association response, not just when we transmit a packet which usualy does not happen as eapol is initiated by the access point so there are no transmit calls. we just call transmit from the wifiproc with a nil block to introduce the node.
2013-06-23wifi: simplifycinap_lenrek
2013-06-22wifi: fix typoppatience0
2013-06-23wifi: have to check for both, bssid/essid in wifictl toocinap_lenrek
2013-06-23wifi: allow selecting specific access point with bssid= parameter and ↵cinap_lenrek
wifictl command
2013-06-23wifi: add a debug flag and printingcinap_lenrek
add a debug flag that can be set in the ethernet options which causes status transitions and wifictl messages to be printed.
2013-06-22wifi: add list of setup encryption key ciphers and lengths into ifstats filecinap_lenrek
it is usefull to see what encryption keys have been estabished by aux/wpa.
2013-06-15wpa: automatically pick cipher suits from beacon rsnecinap_lenrek
2013-05-21wifi: properly size internal wifi input processing queuecinap_lenrek
we only used wifi->iq to process management frames only, now its also used to forward encrypted data frames, so size it accordingly.
2013-05-20wifi: handle malloc errors in wifiattach()cinap_lenrek
2013-03-24wifi: cleanupcinap_lenrek
cleanup wifiencrypt()/wifidecrypt() routines moving tkip and ccmp in separate routines so we dont use less stack space.
2013-03-23unrolling loops in aesCCMencrypt() and aesCCMdecrypt()cinap_lenrek
do the xoring word wise for 16-byte block instead of doing it bytewise in a loop.
2013-03-23add experimental wpa2/ccmp supportcinap_lenrek
2013-03-09wifi: add experimental wpa / tkip encryption supportcinap_lenrek
2013-02-13etheriwl: dont let transmit change back receiver settings when in promisc ↵cinap_lenrek
mode, cleanup
2013-02-11wifi: filter SNAP ethernet orgcode onlycinap_lenrek
2013-02-11wifi: reset status when clearing essidcinap_lenrek
2013-02-11wifi: clear out ssid in node table entry, cleanupcinap_lenrek
2013-02-11wifi: actually check if management replies are for uscinap_lenrek
2013-02-11etheriwl: automatic channel scanning, transmission handling, promisc modecinap_lenrek
the channel= plan9.ini parameter isnt needed anymore as we now hop the channels to scan for beacons. the status is also indicated with the link led :-) handle all these flags on packet transmission like RTS for big packets and sending data packets to the AP instead of broadcasting everything. properly setup bss hardware node table and filtering. now promisc mode is only used when requested. handle deauth message from ap. increase node table to 32 entries.
2013-02-10wifi: lie a bit more about the supported rates to get into more ap'scinap_lenrek
2013-02-10etheriwl: work towards supporting other cards than 5300, gather channel ↵cinap_lenrek
information
2013-02-09etheriwl: experimental intel wifi link drivercinap_lenrek