Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Failed to load EDID with HDMI to USB capture device #1726

Closed
db39 opened this issue Jan 24, 2024 · 0 comments · Fixed by #1730
Closed

Failed to load EDID with HDMI to USB capture device #1726

db39 opened this issue Jan 24, 2024 · 0 comments · Fixed by #1730
Assignees
Labels
bug Something isn't working small

Comments

@db39
Copy link
Contributor

db39 commented Jan 24, 2024

Description

After installing TinyPilot community, load-tc358743-edid.service runs and fails to load an EDID when using an HDMI to USB capture device.

When running with an HDMI to USB capture device, TinyPilot doesn't need to load an EDID, since TinyPilot only requires an EDID for TC358743 capture devices.

These errors can be confusing when troubleshooting display issues on a community install: Example 1, example 2

What's the behavior that you expect?

I would expect the load-tc358743-edid.service to be disabled with a standard install. It should only become enabled if the user runs additional configuration steps for a TC358743 HDMI to CSI capture chip.

What's happening instead?

The load-tc358743-edid.service starts and fails.

What are the steps to reproduce this behavior?

  1. Install TinyPilot following the simple instructions in the README.
  2. Run sudo service load-tc358743-edid status.
  3. See the error.
● load-tc358743-edid.service - Load EDID for TC358743 HDMI capture chip.
     Loaded: loaded (/lib/systemd/system/load-tc358743-edid.service; enabled; vendor preset: enabled)
     Active: failed (Result: exit-code) since Wed 2024-01-24 12:16:30 GMT; 12min ago
    Process: 1161 ExecStart=v4l2-ctl --set-edid=file=/home/ustreamer/edids/tc358743-edid.hex --fix-edid-checksums (code=exited, status=1/FAILURE)
   Main PID: 1161 (code=exited, status=1/FAILURE)
        CPU: 16ms

Jan 24 12:16:30 raspberrypi systemd[1]: load-tc358743-edid.service: Scheduled restart job, restart counter is at 20.
Jan 24 12:16:30 raspberrypi systemd[1]: Stopped Load EDID for TC358743 HDMI capture chip..
Jan 24 12:16:30 raspberrypi systemd[1]: load-tc358743-edid.service: Start request repeated too quickly.
Jan 24 12:16:30 raspberrypi systemd[1]: load-tc358743-edid.service: Failed with result 'exit-code'.
Jan 24 12:16:30 raspberrypi systemd[1]: Failed to start Load EDID for TC358743 HDMI capture chip..
@db39 db39 added the bug Something isn't working label Jan 24, 2024
@jdeanwallace jdeanwallace self-assigned this Jan 28, 2024
jdeanwallace added a commit that referenced this issue Jan 31, 2024
Resolves #1726

This PR only starts the `load-tc358743-edid.service` when a TC358743
capture chip is installed. This change avoids reporting the service as
"failed" when a TC358743 capture chip is not installed on the device.

**Caveat:** The `load-tc358743-edid.service` process is still marked as
`(code=exited, status=1/FAILURE)`, but it's active state is no longer
`failed (Result: exit-code)`. Instead, its active state is `inactive
(dead) (Result: exec-condition)`.

Example output of service being skipped:
```
Jan 28 18:41:02 raspberrypi systemd[1]: Starting Load EDID for TC358743 HDMI capture chip....
Jan 28 18:41:02 raspberrypi systemd[1]: load-tc358743-edid.service: Control process exited, code=exited, status=1/FAILURE
Jan 28 18:41:02 raspberrypi systemd[1]: load-tc358743-edid.service: Skipped due to 'exec-condition'.
Jan 28 18:41:02 raspberrypi systemd[1]: Condition check resulted in Load EDID for TC358743 HDMI capture chip. being skipped.
```

<a data-ca-tag
href="https://codeapprove.com/pr/tiny-pilot/tinypilot/1730"><img
src="https://codeapprove.com/external/github-tag-allbg.png" alt="Review
on CodeApprove" /></a>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working small
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants