Environment: ILCE-7M5 · USB · Camera Remote SDK V2.02.00 · linux-arm64 (Raspberry Pi, kernel 6.8.0-1051-raspi)
Summary
Sony's Camera Remote SDK Linux documentation requires the usbfs buffer limit to be raised to 150 MB. Nothing in this repo mentions it, and the kernel default on this host was 16 MB.
$ cat /sys/module/usbcore/parameters/usbfs_memory_mb
16
Raise it with:
echo 150 | sudo tee /sys/module/usbcore/parameters/usbfs_memory_mb
This takes effect immediately for an already-connected camera — the limit is a global budget checked by the kernel at URB submission time, so no reconnect or replug is needed. It does not survive a reboot; making it permanent needs usbcore.usbfs_memory_mb=150 on the kernel command line or a modprobe conf entry.
Honest scope note
I raised this while investigating the stuck large-file download in #40, on the theory that a 16 MB usbfs budget could not accommodate the SDK's Linux chunk size. That theory was wrong — with 150 MB applied, the download still hung at 0 bytes, identically. So this is not the fix for #40 and should not be closed as such.
It is still worth doing on its own merits: it is a documented vendor requirement, the default is nearly 10x below it, and it is exactly the kind of environment gap that produces confusing intermittent USB behaviour later.
Relevant SDK detail
CameraDeviceRest.cpp:526-528 already carries Sony's Linux-specific chunk size, matching their sample_RemoteTransferMode verbatim:
CrInt32u divisionSize = 0x5000000; // 80MB
#if defined(__linux__)
if (m_connType == cli::ConnectionType::USB) divisionSize = 0x1000000; // 16MB
#endif
That 16 MB Linux chunk sitting exactly at the stock 16 MB usbfs ceiling is at minimum an uncomfortable coincidence worth documenting, even though raising the ceiling did not change the observed behaviour.
Suggested
Add a Linux prerequisites section to the setup docs covering usbfs_memory_mb=150 (both the runtime and persistent forms), and ideally have the server log a warning at startup if it reads below 150 on Linux.
Environment: ILCE-7M5 · USB · Camera Remote SDK V2.02.00 · linux-arm64 (Raspberry Pi, kernel 6.8.0-1051-raspi)
Summary
Sony's Camera Remote SDK Linux documentation requires the usbfs buffer limit to be raised to 150 MB. Nothing in this repo mentions it, and the kernel default on this host was 16 MB.
Raise it with:
This takes effect immediately for an already-connected camera — the limit is a global budget checked by the kernel at URB submission time, so no reconnect or replug is needed. It does not survive a reboot; making it permanent needs
usbcore.usbfs_memory_mb=150on the kernel command line or a modprobe conf entry.Honest scope note
I raised this while investigating the stuck large-file download in #40, on the theory that a 16 MB usbfs budget could not accommodate the SDK's Linux chunk size. That theory was wrong — with 150 MB applied, the download still hung at 0 bytes, identically. So this is not the fix for #40 and should not be closed as such.
It is still worth doing on its own merits: it is a documented vendor requirement, the default is nearly 10x below it, and it is exactly the kind of environment gap that produces confusing intermittent USB behaviour later.
Relevant SDK detail
CameraDeviceRest.cpp:526-528already carries Sony's Linux-specific chunk size, matching theirsample_RemoteTransferModeverbatim:That 16 MB Linux chunk sitting exactly at the stock 16 MB usbfs ceiling is at minimum an uncomfortable coincidence worth documenting, even though raising the ceiling did not change the observed behaviour.
Suggested
Add a Linux prerequisites section to the setup docs covering
usbfs_memory_mb=150(both the runtime and persistent forms), and ideally have the server log a warning at startup if it reads below 150 on Linux.