Identifying PCIe SATA Controller

Volter

New Member
Jun 27, 2023
12
0
1
Hello, I am having a bit of trouble working out what to do with a newly installed PCIe SATA controller in my Proxmox VE. I have installed this card and it connects to 2x HDD hot swap bays on the front of my box. I have confirmed it is working, proxmox sees a drive I have in the bay and lists it in the GUI as an available disk.

My intention is to pass this card to a VM so that I can plug in any HDD's and read/write in that VM, I have followed the steps to enable IOMMU, and confirmed it is enabled but I cannot see my card listed. I do see my GPU but that is a project for another day/VM. There are two SATA controllers on there, one intel which will be the mainboard and one is ASmedia which will be the mainboard chipset (its an Asus x299).

I know there is a way to find out the device ID through the disk, but I am unsure of this command. I am not 100% sure of the make/model of the card it was a cheapish new card off ebay, maybe too cheap...

Thanks for any help received.
 
Run a "ls -al /sys/block/sd*" in the Shell. You should get output like

Code:
lrwxrwxrwx 1 root root 0 Mar 13 17:54 /sys/block/sda -> ../devices/pci0000:00/0000:00:1c.0/0000:03:00.0/host2/scsi_host/host2/port-2:2/end_device-2:2/target2:0:1/2:0:1:0/block/sda

Pick the ID of the PCI bridge from that output, in my case I look at "pci0000:00/0000:00:1c.0" and pick the "1c.0". Then run a (in my case) "lspci | grep -i 1c.0". That will give you the correct device, in theory. Post it here just to be sure, as well
 
  • Like
Reactions: Volter
Thank you!, so I get:

lrwxrwxrwx 1 root root 0 Jul 27 09:29 /sys/block/sdi -> ../devices/pci0000:00/0000:00:1c.7/0000:04:00.0/ata9/host8/target8:0:0/8:0:0:0/block/sdi

and then:

00:1c.7 PCI bridge: Intel Corporation 200 Series PCH PCI Express Root Port #8 (rev f0)

So maybe I was incorrect with my assumption that both controllers were on the mainboard, or perhaps it cannot be separated? I may do the same with other disks that are connected to the main board and see if they are all on the other controller

Update: just looking at the others they appear to be connected to intel PCI bridges (among other devices) with different numbers but I have 1c.0, 1c.4, 1c:6, 1c.7 under lspci -nn, so I was probably looking for the wrong thing in the list?

I think I know what I need to do next. I have the id for the identified bridge from lspci -nn so I can use this to update the options of the vfio-pci modules as described in the wiki.
 
Last edited:
Hmm, it looks like this way you get the root PCI bridges. Could you post the contents of "lspci" ? Maybe your device has an intuitive name
 
  • Like
Reactions: Volter
Yeah its almost as if its missing, as the other one I tried included the intel SATA controller which is on the main board.

Nothing intuitive (to me anyway..) all vendors are intel or ASMedia...

