The Hardware Problem
I opened up the laptop, and found that the two antenna cables were not properly attached to the card. There was a tape (not shown in the picture) trying to keep the two cables attached, but failed due to the tension from the bending; also, the screw to attach the card onto the main board is too close to one of the antenna contacts so it automatically grounds it, making that antenna useless. This is a design problem.
I first re-attached the two cables back to their contacts and re-tape them, and put some non-conductive material between the screw and the contact to prevent the grounding. It helped.
The Atheros 10K Driver Problem under Linux
I had used several Thinkpads since its IBM days, so I was quite surprised to have found that this Lenovo's Atheros 10K chip was not supported under Linux. People were reporting stable driver performance under Windows, and some efforts were made to bring the firmware from Windows driver to Linux. I waited a few months for Linux kernel to come to version 4.3 and spent a lot of time trying various hacks to get the driver working. I was never able to get stable performance.
I decided to replace the card with Intel Dual Band Wireless AC 3160, which is well supported by native Linux.
(I have no idea which antenna cable is intended for Wi Fi and which is for bluetooth, but this works for me; besides, tension-wise, this is the only way I could keep the contacts isolated.)
It has been working flawlessly.


Comments
Rui Ramos on Sunday, July 21, 2019 at 10:25:00 AM EDT
Hi there,
I am doing the same thing.
But I have found 2 models of 3160:
How can I know which is right for my u31-70?
Thank you.
TK on Tuesday, July 23, 2019 at 3:32:00 PM EDT
If you click on the photo that shows the new card, it's the NGW version. I have no idea what the differences are between the two models. I'm using the NGW and it works. Good luck.
Rui Ramos on Tuesday, July 23, 2019 at 5:04:00 PM EDT
Yup, I see it now.
I will test mine when it gets home.
Thank you!