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:
parent
a54a160631
commit
efa22ff098
4 changed files with 92 additions and 3 deletions
|
|
@ -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)
|
||||
|
|
|
|||
77
docs/research/live-usb-enumeration-2026-10-17.md
Normal file
77
docs/research/live-usb-enumeration-2026-10-17.md
Normal 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)
|
||||
|
||||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue