Commit Graph

41 Commits

Author SHA1 Message Date
jonathan 6e67f82712 Fix wi_intr() to avoid touching card registers during insert/remove events,
when sharing an interrupt with other devices:
check sc->sc_enabled,  and drop the interrupt if its' off.

Also check for IFF_RUNNING, on advice of Enami Tsugotomo.
2000-10-13 19:15:08 +00:00
enami 3a909c64a6 Use splnet instead of splimp in wi_ioctl. 2000-10-12 04:50:58 +00:00
enami 4c00a9d6aa Bail out initailzation on buffer allocation failure. 2000-10-12 03:29:59 +00:00
enami b204f9e433 Use ether_ioctl. 2000-10-12 02:24:08 +00:00
thorpej 7ca3fb9ef0 Move the check for "promisc + unicast + not for us" into ether_input(),
and change Ethernet drivers to always pass all received frames to
ether_input() (with a few exceptions, which are documented in the
code).
2000-10-01 23:32:39 +00:00
enami b4b2cdf575 Replace misused DIAGNOSTIC with WI_DEBUG. 2000-09-28 06:29:41 +00:00
enami 2f625bf43f Remove unnecessary and commented out code. 2000-09-28 06:24:48 +00:00
joda 00305bb997 provide some randomness 2000-08-28 13:25:22 +00:00
jhawk ce7a425d77 Revert last, softc is now updated.
I neglected to checkin the if_wivar.h update earlier, sorry.
2000-08-26 00:08:43 +00:00
sommerfeld 3a2b5d49a6 partial backout of last commit: #if 0 references to sc->wi_mor_enabled
since it doesn't exist in the softc.
2000-08-25 03:11:14 +00:00
jhawk 5056d0ce7c Add support for "microwave oven robustness" with wiconfig -M. 2000-08-23 19:01:04 +00:00
jhawk 8c3116e66a Copy wi_{dst,src}_addr from struct wi_frame into faked-up ether_header
instead of addr1 and addr2. THis means that tcpdump -e will show the
correct MAC address for communications with access points instead of showing
the BSSID.

In the future there should be 802.11 support for bpf/libpcap/tcpdump,
but that is aways down the road.

Also fix a typo in a comment.
2000-08-18 04:11:48 +00:00
enami 35913a898c Sync internal state and ifmedia state. Addresses PR#10424. 2000-07-31 03:25:11 +00:00
onoe 188122248a I've confirmed that Samsung MagicLAN SWL-2000N (PRISM-II) works
with WEP enabled.
2000-07-26 07:28:56 +00:00
onoe 27d41a1de3 Map txrate for prism2, where each bit is apparently assigned to the
corresponding rate; 1Mbps, 2Mbps, 5.5Mbps, 11Mbps.
2000-07-25 12:04:29 +00:00
onoe afa5b645c2 add support for SIOCS80211NWKEY and SIOCG80211NWKEY. 2000-07-21 04:48:55 +00:00
onoe 47f692248f add WEP support also for PRISM2 cards.
Corega works fine with WEP, but farallon doesn't work well with WEP for now..
2000-07-18 15:01:55 +00:00
onoe 905b4e497f Add support for Corega Wireless LAN PCC-11, and Farallon SkyLINE 11Mb.
Note that Corega card works at 3.3V only, then it requires cardbus code
for now.
2000-07-18 14:53:26 +00:00
onoe 807a12c8cd change the argument of SIOCS80211NWID and SIOCG80211NWID ioctls from
u_int8_t array to struct ieee80211_nwid to prepend length field.
The length field is necessary because IEEE 802.11 spec doesn't prohibit
even '\0' for SSID.
Though the name and the value of SIOC... macro is unchanged, this change
breaks binary compatibility.  The only affected userland program on the
tree is ifconfig(8).
As Jason suggested on tech-net, it is better than live with problems
since there are no releases for this ioctls yet.
2000-07-05 02:35:53 +00:00
joda 5f9b72f44c match 3Com 3CRWE737A (AirConnect) 2000-06-30 16:40:31 +00:00
pooka e1e9261889 fix typo 2000-06-06 14:01:40 +00:00
enami 28ec465498 Remove $Id. 2000-05-23 08:41:49 +00:00
enami f87f33d513 Allow userland to retrieve whether the card support WEP while the
card power is off.  This allows wiconfig to set WEP key etc while power off.
2000-05-23 08:25:51 +00:00
drochner ac9d663468 My (Cabletron) card supplies two more statistics counters.
Instead of dropping them all, read out min(expected, supplied).
2000-05-14 17:19:18 +00:00
enami c522067861 Maintain IFF_ALLMULTI flag by ourself. 2000-03-27 11:03:47 +00:00
enami 8d29747e3b When we fall into allmulti case due to too may multicast address,
properly set the type and length in struct wi_ltv_mcast.
2000-03-27 07:04:21 +00:00
enami 19e7b1b8ae No need to call wi_setmulti() if ether_{add,del}multi returns 0. 2000-03-27 06:48:05 +00:00
thorpej fc96443d15 New callout mechanism with two major improvements over the old
timeout()/untimeout() API:
- Clients supply callout handle storage, thus eliminating problems of
  resource allocation.
