The USB module of the Linux kernel features a memory limit of 16 MB, which will lead to restrictions in the use of USB multi-camera systems.
The memory limit of the Linux USB module can be determined by running the following command:
# cat /sys/module/usbcore/parameters/usbfs_memory_mb
By default, the returned value should be 16. This memory limit is a kernel boot argument that has to be changed at boot time. The kernel boot arguments are managed by the systems bootloader. The most major distributions such as Ubuntu, Debian or Fedora all use the grub bootloader. The procedure to change the boot arguments for the grub bootloader is described below.
The file /etc/default/grub[1] contains an entry GRUB_CMDLINE_LINUX_DEFAULT. On Ubuntu systems the complete entry looks similar to following: GRUB_CMDLINE_LINUX_DEFAULT="quiet splash".
By adding the argument usbcore.usbfs_memory_mb=xxx[2] the memory limit will be increased at the next boot.
For increasing the memory limit to 1000 MB, the complete entry should look like this:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash usbcore.usbfs_memory_mb=1000"
In order to apply the changes to grub, you need to call grub-mkconfig -o /boot/grub/grub.cfg as root user.
[1] In order to modify this file, you need to have the administrative rights of the root user.
[2] Memory size for the USB module, given in Megabyte.
Some ARM-Boards use the U-Boot-Loader to start the system. This section explains how to change the USB memory-limit for the Nvidia Jetson. Paths might be slightly different on other Boards.
To increase the memory limit you have to edit the Linux kernel boot arguments. To change the boot arguments edit the file /boot/extlinux/extlinux.conf with an editor of your choice.
Look for an entry that starts following:
APPEND console=ttyS0,115200n8 console=tty1 no_console_suspend=1 lp0_vec=2064@0xf46....
Add at the end of this line:
usbcore.usbfs_memory_mb=XXX (Replace XXX by a value that fits to your needs. Do not add a newline after this entry.)
You should restart your system now and check the USB memory limit with the following command:
# cat /sys/module/usbcore/parameters/usbfs_memory_mb
If memory was increased successfully the returned value should match to boot argument.
Please contact our Technical & Application Support Center with any questions.
Phone: +49 3528 4386 845
E-mail: support.cameras@baumer.com