Jump to content
  • 0

V4L2 error after updating kernel to 5.15 from 5.10




Hi all


After update kernel from 5.10.60 to 5.15 or 5.16 on my Orange PI PC+ MJPEG-Streamer throws:


libv4l2: error turning on stream: Cannot allocate memory

motion throws:


[1:ml1] [ERR] [VID] v4l2_set_mmap: Error starting stream. VIDIOC_STREAMON: Cannot allocate memory


I tried to decrease resolution - even 320x240 not helps.

Rolling back to 5.10.60 helps, but it's not very sustainable solution.


Are there any known solution for 5.15-5.16?

Link to comment
Share on other sites

2 answers to this question

Recommended Posts

  • 0



same here with:

  • OrangePiPlus
  • OrangePiPC
  • OrangePiPC+
  • OrangePiZero

Had to go back to "Buster 5.10.60".


Now its working for me... again.




Now ist working with 5.15.43-sunxi.


  ___  ____  _    ___
 / _ \|  _ \(_)  / _ \ _ __   ___
| | | | |_) | | | | | | '_ \ / _ \
| |_| |  __/| | | |_| | | | |  __/
 \___/|_|   |_|  \___/|_| |_|\___|

Welcome to Armbian 22.05.1 Bullseye with Linux 5.15.43-sunxi

System load:   9%               Up time:       12 min
Memory usage:  36% of 491M      Zram usage:    15% of 245M      IP:  
CPU temp:      51°C             Usage of /:    9% of 29G

[ General system configuration (beta): armbian-config ]

Last login: Wed Jun  1 13:11:29 2022 from
cam@backyard:~$ sudo /usr/local/bin/mjpg_streamer -i "input_uvc.so -r 1280x720 -d /dev/video0 -n -f 30 -q 80" -o "output_http.so -p 8200 -w /usr/local/share/mjpg-streamer/www"
MJPG Streamer Version: git rev: 310b29f4a94c46652b20c4b7b6e5cf24e532af39
 i: Using V4L2 device.: /dev/video0
 i: Desired Resolution: 1280 x 720
 i: Frames Per Second.: 30
 i: Format............: JPEG
 i: TV-Norm...........: DEFAULT
 o: www-folder-path......: /usr/local/share/mjpg-streamer/www/
 o: HTTP TCP port........: 8200
 o: HTTP Listen Address..: (null)
 o: username:password....: disabled
 o: commands.............: enabled


Edited by MacBreaker
Add information for Armbian 22.05.1 Bullseye
Link to comment
Share on other sites

Order Armbian Linux merch!

  • 0

Hello all,


I have the same problem. I have been using fswebcam for a few years, but now I am getting the following error:



--- Opening /dev/video1...
Trying source module v4l2...
/dev/video1 opened.
src_v4l2_get_capability,87: /dev/video1 information:
src_v4l2_get_capability,88: cap.driver: "uvcvideo"
src_v4l2_get_capability,89: cap.card: "UVC Camera (046d:0825)"
src_v4l2_get_capability,90: cap.bus_info: "usb-1c1d000.usb-1"
src_v4l2_get_capability,91: cap.capabilities=0x84A00001
src_v4l2_get_capability,92: - VIDEO_CAPTURE
src_v4l2_get_capability,103: - STREAMING
No input was specified, using the first.
src_v4l2_set_input,181: /dev/video1: Input 0 information:
src_v4l2_set_input,182: name = "Camera 1"
src_v4l2_set_input,183: type = 00000002
src_v4l2_set_input,185: - CAMERA
src_v4l2_set_input,186: audioset = 00000000
src_v4l2_set_input,187: tuner = 00000000
src_v4l2_set_input,188: status = 00000000
src_v4l2_set_pix_format,520: Device offers the following V4L2 pixel formats:
src_v4l2_set_pix_format,533: 0: [0x56595559] 'YUYV' (YUYV 4:2:2)
src_v4l2_set_pix_format,533: 1: [0x47504A4D] 'MJPG' (Motion-JPEG)
Using palette YUYV
src_v4l2_set_mmap,672: mmap information:
src_v4l2_set_mmap,673: frames=4
src_v4l2_set_mmap,722: 0 length=1843200
src_v4l2_set_mmap,722: 1 length=1843200
src_v4l2_set_mmap,722: 2 length=1843200
src_v4l2_set_mmap,722: 3 length=1843200
Error starting stream.
VIDIOC_STREAMON: Cannot allocate memory
Unable to use mmap. Using read instead.
Unable to use read.


The command I am using is the following:



fswebcam --device '/dev/video1' --resolution 1280x720 --no-banner --jpeg '100' --save '/home/pi/dati_gateway/images_fullsize/2022-04-10_20-42-00_front.jpg' -p YUYV -S 30 -F 1 -v


I'm using an Orange Pi PC+ with Armbian 22.02.1 Focal with Linux 5.15.25-sunxi.

Rolling back is not a possible solution in my case.


I already tried to make some changes at the level of uvcvideo quirks (after consulting several forums that indicated that it could be the cause of the problem) usin the following commands:



sudo rmmod uvcvideo
sudo modprobe uvcvideo nodrop=1 timeout=5000 quirks=0x80

(0x80 allows activating UVC_QUIRK_FIX_BANDWIDTH)
(I had to set the nodrop to 1 otherwise a timeout was obtained)


After that I managed to get the photo however only about 1/5 of it, the remaining 4/5 are in green as you can see in the following image:



I think the problem is actually related to the 5.15 kernel.

Any ideas on how I can successfully use fswebcam with this kernel?


Thanks for the help in advance.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Answer this question...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Create New...