docs: record live JCZ USB enumeration

Record the read-only Windows PnP observation of USBLMCV4 at 9588:9899, distinguish the absent local driver from the installer driver family, and omit the device-specific instance suffix from public history.
This commit is contained in:
Codex 2026-10-17 17:15:23 +02:00
parent a54a160631
commit efa22ff098
4 changed files with 92 additions and 3 deletions

View file

@ -24,6 +24,7 @@ Start with:
- [Sanitized machine profile](docs/research/machine-profile.yaml)
- [110/300 configuration comparison](docs/research/config-comparison.md)
- [Open-source reuse landscape](docs/research/open-source-landscape.md)
- [Live USB enumeration](docs/research/live-usb-enumeration-2026-10-17.md)
- [Repository boundary decision](docs/adr/0001-public-private-repository-boundary.md)
- [Proposed Rayforge/BalorMK reuse decision](docs/adr/0002-reuse-rayforge-and-balormk.md)
- [Current Phase 0 status](docs/status/phase-0.md)

View file

@ -0,0 +1,77 @@
# Live USB enumeration — 2026-10-17
## Scope and safety boundary
The JPT fiber laser controller was powered through the machine's normal
procedure and connected by USB to the development computer. Inspection was
limited to Windows' existing Plug and Play database using `Get-PnpDevice`,
`Get-PnpDeviceProperty`, CIM, and `pnputil /enum-devices`.
No application opened the USB device. No endpoint was claimed, no driver was
installed or changed, and no bytes or controller commands were sent. There
was no framing, galvo motion, marking, or laser output.
The complete Windows instance ID contains a device-specific suffix. That
suffix is deliberately omitted from this public record.
## Sanitized observation
| Property | Observed value |
| --- | --- |
| Bus-reported description | `USBLMCV4` |
| USB VID | `9588` |
| USB PID | `9899` |
| USB device revision descriptor | `0005` |
| Compatible class | `FF` — vendor-specific |
| Subclass / protocol | `00` / `00` |
| Windows presence | Present |
| Bound function driver | None |
| Windows problem | Code 28, `CM_PROB_FAILED_INSTALL` |
| Windows explanation | No compatible driver is installed |
| Reboot required | No |
`REV_0005` is the USB device revision descriptor (`bcdDevice`-derived
hardware ID). It must not be relabeled as board revision or firmware version
without independent evidence.
## Interpretation
This is the first live confirmation that the connected physical controller
enumerates with the same `9588:9899` identity found in the private installer
metadata. It also matches the constants used by MeerK40t BalorMK's independent
USB implementation. The three independent observations make BalorMK a strong
compatibility candidate:
1. private JCZ driver metadata from the known installer snapshot;
2. Windows enumeration of the connected controller;
3. BalorMK source code targeting the same VID/PID.
The friendly name `USBLMCV4` is additional evidence about the controller
generation, but it does not by itself prove every command, source parameter,
correction setting, or safety behavior is compatible.
Problem code 28 is expected on this development computer because neither the
vendor driver nor a libusb function driver is installed. It does not indicate
that Windows rejected a known driver or that the controller failed to
enumerate. No attempt was made to fix it because installing libusb could
affect which software can own the controller.
## Consequences
- Change the public machine profile's VID/PID status from inferred installer
metadata to live-confirmed.
- Retain `Lmcv2u` only as the stock-driver family observed in the installer,
not as the driver currently bound on this computer.
- Use `9588:9899` as an explicit allow-list identity in future test plans, but
never as the only machine/profile safety check.
- Keep the next experiment offline. The first controller experiment remains a
mock trace, not a live USB connection.
- Before any later live connection, choose and document a reversible Windows
driver strategy and preserve the current production computer's driver state.
## Related sources
- [Sanitized machine profile](machine-profile.yaml)
- [Open-source landscape](open-source-landscape.md)
- [BalorMK USB implementation](https://github.com/meerk40t/meerk40t/blob/main/meerk40t/balormk/usb_connection.py)

View file

@ -25,8 +25,13 @@ lightburn:
usb:
vid: "9588"
pid: "9899"
driver: Lmcv2u
status: installer-metadata-observed-pending-live-verification
device_description: USBLMCV4
device_revision_descriptor: "0005"
interface_class: vendor-specific
stock_driver_family_from_installer: Lmcv2u
development_computer_driver: null
development_computer_problem_code: 28
status: live-enumeration-confirmed-no-compatible-driver-installed
safety:
phase_0_hardware_commands_allowed: false
phase_0_laser_output_allowed: false
@ -43,3 +48,5 @@ evidence:
notes:
- No complete serial numbers or private source locators are stored here.
- Incorrect galvo or source configuration can damage hardware; values are not inferred by trial and error.
- USB identity was confirmed by passive Windows PnP enumeration on 2026-10-17; no device endpoint was opened.
- USB revision 0005 is a descriptor value, not a proven board or firmware version.

View file

@ -18,6 +18,10 @@ Last updated: 2026-10-17
- A fresh clone of both remotes passed `git fsck`; the private clone additionally
passed `git lfs fsck` and reproduced the expected file and byte counts.
- The public test suite and leak guard pass against the fresh private deny-list.
- Passive Windows enumeration of the connected controller confirmed device
description `USBLMCV4`, USB VID/PID `9588:9899`, vendor-specific class, and
USB revision descriptor `0005`. No compatible function driver is installed
on the development computer; no endpoint was opened.
- No vendor executable, plugin, DLL, or driver was run. No USB capture, framing,
machine command, or laser output was performed.
@ -33,7 +37,7 @@ Consequently, these items remain pending from the actual control machine:
- Device Settings screenshots;
- known-working `.lbrn2` examples;
- safe exterior hardware/label photographs and startup/interlock notes;
- live Windows Device Manager confirmation of USB VID/PID and driver.
- stock-driver identity and version from the actual LightBurn control computer.
Collect them directly into a dated directory under PrivateStash by following
the [LightBurn checklist](../collection/lightburn.md). Do not use Google Drive