System designTroubleshooting

Vision software can't find your camera: the missing driver layer

Vision software with no camera means a missing driver layer: which layer GigE, USB3, CoaXPress and Camera Link cameras need, and how to install and verify it.

LumaSpec Vision11 min read Share on LinkedIn

On this page 11 sections
  1. 01The symptom and the three layers
  2. 02Why installing the application alone never works
  3. 03Match the driver layer to the interface standard
  4. 04Likely causes, in order of probability
  5. 05The fix: install, reboot, enumerate below the SDK
  6. 06Worked example: can one GigE link carry a 12 MP camera at 9 fps?
  7. 07The same trap on USB3, at higher speed
  8. 08When the camera is listed but the frames stop
  9. 09The same rule outside machine vision
  10. 10Prevention: keep the layer from breaking again
  11. 11Questions

You install the vision package, wire the camera, open the acquisition example — and the device list comes back empty, with a message about driver software that cannot be found. Nothing is broken. A machine-vision package never talks to cameras directly: it enumerates through a driver layer that speaks the camera's interface standard, and that layer installs separately from the application. This guide shows you how to read the standard off the camera, install the matching acquisition driver from the software vendor, check enumeration below the SDK, and tell a missing-layer failure apart from the bandwidth problems that look similar once the camera is listed.

The symptom and the three layers

The report always has the same shape: the application starts, every editing and analysis feature works, and acquisition fails for every camera you plug in — often with the same message whichever acquire button you press. Three layers have to line up before a camera appears in a device list:

  • OS enumeration. The NIC shows a link light, or the USB device shows in Device Manager or lsusb. On its own this proves nothing about the SDK.
  • Transport driver. The OS-level component for the interface standard: the GigE Vision filter driver bound to the network adapter, the USB3 Vision transport, or a frame grabber's PCIe board driver.
  • The package's transport module. The GenICam/GenTL producer the software loads at runtime, which asks each installed transport what devices it sees.

An error naming driver software that cannot be found is layer two or three speaking. The camera never reached the software, so no camera setting can fix it.

Why installing the application alone never works

Vision software ships as two separate installs: the application (IDE, tools, runtime libraries) and the acquisition package (transport drivers plus the GenICam runtime). The split exists because each interface needs OS-level code — a network filter driver, a USB transport, a PCIe board driver — and because the transports come from the software vendor even when the camera comes from someone else.

The device list is built by polling each installed transport. With none installed, the list is empty no matter how many cameras are plugged in, which is also why reinstalling the application changes nothing: the repair never touches the driver component. How the integration options differ, and what each one requires, is compared in the guide to camera acquisition software compatibility and integration options.

Match the driver layer to the interface standard

One rule decides the fix: read the interface standard off the camera's spec row, then install the acquisition component from the software vendor that names that standard. The spec row is unambiguous:

Interface on the spec row Driver layer the software needs What enumeration looks like
GigE Vision The package's GigE Vision runtime, bound to the network adapter Camera listed by IP and MAC, answers ping
USB3 Vision The package's USB3 Vision transport driver Device listed under that transport, not as a webcam
CoaXPress, Camera Link The frame grabber board driver, then the package's grabber module Board listed before any camera is connected
Plain USB The package's USB module or the camera vendor's SDK Depends on the module; the OS may show a webcam meanwhile

GigE Vision and USB3 Vision exist for exactly this: a conforming application can discover and control a conforming camera — what that compatibility guarantees — but the transport still has to be on your PC first. If enumeration then misbehaves, the GigE Vision software compatibility checks cover the next suspects.

The standard is chosen per model, not per series. The LS-CMR-0053 is the 12 MP GigE model in the range; the LS-CMR-0166 covers the same 12 MP, 1/1.7" format over USB3. Two interfaces, two driver stacks: the GigE camera wants the GigE Vision runtime and a network port, the USB3 camera wants the USB3 Vision transport. Installing one does not make the other appear, which is why "but the driver is already installed" so often means the sibling interface's driver.

Area scan cameras12 MP GigE area scan camera, IMX226, 1/1.7" rolling shutter, 9 fps (LS-CMR-0053)LS-CMR-0053
Sensor format
1/1.7"
Lens mount
C-mount
$560.00View part
Area scan cameras12 MP USB3 area scan camera, IMX226, 1/1.7" rolling shutter, 30 fps, 4000 × 3000 resolution (LS-CMR-0166)LS-CMR-0166
Sensor format
1/1.7"
Interface
USB3
$560.00View part

