-
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
Manjaro Stable update 3-14-2020 breaks touchbar #42
Comments
Thanks for the info. Unfortunately, the dmesg output you gave above is for the keyboard driver, which is separate from the touchbar driver. So can you show me the output of the following commands: dmesg | egrep -i 'apple-ib|ibridge'
lsusb -t
ls -l /sys/bus/hid/devices/*/driver |
Sure, thank you so much for helping out.
|
Hmm, that
Also, the fact there are no hid devices is problematic. All in all, this looks like some USB issue on your system, but it's hard to tell what. The fact that the iBridge device does seem to be detected at one point according to the kernel logs, but then later |
Oh, two more things: what machine/model are you on? And what is the output from ls -l /sys/bus/usb/devices/ |
That is pretty weird. Does this help at all? I'm on a Apple Macbook Pro 15.4” Touch Bar A1707 - Core i7 - 3.1Ghz.
|
Quick additional comment: I tried to connect to my laptop via bluetooth as well, but it says that no bluetooth device was found. I know that's mostly unrelated, but it might help to know. |
Ok, that's the MacBookPro14,3 then.
And this confirms the iBridge USB devices are truly missing (there should be four Since you say this happens on different kernels, I'm starting to suspect something is weird with the T1/iBridge chip itself. Dumb question, but have you completely powered off the laptop since this problem started? |
Assuming you're talking about kernel 5.5, see the bottom of Dunedan/mbp-2016-linux#29. |
Yeah, I've completely power cycled it, too. It shouldn't be a hardware thing; I dual boot, so I checked the Mac side before posting and both work there.
Something else, when turning off the machine there is often a stop job that can last up to a minute and a half. |
Does this help? I was looking through
|
The Touchbar just flickers and turns off. I am on https://github.com/aunali1/linux-mbp-arch
|
@mflor35 add it to the update thread on Manjaro, too. Someone who works on it might have insight if everyone with the problem mentions there. |
@mflor35 Thanks for your info. First of all, this furthermore appears to confirm it's truly a Manjaro (or least Linux) issue, not a one-off h/w problem or something. Second, your dmesg output and your comment that it flickers (I presume you meant "touchbar", not "trackpad") are very interesting: it looks like something is actively causing the iBridge USB device to be removed/disabled. Can one of you show me the output of
Also, I agree, getting some Manjaro devs involved would be good, as it appears to be something recent and particular to that distro that is causing the problem (something related to USB). |
Sure!
Here's the changelog for the update, too: https://forum.manjaro.org/t/stable-update-2020-03-14-kernels-plasma-5-18-3-kde-frameworks-5-67-kde-apps-19-12-3-firefox-kodi/129279 |
@roadrunner2 yes! I meant touchbar. @treymerkley I'll add my info to the manjaro forums |
Thanks for the outputs. So I see two things, compared to mine (I'm running a 5.5 kernel):
What happens if you manually unbind and then rebind the iBridge USB device?
|
Hey it worked! It starts back automatically. However, it doesn't survive reboot, which makes sense, since it's a temporary binding. |
So this pretty conclusively demonstrates that it's something in the latest Manjaro that is messing with the iBridge usb device, and it's neither a kernel nor a driver issue. At this point I'm afraid I can't help you any further in figuring out what that could be, though. I'll leave this ticket open for now - please report back here if/when you find out what is causing it. |
That's totally fine, and thank you so much for helping diagnose the issue. I'll keep updating this ticket, but here's a link to the forum thread I created over on Manjaro: |
So I decided to install I think @roadrunner2 is right. I looked to see if people running Fedora were having an issue but I couldn't find anything. Looks like It's a Manjaro specific issue. |
Can you reply to that forum thread with this info? The usual response to Mac hardware from penguins is generally "Linux generally doesn't support Mac very well that's why you should have gotten a different machine, " so your test will help legitimize the problem. |
A thought occurred to me today: you might try the following patch to try and figure out what is causing the iBridge's HID devices to disappear again during boot. As you can see, the patch will cause the touchbar module to just dump a listing of all processes on the system into --- a/apple-ib-tb.c
+++ b/apple-ib-tb.c
@@ -1097,6 +1097,11 @@ static void appletb_remove(struct hid_device *hdev)
appletb_mark_active(tb_dev, false);
dev_info(tb_dev->log_dev, "Touchbar deactivated\n");
+
+ {
+ char *args[] = { "/bin/sh", "-c", "ps -ef > /tmp/hid-remove.ps", NULL };
+ call_usermodehelper(args[0], args, NULL, UMH_WAIT_PROC);
+ }
}
report_info = appletb_get_report_info(tb_dev, hdev); |
@treymerkley I followed up on your post at the Manjaro forum. @roadrunner2 I applied the patch but I do not see anything under
Reboot my machine and reinstalled the module
Am I missing something? unbinding and rebinding the iBridge USB device works for now. I appreciate the help! |
I'm on Arch (not Manjaro) and was/am having the same issue. The above fixes my issues as well. |
@mflor35 The point of the patch is to try and show what process might be responsible for removing the USB HID devices during boot - you said the touchbar flickers during boot, indicating the devices show up but then get removed again. So the way to test is to reboot your machine after having installed the module (i.e. since it's now installed, just reboot and see if the |
@renatolfc That is very interesting - this would indicate the problem is more widespread then. Did you recently upgrade anything, and if so what? Maybe that can help narrow down the culprit. |
@roadrunner2 I noticed the problem some 2 weeks ago and was trying to debug the boot process to try and figure what was causing the problem. I had assumed this was being caused by the set of custom systemd units I'd written to make this MacBook 14,3 more usable, so I was debugging it with
|
Well, it turns out it was usbmuxd's fault. At least in my system. I just did a I'm assuming this commit is the culprit... 🤔 |
A quick and dirty fix would be to write and activate a unit file such as the one below. The actual fix would be to work with the usbmuxd developers to update udev rules so that it doesn't bind to the iBridge. usbmuxd is a dependency to upower and libimobiledevice, I don't think uninstalling it would be an option. [Unit]
Description=Re-enable MacBook 14,3 TouchBar
Before=display-manager.service
After=usbmuxd.service
[Service]
Type=oneshot
ExecStart=/bin/sh -c "echo '1-3' > /sys/bus/usb/drivers/usb/unbind"
ExecStart=/bin/sh -c "echo '1-3' > /sys/bus/usb/drivers/usb/bind"
RemainAfterExit=yes
TimeoutSec=0
[Install]
WantedBy=multi-user.target |
@renatolfc Good catch! Not sure why usbmux is binding to the iBridge/T1-chip (the commit comment is very sparse... and wrong AFAICT, as product-id 0x8600 is the T1 chip, not the T2 chip). So definitely need to take it up with them. To that end I've filed bug libimobiledevice/usbmuxd#138 with them. |
Hey There, So the T2 as PID_8600 is how it appears when booted from ramdisk in restore mode. (A phase of recovery). These changes were to support restoring a DFU mode T2 on another MacBook, but I may not have taken into account people running linux on T2 based Macs. From the LIMD perspective, that computer has two T2's attached (one internal on the synthetic USB bus) and the other on an external port. Clearly, we cannot takeover the T2 on the internal, but also we are in a bind because not controlling the T2 on the external breaks idevicerestore. R |
@rickmark Here's a thought: do the remote T1's show up as removable? Because on a MBP itself the internal one shows up as fixed:
If they do show up as removable, then adding a |
I've spent some time today trying to boot into recovery (but my computer is evil and cursed). I think you may be on to something because IIRC it's the hub's port that confers that attribute. I don't have a T2 Mac with Linux installed at the moment. R |
Hey, sorry I disappeared for a while, I didn't have network access. @rickmark is there anything you want me to try on my machine? |
@treymerkley - I don't currently have a machine I can test this on at the moment, but I need to test and see if there's any details that differ when the T2 vs the T1 in the USB descriptor. I can probably get to this after some work I'm finishing on checkra1n and pongoOS. (If you're not doing anything with the T2 you can probably use the removable trick as a workaround until I get that data) |
@renatolfc I'm having a hard time finding info on how to set this up. Can you link something? |
@treymerkley Sure. Take a look at the Arch Wiki. Essentially, what you need is to write a file at Then, enable your unit with |
@renatolfc it fixed my issues right until now. Now it's giving me the error:
Have you ever seen this or have any advice? Thanks! |
Taking a look at Manjaro's updated package list, it seems there's been quite a few kernel updates in the last few days. Perhaps a kernel update broke it? What happens if you follow the instructions in #42 (comment)? Any changes from #42 (comment)? Unfortunately, I accidentally destroyed my Arch install this weekend, so I won't be able to debug this. 😬 |
No biggie, fixed itself. Right now it's not as reliable as a real fix, but it's pretty great for now. Thanks again! |
I am having the same issue on Debian sid (kernel version 5.7.0). The workaround works for me. Does this suggest that it is not an Arch/Manjaro-specific issue, but rather a kernel-related one? Arch/Manjaro users and Debian sid users are on a later version of the kernel than most people, after all. |
I had the same problem of touchbar not working on my mbp13,3 fedora core 33 and kernel 5.9
I know this is not a proper fix but at least I could get the touchbar back :-) |
You my hero!) |
Found this today, I was facing the same exact problem on Ubuntu 20.10, the unbind / bind fixed my problem as well and finally I can unmap the 3-fingers-swipe-down gesture I had mapped to the ESC key 😂 I have also uninstalled usbmuxd. I have a macbook13,2. Thanks!!! |
This did it for me as well! I have spent hours trying to get the Touch Bar to work, on the latest Pop Os (kernel 5.17) on my MacbookPro13,3 and the touchbar just appeared for two seconds at boot. This did the trick. Thank you so much for figuring it out! |
Seems like the devices have not been created when it runs. I've got the same issue on Ubuntu 22.04. Solved by sleeping the service for 2 seconds before it was attempted and all worked but there must be a much better way. ` [Service] [Install] |
I'm installing Ubuntu 22.04 on a MBP 14,3 (Linux 15.5.0-50) and had issues with getting my touchbar to work. The original workaround posted by @roadrunner2 in his 2020 comment:
resolved my problem. Now, thanks to @scobiej 's suggested service configuration above I have it working after reboot. Hopefully the underlying issue (apparently with usbmuxd) will be resolved sooner rather than later! |
some reason, when I updated, this isn't working anymore. I uninstalled and reinstalled using both git and AUR, but neither gets it to load. I was on 5.4, but neither 4.19 or 5.5 work either. Neither does rebuilding with DKMS.
EDIT:
Thanks!
The text was updated successfully, but these errors were encountered: