-
Notifications
You must be signed in to change notification settings - Fork 50
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
mbp15 branch - Touch bar works but doesn't visually change the fn-mode when FN key is pressed (since kernel 5.6.7) #46
Comments
Same behaviour here on my mbp15 but it is still working properly with 5.6.7, then I updated to 5.6.13 and the described visual problem "appeared"... got it to work with 5.6.13 only once a couple of days ago and at the next boot the problem was there again.
|
@roadrunner2 , I'd like to help debug and fix this issue, that affects this branches for all kernel versions since 5.6.7, but I don't know where to start |
I could not find the root cause so far, but I could find a workaround.
@roadrunner2 , could you please take a look at this issue or shed some light? @berrfred , I set up a workaround that consists in removing the apple_ib_tb module before shutdown. For achieving that I created a simple systemd service that runs rmmod apple_ib_tb before shutdown/reboot. But for this to start working you will have to boot at least once in 5.6.6 so that the "persistent across boots" state gets activated. It seems that not removing the module puts the touchbar in a "locked" not working state. Booting 5.6.6 cleans it as long as you remove the module before rebooting. MacOS seems to be able to recover from this locked state but also seems to restore it as it got it before rebooting, so it doesn't serve as a state cleaner OBS: issue #44, although similar, seems to be unrelated and is not fixed with this workaround. |
I could reproduce your workaround with 5.6.7 that has always been working for me:
|
Since the module code is not documented and a have limited free time to investigate I could not yet find where the initialization and termination codes are or understand the meaning of each variable. Although I'm an experienced C developer, I'm not much familiarized with kernel coding. |
Here's some additional info for this bug. When apple-ib-tb isn't unloaded before reboot, triggering the bug, all keys on the touchpad work EXCEPT the XF86XK_Audio* keys (which aren't detected properly; tested with |
I'm using the mbp15 branch.
Until kernel 5.6.6, the module works well (except that sometimes it doesn't refresh the touchbar visually when the fn key is pressed or released - I opened another issue for that #44).
Since kernel 5.6.7 (tested 5.6.7, 5.6.8 and 5.6.11), the module compiles well, does enable the touch bar but it never visually changes the touch bar (although the meaning of the keys does change when the FN key is pressed or released)
In this case, from kernels >=5.6.7, an error message is generated in dmesg every time the fn key is pressed or released (after 2 secs):
[ 261.659012] apple-ib-touchbar 0003:05AC:8302.0007: tb: Failed to set touch bar mode to 2 (-110)
Update: In one boot (in dozens), it simply worked, so this should be something in the initialization. (the only time that it worked, the issue never happened, until I booted again... :-/)
The text was updated successfully, but these errors were encountered: