110

After installing the newest version of Network Link Conditioner on macOS Sierra, it doesn't appear to work. It has no effect on my network connectivity, even when set to 100% loss. Anyone experience this? Is this simply a case of Apple not updating NLC for Xcode 8?

Zach Lucas
  • 1,581
  • 5
  • 13
  • 28
  • 5
    Verified that Network Link Conditioner is broken both when upgrading to and doing a clean install of Sierra. – Brennan Roberts Oct 03 '16 at 15:35
  • 1
    Same problem. There isn't a download for the "Hardware IO Tools" for XCode 8 yet. When that's released, hopefully it will be updated for Sierra. – scosman Oct 04 '16 at 01:50
  • 1
    For me, the packet loss settings don't appear to work, but the delays do. As a workaround for the 100% loss setting not working, I have a custom setting that sets an extremely high delay--in my case 100,000ms for DNS, Downlink and Uplink. You can experiment with higher numbers if necessary. – kabuko Oct 05 '16 at 19:51
  • 1
    Slight correction, I think only DNS delay is working for me, and the settings try to autocorrect my 100,000ms setting to 100ms sometimes so I have to set it twice before it takes. – kabuko Oct 05 '16 at 20:02
  • 2
    Submitted this as an Open Radar ticket: https://openradar.appspot.com/28660543 – Chris Oct 06 '16 at 22:40
  • Looks like it's a known issue, no word on timeline for a fix though. For now we will have to test on device. https://forums.developer.apple.com/thread/66042 – Zach Lucas Oct 27 '16 at 16:10
  • 1
    Also depends on the OS you're running. I'm running El Captain and I couldn't get NLC for XCode 8.2 running. I asked at the same threaad as Zach points out about this issue and they told me to download NLC for XCode 7.x because I had older system and it worked like magic. It doesn't really have anything to do with XCode version, it's more about the system you're running. – emil.c Jan 12 '17 at 18:42
  • To add to @emil.c's comment, I had the same issue. I'm on El Capitan with Xcode 8.2.1 and the latest version of NLC didn't work for me. I had to install the one from Hardware IO Tools for Xcode 7.3 from here https://developer.apple.com/download/more/. I first had to remove the old one by right clicking on it in System Preferences. Then after installing the new one, I had to turn the NLC off and back on and then it worked. – Liron Yahdav Feb 24 '17 at 19:08

9 Answers9

95

This issue is fixed in the latest version of the Network Link Conditioner - it's in the "Additional Tools for Xcode 8.1" download from https://developer.apple.com/download/more/.

I've tested all the built-in profiles and they work as expected.

will_d
  • 1,076
  • 7
  • 6
  • 1
    Thanks! I've just confirmed as well, works as expected. – Zach Lucas Nov 07 '16 at 22:36
  • 12
    For me I had to right-click on previous installation of NLC, uninstall and then install the new one. – Cynic Nov 29 '16 at 21:11
  • 1
    8.2 worked for me as well - suspect it's just a matter of getting the latest version – andrewb Dec 20 '16 at 02:44
  • 10
    if you get "You can't install the "Network Link Conditioner" preferences. "Network Link Conditioner" preferences is installed with macOS and can't be replaced." Solution => http://apple.stackexchange.com/a/203066/145995 – AbdulMomen عبدالمؤمن Jan 25 '17 at 07:57
  • If you are having issues with this on El Capitan, take a look at the comments on the question itself. – Liron Yahdav Feb 24 '17 at 19:09
  • To inline the solution from AbdulMomen, above, the key is to remove the old NLC manually (or move it to a backup location if you wish): 'sudo mv /Library/PreferencePanes/Network\ Link\ Conditioner.prefPane Network\ Link\ Conditioner.prefPane.old' Then just install the new one normally. – Oded Jun 09 '17 at 03:47
22

I can't comment (not enough reputation), but figured I'd add that the Xcode 8 tools that have the Network Link Conditioner in it has changed names.