00:00.0 Host bridge: Intel Corporation Sky Lake-E DMI3 Registers (rev 04)
00:04.0 System peripheral: Intel Corporation Sky Lake-E CBDMA Registers (rev 04)
00:04.1 System peripheral: Intel Corporation Sky Lake-E CBDMA Registers (rev 04)
00:04.2 System peripheral: Intel Corporation Sky Lake-E CBDMA Registers (rev 04)
00:04.3 System peripheral: Intel Corporation Sky Lake-E CBDMA Registers (rev 04)
00:04.4 System peripheral: Intel Corporation Sky Lake-E CBDMA Registers (rev 04)
00:04.5 System peripheral: Intel Corporation Sky Lake-E CBDMA Registers (rev 04)
00:04.6 System peripheral: Intel Corporation Sky Lake-E CBDMA Registers (rev 04)
00:04.7 System peripheral: Intel Corporation Sky Lake-E CBDMA Registers (rev 04)
00:05.0 System peripheral: Intel Corporation Sky Lake-E MM/Vt-d Configuration Registers (rev 04)
00:05.2 System peripheral: Intel Corporation Sky Lake-E RAS (rev 04)
00:05.4 PIC: Intel Corporation Sky Lake-E IOAPIC (rev 04)
00:08.0 System peripheral: Intel Corporation Sky Lake-E Ubox Registers (rev 04)
00:08.1 Performance counters: Intel Corporation Sky Lake-E Ubox Registers (rev 04)
00:08.2 System peripheral: Intel Corporation Sky Lake-E Ubox Registers (rev 04)
00:14.0 USB controller: Intel Corporation 200 Series/Z370 Chipset Family USB 3.0 xHCI Controller
00:14.2 Signal processing controller: Intel Corporation 200 Series PCH Thermal Subsystem
00:16.0 Communication controller: Intel Corporation 200 Series PCH CSME HECI #1
00:17.0 SATA controller: Intel Corporation 200 Series PCH SATA controller [AHCI mode]
00:1c.0 PCI bridge: Intel Corporation 200 Series PCH PCI Express Root Port #1 (rev f0)
00:1c.4 PCI bridge: Intel Corporation 200 Series PCH PCI Express Root Port #5 (rev f0)
00:1c.6 PCI bridge: Intel Corporation 200 Series PCH PCI Express Root Port #7 (rev f0)
00:1c.7 PCI bridge: Intel Corporation 200 Series PCH PCI Express Root Port #8 (rev f0)
00:1f.0 ISA bridge: Intel Corporation X299 Chipset LPC/eSPI Controller
00:1f.2 Memory controller: Intel Corporation 200 Series/Z370 Chipset Family Power Management Controller
00:1f.3 Audio device: Intel Corporation 200 Series PCH HD Audio
00:1f.4 SMBus: Intel Corporation 200 Series/Z370 Chipset Family SMBus Controller
00:1f.6 Ethernet controller: Intel Corporation Ethernet Connection (2) I219-V
02:00.0 USB controller: ASMedia Technology Inc. ASM2142 USB 3.1 Host Controller
03:00.0 USB controller: ASMedia Technology Inc. ASM2142 USB 3.1 Host Controller
04:00.0 SATA controller: ASMedia Technology Inc. Device 1064 (rev 02)
16:05.0 System peripheral: Intel Corporation Sky Lake-E VT-d (rev 04)
16:05.2 System peripheral: Intel Corporation Sky Lake-E RAS Configuration Registers (rev 04)
16:05.4 PIC: Intel Corporation Sky Lake-E IOxAPIC Configuration Registers (rev 04)
16:08.0 System peripheral: Intel Corporation Sky Lake-E CHA Registers (rev 04)
16:08.1 System peripheral: Intel Corporation Sky Lake-E CHA Registers (rev 04)
16:08.2 System peripheral: Intel Corporation Sky Lake-E CHA Registers (rev 04)
16:08.3 System peripheral: Intel Corporation Sky Lake-E CHA Registers (rev 04)
16:08.4 System peripheral: Intel Corporation Sky Lake-E CHA Registers (rev 04)
16:08.5 System peripheral: Intel Corporation Sky Lake-E CHA Registers (rev 04)
16:08.6 System peripheral: Intel Corporation Sky Lake-E CHA Registers (rev 04)
16:08.7 System peripheral: Intel Corporation Sky Lake-E CHA Registers (rev 04)
16:09.0 System peripheral: Intel Corporation Sky Lake-E CHA Registers (rev 04)
16:09.1 System peripheral: Intel Corporation Sky Lake-E CHA Registers (rev 04)
16:0e.0 System peripheral: Intel Corporation Sky Lake-E CHA Registers (rev 04)
16:0e.1 System peripheral: Intel Corporation Sky Lake-E CHA Registers (rev 04)
16:0e.2 System peripheral: Intel Corporation Sky Lake-E CHA Registers (rev 04)
16:0e.3 System peripheral: Intel Corporation Sky Lake-E CHA Registers (rev 04)
16:0e.4 System peripheral: Intel Corporation Sky Lake-E CHA Registers (rev 04)
16:0e.5 System peripheral: Intel Corporation Sky Lake-E CHA Registers (rev 04)
16:0e.6 System peripheral: Intel Corporation Sky Lake-E CHA Registers (rev 04)
16:0e.7 System peripheral: Intel Corporation Sky Lake-E CHA Registers (rev 04)
16:0f.0 System peripheral: Intel Corporation Sky Lake-E CHA Registers (rev 04)
16:0f.1 System peripheral: Intel Corporation Sky Lake-E CHA Registers (rev 04)
16:1d.0 System peripheral: Intel Corporation Sky Lake-E CHA Registers (rev 04)
16:1d.1 System peripheral: Intel Corporation Sky Lake-E CHA Registers (rev 04)
16:1d.2 System peripheral: Intel Corporation Sky Lake-E CHA Registers (rev 04)
16:1d.3 System peripheral: Intel Corporation Sky Lake-E CHA Registers (rev 04)
16:1e.0 System peripheral: Intel Corporation Sky Lake-E PCU Registers (rev 04)
16:1e.1 System peripheral: Intel Corporation Sky Lake-E PCU Registers (rev 04)
16:1e.2 System peripheral: Intel Corporation Sky Lake-E PCU Registers (rev 04)
16:1e.3 System peripheral: Intel Corporation Sky Lake-E PCU Registers (rev 04)
16:1e.4 System peripheral: Intel Corporation Sky Lake-E PCU Registers (rev 04)
16:1e.5 System peripheral: Intel Corporation Sky Lake-E PCU Registers (rev 04)
16:1e.6 System peripheral: Intel Corporation Sky Lake-E PCU Registers (rev 04)
64:00.0 PCI bridge: Intel Corporation Sky Lake-E PCI Express Root Port A (rev 04)
64:05.0 System peripheral: Intel Corporation Sky Lake-E VT-d (rev 04)
64:05.2 System peripheral: Intel Corporation Sky Lake-E RAS Configuration Registers (rev 04)
64:05.4 PIC: Intel Corporation Sky Lake-E IOxAPIC Configuration Registers (rev 04)
64:08.0 System peripheral: Intel Corporation Sky Lake-E Integrated Memory Controller (rev 04)
64:09.0 System peripheral: Intel Corporation Sky Lake-E Integrated Memory Controller (rev 04)
64:0a.0 System peripheral: Intel Corporation Sky Lake-E Integrated Memory Controller (rev 04)
64:0a.1 System peripheral: Intel Corporation Sky Lake-E Integrated Memory Controller (rev 04)
64:0a.2 System peripheral: Intel Corporation Sky Lake-E Integrated Memory Controller (rev 04)
64:0a.3 System peripheral: Intel Corporation Sky Lake-E Integrated Memory Controller (rev 04)
64:0a.4 System peripheral: Intel Corporation Sky Lake-E Integrated Memory Controller (rev 04)
64:0a.5 System peripheral: Intel Corporation Sky Lake-E LM Channel 1 (rev 04)
64:0a.6 System peripheral: Intel Corporation Sky Lake-E LMS Channel 1 (rev 04)
64:0a.7 System peripheral: Intel Corporation Sky Lake-E LMDP Channel 1 (rev 04)
64:0b.0 System peripheral: Intel Corporation Sky Lake-E DECS Channel 2 (rev 04)
64:0b.1 System peripheral: Intel Corporation Sky Lake-E LM Channel 2 (rev 04)
64:0b.2 System peripheral: Intel Corporation Sky Lake-E LMS Channel 2 (rev 04)
64:0b.3 System peripheral: Intel Corporation Sky Lake-E LMDP Channel 2 (rev 04)
64:0c.0 System peripheral: Intel Corporation Sky Lake-E Integrated Memory Controller (rev 04)
64:0c.1 System peripheral: Intel Corporation Sky Lake-E Integrated Memory Controller (rev 04)
64:0c.2 System peripheral: Intel Corporation Sky Lake-E Integrated Memory Controller (rev 04)
64:0c.3 System peripheral: Intel Corporation Sky Lake-E Integrated Memory Controller (rev 04)
64:0c.4 System peripheral: Intel Corporation Sky Lake-E Integrated Memory Controller (rev 04)
64:0c.5 System peripheral: Intel Corporation Sky Lake-E LM Channel 1 (rev 04)
64:0c.6 System peripheral: Intel Corporation Sky Lake-E LMS Channel 1 (rev 04)
64:0c.7 System peripheral: Intel Corporation Sky Lake-E LMDP Channel 1 (rev 04)
64:0d.0 System peripheral: Intel Corporation Sky Lake-E DECS Channel 2 (rev 04)
64:0d.1 System peripheral: Intel Corporation Sky Lake-E LM Channel 2 (rev 04)
64:0d.2 System peripheral: Intel Corporation Sky Lake-E LMS Channel 2 (rev 04)
64:0d.3 System peripheral: Intel Corporation Sky Lake-E LMDP Channel 2 (rev 04)
65:00.0 VGA compatible controller: NVIDIA Corporation GP104 [GeForce GTX 1070] (rev a1)
65:00.1 Audio device: NVIDIA Corporation GP104 High Definition Audio Controller (rev a1)
b2:05.0 System peripheral: Intel Corporation Sky Lake-E VT-d (rev 04)
b2:05.2 System peripheral: Intel Corporation Sky Lake-E RAS Configuration Registers (rev 04)
b2:05.4 PIC: Intel Corporation Sky Lake-E IOxAPIC Configuration Registers (rev 04)
b2:12.0 Performance counters: Intel Corporation Sky Lake-E M3KTI Registers (rev 04)
b2:12.1 Performance counters: Intel Corporation Sky Lake-E M3KTI Registers (rev 04)
b2:12.2 System peripheral: Intel Corporation Sky Lake-E M3KTI Registers (rev 04)
b2:15.0 System peripheral: Intel Corporation Sky Lake-E M2PCI Registers (rev 04)
b2:16.0 System peripheral: Intel Corporation Sky Lake-E M2PCI Registers (rev 04)
b2:16.4 System peripheral: Intel Corporation Sky Lake-E M2PCI Registers (rev 04)
b2:17.0 System peripheral: Intel Corporation Sky Lake-E M2PCI Registers (rev 04)
 
