The difference might lie in the different nature of the TCP packets that are sent for
wired and wireless communications.
The
MTU
for wireless networks is said to be larger.
The article
Wireless Packet Sizes
claims it to be 2,312 bytes including packet headers.
This is larger than the Ethernet recommendation for wired networks,
which is 1,500 bytes.
Note that communication with the ISP might require adding an extra header
of eight bytes which reduces the maximum packet size to 1,492 bytes
(which was also the optimal size I found in some testing done some years ago).
Wikipedia
Maximum transmission unit (MTU)
gives more details:
IP MTUs for common media
Possibly the infrastructure of your ISP badly handles large packets,
when it needs to split up into smaller packets to pass through the ISP's network.
The process as done inside the ISP's network might be so inefficiently
programmed as to slow down the transfer speed.
This conjuncture that the problem lies in larger TCP packet size is perhaps
supported by the fact that wireless traffic traveling within your network
is not reduced in speed.
Seemingly, your router better handles such packets.
Check if your router can be configured to limit packet size to 1,492
(or less) bytes, for both wired and wireless.
If it is not possible, try to get help from your ISP Support,
or possibly even change ISP (again) if their infrastructure is so badly
configured (or change the router).
User @DanielK pointed to the article
Changing the MTU size in Windows Vista, 7 or 8
where these commands were suggested, running in an elevated
Command Prompt:
List all network interface ids:
netsh interface ipv4 show subinterface
Set the MTU Size:
netsh interface ipv4 set subinterface "interface-id" mtu=<size> store=persistent
Reboot is required after this last command.
This might also be required to be done for ipv6
.
If it works for you, then this is a workaround that can let you keep
your current ISP (still at the cost of some throughput).