"tbtacl add failed" (was: "Support for Arc B580 videocard over Thunderbolt?")
At some point in time during the past few months (not exactly sure when, unfortunately) I managed to make the Arc B580 work on my Clear Linux as an eGPU, via an Aoostar AG02 Thunderbolt dock. Interestingly, no such luck on the latest CL release (43580). Did you guys do anything in-between kernels 6.12 (say) and 6.15 that removed support for it? Is there anything missing from newer kernels and/or CL releases that might have broken support for the B580? Any debugging steps that I should undertake?
Here's what boltctl and lspci show:
dad@DadsGram~ $ lspci | grep -i vga
00:02.0 VGA compatible controller: Intel Corporation Raptor Lake-P [Iris Xe Graphics] (rev 04)
32:00.0 VGA compatible controller: Intel Corporation Device e20b
dad@DadsGram~ $ boltctl list
● ASMedia 246x
├─ type: peripheral
├─ name: 246x
├─ vendor: ASMedia
├─ uuid: 0a514c17-00f1-276d-ffff-ffffffffffff
├─ generation: USB4
├─ status: authorized
│ ├─ domain: d2358780-f1d2-6ce3-ffff-ffffffffffff
│ ├─ rx speed: 40 Gb/s = 2 lanes * 20 Gb/s
│ ├─ tx speed: 40 Gb/s = 2 lanes * 20 Gb/s
│ └─ authflags: none
├─ authorized: Sun 08 Jun 2025 06:51:23 PM UTC
├─ connected: Sun 08 Jun 2025 06:51:22 PM UTC
└─ stored: Tue 18 Feb 2025 08:57:51 PM UTC
├─ policy: iommu
└─ key: no
(Tthe 32:00.0 VGA compatible controller: Intel Corporation Device e20b line above is, indeed, the B580.)
And here's what journalctl says: log.txt
Looks like this may have something to do with ReBAR: it appears that my USB4 eGPU dock (AG02) does not do a good job at exposing ReBAR to the Arc GPU.
Here's below is an interesting extract from journalctl; note esp. the Process '/usr/lib/udev/tbtacl add /devices/pci0000:00/0000:00:0d.3/domain0/0-0/0-3/0-303' failed with exit code 1 line.
Jun 17 19:57:33 DadsGram boltd[608]: [0a514c17-00f1-246x ] disconnected (/sys/devices/pci0000:00/0000:00:0d.3/domain0/0-0/0-3/0-303)
Jun 17 19:57:52 DadsGram kernel: thunderbolt 0-303: new device found, vendor=0xb8 device=0x2463
Jun 17 19:57:52 DadsGram kernel: thunderbolt 0-303: ASMedia 246x
Jun 17 19:57:52 DadsGram tbtacl[3900]: 3899: args: add /devices/pci0000:00/0000:00:0d.3/domain0/0-0/0-3/0-303
Jun 17 19:57:52 DadsGram tbtacl[3913]: 3899: authorizing /sys/devices/pci0000:00/0000:00:0d.3/domain0/0-0/0-3/0-303
Jun 17 19:57:52 DadsGram tbtacl[3915]: 3899: not in ACL
Jun 17 19:57:52 DadsGram (udev-worker)[3898]: 0-303: Process '/usr/lib/udev/tbtacl add /devices/pci0000:00/0000:00:0d.3/domain0/0-0/0-3/0-303' failed with exit code 1.
Jun 17 19:57:52 DadsGram boltd[608]: [0a514c17-00f1-246x ] parent is e0d78780-00c2...
Jun 17 19:57:52 DadsGram boltd[608]: [0a514c17-00f1-246x ] connected: connected (/sys/devices/pci0000:00/0000:00:0d.3/domain0/0-0/0-3/0-303)
Jun 17 19:57:52 DadsGram boltd[608]: [0a514c17-00f1-246x ] auto-auth: authmode: enabled, policy: iommu, iommu: yes -> ok
Jun 17 19:57:52 DadsGram boltd[608]: [0a514c17-00f1-246x ] auto-auth: security: iommu+user mode, key: no -> ok
Jun 17 19:57:52 DadsGram boltd[608]: probing: started [1000]
Jun 17 19:57:52 DadsGram boltd[608]: [0a514c17-00f1-246x ] authorize: authorization prepared for 'user' level
Jun 17 19:57:52 DadsGram boltd[608]: [0a514c17-00f1-246x ] udev: device changed: authorizing -> authorizing
Jun 17 19:57:52 DadsGram boltd[608]: [0a514c17-00f1-246x ] udev: device changed: authorizing -> authorizing
Jun 17 19:57:53 DadsGram boltd[608]: [0a514c17-00f1-246x ] authorize: finished: ok (status: authorized, flags: 0)
Jun 17 19:57:53 DadsGram boltd[608]: [0a514c17-00f1-246x ] auto-auth: authorization successful
Jun 17 19:57:53 DadsGram tbtacl[3918]: 3917: args: change /devices/pci0000:00/0000:00:0d.3/domain0/0-0/0-3/0-303
Jun 17 19:57:53 DadsGram tbtacl[3933]: 3917: no childs found
Jun 17 19:57:53 DadsGram (udev-worker)[3898]: 0-303: Process '/usr/lib/udev/tbtacl change /devices/pci0000:00/0000:00:0d.3/domain0/0-0/0-3/0-303' failed with exit code 1.
Jun 17 19:57:53 DadsGram boltd[608]: [0a514c17-00f1-246x ] udev: device changed: authorized -> authorized
Jun 17 19:57:55 DadsGram boltd[608]: probing: timeout, done: [2384116] (2000000)