Direct Ethernet cable link between laptops won't work

Wired two laptops with a crossover cable? They won't talk by default. Old school fix: set static IPs. Newer: enable SMB and firewall rules.

You grab a standard Ethernet cable, plug one end into your work laptop and the other into your personal machine, expecting a quick file transfer. Instead, nothing happens. No network icon lights up, the other machine doesn't show in File Explorer, and you get a 'Network discovery is turned off' error. I see this at least once a month from small-office clients who think a cable is all they need. The trigger is almost always either using a standard patch cable (not crossover) or assuming Windows will auto-configure the network. It won't — not without a little help.

Why it fails by default

Most modern Ethernet ports have Auto-MDI/X built in, so a crossover cable isn't strictly needed anymore. But the real problem is that both laptops are trying to get IP addresses from a DHCP server that doesn't exist. They each default to a self-assigned IP (169.254.x.x) and can't route traffic to each other. Windows also keeps file sharing, network discovery, and public firewall profiles locked down by default. You're basically trying to start a conversation in a soundproof room with the lights off.

The fix: static IPs and firewall tweaks

Skip the fancy tools. Here's what works every time.

Step 1: Set static IP addresses on both machines

On the first laptop:

  • Open Control Panel > Network and Sharing Center > Change adapter settings.
  • Right-click the Ethernet adapter, select Properties.
  • Double-click Internet Protocol Version 4 (TCP/IPv4).
  • Select Use the following IP address.
  • Enter:
    • IP address: 192.168.1.10
    • Subnet mask: 255.255.255.0
    • Default gateway: 192.168.1.1 (doesn't matter here, but fill it in)
  • For DNS, use 8.8.8.8 and 8.8.4.4 — again, not critical for the direct link, but consistent.
  • Click OK, then Close.

On the second laptop, do the same but use a different IP in the same subnet:

  • IP address: 192.168.1.11
  • Subnet mask: 255.255.255.0
  • Default gateway: 192.168.1.1
  • DNS: 8.8.8.8

Step 2: Turn off IPv6 on both adapters (optional but recommended)

IPv6 can interfere with local link communications. In the same Ethernet Properties window, uncheck Internet Protocol Version 6 (TCP/IPv6). I've had a client whose laptops kept using link-local IPv6 addresses and couldn't ping each other until we killed IPv6. It's not always necessary, but it eliminates a variable.

Step 3: Enable network discovery and file sharing

Go to Control Panel > Network and Sharing Center > Advanced sharing settings.

  • Under Private (or the current profile), select:
    • Turn on network discovery
    • Turn on file and printer sharing
  • Under All Networks, select:
    • Turn off password protected sharing (unless you want to authenticate every time)
  • Save changes. Do this on both laptops.

Step 4: Change the network profile to Private

Windows often sets the Ethernet connection to Public by default, which blocks discovery. To change it:

  • Open Settings > Network & internet > Ethernet.
  • Click on the network name.
  • Set the network profile to Private.

Step 5: Allow File and Printer Sharing through Windows Firewall

Even with discovery on, the firewall can block the actual traffic. Did a job two months ago where this was the only thing left to check — drove me crazy.

  • Open Control Panel > Windows Defender Firewall > Allow an app or feature through Windows Firewall.
  • Click Change settings (you need admin rights).
  • Scroll to File and Printer Sharing and check both Private and Public (Private is enough for a direct cable, but I check both to be safe).
  • Click OK.

Step 6: Test the connection

On either laptop, open a command prompt and run:

ping 192.168.1.11

If you get replies, the link works. If you get 'Destination host unreachable,' double-check the IPs and subnet mask — they must match (both 255.255.255.0). Also verify the cable is good; a bad cable can cause intermittent drops.

If it still fails

Check these hidden gotchas:

  • Antivirus firewalls. Third-party software like Norton or McAfee often blocks local network traffic even when Windows allows it. Temporarily disable the firewall (not the whole AV) to test.
  • Power saving on the Ethernet adapter. Go to Device Manager, find your Ethernet adapter, open Properties, go to the Power Management tab, and uncheck 'Allow the computer to turn off this device to save power.' I've seen laptops drop the link after 10 minutes of idle because of this.
  • File sharing service not running. Open Services (services.msc), find 'Function Discovery Resource Publication' and 'SSDP Discovery' — set both to Automatic and start them. Had a client whose SSD discovery was set to Manual, and laptops never appeared in Network.

Once you've got the ping working, you can map a network drive or access shared folders via \192.168.1.11 in File Explorer. Do not share the whole C drive — create a dedicated folder, right-click, go to Properties > Sharing > Share, and give 'Everyone' at least Read/Write access for the transfer. Then turn off sharing when you're done. Keeps it clean.

Related Errors in Network & Connectivity
0XC0000041 STATUS_PORT_CONNECTION_REFUSED (0XC0000041) fix 0X000004CC Fix ERROR_ADDRESS_NOT_ASSOCIATED (0x000004cc) on Windows 0X00002338 Fix DNS_ERROR_RCODE_BADSIG (0X00002338) – DNS signature failed 0X0000274E WSAELOOP 0X0000274E: DNS resolution loops in Windows

Was this solution helpful?

EP
Erropedia Team
Tech Support Editors
The Erropedia editorial team researches and documents real-world tech errors from across Windows, Linux, macOS, networking, databases, cloud platforms, and more. Every solution is reviewed for accuracy and updated as software and systems evolve.