Losing connection in NxView after rebooting camera

General Information

  • Product: N36-602-16-BL
  • Ensenso SDK Version: 4.0.1502
  • Operating System: Ubuntu 22.04.5 LTS

Problem / Question

Hello,

I am using the Ensenso N36 camera. When the camera is connected to the PC via a power over ethernet switch and I start my PC I can see the camera and open it in NxView. The IP given is persistent when checking the IP address via IP Config.

However, when removing power of the camera and reapplying power, I lose the camera in NxView. When I try to ping the IP address, I get the answer Host Unreachable. The camera has restarted as I can see the current being used on my power supply.

The only solution for finding the camera in NxView and ping is to reboot my PC.

The only thing I can think of is the uEye driver not being installed but the documentation tells me that I don’t need the uEye driver.

Does anyone have the same problem and found a sollution?

Thanks in advance
Ryan

Hello Ryan,

first I’d like to confirm that you do not need the uEye driver to operate an N36 camera. The camera uses the GigEVision protocol, as the manual correctly states.

For my understanding, I would like to summarize you problem as:

An N36 with persistent IP that is connected and powered via a PoE switch is only reachable (through either NxLib or ping) if it is connected and booted before starting the host PC.

From your description you seem to do nothing wrong, so to figure out the cause of your problem we will need to do some investigating:

  1. After restarting the camera when it is not detected by NxView, can you find it through the Network Wizard?
  2. Can you also check the status LED on the camera’s network port when it is not being detected? The green LED should flash slowly in the idle state with some traffic indicated by a flashing yellow LED.
  3. Can you try the camera on another PC and see if reconnecting it works there?
  4. Does it work if you disconnect and reconnect your PC from the switch instead of the camera?
  5. Does it work if you connect the camera directly to you PC instead of through the switch? This is assuming you have a way to power the camera without the PoE switch.
  6. Does it work if, using the “IP Config” dialog, you switch the camera to use DHCP? Assuming you have DHCP available.
  7. When you click on the “No uEye Driver” warning and dismiss it by clicking “Do not show this warning again”, does NxView show any more warnings?
  8. When you see the camera on your PC, please open NxTreeEdit, right-click the root node named / at the very top, select “Copy value as JSON string” from the context menu and paste the entire tree in your reply. I would like to check the camera status and your ethernet configuration.
  9. Capture a log file while disconnecting and reconnecting the camera using either of the two methods detailed below.
Create a log from NxView
  • Press Ctrl-L in NxView to start logging.
  • Disconnect and reconnect the camera.
  • Wait about 20 seconds for the camera to boot.
  • Press Ctrl-L again, which will stop logging and open NxProfiler.
  • The log file is usually found under /opt/ensenso/settings/NxView/tmp_NxView.enslog.
  • Upload the log file with your reply.
Create a log from NxTreeEdit
  • Open NxTreeEdit.
  • Connect to NxView.
  • Open the debug tab at the bottom of the NxTreeEdit window.
  • Select “Trace” as the debug level.
  • Press “Start” to start logging.
  • Disconnect and reconnect the camera.
  • Wait about 20 seconds for the camera to boot.
  • Press “Stop” to stop logging and upload the resulting file with your reply.

With this information I hope to get a better idea what might be causing your problem.

Regards,
Raphael

Hi Raphael,

Thank you for your answer. To answer your questions:

  1. I cannot find the camera with the Network Wizard. But my network is correctly configured according to the Network Wizard.

  2. The status LED is slowly flashing green, and I see some traffic with the yellow led

  3. When using another PC, I can connect with the camera when I use the network wizard for the first time. However, when I disconnect the switch, I lose connection and can’t reconnect.

  4. Reconnecting after unplugging the Ethernet cable from the switch to my PC results in the same problem

  5. I cannot power the camera without PoE

  6. When switching to DHCP, the camera gets an invalid IP and the network wizard forces a valid IP to the camera
    image

  7. No other warnings are shown.

