Το γεγονός ότι μέσω usb tethering από το κινητό οι ταχύτητες πετάνε κανονικά αποδεικνύει 100% ότι το πρόβλημα δεν βρίσκεται στο tcp stack του Linux, ούτε στο network manager, ούτε στη γραμμή σου.
Τώρα, με σιγουριά ξέρουμε ότι είναι αποκλειστικά θέμα του hardware, του driver δηλαδή της κάρτας Atheros στο Linux, η οποία είτε δεν μπορεί να διαχειριστεί σωστά τα interrupt requests είτε κολλάει σε επίπεδο power state. Η παράμετροςmsi_disable=1 που έβαλες είναι στη σωστή κατεύθυνση, αλλά με την rawmode=0 ο driver μπουκώνει στο TX.
Πλέον, υποθέτω, ότι μπορεί να λυθεί.
Κανε αυτά τα δυο:
Άνοιξε ξανά το αρχείο του driver:
sudo nano /etc/modprobe.d/ath10k.conf
και άλλαξε όσα έχει ώστε να είναι:
options ath10k_core rawmode=1 skip_regulatory=1
options ath10k_pci msi_disable=1
μετά, εφαρμόζεις τις αλλαγές στον πυρήνα:
sudo update-initramfs -u
sudo reboot
μετά την επανεκκίνηση, τρέξε:
cat /sys/module/ath10k_core/parameters/rawmode
θέλουμε να επιστρέψει 1
αν και με αυτό αν δεν αλλάξει τίποτα τότε η συγκεκριμένη κάρτα Atheros έχει αποδεδειγμένα προβληματικό driver stack σε νεότερους πυρήνες Linux.
Δοκίμασε λοιπόν, αυτή την τελευταία αλλαγή στο rawmode=1 μαζί με το msi_disable=1 και πες τι δείχνει το speedtest.
Από εκεί και πέρα, σηκώνω χέρια ψηλά.
Είτε το αποδέχεσαι ως έχει (βελτιώθηκε αρκετά άλλωστε) είτε παίρνεις κάνα φθηνό usb wifi dongle με chip Realtek ή MediaTek που παίζει plug & play σε Linux.