To get the 300 megabit/sec signaling rate out of 802.11n, you have to have an AP and a client that are both capable of 2 spacial streams, 40MHz-wide channels (HT40), and short guard intervals (short GI).
To use 802.11n rates at all, you must use either No Security or WPA2 (AES-CCMP). WEP and WPA (TKIP) cannot keep up with the data rates of 802.11n, so according to the spec, 802.11n rates should not be used when those older, slower security modes are being used as the unicast cipher. Make sure that your AP was WPA2 (AES) enabled, and that your client is configured to only use AES with that AP. Or turn security off altogether for these tests.
Another rule for 802.11n is that you must have QoS (802.11e, WMM) enabled. If you disable WMM on your AP or client, they may only connect at legacy a/b/g rates.
The client and the AP also need to have good signal strength to each other, and the whole 40MHz-wide channel should be relatively interference-free.
To do a good test of your performance, you need to use a tool like IPerf that is known to use TCP efficiently, and for the sake of clarity, gives speed numbers in megabits (1,000,000's of individual bits), not MebiBytes (1,048,576's of 8-bit bytes). Network I/O is measured in megabits. Disk/File I/O is measured in MebiBytes. Switching back and forth between the two is confusing because sometimes people don't follow the same notation conventions, or forget to convert between mega (10^6) and MeBi (2^20).
You also need to make sure a reasonable TCP receive window size is being used, such as by specifying
-w 256K on both your IPerf client and server.
Don't add uncertainty to the measurements by bringing your WAN (broadband Internet) connection into this. Plug a wired Ethernet machine into the LAN port of your AP, and have it act as your other IPerf endpoint.
The rule of thumb for 802.11 overhead is that your TCP throughput in IPerf should be at least 50% of the 802.11 signaling rate that you're getting. So if your software says you're connecting at the 300 megabit/sec rate, you should be able to get 150 megabits/sec of IPerf TCP throughput with appropriately-sized TCP receive windows.
Some variants of your Intel 5150 were asymmetric; they could only transmit using one spacial stream, meaning that much of the time their transmit speed would be only half of their receive speed. This invalidates using Bittorrent as your performance test, because I believe Bittorrent has a fairness algorithm that limits your download speed to match your upload speed, or something like that. Also, Bittorrent has a fair amount of overhead from opening up lots of separate TCP connections between peers.
I don't know why you mentioned testing against a D-Link DIR-300. As you noted, that's not even an N-capable AP. Getting 20 megabits/sec (I'm translating that from your note of "2.4MB/s") is decent for 802.11g rates. It indicates that your client is probably hovering around the 36 megabit/sec signaling rates most of the time, which is decent depending on radio conditions.
So, putting this all together:
- Put your TP-Link WR1043ND in HT40 (it may call it 20/40) mode, pick a control and extension channel that you can see (from a tool like inSSIDer) is clean, make sure short GI is enabled (if it even exposes that option). Turn off security for this test. Make sure QoS (802.11e, WMM) is enabled.
- Plug a wired Ethernet machine into the LAN port.
- Put your Y560 about 3 meters away from your AP (too close can overload the radios and cause poor performance), and turn off Bluetooth. Note what 802.11 signaling rate it says it's getting. If it doesn't say 300 megabits/sec or at least 270 megabits/sec, then you can probably skip the rest. ALSO check to see what the TP-Link WR1043ND reports as the signaling rate it's using when talking to the Y560. Again, if it doesn't say 300 or 270, then you can probably skip the rest, because your two devices just aren't using the data rates they're supposed to be using. You might want to check in advanced driver settings for your 5150 driver if it says that you've got HT40 enabled for the 2.4GHz band.
- On your Y560, run
iperf -w 256K -s. IPerf by default sends traffic from the client to the server. You want to test how fast your Y560 can receive, so you want it to be the server.
- On your wired Ethernet machine, run
iperf -w 256K -c $Y560IPADDR, where
$Y560IPADDR is the IPv4 address of your Y560.
See what the results are (in megabits/sec).