emulators/virtualbox-ose{,-nox11}-legacy: fix USB passthrough fails with: Failed to create a proxy device for the USB device

Failed to create a proxy device for the USB device. (Error: VERR_INVALID_PARAMETER)

00:00:24.961804 usbProxyConstruct: Failed to open '/dev/ugen0.6', rc=VERR_INVALID_PARAMETER

00:00:24.961881 ERROR [COM]: aRC=NS_ERROR_FAILURE (0x80004005) aIID={872da645-4a9b-1727-bee2-5585105b9eed} aComponent={ConsoleWrap} aText={Failed to create a proxy device for the USB device. (Error: VERR_INVALID_PARAMETER)}, preserve=false aResultDetail=-2

In commit https://cgit.freebsd.org/src/commit/?id=9b077d72bcc313baea2b9283afc7f568739eaadc
+#define	USB_FS_XFER_MAX 126
-	if (fs_ep_ptr == NULL || ep_index_max > 127)
+	if (fs_ep_ptr == NULL || ep_index_max > USB_FS_XFER_MAX)
To fix VirtualBox decrease USBFBSD_MAXENDPOINTS from 127 to 126:
-#define USBFBSD_MAXENDPOINTS 127
+#define USBFBSD_MAXENDPOINTS 126

PR:		270900
Tested by:	groenveld@acm.org, russo@bogodyn.org
Approved by:	with hat of vbox (maintainer)
MFH:		2024Q3
This commit is contained in:
Igor Malyshev 2024-07-20 12:31:14 +03:00 committed by Vladimir Druzenko
parent fb231153bf
commit 4b9b21dfcd
3 changed files with 13 additions and 2 deletions

View file

@ -1,6 +1,6 @@
PORTNAME= virtualbox-ose
PORTVERSION= 5.2.44
PORTREVISION?= 20
PORTREVISION?= 21
CATEGORIES= emulators
MASTER_SITES= https://download.oracle.com/virtualbox/${PORTVERSION}/:src \
LOCAL/bofh/emulators/virtualbox-ose-legacy:docs

View file

@ -0,0 +1,11 @@
--- src/VBox/Devices/USB/freebsd/USBProxyDevice-freebsd.cpp.orig 2020-07-09 16:55:58 UTC
+++ src/VBox/Devices/USB/freebsd/USBProxyDevice-freebsd.cpp
@@ -57,7 +57,7 @@
#include "../USBProxyDevice.h"
/** Maximum endpoints supported. */
-#define USBFBSD_MAXENDPOINTS 127
+#define USBFBSD_MAXENDPOINTS 126
#define USBFBSD_MAXFRAMES 56
/** This really needs to be defined in vusb.h! */

View file

@ -1,4 +1,4 @@
PORTREVISION= 18
PORTREVISION= 19
PKGNAMESUFFIX= -nox11-legacy
OPTIONS_EXCLUDE= ALSA DBUS DEBUG GUESTADDITIONS DOCS NLS PULSEAUDIO