- Insertion and removal of callouts is constant time, important as
  this facility is used quite a lot in the kernel.

The old timeout()/untimeout() API has been removed from the kernel.
2000-03-23 07:01:25 +00:00
thorpej 91c44a72b8 Set ifp->if_baudrate as appropriate. 2000-03-06 21:02:37 +00:00
enami 68484a4ad9 - Remove redundant assignment.
- Don't disestablish shutdown hook if we can't establish it.
- Noneed to manage resouces individually.
2000-03-06 10:31:27 +00:00
enami e924f6f853 Minor cleanups. 2000-03-02 10:29:22 +00:00
enami 48721f291a Fix typo and thinko in previous commit. 2000-03-02 05:54:22 +00:00
enami 027db8bf87 Add ifmedia support so that dhcp happy. Also, add nwid support. 2000-03-02 05:00:47 +00:00
enami 8841a11f4d - Disestablish an interrupt if failed to enable the card.
- If card isn't enabled, just set given information into softc.  Addresses
  PR#9457.
- Some cleanups and cosmetic changes.
2000-02-27 23:10:51 +00:00
itojun 99b18eac36 on attach, check if we've got meaningful mac address or not,
to detect io mapping problem.

on detach, handle resource deallocations more carefully.
2000-02-13 06:17:58 +00:00
enami 84b6105bbe Check if device is active in wi_intr and wi_inquire. 2000-02-12 23:35:28 +00:00
itojun 02bf7fcd13 add wi_detach and friends so that we can hot-swap wi card. 2000-02-12 16:08:04 +00:00
explorer 59db45db2a bring over WEP mode from FreeBSD/OpenBSD 2000-02-04 07:48:29 +00:00
itojun f5e553eb57 IPv6 support.
ETHERTYPE_IPV6 packets are encapsulated by RFC1042 encap.
Tested with Japanese card, with WaveLan bridge (wiconfig -p 1).
NOTE: I dunno if encapsulating IPv6 packets by RFC1042 is the correct way,
  as RFC1042 only defines behavior for ETHERTYPE_{IP,ARP,REVARP} packets.
  Since WaveLan bridge encapsulates IPv6 packets with RFC1042, we have no
  choice.

Gather joined multicast addresses via SIOCADDMULTI, and configure multicast
filter properly.  This is also required for IPv6 support
(which heavily depends on multicast).

Fix IFF_RUNNING management
- to prevent IFF_RUNNING from raised on "wiconfig", before "ifconfig up"
- to prevent the driver from occupying extra interrupts on "ifconfig up",
  then "down", then "up".
1999-09-10 00:30:59 +00:00
sommerfeld 48f2389776 Add shutdown hook to turn off card.
Fix BPF tap code.
1999-07-14 23:07:29 +00:00
sommerfeld 52faa3e2d7 Blitz port of the FreeBSD wi* driver for the Lucent WaveLan IEEE
PCMCIA wireless LAN.
Original driver written by Bill Paul <wpaul@ctr.columbia.edu>
1999-07-14 22:24:07 +00:00