{
	"CUDA": {
		"Available": true,
		"Device": 0,
		"Devices": [
			{
				"ClockRate": 1785,
				"ComputeCapability": "8.9",
				"Cores": 3072,
				"Integrated": false,
				"Memory": 7933,
				"Name": "NVIDIA RTX 2000 Ada Generation Laptop GPU"
			}
		],
		"Enabled": true,
		"ErrorText": "",
		"StaticBuffers": 2,
		"UseFloat16": false,
		"Version": 12040
	},
	"Calibration": {
		"AssemblyCalibration": null,
		"Pattern": {
			"GridSpacing": 12.5,
			"PatternBuffer": {
				"All": {
					"Filter": {
						"Invert": false,
						"Or": [
							{
								"And": [
									{
										"Invert": false,
										"Type": "Static",
										"Value": true
									}
								],
								"Invert": false
							}
						]
					},
					"PatternCount": 0,
					"ShowPatternPoints": false,
					"ShowPatterns": false,
					"StereoPatternCount": 0
				}
			},
			"Thickness": 0,
			"Type": ""
		}
	},
	"Cameras": {
		"245138": {
			"EepromId": 1,
			"Link": {
				"Target": "Workspace"
			},
			"ModelName": "N36-602-16-BL",
			"Sensor": {
				"FirmwareUpdateVersion": "2.30.17079",
				"FirmwareVersion": "2.30.17079",
				"ModelName": "GV-50C2TE-M",
				"Port": {
					"Bandwidth": 1000,
					"DHCP": false,
					"Gateway": null,
					"IpAddress": "10.0.1.254",
					"IpSubnetMask": "255.255.255.0",
					"MAC": "00:1b:a2:20:bc:03",
					"NetworkAdapter": {
						"Gateway": null,
						"IpAddress": "10.0.1.2",
						"IpSubnetMask": "255.255.255.0",
						"MAC": "2c:58:b9:6a:24:e7",
						"MaximumTransmissionUnit": 9000,
						"Name": "eno1"
					},
					"Type": "Ethernet"
				},
				"SerialNumber": "9800551421"
			},
			"SerialNumber": "245138",
			"Status": {
				"Available": true,
				"Calibrated": true,
				"FirmwareSupportsModel": true,
				"IsApprovedFirmwareVersion": true,
				"IsSuppliedFirmwareVersion": true,
				"LocalEepromFile": false,
				"LowBandwidth": false,
				"Open": false,
				"Overtemperature": false,
				"Paired": true,
				"ValidCameraFirmware": true,
				"ValidFirmware": true,
				"ValidIpAddress": true,
				"ValidProjectorFirmware": true
			},
			"Type": "Stereo"
		},
		"ByEepromId": [
			null,
			"/Cameras/245138"
		]
	},
	"Debug": {
		"BacklogSize": 20971520,
		"FileOutput": {
			"Enabled": false,
			"FilePrefix": "log_",
			"FolderPath": ".",
			"MaxFileSize": 10000000,
			"MaxTotalSize": 50000000,
			"WriteFrequency": 1
		},
		"Level": "Off",
		"StaticBufferSize": 4194304
	},
	"DefaultParameters": {
		"All": {
			"OpenMP": {
				"Dynamic": 1
			},
			"Threads": 20
		},
		"ComputeDisparityMap": {
			"StaticBuffers": 2
		},
		"RenderPointMap": {
			"Far": 10000,
			"Near": -10000,
			"PixelSize": 1,
			"Scaling": 1,
			"Size": [
				1024,
				768
			],
			"Texture": true,
			"UseOpenGL": true,
			"ViewPose": {
				"Rotation": {
					"Angle": 0,
					"Axis": [
						1,
						0,
						0
					]
				},
				"Translation": [
					0,
					0,
					0
				]
			}
		},
		"RenderView": {
			"ShowCameras": true,
			"ShowGrid": true,
			"ShowNormals": true,
			"ShowSurface": true,
			"ShowUserDefinedModels": true,
			"Size": [
				1024,
				768
			],
			"ViewPose": {
				"Rotation": {
					"Angle": 1.217116005923658983,
					"Axis": [
						0.742906056031044759,
						0.307721763977165164,
						0.594472798273545933
					]
				},
				"Translation": [
					-1000,
					1000,
					-1000
				]
			}
		}
	},
	"Execute": {
		"Default": {
			"Command": null,
			"Parameters": null,
			"PersistentParameters": false,
			"Result": null,
			"Status": {
				"LatestMessage": null,
				"Messages": [
				],
				"Progress": null,
				"Time": null
			}
		}
	},
	"Images": {
		"RenderPointMap": null,
		"RenderPointMapTexture": null,
		"RenderView": 13374071116.06401824951171875
	},
	"Interface": {
		"Ethernet": {
			"Adapters": [
				{
					"Active": true,
					"Bandwidth": 0,
					"Gateway": null,
					"IpAddress": "172.18.0.1",
					"IpSubnetMask": "255.255.0.0",
					"MAC": "02:42:cb:58:10:3d",
					"MaximumTransmissionUnit": 1500,
					"Name": "br-49d4ae693d0b",
					"Status": {
						"CableConnected": false,
						"Connected": true,
						"Errors": "",
						"LinkLocalIpAddress": false,
						"ReversePathFiltering": false,
						"ValidIpAddress": true
					},
					"Virtual": true
				},
				{
					"Active": true,
					"Bandwidth": 10000,
					"Gateway": null,
					"IpAddress": "172.19.0.1",
					"IpSubnetMask": "255.255.0.0",
					"MAC": "02:42:55:13:b5:a0",
					"MaximumTransmissionUnit": 1500,
					"Name": "br-ef5107cdbe5a",
					"Status": {
						"CableConnected": true,
						"Connected": true,
						"Errors": "",
						"LinkLocalIpAddress": false,
						"ReversePathFiltering": false,
						"ValidIpAddress": true
					},
					"Virtual": true
				},
				{
					"Active": true,
					"Bandwidth": 0,
					"Gateway": null,
					"IpAddress": "172.17.0.1",
					"IpSubnetMask": "255.255.0.0",
					"MAC": "02:42:c0:21:92:3b",
					"MaximumTransmissionUnit": 1500,
					"Name": "docker0",
					"Status": {
						"CableConnected": false,
						"Connected": true,
						"Errors": "",
						"LinkLocalIpAddress": false,
						"ReversePathFiltering": false,
						"ValidIpAddress": true
					},
					"Virtual": true
				},
				{
					"Active": true,
					"Bandwidth": 1000,
					"Gateway": null,
					"IpAddress": "10.0.1.2",
					"IpSubnetMask": "255.255.255.0",
					"MAC": "2c:58:b9:6a:24:e7",
					"MaximumTransmissionUnit": 9000,
					"Name": "eno1",
					"Status": {
						"CableConnected": true,
						"Connected": true,
						"Errors": "",
						"LinkLocalIpAddress": false,
						"ReversePathFiltering": false,
						"ValidIpAddress": true
					},
					"Virtual": false
				},
				{
					"Active": true,
					"Bandwidth": 1000,
					"Gateway": null,
					"IpAddress": "10.0.0.2",
					"IpSubnetMask": "255.255.255.0",
					"MAC": "2c:58:b9:6a:24:e8",
					"MaximumTransmissionUnit": 9000,
					"Name": "enp58s0",
					"Status": {
						"CableConnected": true,
						"Connected": true,
						"Errors": "",
						"LinkLocalIpAddress": false,
						"ReversePathFiltering": false,
						"ValidIpAddress": true
					},
					"Virtual": false
				},
				{
					"Active": true,
					"Bandwidth": 10000,
					"Gateway": null,
					"IpAddress": null,
					"IpSubnetMask": null,
					"MAC": "c6:d2:90:e2:ff:48",
					"MaximumTransmissionUnit": 1500,
					"Name": "veth0562aa4",
					"Status": {
						"CableConnected": true,
						"Connected": false,
						"Errors": "IP configuration is not in the private address range.",
						"LinkLocalIpAddress": false,
						"ReversePathFiltering": false,
						"ValidIpAddress": false
					},
					"Virtual": true
				},
				{
					"Active": true,
					"Bandwidth": 10000,
					"Gateway": null,
					"IpAddress": null,
					"IpSubnetMask": null,
					"MAC": "72:d1:d2:65:a6:71",
					"MaximumTransmissionUnit": 1500,
					"Name": "veth069b386",
					"Status": {
						"CableConnected": true,
						"Connected": false,
						"Errors": "IP configuration is not in the private address range.",
						"LinkLocalIpAddress": false,
						"ReversePathFiltering": false,
						"ValidIpAddress": false
					},
					"Virtual": true
				},
				{
					"Active": true,
					"Bandwidth": 10000,
					"Gateway": null,
					"IpAddress": null,
					"IpSubnetMask": null,
					"MAC": "a2:d5:83:e0:cb:5c",
					"MaximumTransmissionUnit": 1500,
					"Name": "veth1463e51",
					"Status": {
						"CableConnected": true,
						"Connected": false,
						"Errors": "IP configuration is not in the private address range.",
						"LinkLocalIpAddress": false,
						"ReversePathFiltering": false,
						"ValidIpAddress": false
					},
					"Virtual": true
				},
				{
					"Active": true,
					"Bandwidth": 10000,
					"Gateway": null,
					"IpAddress": null,
					"IpSubnetMask": null,
					"MAC": "c6:7a:83:33:05:bd",
					"MaximumTransmissionUnit": 1500,
					"Name": "veth42f6e80",
					"Status": {
						"CableConnected": true,
						"Connected": false,
						"Errors": "IP configuration is not in the private address range.",
						"LinkLocalIpAddress": false,
						"ReversePathFiltering": false,
						"ValidIpAddress": false
					},
					"Virtual": true
				},
				{
					"Active": true,
					"Bandwidth": 10000,
					"Gateway": null,
					"IpAddress": null,
					"IpSubnetMask": null,
					"MAC": "42:3b:6c:53:b9:e5",
					"MaximumTransmissionUnit": 1500,
					"Name": "vethc9acbcb",
					"Status": {
						"CableConnected": true,
						"Connected": false,
						"Errors": "IP configuration is not in the private address range.",
						"LinkLocalIpAddress": false,
						"ReversePathFiltering": false,
						"ValidIpAddress": false
					},
					"Virtual": true
				},
				{
					"Active": true,
					"Bandwidth": 10000,
					"Gateway": null,
					"IpAddress": null,
					"IpSubnetMask": null,
					"MAC": "ee:11:f4:f2:4b:70",
					"MaximumTransmissionUnit": 1500,
					"Name": "vethcda8d40",
					"Status": {
						"CableConnected": true,
						"Connected": false,
						"Errors": "IP configuration is not in the private address range.",
						"LinkLocalIpAddress": false,
						"ReversePathFiltering": false,
						"ValidIpAddress": false
					},
					"Virtual": true
				},
				{
					"Active": true,
					"Bandwidth": 10000,
					"Gateway": null,
					"IpAddress": null,
					"IpSubnetMask": null,
					"MAC": "5e:58:54:fb:96:04",
					"MaximumTransmissionUnit": 1500,
					"Name": "vethd19b7b4",
					"Status": {
						"CableConnected": true,
						"Connected": false,
						"Errors": "IP configuration is not in the private address range.",
						"LinkLocalIpAddress": false,
						"ReversePathFiltering": false,
						"ValidIpAddress": false
					},
					"Virtual": true
				},
				{
					"Active": true,
					"Bandwidth": 10000,
					"Gateway": null,
					"IpAddress": null,
					"IpSubnetMask": null,
					"MAC": "06:90:6e:b6:2d:f4",
					"MaximumTransmissionUnit": 1500,
					"Name": "vethf7b04b7",
					"Status": {
						"CableConnected": true,
						"Connected": false,
						"Errors": "IP configuration is not in the private address range.",
						"LinkLocalIpAddress": false,
						"ReversePathFiltering": false,
						"ValidIpAddress": false
					},
					"Virtual": true
				},
				{
					"Active": true,
					"Bandwidth": 0,
					"DHCP": true,
					"Gateway": "10.0.10.1",
					"IpAddress": "10.0.10.84",
					"IpSubnetMask": "255.255.255.0",
					"MAC": "c8:15:4e:f7:57:c9",
					"MaximumTransmissionUnit": 1500,
					"Name": "wlp0s20f3",
					"Status": {
						"CableConnected": true,
						"Connected": true,
						"Errors": "",
						"LinkLocalIpAddress": false,
						"ReversePathFiltering": false,
						"ValidIpAddress": true
					},
					"Virtual": false
				}
			]
		}
	},
	"Links": {
	},
	"Objects": null,
	"Parameters": {
	},
	"PartFinderObjects": null,
	"PartFinderSelectedObjects": null,
	"Physics": {
		"Gravity": [
			0,
			0,
			100
		],
		"GroundPlane": false
	},
	"UEye": null,
	"Version": {
		"CodeMeter": {
			"HasLicense": false,
			"Status": "CodeMeter API could not be loaded."
		},
		"FirmwareVersion": {
			"B5x": {
				"Build": 0,
				"Major": 1,
				"Minor": 3
			},
			"C5x": {
				"Build": 0,
				"Major": 1,
				"Minor": 3
			}
		},
		"NxLib": {
			"Build": 1502,
			"Day": 13,
			"Hash": "751abfc4b72d9551e808ef1e63335323138bf7ac",
			"Major": 4,
			"Minor": 0,
			"Month": 8,
			"Year": 24
		},
		"PartFinder": {
			"HasLicense": false
		},
		"Projector": {
			"FirmwareVersion": {
				"Application": 37,
				"Bootloader": 18
			}
		},
		"RayTracing": {
			"HasLicense": false
		},
		"SystemInfo": {
			"Architecture": "x64",
			"CPU": {
				"Cores": 20,
				"Feature": {
					"Avx2": true,
					"PopCnt": true
				},
				"Threads": 28
			},
			"CUDA": {
				"Devices": [
					{
						"ClockRate": 1785,
						"ComputeCapability": "8.9",
						"Cores": 3072,
						"Integrated": false,
						"Memory": 7933,
						"Name": "NVIDIA RTX 2000 Ada Generation Laptop GPU"
					}
				],
				"ErrorText": "",
				"Version": 12040
			},
			"Memory": 31692,
			"OperatingSystem": "Linux"
		},
		"UEye": {
			"Status": "No UEye driver loaded."
		}
	}
}

