At a guess, since similar connectivity issues came up at work a few months ago, I decided to turn off TCP SACK (Selective ACKnowledgement), and that caused the wifi connection to start working. What's odd is that SACK is supposed to be negotiated at the start of a connection. Whatever. It works, now.
UPDATE: Well, maybe that wasn't it. Right after doing this, I turned SACK back on to see its effects, and was able to connect to the access point with no trouble.
UPDATE 2: Here's the commandline:
sysctl -w net.ipv4.tcp_sack=0There was some discussion on ServerFault about TCP SACK, and also an in-depth article by Patrick McManus from 2008.