Every interface in the table is stocked as an area scan camera — the card below opens the range, filterable by interface, resolution and sensor format.

CamerasArea scan cameras

GigE, USB3, 10GigE and CoaXPress

1,287 models · from $149.00

Likely causes, in order of probability

# Likely cause Quick test Fix
1 Only the application installed, no transport List is empty for every camera; the installer had an acquisition component you skipped Run the vendor's full installer with the acquisition component ticked, then reboot
2 Driver installed for the sibling interface Spec row says GigE, the installed stack is USB3 Vision, or the reverse Install the component for the standard printed on the spec row
3 OS sees the device, the SDK lacks rights (Linux) lsusb lists the camera, the SDK list stays empty Permissions or udev setup; walkthroughs below the table
4 GigE camera unreachable at the network layer No ping reply; discovery broadcast blocked by firewall or VLAN routing Own subnet on a dedicated NIC; open the SDK's firewall rules
5 Frame grabber board driver missing The board is absent from Device Manager before the SDK starts Board driver first, then the package's grabber module
6 Camera listed, frames fail Enumeration works, acquisition times out or drops Not a driver-layer fault; work the bandwidth example below

Cause 3 has its own walkthroughs: the camera visible in lsusb but not detected by the vision SDK and isolating Linux access errors when the camera SDK cannot find the device.

The fix: install, reboot, enumerate below the SDK

  1. Read the interface standard off the spec row — GigE Vision, USB3 Vision, CoaXPress, Camera Link or plain USB — and note the camera's MAC or serial for matching later.
  2. Run the software vendor's installer and tick the acquisition component for that standard. Component names vary by package; the generic kinds are a GigE Vision filter driver or network service, a USB3 Vision transport, or a GenTL producer entry.
  3. Reboot when asked. Transport drivers bind into the OS network and USB stacks at boot.
  1. Check below the SDK. Ping the GigE camera, confirm the USB device in the OS, and look for the grabber board in Device Manager before the package starts — a board that will not appear has its own frame grabber driver installation walkthrough.
  2. Enumerate in the package's transport layer. The camera should list with no acquisition configured and no settings touched.
  3. Only now set exposure, gain and packet size. Values the module rejects after discovery are a different failure class, covered in checking GenICam enumerations before you set them.

Inputs, with their sources:

  • Camera rate: 12 MP at 9 fps over GigE — the catalog row for the LS-CMR-0053.
  • Pixel depth assumed: 8-bit mono, 1 byte per pixel, the common output for geometry and code reading; 10-bit scales the demand by 1.25, 12-bit by 1.5.
  • Link capacity: one GigE port, 1 Gb/s ÷ 8 = 125 MB/s raw; usable stream payload runs about 90-115 MB/s with jumbo frames, lower on a default 1500-byte stack.
Area scan cameras12 MP GigE area scan camera, IMX226, 1/1.7" rolling shutter, 9 fps (LS-CMR-0053)LS-CMR-0053
Sensor format
1/1.7"
Lens mount
C-mount
Interface
GigE
Resolution
12 MP
$560.00View partBuild a system with it

The rule in words: required stream rate equals pixels per frame, times bytes per pixel, times frames per second, compared against the link's usable ceiling.

S = P × B × fps S_GigE_raw = 1 Gb/s ÷ 8 = 125 MB/s margin = S ÷ 125 MB/s

Arithmetic: 12,000,000 px × 1 B = 12 MB per frame. 12 MB × 9 frames/s = 108 MB/s. Margin: 108 ÷ 125 = 0.86, so 86% of the raw ceiling — above the ~85% point where an untuned link starts discarding. Switch the output to 10-bit and demand rises to 12,000,000 × 1.25 × 9 = 135 MB/s, past the 125 MB/s raw ceiling: that format cannot run at 9 fps on one GigE link at all.

Decision: at 86% of raw, this camera lists correctly and streams only after tuning — jumbo frames first, then the high-performance NIC driver: how much you gain, then a faster interface such as 5GBASE-T: bandwidth, cables and distance. Note what the case proves diagnostically: a camera that enumerates and then drops frames has a working driver layer. If the device list is empty, none of this tuning applies — go back to the fix steps.

The same trap on USB3, at higher speed

USB3 Vision cameras enumerate only through the package's USB transport, and bandwidth bites sooner because "USB is fast" hides the port question. The LS-CMR-0166 streams 4000 × 3000 at 30 fps over USB3. Working the numbers in 8-bit mono: 4000 × 3000 px × 1 B = 12 MB per frame, and 12 MB × 30 fps = 360 MB/s — close to a USB 3.0 port's practical ceiling of roughly 400 MB/s of real payload.

