Raspberry Pi kamera modülünü kullanırken ENOSPC hatasına neden olan nedir?


33

Raspberry Pi kamerayı kullanmaya çalışırken aşağıdaki hata mesajını alıyorum

# 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

Bunu araştırırken, bir ENOSPC mesajına yol açabilecek birkaç neden var, olası nedenleri kataloglamak için burada bir soru oluşturacağımı düşündüm.


Ayrıca bir sıcaklık sensörüyle mi kullanıyorsunuz? Sıcaklık sensörünü ayarlarken modprobe komutunu çalıştırdığımda bu sorunla karşılaştım. Bakınız github.com/raspberrypi/linux/issues/435
Anconia

Bu sorunu OctoPi görüntülerinde de alma: github.com/guysoft/OctoPi/issues/31
GuySoft

2019 ve yeni bir cevap gönderemiyorum (kapalı), ancak daha önce 'ps -ef' kullanarak tespit edebileceğim için şanslı olduğum raspimjpeg'i kurmuştum. "sudo pkill raspimjpeg" sonra sorunu çözdü.
Gavin Simpson

Yanıtlar:


19

Kamera yazılımı için GitHub proje sayfasına bahseder

Hata: ENOSPC görüntülendi. Kamera muhtemelen GPU belleğinde çalışıyor. / Boot / klasöründe config.txt dosyasını kontrol edin. Gpu_mem seçeneği en az 128 olmalıdır.

Bu sorun , bu hatanın, modüller doğru sırada yüklenmemişse, 1-Wire (W1) modül sürücüleri ile çakışma nedeniyle oluşabileceğini belirtir.

RPi forumlarındaki bu yazı, 1-Wire için kullanılan pin'i 18'e pin değiştirerek sorunun düzeltilebileceğini söylüyor:

/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

Mayıs 2016 itibariyle, GPU_MEM = 128 artık yeterli değil. 128'den 144'e yükseltilmesi hatayı ortadan kaldırdı.


Bence gpio_mem demek gpu_mem demek istiyorsun.
Tedder42

14

Pi üzerinde hareket kullanıyorum, raspistill çalıştırmak istersem, hareketi durdurmam gerekiyor (kamera hareketini algılamak için de kullanmalıyım).

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.

Bu bir cevap olsa da, bir miktar detaylandırma ile kesinlikle iyileştirilecektir.
Bex

Koştuğum hareket değildi, ama kamerayı kullanarak başka bir servistim vardı ve durduğumda hatayı almayı bıraktım.
Richard Wiseman

Evet, kamera sadece tek bir işlemle kontrol edilebilir gibi görünüyor.
şemalar

10

"Normal şartlarda, sizi her zaman öncü ürün yazılımı ve çekirdeğe götürdüğü için rpi-update'i ASLA yapmaya gerek yoktur ve bu bir test sürümü olabileceğinden RPI'nizi rakipsiz bırakabilir." https://www.raspberrypi.org/forums/viewtopic.php?p=916911#p916911 Hatta rpi güncelleme belgeleri artık yalnızca iyi bir neden ile bu kullanmalıdır Hatta Raspbian üzerinde" uyarıyor. Bu en son kanama kenar alır çekirdek / firmware."

Ben de aynı problemi yaşadım. Bir ürün yazılımı güncellemesi bunu çözdü.

sudo rpi-update

Bu benim için çözdü ve Raspicam 2.1'in benim için çalışmasını sağlamak için gerekli görünüyordu (güncelleme işleminden önce Rapicam 1.3'ü başarıyla kullandım); Güncelleştirme beni yükseltilmiş 4.1.7-v7+için 4.9.25-v7+yeni bir model çalışması yapılmış, hangi. Dan Değişen GPIO_MEM=128için GPIO_MEM=144bu durumda benim için gerekli değildi.
nh2

9

Ben de aynı problemi yaşadım. Diğer bazı yayınlarla karşılaştırıldığında, en muhtemel cevap iki işlemin / uygulamanın PiCam'e aynı anda erişmeye çalıştığıdır. Bu ffmpeg akışı, hareket, raspivid, raspistill vb. Olabilir.

0,02 Dolarım


true :)) biraz zaman kaybettim, hareket sürecinin arka uçta olduğunu, kameraya erişmeyi engellediğimi unuttum
soField

2
Veya ahtapot (benim için olduğu gibi)
Saran