lrwxrwxrwx 1 root root 9 Jul 27 09:29 pci-0000:04:00.0-ata-1 -> ../../sdi
lrwxrwxrwx 1 root root 9 Jul 27 09:29 pci-0000:04:00.0-ata-1.0 -> ../../sdi
lrwxrwxrwx 1 root root 10 Jul 27 09:29 pci-0000:04:00.0-ata-1.0-part1 -> ../../sdi1
lrwxrwxrwx 1 root root 10 Jul 27 09:29 pci-0000:04:00.0-ata-1.0-part2 -> ../../sdi2
lrwxrwxrwx 1 root root 10 Jul 27 09:29 pci-0000:04:00.0-ata-1-part1 -> ../../sdi1
lrwxrwxrwx 1 root root 10 Jul 27 09:29 pci-0000:04:00.0-ata-1-part2 -> ../../sdi2

The disk is an old one with a ntfs partition so has sdi1/2

04:00.0 SATA controller: ASMedia Technology Inc. Device 1064 (rev 02) - It must be this then, but I also have

02:00.0 USB controller: ASMedia Technology Inc. ASM2142 USB 3.1 Host Controller
03:00.0 USB controller: ASMedia Technology Inc. ASM2142 USB 3.1 Host Controller

which has to be the mainboard?
 
Last edited:
Looks like it's device "04:00.0", as it also has the ASMedia name in the big list. You can find out it's actual ID if you do "lspci -n" and see what there is for 04:00.0
 
  • Like
Reactions: Volter
Ok so within that list I see:

04:00.0 0106: 1b21:1064 (rev 02)

Could it be that my no name brand sata controller really does have no name and all I get is the asus entry for that pcie slot?
 
Solved!

I handed that device to my VM in the GUI and I can see the disk in the hot swap bays! Second bay also works.

They have also disappeared from the disks list in proxmox as I hoped.

Thanks both for the help, was simple after all but I couldn't figure out how to confirm what device it was using.