ZYD(4) | Device Drivers Manual | ZYD(4)

# NAME

`zyd` —
ZyDAS ZD1211/ZD1211B USB IEEE 802.11b/g wireless network device

# SYNOPSIS

`zyd* at uhub? port ?`

# DESCRIPTION

The `zyd` driver provides support for wireless network adapters based around the ZyDAS ZD1211 and ZD1211B USB chips.

These are the modes the `zyd` driver can operate in:

BSS mode
  Also known as infrastructure mode, this is used when associating with an access point, through which all traffic passes. This mode is the default.
monitor mode
  In this mode the driver is able to receive packets without associating with an access point. This disables the internal receive filter and enables the card to capture packets from networks which it wouldn't normally have access to, or to scan for access points.

`zyd` supports software WEP. It can be typically configured in one of three modes: no encryption; 40-bit encryption; or 104-bit encryption. Unfortunately, due to serious weaknesses in WEP protocol it is strongly recommended that it not be used as the sole mechanism to secure wireless communication. WEP is not enabled by default.

# CONFIGURATION

The `zyd` driver can be configured at runtime with ifconfig(8) or on boot with ifconfig.if(5) using the following parameters:

`bssid` bssid
  Set the desired BSSID.
`-bssid`
  Unset the desired BSSID. The interface will automatically select a BSSID in this mode, which is the default.
`chan` n
  Set the channel (radio frequency) to be used by the driver based on the given channel ID n.
`-chan`
  Unset the desired channel to be used by the driver. The driver will automatically select a channel in this mode, which is the default.
`media` media
  The `zyd` driver supports the following media types:

  `autoselect`
    Enable autoselection of the media type and options.
  `DS1`
    Set 802.11b DS 1Mbps operation.
  `DS2`
    Set 802.11b DS 2Mbps operation.
  `DS5`
    Set 802.11b DS 5.5Mbps operation.
  `DS11`
    Set 802.11b DS 11Mbps operation.
`mediaopt` opts
  The `zyd` driver supports the following media options:
  `ibss`
    Select Independent Basic Service Set (IBSS) operation.
`-mediaopt` opts
  Disable the specified media options on the driver and return it to the default mode of operation (BSS).
`nwid` id
  Set the network ID. The id can either be any text string up to 32 characters in length, or a series of hexadecimal digits up to 64 digits. An empty id string allows the interface to connect to any available access points. By default the `zyd` driver uses an empty string. Note that network ID is synonymous with Extended Service Set ID (ESSID).
`-nwid`
  Set the network ID to the empty string to allow the interface to connect to any available access point.
`nwkey` key
  Enable WEP encryption using the specified key. The key can either be a string, a series of hexadecimal digits (preceded by ‘0x’), or a set of keys of the form “n:k1,k2,k3,k4”, where ‘n’ specifies which of the keys will be used for transmitted packets, and the four keys, “k1” through “k4”, are configured as WEP keys. If a set of keys is specified, a comma (‘,’) within the key must be escaped with a backslash. Note that if multiple keys are used, their order must be the same within the network. `zyd` is capable of using both 40-bit (5 characters or 10 hexadecimal digits) or 104-bit (13 characters or 26 hexadecimal digits) keys.
`-nwkey`
  Disable WEP encryption. This is the default mode of operation.

# HARDWARE

The following devices are known to be supported by the `zyd` driver:

3COM 3CRUSB10075
Acer WLAN-G-US1
Airlink+ AWLL3025
Airlink 101 AWLL3026
AOpen 802.11g WL54
Asus A9T integrated wirless
Asus WL-159g
Belkin F5D7050 v.4000
Billion BiPAC 3011G
Buffalo WLI-U2-KG54L
CC&C WL-2203B
DrayTek Vigor 550
Edimax EW-7317UG
Edimax EW-7317LDG
Fiberline Networks WL-43OU
iNexQ UR055g
Linksys WUSBF54G
Longshine LCS-8131G3
MSI US54SE
Philips SNU5600
Planet WL-U356
Planex GW-US54GZ
Planex GW-US54GZL
Planex GW-US54Mini
Safecom SWMULZ-5400
Sagem XG 760A
Sagem XG 76NA
Sandberg Wireless G54 USB
Sitecom WL-113
SMC SMCWUSB-G
Sweex wireless USB 54 Mbps
Tekram/Siemens USB adapter
Telegent TG54USB
Trendnet TEW-424UB
Trendnet TEW-429UB
TwinMOS G240
US Robotics 5423
X-Micro XWL-11GUZX
Yakumo QuickWLAN USB
Zonet ZEW2501
ZyXEL ZyAIR G-220

# FILES

The adapter needs some firmware files, which are loaded on demand by the driver when a device is attached:

/libdata/firmware/zyd/zyd-zd1211
/libdata/firmware/zyd/zyd-zd1211b

See firmload(9) for how to change this.

# EXAMPLES

The following ifconfig.if(5) example configures zyd0 to join whatever network is available on boot, using WEP key “0x1deadbeef1”, channel 11:

    inet 192.168.1.1 netmask 255.255.255.0 nwkey 0x1deadbeef1 chan 11

Configure zyd0 for WEP, using hex key “0x1deadbeef1”:

    # ifconfig zyd0 nwkey 0x1deadbeef1

Return zyd0 to its default settings:

    # ifconfig zyd0 -bssid -chan media autoselect \
    	nwid "" -nwkey

Join an existing BSS network, “my_net”:

    # ifconfig zyd0 192.168.0.2 netmask 0xffffff00 nwid my_net

# DIAGNOSTICS

zyd%d: could not read firmware file %s (error=%d)
  For some reason, the driver was unable to read the firmware file from the filesystem. The file might be missing or corrupted.
zyd%d: could not load firmware (error=%d)
  An error occurred while attempting to upload the firmware to the onboard microcontroller unit.
zyd%d: could not send command (error=%s)
  An attempt to send a command to the firmware failed.
zyd%d: sorry, radio %s is not supported yet
  Support for the specified radio chip is not yet implemented in the driver. The device will not attach.
zyd%d: device version mismatch: 0x%x (only >= 43.30 supported)
  Early revisions of the ZD1211 chipset are not supported by this driver. The device will not attach.
zyd%d: device timeout
  A frame dispatched to the hardware for transmission did not complete in time. The driver will reset the hardware. This should not happen.

# SEE ALSO

arp(4), ifmedia(4), intro(4), netintro(4), usb(4), ifconfig.if(5), ifconfig(8), firmload(9)

# AUTHORS

The `zyd` driver was written by Florian Stoehr <ich@florian-stoehr.de>, Damien Bergamini <damien@openbsd.org>, and Jonathan Gray <jsg@openbsd.org>.

# CAVEATS

The `zyd` driver does not support a lot of the functionality available in the hardware. More work is required to properly support the IBSS and power management features.

March 24, 2019 | NetBSD 9.0