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.
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!