1.\" $OpenBSD: zyd.4,v 1.22 2007/05/24 02:49:57 cnst Exp $ 2.\" $NetBSD: zyd.4,v 1.7 2019/03/24 13:31:31 gson Exp $ 3.\" 4.\" Copyright (c) 1997, 1998, 1999 5.\" Bill Paul <wpaul@ctr.columbia.edu>. All rights reserved. 6.\" 7.\" Redistribution and use in source and binary forms, with or without 8.\" modification, are permitted provided that the following conditions 9.\" are met: 10.\" 1. Redistributions of source code must retain the above copyright 11.\" notice, this list of conditions and the following disclaimer. 12.\" 2. Redistributions in binary form must reproduce the above copyright 13.\" notice, this list of conditions and the following disclaimer in the 14.\" documentation and/or other materials provided with the distribution. 15.\" 3. All advertising materials mentioning features or use of this software 16.\" must display the following acknowledgement: 17.\" This product includes software developed by Bill Paul. 18.\" 4. Neither the name of the author nor the names of any co-contributors 19.\" may be used to endorse or promote products derived from this software 20.\" without specific prior written permission. 21.\" 22.\" THIS SOFTWARE IS PROVIDED BY Bill Paul AND CONTRIBUTORS ``AS IS'' AND 23.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 24.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 25.\" ARE DISCLAIMED. IN NO EVENT SHALL Bill Paul OR THE VOICES IN HIS HEAD 26.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 27.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 28.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 29.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 30.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 31.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF 32.\" THE POSSIBILITY OF SUCH DAMAGE. 33.\" 34.Dd March 24, 2019 35.Dt ZYD 4 36.Os 37.Sh NAME 38.Nm zyd 39.Nd ZyDAS ZD1211/ZD1211B USB IEEE 802.11b/g wireless network device 40.Sh SYNOPSIS 41.Cd "zyd* at uhub? port ?" 42.Sh DESCRIPTION 43The 44.Nm 45driver provides support for wireless network adapters based around 46the ZyDAS ZD1211 and ZD1211B USB chips. 47.Pp 48These are the modes the 49.Nm 50driver can operate in: 51.Bl -tag -width "IBSS-masterXX" 52.It BSS mode 53Also known as 54.Em infrastructure 55mode, this is used when associating with an access point, through 56which all traffic passes. 57This mode is the default. 58.It monitor mode 59In this mode the driver is able to receive packets without 60associating with an access point. 61This disables the internal receive filter and enables the card to 62capture packets from networks which it wouldn't normally have access to, 63or to scan for access points. 64.El 65.Pp 66.Nm 67supports software WEP. 68It can be typically configured in one of three modes: 69no encryption; 40-bit encryption; or 104-bit encryption. 70Unfortunately, due to serious weaknesses in WEP protocol 71it is strongly recommended that it not be used as the 72sole mechanism to secure wireless communication. 73WEP is not enabled by default. 74.Sh CONFIGURATION 75The 76.Nm 77driver can be configured at runtime with 78.Xr ifconfig 8 79or on boot with 80.Xr ifconfig.if 5 81using the following parameters: 82.Bl -tag -width Ds 83.It Cm bssid Ar bssid 84Set the desired BSSID. 85.It Fl bssid 86Unset the desired BSSID. 87The interface will automatically select a BSSID in this mode, which is 88the default. 89.It Cm chan Ar n 90Set the channel (radio frequency) to be used by the driver based on 91the given channel ID 92.Ar n . 93.It Fl chan 94Unset the desired channel to be used by the driver. 95The driver will automatically select a channel in this mode, which is 96the default. 97.It Cm media Ar media 98The 99.Nm 100driver supports the following 101.Ar media 102types: 103.Pp 104.Bl -tag -width autoselect -compact 105.It Cm autoselect 106Enable autoselection of the media type and options. 107.It Cm DS1 108Set 802.11b DS 1Mbps operation. 109.It Cm DS2 110Set 802.11b DS 2Mbps operation. 111.It Cm DS5 112Set 802.11b DS 5.5Mbps operation. 113.It Cm DS11 114Set 802.11b DS 11Mbps operation. 115.El 116.It Cm mediaopt Ar opts 117The 118.Nm 119driver supports the following media options: 120.Bl -tag -width ibss 121.It Cm ibss 122Select Independent Basic Service Set (IBSS) operation. 123.El 124.It Fl mediaopt Ar opts 125Disable the specified media options on the driver and return it to the 126default mode of operation (BSS). 127.It Cm nwid Ar id 128Set the network ID. 129The 130.Ar id 131can either be any text string up to 32 characters in length, 132or a series of hexadecimal digits up to 64 digits. 133An empty 134.Ar id 135string allows the interface to connect to any available access points. 136By default the 137.Nm 138driver uses an empty string. 139Note that network ID is synonymous with Extended Service Set ID (ESSID). 140.It Fl nwid 141Set the network ID to the empty string to allow the interface to connect 142to any available access point. 143.It Cm nwkey Ar key 144Enable WEP encryption using the specified 145.Ar key . 146The 147.Ar key 148can either be a string, a series of hexadecimal digits (preceded by 149.Sq 0x ) , 150or a set of keys of the form 151.Dq n:k1,k2,k3,k4 , 152where 153.Sq n 154specifies which of the keys will be used for transmitted packets, 155and the four keys, 156.Dq k1 157through 158.Dq k4 , 159are configured as WEP keys. 160If a set of keys is specified, a comma 161.Pq Sq \&, 162within the key must be escaped with a backslash. 163Note that if multiple keys are used, their order must be the same within 164the network. 165.Nm 166is capable of using both 40-bit (5 characters or 10 hexadecimal digits) 167or 104-bit (13 characters or 26 hexadecimal digits) keys. 168.It Fl nwkey 169Disable WEP encryption. 170This is the default mode of operation. 171.El 172.Sh HARDWARE 173The following devices are known to be supported by the 174.Nm 175driver: 176.Pp 177.Bl -tag -width Ds -offset indent -compact 178.It 3COM 3CRUSB10075 179.It Acer WLAN-G-US1 180.It Airlink+ AWLL3025 181.It Airlink 101 AWLL3026 182.It AOpen 802.11g WL54 183.It Asus A9T integrated wirless 184.It Asus WL-159g 185.It Belkin F5D7050 v.4000 186.It Billion BiPAC 3011G 187.It Buffalo WLI-U2-KG54L 188.It CC&C WL-2203B 189.It DrayTek Vigor 550 190.It Edimax EW-7317UG 191.It Edimax EW-7317LDG 192.It Fiberline Networks WL-43OU 193.It iNexQ UR055g 194.It Linksys WUSBF54G 195.It Longshine LCS-8131G3 196.It MSI US54SE 197.It Philips SNU5600 198.It Planet WL-U356 199.It Planex GW-US54GZ 200.It Planex GW-US54GZL 201.It Planex GW-US54Mini 202.It Safecom SWMULZ-5400 203.It Sagem XG 760A 204.It Sagem XG 76NA 205.It Sandberg Wireless G54 USB 206.It Sitecom WL-113 207.It SMC SMCWUSB-G 208.It Sweex wireless USB 54 Mbps 209.It Tekram/Siemens USB adapter 210.It Telegent TG54USB 211.It Trendnet TEW-424UB 212.It Trendnet TEW-429UB 213.It TwinMOS G240 214.It US Robotics 5423 215.It X-Micro XWL-11GUZX 216.It Yakumo QuickWLAN USB 217.It Zonet ZEW2501 218.It ZyXEL ZyAIR G-220 219.El 220.Sh FILES 221The adapter needs some firmware files, which are loaded on demand by the 222driver when a device is attached: 223.Pp 224.Bl -tag -width Ds -offset indent -compact 225.It Pa /libdata/firmware/zyd/zyd-zd1211 226.It Pa /libdata/firmware/zyd/zyd-zd1211b 227.El 228See 229.Xr firmload 9 230for how to change this. 231.Sh EXAMPLES 232The following 233.Xr ifconfig.if 5 234example configures zyd0 to join whatever network is available on boot, 235using WEP key 236.Dq 0x1deadbeef1 , 237channel 11: 238.Bd -literal -offset indent 239inet 192.168.1.1 netmask 255.255.255.0 nwkey 0x1deadbeef1 chan 11 240.Ed 241.Pp 242Configure zyd0 for WEP, using hex key 243.Dq 0x1deadbeef1 : 244.Bd -literal -offset indent 245# ifconfig zyd0 nwkey 0x1deadbeef1 246.Ed 247.Pp 248Return zyd0 to its default settings: 249.Bd -literal -offset indent 250# ifconfig zyd0 -bssid -chan media autoselect \e 251 nwid "" -nwkey 252.Ed 253.Pp 254Join an existing BSS network, 255.Dq my_net : 256.Bd -literal -offset indent 257# ifconfig zyd0 192.168.0.2 netmask 0xffffff00 nwid my_net 258.Ed 259.Sh DIAGNOSTICS 260.Bl -diag 261.It "zyd%d: could not read firmware file %s (error=%d)" 262For some reason, the driver was unable to read the firmware file from the 263filesystem. 264The file might be missing or corrupted. 265.It "zyd%d: could not load firmware (error=%d)" 266An error occurred while attempting to upload the firmware to the onboard 267microcontroller unit. 268.It "zyd%d: could not send command (error=%s)" 269An attempt to send a command to the firmware failed. 270.It "zyd%d: sorry, radio %s is not supported yet" 271Support for the specified radio chip is not yet implemented in the driver. 272The device will not attach. 273.It "zyd%d: device version mismatch: 0x%x (only >= 43.30 supported)" 274Early revisions of the ZD1211 chipset are not supported by this driver. 275The device will not attach. 276.It "zyd%d: device timeout" 277A frame dispatched to the hardware for transmission did not complete in time. 278The driver will reset the hardware. 279This should not happen. 280.El 281.Sh SEE ALSO 282.Xr arp 4 , 283.Xr ifmedia 4 , 284.Xr intro 4 , 285.Xr netintro 4 , 286.Xr usb 4 , 287.Xr ifconfig.if 5 , 288.Xr ifconfig 8 , 289.Xr firmload 9 290.Sh AUTHORS 291.An -nosplit 292The 293.Nm 294driver was written by 295.An Florian Stoehr Aq Mt ich@florian-stoehr.de , 296.An Damien Bergamini Aq Mt damien@openbsd.org , 297and 298.An Jonathan Gray Aq Mt jsg@openbsd.org . 299.Sh CAVEATS 300The 301.Nm 302driver does not support a lot of the functionality available in the hardware. 303More work is required to properly support the IBSS and power management 304features. 305