The pve host is an Odroid H4+ computer with Intel N97 Alder Lake CPU running lastest Proxmox VE 8.3
I'm trying to passthrough the I2C PCIe controller so that I can see my I2C devices from inside a VM.
From the pve host OS the I2C bus is handled correctly and I can see a test I2C device
The I2C test device is properly detected with address 3c
The corresponding PCI controllers are these below
00:15.0 Serial bus controller: Intel Corporation Device 54e8
00:15.1 Serial bus controller: Intel Corporation Device 54e9
I edited the kernel command line like this:
loaded relevant kernel modules:
IOMMU and DMAR look correct
Enabled PCI passthrough from web gui
In the guest OS (Ubuntu Server 24.04.1 LTS) I can see the I2C controller being detected
but when I try to list the I2C devices present on the bus I get several timeout errors and the devices are not detected
Any help is really appreciated
I'm trying to passthrough the I2C PCIe controller so that I can see my I2C devices from inside a VM.
From the pve host OS the I2C bus is handled correctly and I can see a test I2C device
The I2C test device is properly detected with address 3c
The corresponding PCI controllers are these below
00:15.0 Serial bus controller: Intel Corporation Device 54e8
00:15.1 Serial bus controller: Intel Corporation Device 54e9
I edited the kernel command line like this:
loaded relevant kernel modules:
IOMMU and DMAR look correct
Enabled PCI passthrough from web gui
In the guest OS (Ubuntu Server 24.04.1 LTS) I can see the I2C controller being detected
but when I try to list the I2C devices present on the bus I get several timeout errors and the devices are not detected
csr@guest02:~$ sudo i2cdetect -y -r 0
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
Jan 25 15:01:42 guest02 kernel: i2c_designware i2c_designware.0: timeout while trying to abort cur>
Jan 25 15:01:42 guest02 kernel: i2c_designware i2c_designware.0: timeout in disabling adapter
Jan 25 15:01:42 guest02 kernel: i2c_designware i2c_designware.0: timeout waiting for bus ready
Jan 25 15:01:42 guest02 kernel: i2c_designware i2c_designware.0: timeout waiting for bus ready
Jan 25 15:01:42 guest02 kernel: i2c_designware i2c_designware.0: timeout waiting for bus ready
Jan 25 15:01:42 guest02 kernel: i2c_designware i2c_designware.0: timeout waiting for bus ready
Jan 25 15:01:42 guest02 kernel: i2c_designware i2c_designware.0: timeout waiting for bus ready
Jan 25 15:01:42 guest02 kernel: i2c_designware i2c_designware.0: timeout waiting for bus ready
Jan 25 15:01:42 guest02 kernel: i2c_designware i2c_designware.0: timeout waiting for bus ready
Jan 25 15:01:42 guest02 kernel: i2c_designware i2c_designware.0: timeout waiting for bus ready
Jan 25 15:01:42 guest02 kernel: i2c_designware i2c_designware.0: timeout waiting for bus ready
Jan 25 15:01:42 guest02 kernel: i2c_designware i2c_designware.0: timeout waiting for bus ready
Jan 25 15:01:42 guest02 kernel: i2c_designware i2c_designware.0: timeout waiting for bus ready
Jan 25 15:01:42 guest02 kernel: i2c_designware i2c_designware.0: timeout waiting for bus ready
Jan 25 15:01:42 guest02 kernel: i2c_designware i2c_designware.0: timeout waiting for bus ready
Jan 25 15:01:42 guest02 kernel: i2c_designware i2c_designware.0: timeout waiting for bus ready
Any help is really appreciated