My wifi card on my old laptop worked just fine, until I looked at the log files. 60GB of PCIe errors with a severity of "corrected". pci=noaer in grub fixed it right up!
Reminds me of how my SSDs (both literally brand new) kept spitting out error messages in smartctl. As it turned out, this was a smartctl bug and I was able to install the Debian backports version to get a version with the fix.