3D visionHow-to

3D camera link local address: configure both ends and wait

Set a 3D camera to DHCP mode with no server on the link and both ends settle on link local address 169.254.x.x — timing, Windows APIPA, Ubuntu netplan.

LumaSpec Vision9 min read Share on LinkedIn

On this page 10 sections
  1. 01The decision first: which addressing mode the link gets
  2. 02What must be true before the fallback fires
  3. 03The bring-up, end to end
  4. 04The arithmetic that proves the link
  5. 05Windows: the one mistake that blocks APIPA
  6. 06Ubuntu: netplan and the stale configuration
  7. 07When link local is the wrong answer
  8. 08Parts for a direct link
  9. 09Checklist before first capture
  10. 10Questions

You wired a 3D camera straight to a PC — no switch, no DHCP server — and the camera sits with no address while your software lists nothing. That is exactly the case link local addressing exists for: when no server answers, both the camera and the PC interface self-assign an address in 169.254.0.0/16 and the link comes up on its own. Two things trip engineers. The camera only falls back after more than 45 seconds, and the PC side must be set up to self-assign too. This walkthrough sets the camera mode, configures both PC operating systems, and proves the link with one captured frame.

Choose the addressing from the physical link, not from habit.

Link Addressing to commit to Why
One camera wired straight to one PC Link local on both ends No server, no manual addresses, works on the next PC you plug into
Fixed station, one camera, permanent install Static addresses on a private subnet The address never moves, so scripts and logs stay valid
Several cameras behind a switch One DHCP server on that segment One place to manage every address

For a bench set-up, a laptop, or a camera that moves between machines, commit to link local. Once a switch and several cameras are involved, DHCP for a 3D camera is the mode to run instead.

What must be true before the fallback fires

The camera's documented fallback behavior makes four conditions non-negotiable:

  • The camera is in DHCP mode. A camera left in static mode waits forever; falling back is something DHCP mode does when nobody answers.
  • No DHCP server answers on that segment. A router port, an internet-sharing feature or a dock network will happily serve the camera an address, and then you are debugging DHCP, not link local.
  • The PC interface self-assigns as well: Windows through APIPA, Ubuntu through netplan's link-local option.
  • More than 45 seconds have passed since the camera connected or powered up.
camera address: t > 45 s after connect, no DHCP answer same network: (pc_ip AND 255.255.0.0) = (camera_ip AND 255.255.0.0) = 169.254.0.0 plan: 60 s from power-up to first open

Addresses in 169.254.0.0/16 are never routed: no gateway, no crossing between segments. That is both the strength and the limit of the scheme — it works on exactly one physical link.

The bring-up, end to end

  1. Plan the physical link. One camera on one PC interface, nothing between them. Gigabit copper covers 100 m per segment, so a bench lead is easy. With no switch in the path there is no PoE either, so plan the camera's own supply or a midspan sized to its power class.

  2. Reach the camera once to set its mode. If the camera holds a static address today, give the PC interface a temporary address in that subnet so you can talk to it. Then switch it to automatic (DHCP) mode through any of the three routes an SDK gives you: the camera software's configure dialog, where you select the automatic mode and apply it; the command-line configurator that ships with the SDK, which takes the camera's current address and a DHCP flag; or the API, where you build a network-configuration object with IPv4 mode set to DHCP and apply it.

  3. Windows: leave the adapter on DHCP. APIPA is enabled by default and only fires when DHCP gets no answer, so keep the adapter's IPv4 properties on automatic addressing. If that adapter ever picked up a lease, use the adapter's release function so nothing half-configured survives.

  4. Ubuntu: enable link-local in netplan. In the netplan configuration for that interface, turn on link-local addressing for IPv4, apply the configuration, and confirm the interface is up.

  5. Power the camera and start a 60 second timer. The camera requests DHCP, hears silence, and self-assigns; the PC interface does the same in parallel.

  1. Read both addresses. The SDK's camera listing shows the camera's address; the interface status shows the PC's. Both must sit in 169.254.x.x with mask 255.255.0.0.

  2. Open the camera by its address. The walkthrough on opening a link local camera by IP from Linux covers this step in detail, and the same logic applies on Windows.

  3. Prove data, not just ping. An ICMP reply says the subnet works; it says nothing about the vision control port, a distinction the article on ICMP not being the control port works through. Capture one frame before calling the link done.

Say the camera self-assigns 169.254.37.9 and the PC adapter self-assigns 169.254.118.203 with mask 255.255.0.0. Test the two networks:

169.254.037.009 AND 255.255.0.0 = 169.254.0.0 169.254.118.203 AND 255.255.0.0 = 169.254.0.0

Both addresses land in the same /16, so the PC delivers packets straight out that interface with no gateway involved. On the clock: connect at t = 0 s, the camera finishes its fallback just past t = 45 s, and a first open attempt at t = 60 s carries about 15 s of margin.

Now the classic failure in the same arithmetic. The adapter still holds 192.168.1.10 with mask 255.255.255.0, so 192.168.1.10 AND 255.255.255.0 = 192.168.1.0, which is not 169.254.0.0. The PC has no route to the camera and every packet dies. One AND per address, two minutes of diagnosis.

Windows: the one mistake that blocks APIPA

The mistake is a static address left on the camera adapter. APIPA only fires from DHCP mode, so an adapter pinned to 192.168.x.x never self-assigns and the subnet test above fails exactly as shown.

