Raspberry Pi 카메라 모듈을 사용할 때 ENOSPC 오류의 원인은 무엇입니까?


33

Raspberry Pi 카메라를 사용하려고 할 때 아래 오류 메시지가 표시됩니다

# raspistill -o /tmp/gate_now.jpg
mmal: mmal_vc_component_enable: failed to enable component: ENOSPC
mmal: camera component couldn't be enabled
mmal: main: Failed to create camera component
mmal: Failed to run camera app. Please check for firmware updates

이것을 연구 할 때 ENOSPC 메시지로 이어질 수있는 여러 가지 이유가 있습니다. 가능한 원인을 목록 화하기 위해 여기에 질문을 만들 것이라고 생각했습니다.


온도 센서와 함께 사용하고 있습니까? 온도 센서를 설정할 때 modprobe 명령을 실행할 때 마다이 문제가 발생했습니다. 참조 github.com/raspberrypi/linux/issues/435
Anconia

OctoPi 이미지에서도이 문제가 발생합니다 : github.com/guysoft/OctoPi/issues/31
GuySoft

2019 년이며 새로운 답변을 게시 할 수 없지만 (ps-ef)를 사용하여 발견 할만 큼 운이 좋은 raspimjpeg를 이전에 설치했습니다. "sudo pkill raspimjpeg"가 문제를 해결했습니다.
개빈 심슨

답변:


19

카메라 소프트웨어에 대한 GitHub의 프로젝트 페이지는 언급

오류 : ENOSPC가 표시되었습니다. 카메라에 GPU 메모리가 부족할 수 있습니다. / boot / 폴더에서 config.txt를 확인하십시오. gpu_mem 옵션은 128 이상이어야합니다.

이 문제 는 모듈이 올바른 순서로로드되지 않은 경우 1-Wire (W1) 모듈의 드라이버와 충돌하여이 오류가 발생할 수 있음을 나타냅니다.

RPi 포럼의이 게시물에 따르면 1-Wire에 사용되는 핀을 핀 18로 전환하면 문제를 해결할 수 있습니다.

/boot/cmdline.txt:
dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait bcm2708.w1_gpio_pin=18

2016 년 5 월 현재 GPU_MEM = 128로는 더 이상 충분하지 않습니다. 128에서 144로 늘리면 오류가 사라졌습니다.


gpio_mem이 아니라 gpu_mem을 의미한다고 생각합니다.
tedder42

13

pi에 모션을 사용하고 raspistill을 실행하려면 모션을 중지해야합니다 (카메라를 사용하여 움직임을 감지).

pi@raspberrypi ~ $ sudo /etc/init.d/motion stop
[ ok ] Stopping motion detection daemon: motion.
pi@raspberrypi ~ $ /usr/bin/raspistill -o cam2.jpg
pi@raspberrypi ~ $ sudo /etc/init.d/motion start
[ ok ] Starting motion detection daemon: motion.

이것이 답이 될 수도 있지만 정교하게 개선 될 것입니다.
Bex

모션이 아니었지만 카메라를 사용하는 다른 데몬이 있었고 중지했을 때 오류가 발생하지 않았습니다.
Richard Wiseman

예, 카메라는 한 번의 프로세스로만 제어 할 수 있습니다.
schemacs 2011

10

"정상적인 상황에서는 항상 최신 펌웨어와 커널로 연결되므로 rpi-update를 실행할 필요가 없으며 테스트 버전 일 수 있으므로 RPi를 부팅 할 수 없게 할 수 있습니다." https://www.raspberrypi.org/forums/viewtopic.php?p=916911#p916911 심지어 RPI 업데이트 이제 문서 만 좋은 이유와 이것을 사용한다하더라도 Raspbian에 "경고합니다. 이것은 당신에게 최신 출혈 가장자리를 얻는다 커널 / 펌웨어. "

나는 같은 문제가 있었다. 펌웨어 업데이트로 해결되었습니다.

sudo rpi-update

이것은 나를 위해 그것을 해결했고, Raspicam 2.1이 나를 위해 일할 필요가있는 것처럼 보였습니다 (업데이트 전에 Rapicam 1.3을 성공적으로 사용했습니다). 업데이트가에서에서 4.1.7-v7+로 업그레이드 4.9.25-v7+하여 최신 모델이 작동했습니다. 이 경우에는 에서 (으) GPIO_MEM=128로 변경 GPIO_MEM=144하지 않아도됩니다.
nh2

8

나는 같은 문제가 있었다. 다른 여러 게시물과 비교할 때 가장 가능성이 높은 대답은 두 프로세스 / 응용 프로그램이 동시에 PiCam에 액세스하려고한다는 것입니다. 이것은 ffmpeg 스트리밍, 모션, raspivid, raspistill 등이 될 수 있습니다.

내 $ 0.02


사실 :)는) 내가 모션 프로세스가 액세스 카메라에 방지 백엔드에 설치 한 내가 잊고, 시간의 일부 금액을 잃었다
soField

