Manjaro Stable update 3-14-2020 breaks touchbar
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:
[trey@citron ~]$ lsmod | grep apple
apple_ib_als 20480 0
industrialio_triggered_buffer 16384 1 apple_ib_als
industrialio 94208 3 industrialio_triggered_buffer,kfifo_buf,apple_ib_als
apple_ib_tb 28672 0
applesmc 24576 0
apple_ibridge 28672 2 apple_ib_als,apple_ib_tb
hid 147456 3 usbhid,apple_ib_als,apple_ibridge
apple_gmux 20480 0
apple_bl 20480 1 apple_gmux
applespi 40960 0
crc16 16384 3 bluetooth,ext4,applespi
[trey@citron ~]$ sudo dmesg | grep applespi
[sudo] password for trey:
[ 2.778261] applespi spi-APP000D:00: Received corrupted packet (crc mismatch)
[ 2.779337] applespi spi-APP000D:00: modeswitch done.
Thanks!
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.
[trey@citron ~]$ sudo dmesg | sudo egrep -i 'apple-ib|ibridge'
[sudo] password for trey:
[ 1.971431] usb 1-3: Product: iBridge
[trey@citron ~]$ lsusb -t
/: Bus 06.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 10000M
/: Bus 05.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 480M
/: Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 10000M
/: Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 480M
/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/8p, 5000M
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/16p, 480M
[trey@citron ~]$ ls -l /sys/bus/hid/devices/*/driver
ls: cannot access '/sys/bus/hid/devices/*/driver': No such file or directory
Hmm, that lsusb -t output is very odd: there should be another 3 devices listed as children of the last item. For reference, this is what I see on my system:
/: Bus 06.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 10000M
/: Bus 05.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 480M
/: Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 10000M
/: Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 480M
/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/8p, 5000M
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/16p, 480M
|__ Port 3: Dev 2, If 0, Class=Video, Driver=uvcvideo, 480M
|__ Port 3: Dev 2, If 1, Class=Video, Driver=uvcvideo, 480M
|__ Port 3: Dev 2, If 2, Class=Human Interface Device, Driver=usbhid, 480M
|__ Port 3: Dev 2, If 3, Class=Human Interface Device, Driver=usbhid, 480M
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 lsusb -t isn't showing it (and there are no hid devices), makes it sound like there may be some other error that is causing the iBridge device to go away. Can you look through your kernel log and see if there's anything weird related to USB in there?
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.
[trey@citron ~]$ ls -l /sys/bus/usb/devices
total 0
lrwxrwxrwx 1 root root 0 Mar 17 08:45 1-0:1.0 -> ../../../devices/pci0000:00/0000:00:14.0/usb1/1-0:1.0
lrwxrwxrwx 1 root root 0 Mar 17 08:45 1-3 -> ../../../devices/pci0000:00/0000:00:14.0/usb1/1-3
lrwxrwxrwx 1 root root 0 Mar 17 08:45 2-0:1.0 -> ../../../devices/pci0000:00/0000:00:14.0/usb2/2-0:1.0
lrwxrwxrwx 1 root root 0 Mar 17 08:45 3-0:1.0 -> ../../../devices/pci0000:00/0000:00:01.1/0000:04:00.0/0000:05:02.0/0000:07:00.0/usb3/3-0:1.0
lrwxrwxrwx 1 root root 0 Mar 17 08:45 4-0:1.0 -> ../../../devices/pci0000:00/0000:00:01.1/0000:04:00.0/0000:05:02.0/0000:07:00.0/usb4/4-0:1.0
lrwxrwxrwx 1 root root 0 Mar 17 08:45 5-0:1.0 -> ../../../devices/pci0000:00/0000:00:01.2/0000:7a:00.0/0000:7b:02.0/0000:7d:00.0/usb5/5-0:1.0
lrwxrwxrwx 1 root root 0 Mar 17 08:45 6-0:1.0 -> ../../../devices/pci0000:00/0000:00:01.2/0000:7a:00.0/0000:7b:02.0/0000:7d:00.0/usb6/6-0:1.0
lrwxrwxrwx 1 root root 0 Mar 17 08:45 usb1 -> ../../../devices/pci0000:00/0000:00:14.0/usb1
lrwxrwxrwx 1 root root 0 Mar 17 08:45 usb2 -> ../../../devices/pci0000:00/0000:00:14.0/usb2
lrwxrwxrwx 1 root root 0 Mar 17 08:45 usb3 -> ../../../devices/pci0000:00/0000:00:01.1/0000:04:00.0/0000:05:02.0/0000:07:00.0/usb3
lrwxrwxrwx 1 root root 0 Mar 17 08:45 usb4 -> ../../../devices/pci0000:00/0000:00:01.1/0000:04:00.0/0000:05:02.0/0000:07:00.0/usb4
lrwxrwxrwx 1 root root 0 Mar 17 08:45 usb5 -> ../../../devices/pci0000:00/0000:00:01.2/0000:7a:00.0/0000:7b:02.0/0000:7d:00.0/usb5
lrwxrwxrwx 1 root root 0 Mar 17 08:45 usb6 -> ../../../devices/pci0000:00/0000:00:01.2/0000:7a:00.0/0000:7b:02.0/0000:7d:00.0/usb6
[trey@citron ~]$ sudo dmesg | grep usb
[ 0.628249] usbcore: registered new interface driver usbfs
[ 0.628253] usbcore: registered new interface driver hub
[ 0.628273] usbcore: registered new device driver usb
[ 0.786585] usbcore: registered new interface driver usbserial_generic
[ 0.786588] usbserial: USB Serial support registered for generic
[ 1.652378] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.05
[ 1.652379] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 1.652379] usb usb1: Product: xHCI Host Controller
[ 1.652380] usb usb1: Manufacturer: Linux 5.5.8-1-MANJARO xhci-hcd
[ 1.652381] usb usb1: SerialNumber: 0000:00:14.0
[ 1.652912] usb usb2: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 5.05
[ 1.652913] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 1.652914] usb usb2: Product: xHCI Host Controller
[ 1.652914] usb usb2: Manufacturer: Linux 5.5.8-1-MANJARO xhci-hcd
[ 1.652915] usb usb2: SerialNumber: 0000:00:14.0
[ 1.654576] usb usb3: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.05
[ 1.654578] usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 1.654579] usb usb3: Product: xHCI Host Controller
[ 1.654580] usb usb3: Manufacturer: Linux 5.5.8-1-MANJARO xhci-hcd
[ 1.654581] usb usb3: SerialNumber: 0000:07:00.0
[ 1.654855] usb usb4: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 5.05
[ 1.654856] usb usb4: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 1.654857] usb usb4: Product: xHCI Host Controller
[ 1.654858] usb usb4: Manufacturer: Linux 5.5.8-1-MANJARO xhci-hcd
[ 1.654858] usb usb4: SerialNumber: 0000:07:00.0
[ 1.656355] usb usb5: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.05
[ 1.656356] usb usb5: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 1.656357] usb usb5: Product: xHCI Host Controller
[ 1.656359] usb usb5: Manufacturer: Linux 5.5.8-1-MANJARO xhci-hcd
[ 1.656359] usb usb5: SerialNumber: 0000:7d:00.0
[ 1.656641] usb usb6: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 5.05
[ 1.656643] usb usb6: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 1.656644] usb usb6: Product: xHCI Host Controller
[ 1.656645] usb usb6: Manufacturer: Linux 5.5.8-1-MANJARO xhci-hcd
[ 1.656646] usb usb6: SerialNumber: 0000:7d:00.0
[ 1.984848] usb 1-3: new high-speed USB device number 2 using xhci_hcd
[ 2.005808] usb 1-3: New USB device found, idVendor=05ac, idProduct=8600, bcdDevice= 1.01
[ 2.005813] usb 1-3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 2.005816] usb 1-3: Product: iBridge
[ 2.005819] usb 1-3: Manufacturer: Apple Inc.
[ 2.935347] usbcore: registered new interface driver brcmfmac
[ 3.887263] usbcore: registered new interface driver usbhid
[ 3.887266] usbhid: USB HID core driver
[ 3.994856] usbcore: registered new interface driver uvcvideo
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.
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.
Ok, that's the MacBookPro14,3 then.
[trey@citron ~]$ ls -l /sys/bus/usb/devices total 0 lrwxrwxrwx 1 root root 0 Mar 17 08:45 1-0:1.0 -> ../../../devices/pci0000:00/0000:00:14.0/usb1/1-0:1.0 lrwxrwxrwx 1 root root 0 Mar 17 08:45 1-3 -> ../../../devices/pci0000:00/0000:00:14.0/usb1/1-3 lrwxrwxrwx 1 root root 0 Mar 17 08:45 2-0:1.0 -> ../../../devices/pci0000:00/0000:00:14.0/usb2/2-0:1.0 [snip]
And this confirms the iBridge USB devices are truly missing (there should be four 1-3:1.x devices there).
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?
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.
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.
~~Bluetooth is broken on all of the kernels for me, and I noticed the issue on 5.4, but if there's a fix I can wait for 5.5-9.~~ rEFInd was autoselecting 5.5, my mistake.
Something else, when turning off the machine there is often a stop job that can last up to a minute and a half.
It's worth noting though that it isn't every time, and it isn't a predictor of whether the touchbar will work.
Does this help? I was looking through dmesg.
[ 1.593017] xhci_hcd 0000:00:14.0: xHCI Host Controller
[ 1.593023] xhci_hcd 0000:00:14.0: new USB bus registered, assigned bus number 1
[ 1.594089] xhci_hcd 0000:00:14.0: hcc params 0x200077c1 hci version 0x100 quirks 0x0000000001109810
[ 1.594097] xhci_hcd 0000:00:14.0: cache line size of 256 is not supported
[ 1.594249] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.04
[ 1.594250] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 1.594251] usb usb1: Product: xHCI Host Controller
[ 1.594252] usb usb1: Manufacturer: Linux 5.4.24-1-MANJARO xhci-hcd
[ 1.594252] usb usb1: SerialNumber: 0000:00:14.0
[ 1.594329] hub 1-0:1.0: USB hub found
[ 1.594346] hub 1-0:1.0: 16 ports detected
[ 1.594811] xhci_hcd 0000:00:14.0: xHCI Host Controller
[ 1.594813] xhci_hcd 0000:00:14.0: new USB bus registered, assigned bus number 2
[ 1.594815] xhci_hcd 0000:00:14.0: Host supports USB 3.0 SuperSpeed
[ 1.594847] usb usb2: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 5.04
[ 1.594848] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 1.594849] usb usb2: Product: xHCI Host Controller
[ 1.594850] usb usb2: Manufacturer: Linux 5.4.24-1-MANJARO xhci-hcd
[ 1.594851] usb usb2: SerialNumber: 0000:00:14.0
[ 1.594919] hub 2-0:1.0: USB hub found
[ 1.594930] hub 2-0:1.0: 8 ports detected
[ 1.595267] xhci_hcd 0000:07:00.0: xHCI Host Controller
[ 1.595270] xhci_hcd 0000:07:00.0: new USB bus registered, assigned bus number 3
[ 1.596356] xhci_hcd 0000:07:00.0: hcc params 0x200077c1 hci version 0x110 quirks 0x0000000200009810
[ 1.596511] usb usb3: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.04
[ 1.596513] usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 1.596514] usb usb3: Product: xHCI Host Controller
[ 1.596515] usb usb3: Manufacturer: Linux 5.4.24-1-MANJARO xhci-hcd
[ 1.596516] usb usb3: SerialNumber: 0000:07:00.0
[ 1.596615] hub 3-0:1.0: USB hub found
[ 1.596622] hub 3-0:1.0: 2 ports detected
[ 1.596776] xhci_hcd 0000:07:00.0: xHCI Host Controller
[ 1.596779] xhci_hcd 0000:07:00.0: new USB bus registered, assigned bus number 4
[ 1.596782] xhci_hcd 0000:07:00.0: Host supports USB 3.1 Enhanced SuperSpeed
[ 1.596815] usb usb4: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 5.04
[ 1.596816] usb usb4: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 1.596817] usb usb4: Product: xHCI Host Controller
[ 1.596818] usb usb4: Manufacturer: Linux 5.4.24-1-MANJARO xhci-hcd
[ 1.596819] usb usb4: SerialNumber: 0000:07:00.0
[ 1.596896] hub 4-0:1.0: USB hub found
[ 1.596902] hub 4-0:1.0: 2 ports detected
[ 1.597087] xhci_hcd 0000:7d:00.0: xHCI Host Controller
[ 1.597091] xhci_hcd 0000:7d:00.0: new USB bus registered, assigned bus number 5
[ 1.598179] xhci_hcd 0000:7d:00.0: hcc params 0x200077c1 hci version 0x110 quirks 0x0000000200009810
[ 1.598363] usb usb5: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.04
[ 1.598365] usb usb5: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 1.598366] usb usb5: Product: xHCI Host Controller
[ 1.598367] usb usb5: Manufacturer: Linux 5.4.24-1-MANJARO xhci-hcd
[ 1.598368] usb usb5: SerialNumber: 0000:7d:00.0
[ 1.598474] hub 5-0:1.0: USB hub found
[ 1.598481] hub 5-0:1.0: 2 ports detected
[ 1.598605] xhci_hcd 0000:7d:00.0: xHCI Host Controller
[ 1.598606] xhci_hcd 0000:7d:00.0: new USB bus registered, assigned bus number 6
[ 1.598608] xhci_hcd 0000:7d:00.0: Host supports USB 3.1 Enhanced SuperSpeed
[ 1.598632] usb usb6: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 5.04
[ 1.598632] usb usb6: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 1.598633] usb usb6: Product: xHCI Host Controller
[ 1.598634] usb usb6: Manufacturer: Linux 5.4.24-1-MANJARO xhci-hcd
[ 1.598634] usb usb6: SerialNumber: 0000:7d:00.0
[ 1.598697] hub 6-0:1.0: USB hub found
[ 1.598703] hub 6-0:1.0: 2 ports detected
[ 1.661221] random: fast init done
[ 1.678995] EXT4-fs (nvme0n1p3): recovery complete
[ 1.681135] EXT4-fs (nvme0n1p3): mounted filesystem with ordered data mode. Opts: (null)
[ 1.759826] systemd[1]: systemd 244.3-2-manjaro running in system mode. (+PAM +AUDIT -SELINUX -IMA -APPARMOR +SMACK -SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD +IDN2 -IDN +PCRE2 default-hierarchy=hybrid)
[ 1.775546] systemd[1]: Detected architecture x86-64.
[ 1.792248] tsc: Refined TSC clocksource calibration: 3095.959 MHz
[ 1.792256] clocksource: tsc: mask: 0xffffffffffffffff max_cycles: 0x2ca05e7f049, max_idle_ns: 440795299284 ns
[ 1.792288] clocksource: Switched to clocksource tsc
[ 1.808904] systemd[1]: Set hostname to <citron>.
[ 1.922130] usb 1-3: new high-speed USB device number 2 using xhci_hcd
[ 1.941678] usb 1-3: New USB device found, idVendor=05ac, idProduct=8600, bcdDevice= 1.01
[ 1.941680] usb 1-3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 1.941681] usb 1-3: Product: iBridge
[ 1.941682] usb 1-3: Manufacturer: Apple Inc.
The Touchbar just flickers and turns off.
I am on Macbook Pro 13,3 running Manjaro with kernel 5.5.9 + patches from @aunali1
https://github.com/aunali1/linux-mbp-arch
> lsusb -t 13:26:57
/: Bus 06.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 10000M
/: Bus 05.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 480M
/: Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 10000M
/: Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 480M
/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/8p, 5000M
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/16p, 480M
|__ Port 2: Dev 2, If 0, Class=Vendor Specific Class, Driver=rt2800usb, 480M
|__ Port 7: Dev 4, If 0, Class=Vendor Specific Class, Driver=, 480M
chac ) sudo dmesg | sudo egrep -i 'apple-ib|ibridge' 13:32:40
[sudo] password for chac:
[ 2.302744] usb 1-3: Product: iBridge
[ 3.639293] input: Apple Inc. iBridge as /devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3:1.2/0003:05AC:8600.0001/input/input4
[ 3.695553] apple-ibridge-hid 0003:05AC:8600.0001: input,hidraw0: USB HID v1.01 Keyboard [Apple Inc. iBridge] on usb-0000:00:14.0-3/input2
[ 3.695766] apple-ibridge-hid 0003:05AC:8600.0002: hiddev0,hidraw1: USB HID v1.01 Device [Apple Inc. iBridge] on usb-0000:00:14.0-3/input3
[ 3.955564] input: Apple Inc. iBridge as /devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3:1.2/0003:05AC:8600.0001/input/input12
[ 4.016738] apple-ibridge-hid 0003:05AC:8600.0001: input,hidraw0: USB HID v1.01 Keyboard [Apple Inc. iBridge] on usb-0000:00:14.0-3/input2
[ 4.022169] apple-ibridge-hid 0003:05AC:8600.0002: hiddev0,hidraw1: USB HID v1.01 Device [Apple Inc. iBridge] on usb-0000:00:14.0-3/input3
[ 4.155846] input: Apple Inc. iBridge as /devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3:1.2/0003:05AC:8600.0001/input/input15
[ 4.214060] apple-ibridge-hid 0003:05AC:8600.0001: input,hidraw0: USB HID v1.01 Keyboard [Apple Inc. iBridge] on usb-0000:00:14.0-3/input2
[ 4.214748] apple-ibridge-hid 0003:05AC:8600.0002: hiddev0,hidraw1: USB HID v1.01 Device [Apple Inc. iBridge] on usb-0000:00:14.0-3/input3
[ 4.449663] apple-ibridge APP7777:00: tb: Touchbar deactivated
@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
sudo grep . /sys/bus/usb/devices/usb1/1-3/*
sudo grep . /sys/bus/usb/devices/usb1/1-3/power/*
sudo grep . /sys/bus/usb/devices/usb1/1-3/port/power/*
ls -l /sys/bus/usb/devices/usb1/1-3/driver
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!
[trey@citron ~]$ sudo grep . /sys/bus/usb/devices/usb1/1-3/*
[sudo] password for trey:
/sys/bus/usb/devices/usb1/1-3/authorized:1
/sys/bus/usb/devices/usb1/1-3/avoid_reset_quirk:0
/sys/bus/usb/devices/usb1/1-3/bcdDevice:0101
/sys/bus/usb/devices/usb1/1-3/bDeviceClass:ef
/sys/bus/usb/devices/usb1/1-3/bDeviceProtocol:01
/sys/bus/usb/devices/usb1/1-3/bDeviceSubClass:02
/sys/bus/usb/devices/usb1/1-3/bMaxPacketSize0:64
/sys/bus/usb/devices/usb1/1-3/bNumConfigurations:3
/sys/bus/usb/devices/usb1/1-3/busnum:1
Binary file /sys/bus/usb/devices/usb1/1-3/descriptors matches
/sys/bus/usb/devices/usb1/1-3/dev:189:1
/sys/bus/usb/devices/usb1/1-3/devnum:2
/sys/bus/usb/devices/usb1/1-3/devpath:3
/sys/bus/usb/devices/usb1/1-3/devspec:(null)
grep: /sys/bus/usb/devices/usb1/1-3/driver: Is a directory
grep: /sys/bus/usb/devices/usb1/1-3/ep_00: Is a directory
grep: /sys/bus/usb/devices/usb1/1-3/firmware_node: Is a directory
/sys/bus/usb/devices/usb1/1-3/idProduct:8600
/sys/bus/usb/devices/usb1/1-3/idVendor:05ac
/sys/bus/usb/devices/usb1/1-3/ltm_capable:no
/sys/bus/usb/devices/usb1/1-3/manufacturer:Apple Inc.
/sys/bus/usb/devices/usb1/1-3/maxchild:0
grep: /sys/bus/usb/devices/usb1/1-3/port: Is a directory
grep: /sys/bus/usb/devices/usb1/1-3/power: Is a directory
/sys/bus/usb/devices/usb1/1-3/product:iBridge
/sys/bus/usb/devices/usb1/1-3/quirks:0x0
/sys/bus/usb/devices/usb1/1-3/removable:fixed
grep: /sys/bus/usb/devices/usb1/1-3/remove: Permission denied
/sys/bus/usb/devices/usb1/1-3/rx_lanes:1
/sys/bus/usb/devices/usb1/1-3/speed:480
grep: /sys/bus/usb/devices/usb1/1-3/subsystem: Is a directory
/sys/bus/usb/devices/usb1/1-3/tx_lanes:1
/sys/bus/usb/devices/usb1/1-3/uevent:MAJOR=189
/sys/bus/usb/devices/usb1/1-3/uevent:MINOR=1
/sys/bus/usb/devices/usb1/1-3/uevent:DEVNAME=bus/usb/001/002
/sys/bus/usb/devices/usb1/1-3/uevent:DEVTYPE=usb_device
/sys/bus/usb/devices/usb1/1-3/uevent:DRIVER=usb
/sys/bus/usb/devices/usb1/1-3/uevent:PRODUCT=5ac/8600/101
/sys/bus/usb/devices/usb1/1-3/uevent:TYPE=239/2/1
/sys/bus/usb/devices/usb1/1-3/uevent:BUSNUM=001
/sys/bus/usb/devices/usb1/1-3/uevent:DEVNUM=002
/sys/bus/usb/devices/usb1/1-3/urbnum:15
/sys/bus/usb/devices/usb1/1-3/version: 2.00
[trey@citron ~]$ sudo grep . /sys/bus/usb/devices/usb1/1-3/power/*
/sys/bus/usb/devices/usb1/1-3/power/active_duration:3307
/sys/bus/usb/devices/usb1/1-3/power/async:enabled
/sys/bus/usb/devices/usb1/1-3/power/autosuspend:2
/sys/bus/usb/devices/usb1/1-3/power/autosuspend_delay_ms:2000
/sys/bus/usb/devices/usb1/1-3/power/connected_duration:223357
/sys/bus/usb/devices/usb1/1-3/power/control:auto
/sys/bus/usb/devices/usb1/1-3/power/level:auto
/sys/bus/usb/devices/usb1/1-3/power/persist:1
/sys/bus/usb/devices/usb1/1-3/power/runtime_active_kids:0
/sys/bus/usb/devices/usb1/1-3/power/runtime_active_time:3169
/sys/bus/usb/devices/usb1/1-3/power/runtime_enabled:enabled
/sys/bus/usb/devices/usb1/1-3/power/runtime_status:suspended
/sys/bus/usb/devices/usb1/1-3/power/runtime_suspended_time:220049
/sys/bus/usb/devices/usb1/1-3/power/runtime_usage:0
[trey@citron ~]$ sudo grep . /sys/bus/usb/devices/usb1/1-3/port/power/*
/sys/bus/usb/devices/usb1/1-3/port/power/async:enabled
grep: /sys/bus/usb/devices/usb1/1-3/port/power/autosuspend_delay_ms: Input/output error
/sys/bus/usb/devices/usb1/1-3/port/power/control:auto
/sys/bus/usb/devices/usb1/1-3/port/power/runtime_active_kids:0
/sys/bus/usb/devices/usb1/1-3/port/power/runtime_active_time:231529
/sys/bus/usb/devices/usb1/1-3/port/power/runtime_enabled:enabled
/sys/bus/usb/devices/usb1/1-3/port/power/runtime_status:active
/sys/bus/usb/devices/usb1/1-3/port/power/runtime_suspended_time:0
/sys/bus/usb/devices/usb1/1-3/port/power/runtime_usage:0
[trey@citron ~]$ ls -l /sys/bus/usb/devices/usb1/1-3/driver
lrwxrwxrwx 1 root root 0 Mar 20 08:27 /sys/bus/usb/devices/usb1/1-3/driver -> ../../../../../bus/usb/drivers/usb
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):
/sys/bus/usb/devices/usb1/1-3/is a missing abConfigurationValueand aconfigurationentry, as well as abNumInterfaces(this is probably because of the former two missing)/sys/bus/usb/devices/usb1/1-3/power/runtime_statusis showingsuspendedinstead ofactive
What happens if you manually unbind and then rebind the iBridge USB device?
echo '1-3' | sudo tee /sys/bus/usb/drivers/usb/unbind
echo '1-3' | sudo tee /sys/bus/usb/drivers/usb/bind
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:
https://forum.manjaro.org/t/manjaro-stable-update-3-14-2020-breaks-usb-ibridge-interface-on-macbook-pro/131106
So I decided to install Ubuntu 20.04 LTS with kernel 5.5.11-050511-generic and the touch bar works as expected.
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 /tmp/hid-remove.ps when the HID devices are removed. Maybe that will give some indication of what is triggering the issue.
--- 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 /tmp/hid-remove.ps
I removed the module with
sudo dkms remove -m applespi -v 0.1 --all
Reboot my machine and reinstalled the module
sudo dkms install -m applespi/0.1
Am I missing something?
unbinding and rebinding the iBridge USB device works for now. I appreciate the help!
What happens if you manually unbind and then rebind the iBridge USB device?
echo '1-3' | sudo tee /sys/bus/usb/drivers/usb/unbind echo '1-3' | sudo tee /sys/bus/usb/drivers/usb/bind
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 /tmp/hid-remove.ps file shows up now).
@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 systemd-analyze plot/systemd-analyze dump but with no luck. What I noticed from systemd-analyze dump was that systemd found the iBridge and triggers the start of usbmuxd. Stopping/restarting the usbmuxd doesn't trigger the "bug" though...
-> Unit sys-devices-pci0000:00-0000:00:14.0-usb1-1\x2d3.device:
Description: iBridge
Instance: n/a
Unit Load State: loaded
Unit Active State: active
State Change Timestamp: Mon 2020-04-06 07:20:48 -03
Inactive Exit Timestamp: Mon 2020-04-06 07:20:48 -03
Active Enter Timestamp: Mon 2020-04-06 07:20:48 -03
Active Exit Timestamp: n/a
Inactive Enter Timestamp: n/a
May GC: no
Need Daemon Reload: no
Transient: no
Perpetual: no
Garbage Collection Mode: inactive
Slice: n/a
CGroup: n/a
CGroup realized: no
Invocation ID: 7f5d07fd38f543249ab08ba37ef9e257
Following Set Member: dev-bus-usb-001-005.device
Wants: usbmuxd.service (origin-udev)
References: usbmuxd.service (origin-udev)
StopWhenUnneeded: no
RefuseManualStart: no
RefuseManualStop: no
DefaultDependencies: yes
OnFailureJobMode: replace
IgnoreOnIsolate: yes
Device State: plugged
Sysfs Path: /sys/devices/pci0000:00/0000:00:14.0/usb1/1-3
Found: found-udev
udev SYSTEMD_WANTS: usbmuxd.service
Well, it turns out it was usbmuxd's fault. At least in my system.
I just did a pacman -Rdd usbmuxd (essentially removing usbmuxd without doing dependency resolution), removed the commands mentioned in https://github.com/roadrunner2/macbook12-spi-driver/issues/42#issuecomment-602160740 from my custom systemd units and issued a reboot. No deactivation of the TouchBar was detected.
I'm assuming this commit is the culprit... :thinking:
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.