Hem raspivid hem de picamera kütüphanesini kullanan bir python betiği çalıştırmaya çalışıyordum. Birlikte
Dante

Çok teşekkürler ben de aynı hatayı yapıyordum ama diğer yazılar firmwareimi, dağıtım paketlerini vb. Güncellememe yardımcı oldu sudo service motion stop. Ve kamera tekrar çalışmaya başladı.
Amit Ray,

Sadece durumumu ve çözümümü de sunuyorum. picameraBir python betiğine içe aktardım, ancak işe yaramadı, bu yüzden raspistillkomut dosyası içindeki bir komut satırından kullanmaya karar verdim . Çıkarmadım, import picamerabu yüzden kullanmadan önce kamera kaynağını alıyordu raspistill.
Kimberly W

6

Geçenlerde bir ENOSPEC hatasının aynı problemini yaşadım. Benim durumumda, fotoğraf makinemi PiCam yuvasına yerleştirene kadar her şey mükemmel çalışıyordu. Bu muhafazayı buldum (PiCamera için tasarlanmış olsa bile), çipi kam ile kart arasındaki konektör gevşetildiği kadar iter. Yerine geri itmek sorunumu çözdü. Konektörün doğru yerleştirilip yerleştirilmediğini yanlış yorumlamalara neden olabilir.

Sanırım bu olağan bir durum olmayacak, ancak ilk yazılanın önerdiği gibi, bu hatanın olası sebeplerinin katalogunu iyileştirmesi gerekiyor.


2

Kamerayı etkinleştirdikten sonra bellenimi (yoluyla sudo rpi-update) güncellemediğim için de aynı hatayı aldım . Bir kaç gün önce bellenimi güncellemiştim ve bunun yeterli olacağını düşündüm, ancak kamera daha önce etkinleştirilmediğinden, yardımcı olmadı.raspi-config



1

Tüm RASPBIAN STRETCH LITE (9.4 - 2018-06-27) 'de PI3B v1.2’de PI CAMERA 2.1 ile ve tamamen yükseltilmiş (apt-get upgrade)

Bu komut aşağıdaki gibi " algılanan = 1 " olan kamerayı algılamıyorsa :

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

O zaman bir bağlantı sorunu var. Kablonun her iki yolun da pimlerin (ve elbette "kamera" veriyoluna bağlı, aynı boyuttaki "ekran" veriyoluna bağlı) iyi olup olmadığını kontrol edin.

(elbette, raspi-config ve yeniden başlatma özellikli kamera arayüzü etkinleştirildikten sonra)

Eğer işe yaramadıysa, genellikle kamerayla ilgili bir donanım problemidir ve hızlı seçenek kamerayı yenisiyle değiştirmektir.

Eğer tespit = 1 ancak raspistill gösterileri kullanmaya çalışırken bu mesajı:

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

O zaman bağlantılar tamam, fakat sorun kesinlikle kamera ile ilgili bir donanım sorunudur ve kamerayı yenisiyle değiştirmek zorundasınız. Arızalı bir kamera olduğu için çözmeye çalışarak zaman kaybetmeyin. Yenisini alırsanız işe yarayacaktır.


O zaman bile kameranın çalışmadığını söyleyemezsin. Tüm bu sorunları yaşadım ve http: // {ip ip}: 8081 /? Action = stream kullanarak canlı akış yaptığımda çalışıyordu. Bu raspimjpeg'in çalıştığı anlamına gelir. Bu, muhtemelen kamerayı zaten kullanan bir veya daha fazla işlem olduğunda gerçekleşir, çünkü tespit edilen = 1, en azından kamerayla iletişim kurabildiği anlamına gelir.
Amit Ray

0

benim durumumda, sürücüyü boşaltmak için modprobe kullanmak zorunda kaldım: sudo modprobe -r bcm2835-v4l2

Ardından kameradaki kırmızı LED söner ve kamerayı yeniden etkinleştirmek için raspivid kullanabilirim.


0

Benim durumumda kameranın üzerindeki kabloyu tekrar yerleştirmem gerekiyordu. Kabloyu bir kasadan beslemek için bağlantısını kesmiştim; iyi bir bağlantı kurmamış olmalı.


0

AIY Vision Kit'teki (Pi Zero W) hatayı aldım çünkü kamera demo uygulamasını durdurmayı unuttum:

sudo systemctl stop joy_detection_demo

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.