On Sat, Apr 19, 2014 at 09:51:59PM -1000, Felix Johnson wrote:
> I'm a bit new to OpenBSD and want to configure wireless networking,
> as a client to an existing access point.
> 
> The box has a clean install of 5.4-release from install54.iso.
> The wireless device is a Belkin F5D7050 wireless G USB network
> adapter, which shows up as zyd0.
> 
> I can scan the network with 'ifconfig zyd0 scan' and the ESSID I'm
> looking for shows up, but the radio keeps going up and down and I
> can't get dhcp working on it.
> 
> The /etc/hostname.zyd0 file looks like:
> nwid "What does the Mo'o say"
> wpakey sillypassword
> dhcp
> 
> This network id shows up when I use 'ifconfig zyd0 scan', so I'm
> pretty sure the wireless device is up and listening.
> e.g.
> zyd0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
>     lladdr 00:17:3f:52:1d:f3
>     priority: 4
>     groups: wlan
>     media: IEEE802.11 autoselect (DS1 mode 11g)
>     status: active
>     ieee80211: nwid "What does the Mo'o say" chan 1 bssid
> 1c:c6:3c:4c:3e:67 33dB wpakey 0xblah wpaprotos wpa1,wpa2
> wpaakms psk wpaciphers tkip,ccmp wpagroupcipher tkip 100dBm
>     nwid fatsole chan 6 bssid 00:14:bf:f9:60:34 39dB 54M
>         privacy,short_slottime
>         ... (many more) ...
>     nwid "What does the Mo'o say" chan 1 bssid 1c:c6:3c:4c:3e:67
>         43dB 54M privacy
> 
> Soo... how do I get dhcp working? I tried using 'dhclient zyd0' but
> all I get is
> DHCPDISCOVER on zyd0 to 255.255.255.255 port 67 interval 9
> ... (several more) ...
> DHCPDISCOVER on zyd0 to 255.255.255.255 port 67 interval 4
> No acceptable DHCPOFFERS received.
> No working leases in persistent database - sleeping.
> 
> Any help would be appreciated.
> Felix

Hi Felix,

I've received a zyd hardware donation and could diagnose the problem.
The diff below should fix the problem.

Index: if_zyd.c
===================================================================
RCS file: /cvs/src/sys/dev/usb/if_zyd.c,v
retrieving revision 1.97
diff -u -p -r1.97 if_zyd.c
--- if_zyd.c    19 Mar 2014 10:09:19 -0000      1.97
+++ if_zyd.c    3 Jun 2014 12:27:08 -0000
@@ -1913,7 +1913,7 @@ zyd_rx_data(struct zyd_softc *sc, const 
        }
 
        /* compute actual frame length */
-       len -= sizeof (*plcp) - sizeof (*stat) - IEEE80211_CRC_LEN;
+       len -= sizeof (*plcp) + sizeof (*stat) + IEEE80211_CRC_LEN;
 
        if (len > MCLBYTES) {
                DPRINTFN(2, ("frame too large (length=%d)\n", len));

Reply via email to