So the camera needs its own root-controller port, not a hub or a front-panel USB 2.0 socket. On a USB 2.0 link the same stream caps near 40 MB/s, and the failure shows up mid-acquisition as timeouts, not as an empty device list. Linux makes the port visible: if lsusb -t shows 480M, the camera negotiated USB 2 speed, and the negotiated-USB2 walkthrough explains how to chase it.

Area scan cameras12 MP USB3 area scan camera, IMX226, 1/1.7" rolling shutter, 30 fps, 4000 × 3000 resolution (LS-CMR-0166)LS-CMR-0166
Sensor format
1/1.7"
Interface
USB3
Resolution
12 MP
Shutter
Rolling
$560.00View partBuild a system with it

When the camera is listed but the frames stop

Order the levers by cost. First, packet size to jumbo (typically 9000 bytes) on both camera and NIC. Second, NIC driver tuning, which recovers real margin on GigE Vision. Third, the interface upgrade. Missing frames that follow a pattern — every camera, same interval — usually point at the host side, and the GigE Vision firewall walkthrough for missing images covers the discovery and streaming ports. The worked example gives the threshold: plan tuning before any stream exceeds about 85% of the link's raw rate.

The same rule outside machine vision

Industrial software always acquires through a named, installed layer, and the error messages are the same shape. HMI platforms integrate vision cameras through their own driver module — how an HMI integrates vision cameras through its software — and the camera stays invisible until that module is installed. PLC programming tools behave the same with interface drivers: a settings dialog lists the available transports, and a missing TCP/IP entry in the interface settings means the driver was never installed, not that the hardware failed. When an error names a driver, treat the name as the instruction: install that component from the tool's own vendor.

Prevention: keep the layer from breaking again

  • Record the interface standard next to the model number when you order; the spec row, not the series name, decides the driver.
  • Build the station PC image with every SDK's acquisition component included before any application is configured.
  • After a software update, re-run the full installer with driver components ticked; a partial update leaves the app mismatched with the transport.
  • Give GigE Vision cameras a NIC of their own, or a firewall rule set, at commissioning; check enumeration below the SDK before blaming your code.
  • Keep driver versions in the station file next to the camera list, so a mismatch is visible at a glance.

Get the layer matched and the rest of the integration is ordinary engineering: one camera, one transport, enumeration you can test below the SDK before a line of your own code runs. If you are choosing the camera as well as the driver, the camera finder filters area scan cameras by interface, resolution and shutter, and more acquisition-side fixes are collected on the systems topic page. For a new station, the configurator builds the chain starting at the camera:

Build the whole station

The configurator matches a camera, lens, light, light controller and cables to each other, step by step, and lists only parts that fit what you already picked.

Start with the camera

Questions

Can a GigE camera and a USB3 camera run on the same PC at once?

Yes. They ride separate hardware — a network adapter and a USB controller — and separate transports, so the two driver stacks coexist without configuration. Budget each link on its own: one 12 MP camera at 9 fps takes roughly 108 MB/s of a GigE port, so keep other traffic on a second NIC. For USB3, give the camera a root-controller port that disks and other devices do not share.

Why does Windows see the USB camera but the vision software still lists nothing?

Windows enumerated the device with its generic webcam-class (UVC) driver, which conferencing and capture apps read. Machine-vision packages ignore that device class unless they ship a module for it, and a USB3 Vision camera never appears through it at all. Install the package's USB transport or the camera vendor's SDK; the camera then lists under that transport, not under imaging devices.

Do GigE Vision and USB3 Vision guarantee that any software will find the camera?

They guarantee discovery and control between conforming cameras and conforming applications, so a package that implements the standard can talk to a camera that implements it. What the standards do not do is preload anything onto your PC: the application still installs its own transport, and until that happens its device list stays empty. Compliance and a missing driver are separate problems.

Do you install the camera maker's driver or the vision software maker's?

The software maker's first. The package enumerates through its own transport, so its installer is the one that counts; camera makers ship SDKs for the case where your software has no module for that interface. Install the software vendor's acquisition runtime, and add a camera SDK only when the package's documentation names that SDK as its transport for the device.

Do driver components need reinstalling after every software update?

Whenever the update ships its own acquisition runtime. Installers replace transport files, and a partial update can leave the application on a version the installed driver no longer matches, which reproduces the original empty-list symptom. Re-run the full installer with the acquisition component ticked, reboot, and re-enumerate below the SDK before opening your own program. Record the driver version in the station file.