2
또는 옥토 프린트 (나를 위해)
Saran

picamera 라이브러리를 사용하는 raspivid 및 python 스크립트를 모두 실행하려고했습니다. 그들은 함께 달릴 수 없습니다
Dante

고맙게도 나도 같은 실수를하고 있었지만 다른 게시물은 내 펌웨어, dist 패키지 등을 업데이트하는 데 도움이되었습니다. 문제는 내가 할 때까지 계속있었습니다 sudo service motion stop. 그리고 카메라가 다시 작동하기 시작했습니다.
Amit Ray

내 상황과 솔루션도 제공합니다. picamera파이썬 스크립트로 가져 왔지만 작동하지 않았으므로 raspistill대신 스크립트 내부의 명령 줄 호출에서 사용하기로 결정했습니다 . 나는 import picamera그것을 사용하기 전에 카메라 리소스를 차지하고 있었으므로 제거하지 않았습니다 raspistill.
Kimberly W

6

최근에 ENOSPEC 오류와 동일한 문제가 발생했습니다. 필자의 경우 카메라를 PiCam 하우징에 넣을 때까지 모든 것이 완벽하게 작동했습니다. 이 하우징 (PiCamera 용으로 설계 되었음에도 불구하고)은 캠과 보드 사이의 커넥터가 느슨해져있는 한 칩을 밀어냅니다. 다시 제자리로 밀면 문제가 해결되었습니다. 커넥터가 제대로 설치되어 있는지 해석하기가 쉽지 않은 경우가 있습니다.

나는 이것이 일반적인 경우는 아니지만 첫 번째 게시물에서 제안한 것처럼이 오류의 가능한 원인 카탈로그를 향상시켜야한다고 생각합니다.


2

내가 (를 통해 펌웨어를 업데이트하지 않았기 때문에 저도 같은 오류 메시지가 있었다 sudo rpi-update) 통해 카메라를 가능하게 raspi-config. 며칠 전에 펌웨어를 이미 업데이트했는데 충분하다고 생각했지만 카메라가 다시 활성화되지 않았기 때문에 도움이되지 않았습니다.



1

PI CAMERA 2.1이 설치된 PI3B v1.2에서 마지막 RASPBIAN STRETCH LITE (9.4-2018-06-27)로 모두 업그레이드했습니다 (모두 업그레이드)

이 명령 이 다음과 같이 " detected = 1 "인 카메라를 감지하지 못하는 경우 :

pi@raspberrypi:~ $ vcgencmd get_camera
supported=1 detected=1

연결 문제가 있습니다. 케이블의 양쪽이 핀과 잘 연결되어 있는지 확인하십시오 (물론 동일한 크기의 "디스플레이"버스가 아니라 "카메라"버스에 연결되어 있음).

(물론 raspi-config 및 재부팅으로 카메라 인터페이스를 활성화 한 후)

작동하지 않는 경우 일반적으로 카메라의 하드웨어 문제이며 빠른 옵션은 카메라를 새 것으로 교체하는 것입니다.

1감지 되었지만 raspistill을 사용하려고하면 다음 메시지가 표시됩니다.

pi@raspberrypi:~ $ raspistill -o test.jpg
mmal: mmal_vc_component_enable: failed to enable component: ENOSPC
mmal: camera component couldn't be enabled
mmal: main: Failed to create camera component
mmal: Failed to run camera app. Please check for firmware updates

그런 다음 연결에 문제 없지만 카메라의 하드웨어 문제이므로 카메라를 새 것으로 교체해야합니다. 결함이있는 카메라이기 때문에 문제를 해결하는 데 시간을 낭비하지 마십시오. 새로운 것을 얻으면 작동합니다.


그래도 카메라가 작동하지 않는다고 말할 수는 없습니다. 나는이 모든 문제가 있었고 http : // {my ip} : 8081 /? action = stream을 사용하여 라이브 스트리밍을 할 때 작동했습니다. 이것은 raspimjpeg가 실행 중임을 의미합니다. detected = 1은 적어도 카메라와 연결할 수 있음을 의미하기 때문에 이미 카메라를 사용하는 하나 이상의 프로세스가있는 경우에 발생합니다.
Ray

0

내 경우에는 드라이버를 언로드하기 위해 modprobe를 사용해야했습니다. sudo modprobe -r bcm2835-v4l2

그런 다음 카메라의 빨간색 LED가 꺼지고 raspivid를 사용하여 카메라를 다시 활성화 할 수 있습니다.


0

내 경우에는 카메라에 케이블을 다시 장착해야했습니다. 케이스를 통해 케이블을 공급하기 위해 연결을 끊었습니다. 제대로 연결되어 있지 않아야합니다.


0

카메라 데모 앱을 중지하는 것을 잊었 기 때문에 AIY Vision Kit (Pi Zero W)에서 오류가 발생했습니다.

sudo systemctl stop joy_detection_demo

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.