Quantcast
Channel: Raspberry Pi Forums
Viewing all articles
Browse latest Browse all 8026

AI Camera - IMX500 • Network Firmware Upload sometimes fails

$
0
0
About 20% of the time "Network Firmware Upload" fails and has to be terminated with a keyboard interrupt. Waiting a few seconds and then running it again usually works. Is there a way I can encourage it to always load?

Example fail

Code:

(VirEnv) user@host:~/ $ python3 imx500_object_detection_demo.py --fps 5 --model /usr/share/imx500-models/imx500_network_ssd_mobilenetv2_fpnlite_320x320_pp.rpk[16:34:30.923216058] [870521]  INFO Camera camera_manager.cpp:327 libcamera v0.4.0+53-29156679[16:34:30.930663734] [870525]  INFO RPI pisp.cpp:720 libpisp version v1.1.0 e7974a156008 27-01-2025 (21:50:51)[16:34:30.939968897] [870525]  INFO RPI pisp.cpp:1179 Registered camera /base/axi/pcie@120000/rp1/i2c@80000/imx500@1a to CFE device /dev/media1 and ISP device /dev/media2 using PiSP variant BCM2712_D0------------------------------------------------------------------------------------------------------------------NOTE: Loading network firmware onto the IMX500 can take several minutes, please do not close down the application.------------------------------------------------------------------------------------------------------------------[16:34:30.966613007] [870521]  INFO Camera camera.cpp:1202 configuring streams: (0) 1280x720-XBGR8888 (1) 2028x1520-RGGB_PISP_COMP1[16:34:30.966817543] [870525]  INFO RPI pisp.cpp:1484 Sensor: /base/axi/pcie@120000/rp1/i2c@80000/imx500@1a - Selected sensor format: 2028x1520-SRGGB10_1X10 - Selected CFE format: 2028x1520-PC1R[16:34:31.003909976] [870521]  INFO Camera camera.cpp:1202 configuring streams: (0) 640x480-XBGR8888 (1) 2028x1520-RGGB_PISP_COMP1[16:34:31.004425084] [870525]  INFO RPI pisp.cpp:1484 Sensor: /base/axi/pcie@120000/rp1/i2c@80000/imx500@1a - Selected sensor format: 2028x1520-SRGGB10_1X10 - Selected CFE format: 2028x1520-PC1RNetwork Firmware Upload:   0%|                                                                                                      | 0.00/2.98M [01:47<?, ?bytes/s]Network Firmware Upload:   0%|                                                                                                      | 0.00/2.98M [01:49<?, ?bytes/s]Network Firmware Upload:   0%|                                                                                                      | 0.00/2.98M [01:50<?, ?bytes/s]Network Firmware Upload:   0%|                                                                                                      | 0.00/2.98M [01:51<?, ?bytes/s]Network Firmware Upload:   0%|                                                                                                      | 0.00/2.98M [01:53<?, ?bytes/s]Network Firmware Upload:   0%|                                                                                                      | 0.00/2.98M [01:56<?, ?bytes/s]Network Firmware Upload:   0%|                                                                                                      | 0.00/2.98M [01:58<?, ?bytes/s]^CProcess Process-1:Traceback (most recent call last):  File "~/imx500_object_detection_demo.py", line 277, in <module>    last_results = parse_detections(picam2.capture_metadata())                                    ^^^^^^^^^^^^^^^^^^^^^^^^^  File "/usr/lib/python3/dist-packages/picamera2/picamera2.py", line 1554, in capture_metadata    return self.dispatch_functions(functions, wait, signal_function)           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  File "/usr/lib/python3/dist-packages/picamera2/picamera2.py", line 1362, in dispatch_functions    return job.get_result(timeout=timeout) if wait else job           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  File "/usr/lib/python3/dist-packages/picamera2/job.py", line 79, in get_result    return self._future.result(timeout=timeout)           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  File "/usr/lib/python3.11/concurrent/futures/_base.py", line 451, in result    self._condition.wait(timeout)  File "/usr/lib/python3.11/threading.py", line 320, in wait    waiter.acquire()KeyboardInterruptTraceback (most recent call last):  File "/usr/lib/python3.11/multiprocessing/process.py", line 314, in _bootstrap    self.run()  File "/usr/lib/python3.11/multiprocessing/process.py", line 108, in run    self._target(*self._args, **self._kwargs)  File "/usr/lib/python3/dist-packages/picamera2/devices/imx500/imx500.py", line 416, in __do_progress_bar    time.sleep(0.5)KeyboardInterrupt
Example success (with keyboard interrupt)

Code:

(VirEnv) user@host:~/ $ python3 imx500_object_detection_demo.py --fps 5 --model /usr/share/imx500-models/imx500_network_ssd_mobilenetv2_fpnlite_320x320_pp.rpk[16:37:53.794900990] [870561]  INFO Camera camera_manager.cpp:327 libcamera v0.4.0+53-29156679[16:37:53.802523062] [870565]  INFO RPI pisp.cpp:720 libpisp version v1.1.0 e7974a156008 27-01-2025 (21:50:51)[16:37:53.812983194] [870565]  INFO RPI pisp.cpp:1179 Registered camera /base/axi/pcie@120000/rp1/i2c@80000/imx500@1a to CFE device /dev/media1 and ISP device /dev/media2 using PiSP variant BCM2712_D0------------------------------------------------------------------------------------------------------------------NOTE: Loading network firmware onto the IMX500 can take several minutes, please do not close down the application.------------------------------------------------------------------------------------------------------------------[16:37:53.842563506] [870561]  INFO Camera camera.cpp:1202 configuring streams: (0) 1280x720-XBGR8888 (1) 2028x1520-RGGB_PISP_COMP1[16:37:53.842679395] [870565]  INFO RPI pisp.cpp:1484 Sensor: /base/axi/pcie@120000/rp1/i2c@80000/imx500@1a - Selected sensor format: 2028x1520-SRGGB10_1X10 - Selected CFE format: 2028x1520-PC1R[16:37:53.872754112] [870561]  INFO Camera camera.cpp:1202 configuring streams: (0) 640x480-XBGR8888 (1) 2028x1520-RGGB_PISP_COMP1Network Firmware Upload: 0.00bytes [00:00, ?bytes/s][16:37:53.874206604] [870565]  INFO RPI pisp.cpp:1484 Sensor: /base/axi/pcie@120000/rp1/i2c@80000/imx500@1a - Selected sensor format: 2028x1520-SRGGB10_1X10 - Selected CFE format: 2028x1520-PC1RNetwork Firmware Upload: 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 2.98M/2.98M [00:06<00:00, 521kbytes/s]^CTraceback (most recent call last):  File "~/imx500_object_detection_demo.py", line 277, in <module>    last_results = parse_detections(picam2.capture_metadata())                                    ^^^^^^^^^^^^^^^^^^^^^^^^^  File "/usr/lib/python3/dist-packages/picamera2/picamera2.py", line 1554, in capture_metadata    return self.dispatch_functions(functions, wait, signal_function)           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  File "/usr/lib/python3/dist-packages/picamera2/picamera2.py", line 1362, in dispatch_functions    return job.get_result(timeout=timeout) if wait else job           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  File "/usr/lib/python3/dist-packages/picamera2/job.py", line 79, in get_result    return self._future.result(timeout=timeout)           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  File "/usr/lib/python3.11/concurrent/futures/_base.py", line 451, in result    self._condition.wait(timeout)  File "/usr/lib/python3.11/threading.py", line 320, in wait    waiter.acquire()KeyboardInterrupt

Statistics: Posted by Cobilia — Mon Feb 24, 2025 9:15 am



Viewing all articles
Browse latest Browse all 8026

Trending Articles