Skip to content

Conversation

@HarleyGodfrey
Copy link

@HarleyGodfrey HarleyGodfrey commented Dec 20, 2025

Someone created a patch to fix t480s headphone issues. I am trying to get that added here. (First time contributing so I hope I haven't done anything wrong). I will update here if I get this working.

SOURCE:

To be clear, none of the code I have added was written by me, I have only downloaded the patch and put it in the (hopefully) correct place.

@tlaurion tlaurion self-requested a review December 21, 2025 19:12
Repro:
go to https://review.coreboot.org/c/coreboot/+/90482, click download, check command line for "Format Patch"; redirect the patch to file patches/coreboot-25.09/0013-mb-lenovo-t480s-Fix-headphone-jack.diff:

git fetch https://review.coreboot.org/coreboot refs/changes/82/90482/5 && git format-patch -1 --stdout FETCH_HEAD >  patches/coreboot-25.09/0013-mb-lenovo-t480s-Fix-headphone-jack.diff

Signed-off-by: Harley Godfrey <harley@godfrey.online>
Signed-off-by: Thierry Laurion <insurgo@riseup.net>
@tlaurion tlaurion force-pushed the t480s_headphone_fix branch from 48e5ee0 to 5e18d47 Compare December 21, 2025 19:22
Copy link
Collaborator

@tlaurion tlaurion left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In the commit message (git commit amend) I would want to see repro notes

Repro:
go to https://review.coreboot.org/c/coreboot/+/90482, click download, check command line for "Format Patch"; redirect the patch to file patches/coreboot-25.09/0013-mb-lenovo-t480s-Fix-headphone-jack.diff:

git fetch https://review.coreboot.org/coreboot refs/changes/82/90482/5 && git format-patch -1 --stdout FETCH_HEAD > patches/coreboot-25.09/0013-mb-lenovo-t480s-Fix-headphone-jack.diff

I took liberty to force push:

git remote add HarleyGodfrey git@github.com:HarleyGodfrey/heads.git
git add patches/coreboot-25.09/0013-mb-lenovo-t480s-Fix-headphone-jack.diff
git commit --amend --signoff
git push HarleyGodfrey HEAD:t480s_headphone_fix --force-with-lease

@tlaurion
Copy link
Collaborator

tlaurion commented Dec 21, 2025

@HarleyGodfrey feel free to amend again my commit and force push to removing me as author (I insist repro notes are there so others can learn and propose fixes in the future in link to #2027).

You can see changes to your patch clicking compare https://github.com/linuxboot/heads/compare/48e5ee0f2a9b18268d0a5ae17360759aaf52809a..5e18d4760529733e2f22498d8065cd61e5949a2b
(Commit just respects instructions of coreboot to download patch+ applied as we need here: I confirm patch content being the same in your previous commit, but unsure how you got to that content hence why repro notes are needed and repro possible :) )

Thank you for your contribution!!!!

Just to make sure you know how to test CircleCI built rom for t480:

  • clicking on your commit 48e5ee0
  • Clicking green mark
  • Selecting (eg for non-hotp variant here, select variant desired)-> ci/circleci: EOL_t480-maximized - Your tests passed on CircleCI!
    Details
  • Selecting artifacts tab, expending board name
  • Saving to usb thumb drive (save as...) heads-EOL_t480-maximized-v0.2.0-2854-g48e5ee0.zip
  • Flash through Heads "Options-> Flash option" and select zip file

To do:

  • Report if headphone jack functional!
  • Also looking under BOARD_AND_TESTERS.md, I do not see your name under t480. Could you add yourself there if you do not mind being a board tester when board specific PR are to be tested to be merged? Thanks! edit: it's t480s and @HarleyGodfrey is there sorry for the noise.

@HarleyGodfrey
Copy link
Author

Hey!
Thank you for updating it! I have no problem you being the author for this commit (I literally only pulled a patch file over, so it is not like I have done much).

You mention the T480 a few times but this is referring to the T480s which I should already be on the board testers doc.

I have tested the headphone jack with the new version and I haven't experienced any change in the functionality (as in it is still broken on the t480s). The coreboot patch mentioned that it hadn't been tested on the t480s but they assumed it would work as the audio stuff is similure. Either I have something weird going on my side or that isn't the case. I still need to do further experiments, mainly I want to check if it manually switches when using pulsedaudio as I am using pipewire on fedora.

I want to experiment with my other t480s board to see if I can figure it out (I have a old motherboard with a dead eDP port that I can use, though that won't be possible till after the holidays).

@tlaurion
Copy link
Collaborator

Hey! Thank you for updating it! I have no problem you being the author for this commit (I literally only pulled a patch file over, so it is not like I have done much).

You mention the T480 a few times but this is referring to the T480s which I should already be on the board testers doc.

I have tested the headphone jack with the new version and I haven't experienced any change in the functionality (as in it is still broken on the t480s). The coreboot patch mentioned that it hadn't been tested on the t480s but they assumed it would work as the audio stuff is similure. Either I have something weird going on my side or that isn't the case. I still need to do further experiments, mainly I want to check if it manually switches when using pulsedaudio as I am using pipewire on fedora.

I want to experiment with my other t480s board to see if I can figure it out (I have a old motherboard with a dead eDP port that I can use, though that won't be possible till after the holidays).

Totally my bad, I didn't check if it was for t480s or t480.
Your report here shows it doesn't work as intended though and would require a bug report upstream, since reading notes it was ported blindly thinking it would work as is. Can you open a bug upstream @HarleyGodfrey?

@HarleyGodfrey
Copy link
Author

Hey! No worries at all. Easy to miss.

Yes, correct, as far as I can tell it isn't working. It showes the same behavior of not auto switching to headphones and when I manually change it just outputs the OS sounds and none of the applications.

I will report a bug upstream.

Thank you for your help with all of this, I don't really know what I am doing lol!

@tlaurion
Copy link
Collaborator

tlaurion commented Dec 22, 2025

I will report a bug upstream.

@HarleyGodfrey that would be a comment in this issue, pointing to this PR's artifact. Note that this PR builds clean from CircleCi layer 1 cache (musl-cross-make) to rebuild coreboot's crosscompier chain as can be seen from prep_env task from https://app.circleci.com/pipelines/github/linuxboot/heads/996/workflows/b2a96d3d-2476-4ed9-b84c-3b2cab9e07bb/jobs/26287 at step https://app.circleci.com/pipelines/github/linuxboot/heads/996/workflows/b2a96d3d-2476-4ed9-b84c-3b2cab9e07bb/jobs/26287/parallel-runs/0/steps/0-107

Leading to worflow https://app.circleci.com/pipelines/github/linuxboot/heads/996/workflows/b2a96d3d-2476-4ed9-b84c-3b2cab9e07bb's first coreboot 25.09's board t480-hotp-maximized board's build to apply patches for workspace at https://app.circleci.com/pipelines/github/linuxboot/heads/996/workflows/b2a96d3d-2476-4ed9-b84c-3b2cab9e07bb/jobs/26305, which should patch applied at Make board step at https://app.circleci.com/pipelines/github/linuxboot/heads/996/workflows/b2a96d3d-2476-4ed9-b84c-3b2cab9e07bb/jobs/26305/parallel-runs/0/steps/0-102 which clearly shows:

[...snip...]
Dec 21 19:58:18 INFO: Applying patch file: patches/coreboot-25.09/0012-mb-lenovo-t480-Fix-headphone-jack.patch
Checking patch build/x86/coreboot-25.09/src/mainboard/lenovo/sklkbl_thinkpad/variants/t480/hda_verb.c...
Applied patch build/x86/coreboot-25.09/src/mainboard/lenovo/sklkbl_thinkpad/variants/t480/hda_verb.c cleanly.\
[...build continues...]

TLDR: https://output.circle-artifacts.com/output/job/d159532a-15b2-44cf-b5cf-6564321ddbdd/artifacts/0/build/x86/EOL_t480-hotp-maximized/heads-EOL_t480-hotp-maximized-v0.2.0-2854-g5e18d47.zip contains the patch applied in built rom for coreboot developer to test in the updated issue.

@tlaurion
Copy link
Collaborator

tlaurion commented Dec 22, 2025

I also confirm that no coreboot config change is missing in this PR with patch applied:

echo bogus_commit | sudo tee build/x86/coreboot-25.09/.canary #to trigger git clean + sync + patch application on next build
./docker_repro.sh make BOARD=EOL_t480s-maximized #where one can see clean build of coreboot 25.09 + patch application
./docker_repro.sh make BOARD=EOL_t480s-maximized coreboot.save_in_oldconfig_format_in_place # to see no change saed in t480s coreboot config

So t480 patch cannot be used as is to get headphone on t480s, therefore https://review.coreboot.org/c/coreboot/+/90482 is not enough to get headphone jack working on t480s.

@HarleyGodfrey : 10-4! :)

@HarleyGodfrey
Copy link
Author

Hey! Sorry, I am a little lost now. It seems that the issue you refered to mentions a push that was dropped in favor of this. The drop that was pushed, the user said it did work for their t480s.

The patch for the t480s in the newer push that has been merged is the same. Am I missing something here? Would you have any recommendations for me to research this further?

Also what dose "10-4!" mean?

@HarleyGodfrey
Copy link
Author

Also, I posted a comment in that issue but wasn't sure what you ment by pointing them to the artifact of this PR?

@tlaurion
Copy link
Collaborator

@HarleyGodfrey

TLDR: https://output.circle-artifacts.com/output/job/d159532a-15b2-44cf-b5cf-6564321ddbdd/artifacts/0/build/x86/EOL_t480-hotp-maximized/heads-EOL_t480-hotp-maximized-v0.2.0-2854-g5e18d47.zip contains the patch applied in built rom for coreboot developer to test in the updated issue.

This is the build "artifact" in Circleci parlure. Meaning, what needs to be flashed to see coreboot patch not being enough to have headset working as expected per your test confirmation. That or your previously tested commit artifact would be the same since patches were functionally equivalent.

You tested trhm to confirm non functional, correct? I do not own the board. So issue update should point dev/testers here so they can replicate patch not being enough.

3 similar comments
@tlaurion
Copy link
Collaborator

@HarleyGodfrey

TLDR: https://output.circle-artifacts.com/output/job/d159532a-15b2-44cf-b5cf-6564321ddbdd/artifacts/0/build/x86/EOL_t480-hotp-maximized/heads-EOL_t480-hotp-maximized-v0.2.0-2854-g5e18d47.zip contains the patch applied in built rom for coreboot developer to test in the updated issue.

This is the build "artifact" in Circleci parlure. Meaning, what needs to be flashed to see coreboot patch not being enough to have headset working as expected per your test confirmation. That or your previously tested commit artifact would be the same since patches were functionally equivalent.

You tested trhm to confirm non functional, correct? I do not own the board. So issue update should point dev/testers here so they can replicate patch not being enough.

@tlaurion
Copy link
Collaborator

@HarleyGodfrey

TLDR: https://output.circle-artifacts.com/output/job/d159532a-15b2-44cf-b5cf-6564321ddbdd/artifacts/0/build/x86/EOL_t480-hotp-maximized/heads-EOL_t480-hotp-maximized-v0.2.0-2854-g5e18d47.zip contains the patch applied in built rom for coreboot developer to test in the updated issue.

This is the build "artifact" in Circleci parlure. Meaning, what needs to be flashed to see coreboot patch not being enough to have headset working as expected per your test confirmation. That or your previously tested commit artifact would be the same since patches were functionally equivalent.

You tested trhm to confirm non functional, correct? I do not own the board. So issue update should point dev/testers here so they can replicate patch not being enough.

@tlaurion
Copy link
Collaborator

@HarleyGodfrey

TLDR: https://output.circle-artifacts.com/output/job/d159532a-15b2-44cf-b5cf-6564321ddbdd/artifacts/0/build/x86/EOL_t480-hotp-maximized/heads-EOL_t480-hotp-maximized-v0.2.0-2854-g5e18d47.zip contains the patch applied in built rom for coreboot developer to test in the updated issue.

This is the build "artifact" in Circleci parlure. Meaning, what needs to be flashed to see coreboot patch not being enough to have headset working as expected per your test confirmation. That or your previously tested commit artifact would be the same since patches were functionally equivalent.

You tested trhm to confirm non functional, correct? I do not own the board. So issue update should point dev/testers here so they can replicate patch not being enough.

@tlaurion
Copy link
Collaborator

Hey! Sorry, I am a little lost now. It seems that the issue you refered to mentions a push that was dropped in favor of this. The drop that was pushed, the user said it did work for their t480s.

Can it comment on previous patch being better since not aware of test report.

The patch for the t480s in the newer push that has been merged is the same. Am I missing something here? Would you have any recommendations for me to research this further?

Test previous patch maybe, or wait for ypstrwam to react on telling that what was merged didn't fix issue.

Also what dose "10-4!" mean?

Communication terminated :) that was a joke, sorry for being unclear.

2 similar comments
@tlaurion
Copy link
Collaborator

Hey! Sorry, I am a little lost now. It seems that the issue you refered to mentions a push that was dropped in favor of this. The drop that was pushed, the user said it did work for their t480s.

Can it comment on previous patch being better since not aware of test report.

The patch for the t480s in the newer push that has been merged is the same. Am I missing something here? Would you have any recommendations for me to research this further?

Test previous patch maybe, or wait for ypstrwam to react on telling that what was merged didn't fix issue.

Also what dose "10-4!" mean?

Communication terminated :) that was a joke, sorry for being unclear.

@tlaurion
Copy link
Collaborator

Hey! Sorry, I am a little lost now. It seems that the issue you refered to mentions a push that was dropped in favor of this. The drop that was pushed, the user said it did work for their t480s.

Can it comment on previous patch being better since not aware of test report.

The patch for the t480s in the newer push that has been merged is the same. Am I missing something here? Would you have any recommendations for me to research this further?

Test previous patch maybe, or wait for ypstrwam to react on telling that what was merged didn't fix issue.

Also what dose "10-4!" mean?

Communication terminated :) that was a joke, sorry for being unclear.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants