Skip to content

LGX GC550 Unbricking log

Chris Sawczuk edited this page Jan 16, 2023 · 2 revisions

What is this?

This page documents the steps I have taken to attempt to understand why using the lgx2userspace program with the LGX GC550, leads to the device no longer being functional using the official manufacturer driver.

Hypotheses

Here is a list of hypotheses as to why the device is no longer functional after using the userspace driver.

How to Write Hypothesis in Research

  1. Predicts the relationship and outcome.
  2. Simple and concise – avoid wordiness.
  3. Clear with no ambiguity or assumptions about the readers' knowledge.
  4. Observable and testable results.

Bootstrapping

Bootstrapping isn't a static set of commands. Bootstrapping may be substantially different for each capture session, priming the device for its next use.

This should be provable by capturing multiple similar sessions of video capture on a working GC550 using the official manufacturer driver.

Tearing down

It may be that the device must be torn down before re-using it to capture more video.

Observing what data is transmitted when the bundled official software stops video capture may highlight a tear down process that must be done in order for the LGX GC550 to be used next.

It would stand to reason that if the device was simply unplugged during video capture, that the bundled software would need to stream the tear down commands prior to re-bootstrapping the device also.

The process

In order to capture the USB traffic of the device, it is possible to use the usbmon (USB Monitoring?) Linux kernel module to allow software like Wireshark to sniff USB packets. Using a VirtualBox hosted install of Windows, it is then possible to sniff the traffic from the host operating system (Linux) with the Windows guest having no knowledge of such interactions.

So the process for gathering data will be:

  1. Load the usbmon module
  2. Load Wireshark
  3. Determine which USB interface will be used by the device
  4. Allow the device to be passed through to the Windows guest
  5. Install the official manufacturer drivers
  6. Use the official software to open a capture session
  7. Close the capture session
  8. Inspect the capture

The project contains a utility called usbsneef which is used to capture the bootstrapping data (transmissions and receptions). This will be extended to capture all transmissions, after the last frame of data is retrieved from the device.

Other questions to get answers to

  1. When the official software is not capturing video, does the device stop sending it frames?
  2. How does the official software always get 'perfect frames'? (i.e. frames that start with the 0x00FFFFC0 frame marker)
  3. Does the LGX2 also have a tear down process? (Assuming the LGX does)

Observations

The LGX's red LED is only partially illuminated when it is plugged in. This is a difference to an LGX that has been used with the lgx2userspace program.