Maximum image size with USB3 host controller drivers
Last Revision Date: 7/29/2016
Some USB3 host controller drivers have limitations on image size, which may result in errors such as tearing or corruption when streaming large images. Drivers and their maximum image sizes for Windows and for Linux are shown in the tables below.
If you encounter torn or corrupt images, here are options to successfully stream large images.
Upgrade to FlyCapture SDK 2.8.3.1
If you are using FlyCapture, we recommend upgrading to FlyCapture 2.8.3.1 or above, available on the downloads page.
Note: This upgrade does not solve the issue for users of Ladybug5 cameras or Fresco drivers.
Use thePGRxHCI camera driver
- Download and install FlyCapture2 SDK.
- Launch DriverControlGUI:
Start menu → All Programs → FlyCapture2 SDK → Utilities → DriverControlGUI. - On the USB tab, select the host controller, then from the Drivers drop-down, select PGRxHCI.
- Click Install Driver.
Note: The PGRxHCI driver is incompatible with other USB 3.1 devices that run on the same bus. In particular, for Intel series 8/9/100, the mouse and keyboard are not useable.
For Linux users—Increase the usbfs memory limit to 1000 MB
-
- To temporarily set the maximum usbfs memory limit, run this command:
$ sudo modprobe usbcore usbfs_memory_mb=1000
- To permanently set the maximum usbfs memory limit:
- To temporarily set the maximum usbfs memory limit, run this command:
- Open the /etc/default/grub file in any text editor.
- Find and replace:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
with this:GRUB_CMDLINE_LINUX_DEFAULT="quiet splash usbcore.usbfs_memory_mb=1000"
- Update grub with these settings:
$ sudo update-grub
- Reboot and test a USB 3.1 camera.
For Windows 8 or above users—Use the Microsoft Windows driver
Use the DriverControlGUI or Windows Device Manager to switch drivers.
For Fresco Driver users—Use the Registry Editor to increase the buffer size
- Disable the Fresco host controller.
- Modify the following registry value:
KEY:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\FLxHCIc\Parameters
DWORD name:
BulkInRingBuffers - Change the default size from 48 pages to 256 pages. The configured value must be a multiple of 8, to a maximum of 256 pages.
- Enable the Fresco host controller after making the change.
Maximum Image Sizes for Windows
Host controller driver | Drivers tested | Maximum image size |
PGRxHCI | None | |
Renesas (200A, 202) | 2.1.39.0 3.0.23.0 |
16 MB |
Intel series 7 | 1.0.10.255 | 33 MB |
Intel series 8/9/100 | 3.0.1.41 | > 60 MB |
Microsoft EHCI (USB2) | 9.3.0.1011 | 4 MB |
Microsoft xHCI (USB3) | 6.3.9600.17031 | 32 MB |
Fresco | 3.5.108.0a 3.6.2.0 |
3 MB before changing buffer size |
ASMedia | 1.16.2.0 1.1.0.153 |
> 60 MB |
AMD | 1.1.0.140 1.16.16.0 |
> 60 MB |
*Using FlyCapture’s default of 10 queued buffers. Calculate the maximum image size as follows: Number of Queued Buffers x Image Size < 250 MB.
Maximum Image Sizes for Linux
Host controller driver | Kernel | Maximum image size without usbfx fix |
Maximum image size with usbfs fix |
Ubuntu 12.04.5 LTS (Renasas onboard) |
3.8.0-41-generic | < 1.67 MB | > 60 MB |
Ubuntu 14.04.1 LTS (Renasas onboard and card) |
3.13.0-32-generic 3.13.0-37-generic |
< 1.67 MB | > 60 MB |
Ubuntu 14.04.1 LTS (Intel series 8/9 onboard) |
3.13.0-32-generic 3.13.0-37-generic |
< 1.67 MB | > 60 MB |