The second blocker is a DHCP server you forgot about: internet connection sharing, a virtual adapter's bridge, or the office network the bench PC also jacks into. Anything that answers turns the exercise into finding a DHCP camera's address after every reboot instead.

Ubuntu: netplan and the stale configuration

Ubuntu leaves unconfigured interfaces bare, so the camera port needs its own netplan file with link-local addressing for IPv4 enabled. Check the existing netplan files before adding one — a leftover static entry on the same interface produces two configs fighting over one port. Apply the configuration, then read the interface state: a 169.254.x.x address next to the interface name is the pass condition.

If the address is right and the camera still stays silent, the 3D camera not pingable on a Linux controller checklist covers the subnet and link-level problems that sit below addressing.

  • Firmware updates. An updater often wants a fixed address and can refuse a camera in DHCP mode; why a static IP is needed for a 3D camera firmware update explains the mechanism.
  • Addresses that must survive. If settings vanish after power cycles, read camera persistent IP not retained after a reboot before blaming the mode.
  • Anything routed. 169.254.0.0/16 never crosses a router, so a monitoring PC on another subnet can never see a link local camera. Put shared cameras on the managed segment.
  • Fixed production stations. Static wins, because nothing on a permanent line should ever move.

A point-to-point link still needs a cable and power, and both are worth getting right once. Use a shielded GigE camera cable with locking screws: the LS-CBL-0199 is a 3 m high-flex GigE camera cable with screw locks, built for drag-chain use. For power, match the voltage on the camera's label; the LRS-75-48 is a 48 V, 76.8 W industrial power supply for 48 V loads.

Cables3 m GigE camera cable, high-flex (drag chain), screw locks (LS-CBL-0199)LS-CBL-0199$54.00View partBuild a system with it
Power suppliesMEAN WELL LRS-75-48 Industrial Power Supply, 48 V 76.8 WLRS-75-48
Type
Power cords and supplies
$35.00View part

Structured-light 3D cameras that live on exactly this kind of dedicated interface:

3D sensorsHikrobot MV-DLS300P-04 Laser galvanometer stereo cameraMV-DLS300P-04
Type
Stereo / structured light
$16,579.00 · quotedView and quote
3D sensorsHikrobot MV-DPS200P-02 Projected structured-light 3D cameraMV-DPS200P-02
Type
Stereo / structured light
$8,829.00 · quotedView and quote

Browse the 3D sensors category or the camera finder for the full range, the cables category for other lengths, the power supplies category for other voltages, and the system configurator to build the whole station in one pass.

Checklist before first capture

  • Camera mode set to automatic (DHCP) and applied
  • No DHCP server on the segment: router ports, sharing features, dock networks
  • PC adapter on the camera NIC in DHCP (Windows) or netplan link-local (Ubuntu)
  • Both addresses in 169.254.x.x, mask 255.255.0.0
  • 60 seconds waited from camera power-up
  • One frame captured through the SDK, not just a ping reply

Each line is a two-minute check, and together they close the four failure modes that fill a first bring-up afternoon: wrong camera mode, a forgotten server, a PC interface that never self-assigns, and impatience with the 45 second fallback.

Questions

How long does a 3D camera take to fall back to a link local address?

More than 45 seconds from power-up or connection, per the documented fallback behavior of Ethernet 3D cameras, so plan 60 seconds before the first open. The wait repeats after every power cycle, because the camera always requests DHCP first and only self-assigns when nothing answers. A camera that still has no address after a full minute is in static mode, not DHCP mode.

Do I need a crossover cable for a direct camera to PC connection?

No. Gigabit interfaces (1000BASE-T) negotiate the pair crossing automatically, so a straight-through industrial Cat5e or Cat6 cable with locking screws is the correct lead for a camera wired straight to a NIC. Keep the run under the 100 m segment limit of gigabit copper, and choose a shielded, drag-chain rated cable whenever the lead moves with a robot or fixture.

Can I run several 3D cameras link local on one network interface?

Give each camera its own interface. One gigabit NIC carries about 1 Gb/s, and a single structured-light 3D camera can consume most of that during a capture, so two cameras on one link fight for bandwidth. Self-assigned addresses also give you no central place to tell the traffic apart. Multiple cameras belong behind a switch with one DHCP server managing the segment.

My PC adapter already holds 192.168.1.10 — will it still reach a link local camera?

No. With only 192.168.1.10/24 on the interface, the PC has no route into 169.254.0.0/16, so packets to the camera go nowhere. Put a 169.254.x.x address on that interface — on Windows by switching the adapter to DHCP so APIPA fires, on Ubuntu by enabling link-local in netplan — and both ends land in the same /16.

Is link local suitable for firmware updates on a 3D camera?

Use static addressing for updates. Camera updaters commonly expect a fixed, predictable address, and some refuse to run while the camera is in DHCP mode. Bring the link up link local for capture work, then switch the camera to a static address on a private subnet before flashing new firmware, and switch it back afterwards.

Will the PC keep its 169.254 address after a reboot?

Yes. APIPA on Windows and link-local in netplan re-run at every interface start and re-fire quickly once no DHCP server answers. The slow end is the camera: it requests DHCP first and falls back only after more than 45 seconds, so budget the same minute after every power cycle, not just the first bring-up.