My motherboard provides 4x USB 3.2 Gen1 ports for rear I/O and another 2x USB 3.2 Gen1 ports for front I/O (through the header), but my chipset only supports 2x USB 3.2 Gen1 ports. Where is the support for the other ports coming from?

Motherboard Wikipedia
Motherboard rear I/O: 2x USB 2.0 ports, 4x USB 3.2 Gen1 ports, 2x USB 3.2 Gen2 portsMotherboard headers: 4x USB 2.0 ports, 2x USB 3.2 Gen1 ports Wikipedia B450 chipset: 6x USB 2.0 ports, 2x USB 3.2 Gen1 ports, 2x USB 3.2 Gen2 ports

The motherboard is an ASRock B450M Steel Legend

  • SteveTech@programming.dev
    link
    fedilink
    English
    arrow-up
    2
    ·
    7 months ago

    It seems like only 5 of 6 chipset PCIe lanes are exposed on the board, so it’s totally possible that they used the extra x1 for a USB card.

    (The Gen 3 slots come off the CPU, so aren’t counted)

    • glibg10b@lemmy.mlOP
      link
      fedilink
      arrow-up
      2
      ·
      edit-2
      7 months ago

      Ah, I think I’m starting to understand this a little better. Is that 4 lanes for SATA and 1 for the PCIe x1 slot?

      Where do you reckon the PCIe 2.0 x16 slot’s lanes come from?

      • SteveTech@programming.dev
        link
        fedilink
        English
        arrow-up
        2
        ·
        edit-2
        7 months ago

        Nah SATA is built into the chipset. That second x16 is actually only electrically x4 in an x16 form factor, and there’s that x1 slot, adding up to 5 lanes in total. The first x16 and first nvme slot (x4) are connected to the CPU directly (which IIRC most have 20 lanes on AM4, but not always).

        • glibg10b@lemmy.mlOP
          link
          fedilink
          arrow-up
          1
          ·
          edit-2
          7 months ago

          Oh, that makes sense, thanks

          My CPU (1600 AF) only has 16 lanes, but I have a graphics card and an NVMe SSD and both seem to be getting all the lanes. I wonder what’s going on here

          07:00.0 VGA compatible controller: NVIDIA Corporation TU116 [GeForce GTX 1650 SUPER] (rev a1) (prog-if 00 [VGA controller])
                 Subsystem: Micro-Star International Co., Ltd. [MSI] TU116 [GeForce GTX 1650 SUPER]
                         [...]
                         LnkCap: Port #0, Speed 8GT/s, Width x16, ASPM L0s L1, Exit Latency L0s <1us, L1 <4us
                                 ClockPM+ Surprise- LLActRep- BwNot- ASPMOptComp+
                         LnkCtl: ASPM Disabled; RCB 64 bytes, Disabled- CommClk+
                                 ExtSynch- ClockPM+ AutWidDis- BWInt- AutBWInt-
                         LnkSta: Speed 8GT/s (ok), Width x16 (ok)
                                 TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
          
          01:00.0 Non-Volatile memory controller: Silicon Motion, Inc. SM2262/SM2262EN SSD Controller (rev 03) (prog-if 02 [NVM Express])
                 Subsystem: Silicon Motion, Inc. SM2262/SM2262EN SSD Controller
                         [...]
                         LnkCap: Port #0, Speed 8GT/s, Width x4, ASPM L1, Exit Latency L1 <8us
                                 ClockPM+ Surprise- LLActRep- BwNot- ASPMOptComp+
                         LnkCtl: ASPM Disabled; RCB 64 bytes, Disabled- CommClk+
                                 ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
                         LnkSta: Speed 8GT/s (ok), Width x4 (ok)
          

          Full output

          Edit:

          $ sudo dmidecode --type 9 | grep -E 'Usage|Type|Designation'
          	Designation: PCIE1
          	Type: x1 PCI Express
          	Current Usage: In Use
          	Designation: PCIE2
          	Type: x16 PCI Express
          	Current Usage: In Use
          	Designation: PCIE3
          	Type: x1 PCI Express
          	Current Usage: In Use
          	Designation: PCIE4_M2_1
          	Type: x4 PCI Express
          	Current Usage: In Use
          
          • SteveTech@programming.dev
            link
            fedilink
            English
            arrow-up
            1
            ·
            7 months ago

            Huh that’s interesting, I believe that GPU should’ve been running at x8 with that CPU, but if it works then whatever I suppose.

            I believe there are PCIe bandwidth benchmarks, if you really want to confirm, but I wouldn’t worry.

            Also it isn’t uncommon for the device to just report the wrong speed, for example my Intel Arc reports running at x1, but benchmarks show otherwise.