https://developer.apple.com/download/more/

It's now in the "Additional Tools for Xcode 8", instead of "Hardware IO Tools for Xcode 7.x".

Though, that didn't fix any of the issues...

tanya
  • 382
  • 2
  • 11
  • 2
    Frustrating that you can't simply search for 'Conditioner' or the like to find this, but good catch on your part. Thought it was odd Apple didn't release NLC for XC8 and it turns out they did! :) – Mark A. Donohoe Oct 12 '16 at 20:02
11

Step 1: Uninstall Old NLC by right clicking ("remove") it in "System Preference"

Delete Network link conditioner

Step 2:

Open https://developer.apple.com/download/more/ , login to apple account and search for additional tools and Download Additional Tools for Xcode 9.

enter image description here

Tested default and my existing custom profiles, all worked like a charm!

Sasi Varunan
  • 2,340
  • 1
  • 18
  • 28
4

Selecting the "High Latency DNS" profile works for me. This is not always what I want, but better than nothing.

appleitung
  • 783
  • 5
  • 10
2

I found a workaround that made it work for me.

Step 1: Enable pf

sudo pfctl -e -f /etc/pf.conf

Step 2: Open link conditioner and enable a rule

Step 3: Check if there are dummynet rules in pf

sudo pfctl -sa

You should see a line like:

dummynet-anchor "com.apple.nlc" all

If you disable pf with pfctl -d then link conditioner stops working and you have to disable all link conditioner rules and make the above steps.

It worked for me very well.

Easy way to test if it's working is to enable DNS Latency and test it with:

nslookup www.google.com
ppaulojr
  • 3,473
  • 4
  • 25
  • 54
  • Just to clarify, you're saying to disable the default settings and create (duplicate) them all yourself as custom entries? – Chris Oct 06 '16 at 20:00
  • 2
    I just tested this, and NLC already enables the packet filter for you, and the dummynet rule is installed properly. And in fact the High Latency DNS profile works just fine. But the profiles that delay or drop packets don't work. – Lily Ballard Oct 07 '16 at 23:57
  • @KevinBallard so have you found the solution yet? – HendraWD Oct 14 '16 at 04:08
  • 2
    @HendraWijayaDjiono Nope. I filed a radar, which got duped. At this point I'm just waiting for Apple to get around to fixing it. – Lily Ballard Oct 14 '16 at 19:29
2

If you installed link conditioner for previous Xcode version it will not work with Xcode 8. You can download Additional_Tools_for_Xcode_8.2.dmg from http://developer.apple.com/download/more/

then you will need to move the old link conditioner before installing the new one. Like this:

sudo mv /Library/PreferencePanes/Network\ Link\ Conditioner.prefPane/ ~/old

Then double clicking on link conditioner will ask you to install it.

Khaled Annajar
  • 12,558
  • 4
  • 30
  • 43
2

Installing an older version of Network Link Conditioner (NLC) can solve the issue.

  1. Uninstall NLC by right clicking it in "System Preference" and choosing "… remove"
  2. Download an older version of NLC from https://developer.apple.com/download/more/. (Search for bundles named "Additional Tools for Xcode …")
  3. Install NLC from the downloaded bundle and try it out. (http://www.netmeter.eu can help you testing your network speed)

In my case I was using OS X El Capitan Version 10.11.6 . The NLC from the newest bundle "Additional Tools for Xcode 8.2" did not work for me. But NLC from "Additional Tools for Xcode 7.3" works like a charm. Reinstalling or changng Xcode is not necessary.

PJT
  • 23
  • 7
0

Installing of Network Link Conditioner from "Additional Tools for Xcode 9 beta" worked for me.

Artem Novichkov
  • 2,260
  • 2
  • 19
  • 34
0

For XCode 10.2, in More developer tools - Additional Tools for XCode 10.2, you will find Network Link Conditioner.

Kiran Jasvanee
  • 5,240
  • 30
  • 42