Do you have any experience how to submit a bug to the developers of sigrok?
Sorry, no.
First off - did you try running those commands on Windows in an elevated (admin) command window?
Second:
I took a look at the source code (from the git://sigrok.org/libsigrok repository) and the name for as USB HID device must be "hid" or start with "hid/". Here's a comment from the code that explains the name format in more detail:
/**
* Parse conn= specs for serial over HID communication.
*
* @param[in] serial The serial port that is about to get opened.
* @param[in] spec The caller provided conn= specification.
* @param[out] chip_ref Pointer to a chip type (enum).
* @param[out] path_ref Pointer to a USB path (text string).
* @param[out] serno_ref Pointer to a serial number (text string).
*
* @return 0 upon success, non-zero upon failure. Fills the *_ref output
* values.
*
* Summary of parsing rules as they are implemented:
* - Insist on the "hid" prefix. Accept "hid" alone without any other
* additional field.
* - The first field that follows can be a chip spec, yet is optional.
* - Any other field is assumed to be either a USB path or a serial
* number. There is no point in specifying both of these, as either
* of them uniquely identifies a device.
*
* Supported formats resulting from these rules:
* hid[/<chip>]
* hid[/<chip>]/usb=<bus>.<dev>[.<if>]
* hid[/<chip>]/raw=<path> (may contain slashes!)
* hid[/<chip>]/sn=serno
*
* This routine just parses the conn= spec, which either was provided by
* a user, or may reflect (cite) an item of a previously gathered listing
* (clipboard provided by CLI clients, or selected from a GUI form).
* Another routine will fill in the blanks, and do the cable selection
* when a filter was specified.
*
* Users will want to use short forms when they need to come up with the
* specs by themselves. The "verbose" or seemingly redundant forms (chip
* _and_ path/serno spec) are useful when the cable uses non-standard or
* not-yet-supported VID:PID items when automatic chip detection fails.
*/
Note that there's no mention of a "<vid>.<pid>" name format unless that's what the comment means by "<bus>.<dev>", but I don't think it does. "<bus>.<dev>" are almost certainly talking about the bus and device IDs that Linux assigns to USB devices, and those IDs have nothing to with the VID:PID as can be seen from this sample output from lsusb:
Bus 003 Device 006: ID 1366:0101 SEGGER J-Link PLUS
The debug log you posted shows that when you don't specify a device name, sigrok tries and fails to open 'hid/bu86x', which looks like the correct name from the "--list-serial" output.
Maybe try specifying the device like so:
-d "brymen-bm86x:conn=hid/bu86x/raw=\\?\hid#vid_0820&pid_0001#7&1f6ef3cb&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}"
I think you will need the quotes because of the backslashes in the string, but I'm not 100% sure.
But it does seem that something is broken with sigrok opening a HID device on Windows - I think the failure when it tries to open 'hid/bu86x' points to a bug.