本文介紹了如何在安裝Linux系統(tǒng)的電腦上使用帶USB接口的多相機(jī)系統(tǒng)。
Linux內(nèi)核的USB模塊最多支持16 MB內(nèi)存,這將導(dǎo)致USB多相機(jī)系統(tǒng)的使用受到限制。
可以通過執(zhí)行以下命令來(lái)測(cè)定Linux USB模塊的內(nèi)存限制:
# cat /sys/module/usbcore/parameters/usbfs_memory_mb
默認(rèn)情況下,返回值應(yīng)為16。內(nèi)存限制屬于內(nèi)核啟動(dòng)參數(shù),只能在啟動(dòng)時(shí)更改。內(nèi)核啟動(dòng)參數(shù)由系統(tǒng)的Bootloader啟動(dòng)引導(dǎo)程序管理。目前,大部分主流的Linux發(fā)行版操作系統(tǒng)(例如Ubuntu、Debian或Fedora)都使用GRUB Bootloader啟動(dòng)引導(dǎo)程序。下面介紹如何更改GRUB Bootloader啟動(dòng)引導(dǎo)程序中的啟動(dòng)參數(shù)。
文件/etc/default/grub[1] 中包含條目GRUB_CMDLINE_LINUX_DEFAULT。在Ubuntu系統(tǒng)中,完整的條目應(yīng)如下所示:GRUB_CMDLINE_LINUX_DEFAULT="quiet splash".
添加參數(shù)usbcore.usbfs_memory_mb=xxx[2]后,內(nèi)存限制將在系統(tǒng)下次啟動(dòng)時(shí)增加。
如要將內(nèi)存限制增加到1000 MB,完整的條目應(yīng)如下所示:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash usbcore.usbfs_memory_mb=1000"
如要將更改應(yīng)用到GRUB Bootloader啟動(dòng)引導(dǎo)程序,需要以根用戶的身份調(diào)用grub-mkconfig -o /boot/grub/grub.cfg。
有的ARM單板計(jì)算機(jī)使用U-Boot-Loader啟動(dòng)引導(dǎo)程序來(lái)啟動(dòng)系統(tǒng)。本節(jié)介紹了如何更改Nvidia Jetson系統(tǒng)的USB內(nèi)存限制。路徑也許和其他單板計(jì)算機(jī)略有不同。
如要增加Nvidia Jetson系統(tǒng)的USB內(nèi)存限制,需要編輯Linux內(nèi)核啟動(dòng)參數(shù)。更改啟動(dòng)參數(shù)時(shí),可以選擇您習(xí)慣使用的編輯器編輯文件/boot/extlinux/extlinux.conf 。
查找以如下內(nèi)容開頭的條目:
APPEND console=ttyS0,115200n8 console=tty1 no_console_suspend=1 lp0_vec=2064@0xf46....
在此行的末尾添加:
usbcore.usbfs_memory_mb=XXX(將XXX替換成所需的內(nèi)存限制數(shù)值。請(qǐng)勿在此條目后添加換行符。)
添加完成后重新啟動(dòng)系統(tǒng),并通過如下命令檢查USB內(nèi)存限制是否更改成功:
# cat /sys/module/usbcore/parameters/usbfs_memory_mb
如果內(nèi)存限制增加成功,則返回值應(yīng)與啟動(dòng)參數(shù)相同。