AWI(4)

πŸ“¦ version 11.0, in nixpkgs unstable

πŸ’… AWI(4) β€” the awi manual page, bestie edition πŸ’…

okay so you opened the kernel interfaces manual and landed on AWI(4), which means you want the tea on the AMD PCnetMobile IEEE 802.11 PCMCIA wireless network driver. strap in, this one's a vintage icon πŸ‘‘


✨ NAME ✨

awi β€” the AMD PCnetMobile IEEE 802.11 PCMCIA wireless network driver. yes that's a whole mouthful, we love her anyway πŸŽ€


✨ SYNOPSIS ✨

awi*     at pcmcia? function ?

that's it. that's the whole vibe check. awi* attaches at pcmcia? with function ?. slay ✨


✨ DESCRIPTION ✨

so the awi driver supports a whole bunch of IEEE 802.11 wireless cards that run AMD PCnetMobile firmware, which is based on the AMD 79c930 controller with the Intersil (formerly Harris) PRISM radio chipset. iconique lineage honestly 🌸

it gives you access to 32kb of memory shared between the controller and the host. and the way that all host/device interaction happens is through this shared memory β€” no cap. you can get to it either via PCMCIA or I/O memory spaces. the awi driver encapsulates all IP and ARP traffic in 802.11 frames, periodt πŸ’…

the driver works both in infrastructure mode and in ad-hoc (independent BSS) mode. two modes, both iconic:

  • in infrastructure mode, it communicates with an Access Point, which serves as a link-layer bridge between an Ethernet segment and the wireless network. an access point also provides roaming capability, which lets a wireless node move between access points πŸ¦‹
  • in ad-hoc mode, the device communicates peer to peer. it's more efficient to communicate between wireless nodes, but ngl the coverage is limited spatially due to the lack of roaming capability 😭

in addition to these two modes in the IEEE 802.11 specification, the awi driver also supports a variant of ad-hoc mode outside of the spec for DS radio cards πŸ™ˆ this makes it possible to communicate with the WaveLAN ad-hoc mode of the wi(4) driver. the NWID has no effect in this mode β€” lowkey important, remember it.

another mode added to the awi driver can be used with old Melco access points with 2Mbps cards. this mode actually uses the IEEE 802.11 ad-hoc mode with encapsulation of raw Ethernet packets (including headers) in 802.11 frames. she's doing the most and we respect it πŸ‘‘

for more info on configuring this device, see ifconfig(8) and ifmedia(4). iykyk πŸ’–


✨ HARDWARE ✨

cards supported by the awi driver include this whole lineup, and yes i'm listing every single one because nobody gets left out πŸ’œ

  • BayStack 650 β€” 1Mbps Frequency Hopping PCCARD adapter
  • BayStack 660 β€” 2Mbps Direct Sequence PCCARD adapter
  • Icom SL-200 β€” 2Mbps Direct Sequence PCCARD adapter
  • Melco WLI-PCM β€” 2Mbps Direct Sequence PCCARD adapter
  • NEL SSMagic β€” 2Mbps Direct Sequence PCCARD adapter
  • Netwave AirSurfer Plus β€” 1Mbps Frequency Hopping PCCARD adapter
  • Netwave AirSurfer Pro β€” 2Mbps Direct Sequence PCCARD adapter
  • Nokia C020 WLAN β€” 2Mbps Direct Sequence PCCARD adapter
  • Farallon SkyLINE β€” 2Mbps Direct Sequence PCCARD adapter
  • Zoom Air Model 4000

note bestie: the original Xircom Netwave AirSurfer is supported by the cnw(4) driver, and the PRISM-II cards are supported by the wi(4) driver. different driver, different girlies πŸ’€


✨ MEDIA SELECTION ✨

in addition to the default Auto media type, the DS cards support DS1 and DS2 media types, while the FH cards support the FH1 media type. for each media type, the adhoc mediaopt can be used to indicate to the driver to operate in ad-hoc mode 🧚

the flag0 mediaopt should be used only with old access points, which operate in IBSS mode. for DS radio cards, the adhoc,flag0 mediaopt can be used for wi(4) compatible WaveLAN ad-hoc mode. write it down, bestie πŸ“


✨ DIAGNOSTICS ✨

the receipts, in order πŸ‘‘

  • awi0: no suitable CIS info found β€” the device cannot be mapped due to a resource conflict. or, the device failed to initialize its firmware. either way, rough πŸ’€
  • awi0: failed to complete selftest (%s) β€” the device failed to complete its self test. in some circumstances, resetting device after power on fails. re-inserting the card or setting the interface up and then down again (using ifconfig(8)) may also be helpful 🫢
  • awi0: transmit timeout β€” the device failed to generate an interrupt to acknowledge a transmitted packet. not her showing up late 😭
  • awi0: failed to lock interrupt β€” the system was unable to obtain the lock to access shared memory
  • awi0: command %d failed %x β€” the device failed to complete the request from the system

✨ SEE ALSO ✨

arp(4), cnw(4), ifmedia(4), netintro(4), pcmcia(4), wi(4), ifconfig(8), wiconfig(8) 🌈

also: Am79C930 PCnet Mobile Single-Chip Wireless LAN Media Access Controller, http://www.amd.com. going straight to the source, we love a primary reference πŸ’…


✨ HISTORY ✨

the awi device driver first appeared in NetBSD 1.5. a legend was born ⭐


✨ AUTHORS ✨

the initial version of the awi driver was written by Bill Sommerfeld ⟨sommerfeld@NetBSD.org⟩. it was then completely rewritten to support cards with the DS phy and ad-hoc mode by Atsushi Onoe ⟨onoe@NetBSD.org⟩. two absolute main characters, we stan πŸ«ΆπŸ‘‘


and that's the whole page, bestie β€” no notes πŸ’– this edition of the AWI(4) page comes to you courtesy of Debian, dated January 2, 2006, and it ate, fr fr βœ¨πŸŽ€πŸ¦‹

πŸ“¦ where this page comes from