tmp_NxView.zip (4.2 MB)

The log shows that about 6.5 to 7.5 seconds after disconnecting, the NxLib stopped trying to discover cameras on your network adapter eno1 with IP 10.0.1.2[1], which should be the one connected to the camera via the switch. When you recorded the log, which connection did you break: the one from the camera to the switch or from the switch to the PC? I am trying to reconcile this and your answer to 4. (unplugging the PC instead of the camera).

I suspect your PC somehow disables the network adapter when you change something about the connection, possibly by disabling the link and never bothering to reestablish it. Although it does not make sense to me yet why it should do this when you only disconnect the camera from the switch, which should leave the link from the switch to the PC intact.

What program are you using to manage your network adapters?

Could you please diconnect and reconnect the camera, wait 20s and then get another copy of the tree from NxTreeEdit and the output of ip addr show? If the link is indeed down on the interface eno1, try getting the link back up with ip link set dev eno1 up.


  1. Search for “10.0.1.255” in NxProfiler ↩︎

Hi Raphael,

Thank you for the research.

The connection that i broke was the connection to the switch (by powering it down). I don’t know or have a program to manage the network adapters. So I suspect that its the standard program inside Ubuntu 22.04.

NxTreeEdit

{
	"CUDA": {
		"Available": true,
		"Device": 0,
		"Devices": [
			{
				"ClockRate": 1785,
				"ComputeCapability": "8.9",
				"Cores": 3072,
				"Integrated": false,
				"Memory": 7933,
				"Name": "NVIDIA RTX 2000 Ada Generation Laptop GPU"
			}
		],
		"Enabled": true,
		"ErrorText": "",
		"StaticBuffers": 2,
		"UseFloat16": false,
		"Version": 12040
	},
	"Calibration": {
		"AssemblyCalibration": null,
		"Pattern": {
			"GridSpacing": 12.5,
			"PatternBuffer": {
				"All": {
					"Filter": {
						"Invert": false,
						"Or": [
							{
								"And": [
									{
										"Invert": false,
										"Type": "Static",
										"Value": true
									}
								],
								"Invert": false
							}
						]
					},
					"PatternCount": 0,
					"ShowPatternPoints": false,
					"ShowPatterns": false,
					"StereoPatternCount": 0
				}
			},
			"Thickness": 0,
			"Type": ""
		}
	},
	"Cameras": {
		"ByEepromId": [
			null,
			null
		]
	},
	"Debug": {
		"BacklogSize": 20971520,
		"FileOutput": {
			"Enabled": false,
			"FilePrefix": "log_",
			"FolderPath": ".",
			"MaxFileSize": 10000000,
			"MaxTotalSize": 50000000,
			"WriteFrequency": 1
		},
		"Level": "Off",
		"StaticBufferSize": 4194304
	},
	"DefaultParameters": {
		"All": {
			"OpenMP": {
				"Dynamic": 1
			},
			"Threads": 20
		},
		"ComputeDisparityMap": {
			"StaticBuffers": 2
		},
		"RenderPointMap": {
			"Far": 10000,
			"Near": -10000,
			"PixelSize": 1,
			"Scaling": 1,
			"Size": [
				1024,
				768
			],
			"Texture": true,
			"UseOpenGL": true,
			"ViewPose": {
				"Rotation": {
					"Angle": 0,
					"Axis": [
						1,
						0,
						0
					]
				},
				"Translation": [
					0,
					0,
					0
				]
			}
		},
		"RenderView": {
			"ShowCameras": true,
			"ShowGrid": true,
			"ShowNormals": true,
			"ShowSurface": true,
			"ShowUserDefinedModels": true,
			"Size": [
				1024,
				768
			],
			"ViewPose": {
				"Rotation": {
					"Angle": 1.217116005923658983,
					"Axis": [
						0.742906056031044759,
						0.307721763977165164,
						0.594472798273545933
					]
				},
				"Translation": [
					-1000,
					1000,
					-1000
				]
			}
		}
	},
	"Execute": {
		"Default": {
			"Command": null,
			"Parameters": null,
			"PersistentParameters": false,
			"Result": null,
			"Status": {
				"LatestMessage": null,
				"Messages": [
				],
				"Progress": null,
				"Time": null
			}
		}
	},
	"Images": {
		"RenderPointMap": null,
		"RenderPointMapTexture": null,
		"RenderView": 13374078172.81545257568359375
	},
	"Interface": {
		"Ethernet": {
			"Adapters": [
				{
					"Active": true,
					"Bandwidth": 0,
					"Gateway": null,
					"IpAddress": "172.18.0.1",
					"IpSubnetMask": "255.255.0.0",
					"MAC": "02:42:66:17:f5:46",
					"MaximumTransmissionUnit": 1500,
					"Name": "br-49d4ae693d0b",
					"Status": {
						"CableConnected": false,
						"Connected": true,
						"Errors": "",
						"LinkLocalIpAddress": false,
						"ReversePathFiltering": false,
						"ValidIpAddress": true
					},
					"Virtual": true
				},
				{
					"Active": true,
					"Bandwidth": 10000,
					"Gateway": null,
					"IpAddress": "172.19.0.1",
					"IpSubnetMask": "255.255.0.0",
					"MAC": "02:42:5d:6f:c2:62",
					"MaximumTransmissionUnit": 1500,
					"Name": "br-ef5107cdbe5a",
					"Status": {
						"CableConnected": true,
						"Connected": true,
						"Errors": "",
						"LinkLocalIpAddress": false,
						"ReversePathFiltering": false,
						"ValidIpAddress": true
					},
					"Virtual": true
				},
				{
					"Active": true,
					"Bandwidth": 0,
					"Gateway": null,
					"IpAddress": "172.17.0.1",
					"IpSubnetMask": "255.255.0.0",
					"MAC": "02:42:1c:fa:7c:75",
					"MaximumTransmissionUnit": 1500,
					"Name": "docker0",
					"Status": {
						"CableConnected": false,
						"Connected": true,
						"Errors": "",
						"LinkLocalIpAddress": false,
						"ReversePathFiltering": false,
						"ValidIpAddress": true
					},
					"Virtual": true
				},
				{
					"Active": true,
					"Bandwidth": 1000,
					"Gateway": null,
					"IpAddress": "10.0.1.2",
					"IpSubnetMask": "255.255.255.0",
					"MAC": "2c:58:b9:6a:24:e7",
					"MaximumTransmissionUnit": 9000,
					"Name": "eno1",
					"Status": {
						"CableConnected": true,
						"Connected": true,
						"Errors": "",
						"LinkLocalIpAddress": false,
						"ReversePathFiltering": false,
						"ValidIpAddress": true
					},
					"Virtual": false
				},
				{
					"Active": true,
					"Bandwidth": 1000,
					"Gateway": null,
					"IpAddress": "10.0.0.2",
					"IpSubnetMask": "255.255.255.0",
					"MAC": "2c:58:b9:6a:24:e8",
					"MaximumTransmissionUnit": 9000,
					"Name": "enp58s0",
					"Status": {
						"CableConnected": true,
						"Connected": true,
						"Errors": "",
						"LinkLocalIpAddress": false,
						"ReversePathFiltering": false,
						"ValidIpAddress": true
					},
					"Virtual": false
				},
				{
					"Active": true,
					"Bandwidth": 10000,
					"Gateway": null,
					"IpAddress": null,
					"IpSubnetMask": null,
					"MAC": "c2:05:27:1d:14:11",
					"MaximumTransmissionUnit": 1500,
					"Name": "veth30d2dc8",
					"Status": {
						"CableConnected": true,
						"Connected": false,
						"Errors": "IP configuration is not in the private address range.",
						"LinkLocalIpAddress": false,
						"ReversePathFiltering": false,
						"ValidIpAddress": false
					},
					"Virtual": true
				},
				{
					"Active": true,
					"Bandwidth": 10000,
					"Gateway": null,
					"IpAddress": null,
					"IpSubnetMask": null,
					"MAC": "86:ec:25:41:37:81",
					"MaximumTransmissionUnit": 1500,
					"Name": "veth31cc439",
					"Status": {
						"CableConnected": true,
						"Connected": false,
						"Errors": "IP configuration is not in the private address range.",
						"LinkLocalIpAddress": false,
						"ReversePathFiltering": false,
						"ValidIpAddress": false
					},
					"Virtual": true
				},
				{
					"Active": true,
					"Bandwidth": 10000,
					"Gateway": null,
					"IpAddress": null,
					"IpSubnetMask": null,
					"MAC": "46:29:2f:32:a9:56",
					"MaximumTransmissionUnit": 1500,
					"Name": "veth349799b",
					"Status": {
						"CableConnected": true,
						"Connected": false,
						"Errors": "IP configuration is not in the private address range.",
						"LinkLocalIpAddress": false,
						"ReversePathFiltering": false,
						"ValidIpAddress": false
					},
					"Virtual": true
				},
				{
					"Active": true,
					"Bandwidth": 10000,
					"Gateway": null,
					"IpAddress": null,
					"IpSubnetMask": null,
					"MAC": "76:5f:67:cf:99:f0",
					"MaximumTransmissionUnit": 1500,
					"Name": "veth3ae785a",
					"Status": {
						"CableConnected": true,
						"Connected": false,
						"Errors": "IP configuration is not in the private address range.",
						"LinkLocalIpAddress": false,
						"ReversePathFiltering": false,
						"ValidIpAddress": false
					},
					"Virtual": true
				},
				{
					"Active": true,
					"Bandwidth": 10000,
					"Gateway": null,
					"IpAddress": null,
					"IpSubnetMask": null,
					"MAC": "16:0d:92:ae:2a:8a",
					"MaximumTransmissionUnit": 1500,
					"Name": "veth6997fb6",
					"Status": {
						"CableConnected": true,
						"Connected": false,
						"Errors": "IP configuration is not in the private address range.",
						"LinkLocalIpAddress": false,
						"ReversePathFiltering": false,
						"ValidIpAddress": false
					},
					"Virtual": true
				},
				{
					"Active": true,
					"Bandwidth": 10000,
					"Gateway": null,
					"IpAddress": null,
					"IpSubnetMask": null,
					"MAC": "aa:b2:e0:19:b1:33",
					"MaximumTransmissionUnit": 1500,
					"Name": "vethb07a48b",
					"Status": {
						"CableConnected": true,
						"Connected": false,
						"Errors": "IP configuration is not in the private address range.",
						"LinkLocalIpAddress": false,
						"ReversePathFiltering": false,
						"ValidIpAddress": false
					},
					"Virtual": true
				},
				{
					"Active": true,
					"Bandwidth": 10000,
					"Gateway": null,
					"IpAddress": null,
					"IpSubnetMask": null,
					"MAC": "1e:23:b5:0b:6b:80",
					"MaximumTransmissionUnit": 1500,
					"Name": "vethc713387",
					"Status": {
						"CableConnected": true,
						"Connected": false,
						"Errors": "IP configuration is not in the private address range.",
						"LinkLocalIpAddress": false,
						"ReversePathFiltering": false,
						"ValidIpAddress": false
					},
					"Virtual": true
				},
				{
					"Active": true,
					"Bandwidth": 10000,
					"Gateway": null,
					"IpAddress": null,
					"IpSubnetMask": null,
					"MAC": "c6:2d:7d:9c:53:11",
					"MaximumTransmissionUnit": 1500,
					"Name": "vethd0c74d1",
					"Status": {
						"CableConnected": true,
						"Connected": false,
						"Errors": "IP configuration is not in the private address range.",
						"LinkLocalIpAddress": false,
						"ReversePathFiltering": false,
						"ValidIpAddress": false
					},
					"Virtual": true
				},
				{
					"Active": true,
					"Bandwidth": 0,
					"DHCP": true,
					"Gateway": "10.0.10.1",
					"IpAddress": "10.0.10.84",
					"IpSubnetMask": "255.255.255.0",
					"MAC": "c8:15:4e:f7:57:c9",
					"MaximumTransmissionUnit": 1500,
					"Name": "wlp0s20f3",
					"Status": {
						"CableConnected": true,
						"Connected": true,
						"Errors": "",
						"LinkLocalIpAddress": false,
						"ReversePathFiltering": false,
						"ValidIpAddress": true
					},
					"Virtual": false
				}
			]
		}
	},
	"Links": {
	},
	"Objects": null,
	"Parameters": {
	},
	"PartFinderObjects": null,
	"PartFinderSelectedObjects": null,
	"Physics": {
		"Gravity": [
			0,
			0,
			100
		],
		"GroundPlane": false
	},
	"UEye": null,
	"Version": {
		"CodeMeter": {
			"HasLicense": false,
			"Status": "CodeMeter API could not be loaded."
		},
		"FirmwareVersion": {
			"B5x": {
				"Build": 0,
				"Major": 1,
				"Minor": 3
			},
			"C5x": {
				"Build": 0,
				"Major": 1,
				"Minor": 3
			}
		},
		"NxLib": {
			"Build": 1502,
			"Day": 13,
			"Hash": "751abfc4b72d9551e808ef1e63335323138bf7ac",
			"Major": 4,
			"Minor": 0,
			"Month": 8,
			"Year": 24
		},
		"PartFinder": {
			"HasLicense": false
		},
		"Projector": {
			"FirmwareVersion": {
				"Application": 37,
				"Bootloader": 18
			}
		},
		"RayTracing": {
			"HasLicense": false
		},
		"SystemInfo": {
			"Architecture": "x64",
			"CPU": {
				"Cores": 20,
				"Feature": {
					"Avx2": true,
					"PopCnt": true
				},
				"Threads": 28
			},
			"CUDA": {
				"Devices": [
					{
						"ClockRate": 1785,
						"ComputeCapability": "8.9",
						"Cores": 3072,
						"Integrated": false,
						"Memory": 7933,
						"Name": "NVIDIA RTX 2000 Ada Generation Laptop GPU"
					}
				],
				"ErrorText": "",
				"Version": 12040
			},
			"Memory": 31692,
			"OperatingSystem": "Linux"
		},
		"UEye": {
			"Status": "No UEye driver loaded."
		}
	}
}

Attached are the output of the ip and a log file of the reconnecting camera (Switch link to PC stays intact).

Edit

Indeed if I restart the link the camera can be viewed in the NxView interface.

log_after_reboot.txt (4.6 KB)
log_before_reboot.txt (4.6 KB)
NxViewLog_camera_reconnection.zip (236.8 KB)

So is it working for you now? The problem then seems to be with whatever software manages your network. NxView only manages IP addresses via NxLib, but does not raise or lower the link. You will have to configure that somewhere else. To know where, you will have to see how you networking is configured.

One thing still confuses me, though. In you first post you wrote:

Did you just unplug the camera then or did you unpower the switch? If you just unplugged the camera, the PC should keep the link.

Hi Raphael,

Thank you for your help.
To clarify, in my first post I unplugged the power to the switch.

The solution is to restart the link.
ip link set dev eno1 down
ip link set dev eno1 up

With kind regards
Ryan