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)
|
- [Sanitized machine profile](docs/research/machine-profile.yaml)
|
||||||
- [110/300 configuration comparison](docs/research/config-comparison.md)
|
- [110/300 configuration comparison](docs/research/config-comparison.md)
|
||||||
- [Open-source reuse landscape](docs/research/open-source-landscape.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)
|
- [Repository boundary decision](docs/adr/0001-public-private-repository-boundary.md)
|
||||||
- [Proposed Rayforge/BalorMK reuse decision](docs/adr/0002-reuse-rayforge-and-balormk.md)
|
- [Proposed Rayforge/BalorMK reuse decision](docs/adr/0002-reuse-rayforge-and-balormk.md)
|
||||||
- [Current Phase 0 status](docs/status/phase-0.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:
|
usb:
|
||||||
vid: "9588"
|
vid: "9588"
|
||||||
pid: "9899"
|
pid: "9899"
|
||||||
driver: Lmcv2u
|
device_description: USBLMCV4
|
||||||
status: installer-metadata-observed-pending-live-verification
|
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:
|
safety:
|
||||||
phase_0_hardware_commands_allowed: false
|
phase_0_hardware_commands_allowed: false
|
||||||
phase_0_laser_output_allowed: false
|
phase_0_laser_output_allowed: false
|
||||||
|
|
@ -43,3 +48,5 @@ evidence:
|
||||||
notes:
|
notes:
|
||||||
- No complete serial numbers or private source locators are stored here.
|
- 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.
|
- 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
|
- 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.
|
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.
|
- 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,
|
- No vendor executable, plugin, DLL, or driver was run. No USB capture, framing,
|
||||||
machine command, or laser output was performed.
|
machine command, or laser output was performed.
|
||||||
|
|
||||||
|
|
@ -33,7 +37,7 @@ Consequently, these items remain pending from the actual control machine:
|
||||||
- Device Settings screenshots;
|
- Device Settings screenshots;
|
||||||
- known-working `.lbrn2` examples;
|
- known-working `.lbrn2` examples;
|
||||||
- safe exterior hardware/label photographs and startup/interlock notes;
|
- 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
|
Collect them directly into a dated directory under PrivateStash by following
|
||||||
the [LightBurn checklist](../collection/lightburn.md). Do not use Google Drive
|
the [LightBurn checklist](../collection/lightburn.md). Do not use Google Drive
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue