I was having strange intermittent problems when using my Zarus with 802.11. It would mostly work, but sometimes communications apps would hang when trying to talk.
The nastiest problem was that I couldn't use TLS with my mailserver -- when I tried, opiemail would hang during the TLS handshake.
The problem turned out to be my access point (I use a Linksys BEF-W11). The access point would sometimes send frames that were too large to fit into the frame size the Z was expecting (1504 bytes, when they should have been 1500). I discovered this when I ran the "dmesg" command on the Z after opiemail hung, so if you suspect something similar is happening, take a look there.
My solution was to add a line to the /etc/network/interfaces file, in the iface wlan0 stanza:
iface wlan0 inet dhcp
#
# blah blah blah configuration stuff here
up ifconfig wlan0 mtu 1508 # This is the line I added
This changes the size of the frame the Z expects to 1508. Shouldn't have to do it. It's not the Z's fault. But it makes everything work.