Skip to content

Commit 5313f37

Browse files
Learn Build Service GitHub AppLearn Build Service GitHub App
authored andcommitted
Merging changes synced from https://github.com/MicrosoftDocs/SupportArticles-docs-pr (branch live)
2 parents 38ea27b + 0206bc6 commit 5313f37

File tree

3 files changed

+207
-1
lines changed

3 files changed

+207
-1
lines changed

support/azure/azure-storage/blobs/connectivity/storage-use-azcopy-troubleshoot.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ If you receive an error message that states that your parameters aren't recogniz
121121

122122
Also, make sure to use built-in help messages by using the `-h` switch together with any command (for example, `azcopy copy -h`). See [Get command help](/azure/storage/common/storage-use-azcopy-v10?toc=/azure/storage/blobs/toc.json#get-command-help). To view the same information online, see [azcopy copy](/azure/storage/common/storage-ref-azcopy-copy?toc=/azure/storage/blobs/toc.json).
123123

124-
To help you understand commands, we provide an education tool that's located in the [AzCopy command guide](https://azcopyvnextrelease.z22.web.core.windows.net/). This tool demonstrates the most popular AzCopy commands along with the most popular command flags. To find example commands, see [Transfer data](/azure/storage/common/storage-use-azcopy-v10?toc=/azure/storage/blobs/toc.json#transfer-data). If you have a question, try searching through existing [GitHub issues](https://github.com/Azure/azure-storage-azcopy/issues) first to see whether it was already answered.
124+
To find example commands, see [Transfer data](/azure/storage/common/storage-use-azcopy-v10?toc=/azure/storage/blobs/toc.json#transfer-data). If you have a question, try searching through existing [GitHub issues](https://github.com/Azure/azure-storage-azcopy/issues) first to see whether it was already answered.
125125

126126
## Conditional access policy error
127127

Lines changed: 204 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,204 @@
1+
---
2+
title: USB-connected Audio or Video Devices Malfunction when Connected to Specific Intel-Based Devices
3+
description: Describes how to apply an update and a registry fix to resolve USB audio and video issues on Intel 500/600/700 PCH systems that use discrete TPM chips.
4+
ms.service: windows-client
5+
ms.topic: troubleshooting-general
6+
ms.date: 10/02/2025
7+
ai-usage: ai-assisted
8+
ms.reviewer: kaushika, v-tappelgate, chadbee
9+
ms.custom:
10+
- sap:windows device and driver management\issues with drivers or updates for peripheral devices
11+
- pcy:WinComm Devices Deploy
12+
appliesto:
13+
- ✅ <a href=https://learn.microsoft.com/windows/release-health/supported-versions-windows-client target=_blank>Supported versions of Windows Client</a>
14+
---
15+
16+
# USB-connected audio or video devices malfunction when connected to specific Intel-based devices
17+
18+
This article provides workarounds and fixes for an issue that affects specific Intel-based devices. USB audio or video devices that are attached to the affected devices might not function correctly. These USB devices include cameras, speakers, microphones, and headsets.
19+
20+
## Symptoms
21+
22+
You experience one or more of the following symptoms:
23+
24+
- You hear occasional glitches or unexpected noise (such as clicking or popping) in the audio stream.
25+
- You see momentary visible glitches in a video stream.
26+
- A USB audio or video device stops working.
27+
28+
## Affected devices
29+
30+
This issue affects Intel-based systems that use a 500, 600, or 700 series Platform Controller Hub that has discrete Trusted Platform Module (dTPMs) chips. Computers that use firmware TPM (fTPM) technology aren't affected by this issue.
31+
32+
## Workaround
33+
34+
To work around the issue, follow these steps:
35+
36+
1. Unplug the device, and then reattach it to the computer.
37+
2. If step 1 doesn't work, restart the computer.
38+
39+
## Cause
40+
41+
This problem occurs because of delays that occur on an internal hardware bus when Windows communicates with the discrete TPM. These delays, in turn, delay communication with the USB controller and generate Split Transaction errors on the USB bus. Therefore, time-sensitive USB traffic (such as audio and video streaming) might experience glitches or errors.
42+
43+
## Resolution
44+
45+
[!INCLUDE [Registry important alert](../../../includes/registry-important-alert.md)]
46+
47+
The October 2025 update for Windows 24H2 introduces a fix for this hardware issue. To use this fix, follow these steps:
48+
49+
1. On the affected device, install the October 2025 update. Restart the device, if it's necessary.
50+
51+
1. Verify that the device uses a dTPM instead of an fTPM. To find this information, check the device BIOS settings or contact the device manufacturer.
52+
53+
1. Run the diagnostic script in the [More information](#more-information) section of this article.
54+
55+
This script checks whether the fix applies to your device.
56+
57+
1. Create the following registry entry:
58+
59+
- Subkey: `HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Tpm`
60+
- Type: **REG_DWORD**
61+
- Name: **TPMDriverReadAfterWriteCount**
62+
- Value: **0x1 (1)**
63+
64+
For example, open an administrative Command Prompt window, and then run the following command:
65+
66+
```console
67+
reg.exe ADD HKLM\SYSTEM\CurrentControlSet\Control\Tpm /v TPMDriverReadAfterWriteCount /t REG_DWORD /d 1
68+
```
69+
70+
## More information
71+
72+
You can use the following Windows PowerShell script to determine whether your PC has one of the controllers that might be affected. To run this script, create a file that uses a name such as **Check-USBSplitTransactionVulnerability.ps1**. Then, paste the following text into the file, and run the script at a PowerShell command prompt.
73+
74+
> [!NOTE]
75+
> In Device Manager, the device in question appears under **System Devices**. It has a name that resembles "Intel(R) LPC Controller/eSPI Controller."
76+
77+
```powershell
78+
# USB Split Transaction Vulnerability Detection Script
79+
# This script checks if a device is vulnerable to USB split transaction issues
80+
# by examining the Windows registry for specific Intel PCH device IDs
81+
82+
# Define the vulnerable PCH device IDs from the CPP code
83+
$VulnerablePchDeviceIds = @(
84+
"VEN_8086&DEV_4380", "VEN_8086&DEV_4381", "VEN_8086&DEV_4382", "VEN_8086&DEV_4383",
85+
"VEN_8086&DEV_4384", "VEN_8086&DEV_4385", "VEN_8086&DEV_4386", "VEN_8086&DEV_4387",
86+
"VEN_8086&DEV_4388", "VEN_8086&DEV_4389", "VEN_8086&DEV_438A", "VEN_8086&DEV_438B",
87+
"VEN_8086&DEV_438C", "VEN_8086&DEV_438D", "VEN_8086&DEV_438E", "VEN_8086&DEV_438F",
88+
"VEN_8086&DEV_4390", "VEN_8086&DEV_4391", "VEN_8086&DEV_4392", "VEN_8086&DEV_4393",
89+
"VEN_8086&DEV_4394", "VEN_8086&DEV_4395", "VEN_8086&DEV_4396", "VEN_8086&DEV_4397",
90+
"VEN_8086&DEV_4398", "VEN_8086&DEV_4399", "VEN_8086&DEV_439A", "VEN_8086&DEV_439B",
91+
"VEN_8086&DEV_439C", "VEN_8086&DEV_439D", "VEN_8086&DEV_439E", "VEN_8086&DEV_439F",
92+
"VEN_8086&DEV_7A80", "VEN_8086&DEV_7A81", "VEN_8086&DEV_7A82", "VEN_8086&DEV_7A83",
93+
"VEN_8086&DEV_7A84", "VEN_8086&DEV_7A85", "VEN_8086&DEV_7A86", "VEN_8086&DEV_7A87",
94+
"VEN_8086&DEV_7A88", "VEN_8086&DEV_7A89", "VEN_8086&DEV_7A8A", "VEN_8086&DEV_7A8B",
95+
"VEN_8086&DEV_7A8C", "VEN_8086&DEV_7A8D", "VEN_8086&DEV_7A8E", "VEN_8086&DEV_7A8F",
96+
"VEN_8086&DEV_7A90", "VEN_8086&DEV_7A91", "VEN_8086&DEV_7A92", "VEN_8086&DEV_7A93",
97+
"VEN_8086&DEV_7A94", "VEN_8086&DEV_7A95", "VEN_8086&DEV_7A96", "VEN_8086&DEV_7A97",
98+
"VEN_8086&DEV_7A98", "VEN_8086&DEV_7A99", "VEN_8086&DEV_7A9A", "VEN_8086&DEV_7A9B",
99+
"VEN_8086&DEV_7A9C", "VEN_8086&DEV_7A9D", "VEN_8086&DEV_7A9E", "VEN_8086&DEV_7A9F",
100+
"VEN_8086&DEV_7A00", "VEN_8086&DEV_7A01", "VEN_8086&DEV_7A03", "VEN_8086&DEV_7A03",
101+
"VEN_8086&DEV_7A04", "VEN_8086&DEV_7A05", "VEN_8086&DEV_7A06", "VEN_8086&DEV_7A07",
102+
"VEN_8086&DEV_7A08", "VEN_8086&DEV_7A09", "VEN_8086&DEV_7A0A", "VEN_8086&DEV_7A0B",
103+
"VEN_8086&DEV_7A0C", "VEN_8086&DEV_7A0D", "VEN_8086&DEV_7A0E", "VEN_8086&DEV_7A0F",
104+
"VEN_8086&DEV_7A10", "VEN_8086&DEV_7A11", "VEN_8086&DEV_7A12", "VEN_8086&DEV_7A13",
105+
"VEN_8086&DEV_7A14", "VEN_8086&DEV_7A15", "VEN_8086&DEV_7A16", "VEN_8086&DEV_7A17",
106+
"VEN_8086&DEV_7A18", "VEN_8086&DEV_7A19", "VEN_8086&DEV_7A1A", "VEN_8086&DEV_7A1B",
107+
"VEN_8086&DEV_7A1C", "VEN_8086&DEV_7A1D", "VEN_8086&DEV_7A1E", "VEN_8086&DEV_7A1F",
108+
"VEN_8086&DEV_A080", "VEN_8086&DEV_A081", "VEN_8086&DEV_A082", "VEN_8086&DEV_A083",
109+
"VEN_8086&DEV_A084", "VEN_8086&DEV_A085", "VEN_8086&DEV_A086", "VEN_8086&DEV_A087",
110+
"VEN_8086&DEV_A088", "VEN_8086&DEV_A089", "VEN_8086&DEV_A08A", "VEN_8086&DEV_A08B",
111+
"VEN_8086&DEV_A08C", "VEN_8086&DEV_A08D", "VEN_8086&DEV_A08E", "VEN_8086&DEV_A08F",
112+
"VEN_8086&DEV_A090", "VEN_8086&DEV_A091", "VEN_8086&DEV_A092", "VEN_8086&DEV_A093",
113+
"VEN_8086&DEV_A094", "VEN_8086&DEV_A095", "VEN_8086&DEV_A096", "VEN_8086&DEV_A097",
114+
"VEN_8086&DEV_A098", "VEN_8086&DEV_A099", "VEN_8086&DEV_A09A", "VEN_8086&DEV_A09B",
115+
"VEN_8086&DEV_A09C", "VEN_8086&DEV_A09D", "VEN_8086&DEV_A09E", "VEN_8086&DEV_A09F",
116+
"VEN_8086&DEV_5180", "VEN_8086&DEV_5181", "VEN_8086&DEV_5182", "VEN_8086&DEV_5183",
117+
"VEN_8086&DEV_5184", "VEN_8086&DEV_5185", "VEN_8086&DEV_5186", "VEN_8086&DEV_5187",
118+
"VEN_8086&DEV_5188", "VEN_8086&DEV_5189", "VEN_8086&DEV_518A", "VEN_8086&DEV_518B",
119+
"VEN_8086&DEV_518C", "VEN_8086&DEV_518D", "VEN_8086&DEV_518E", "VEN_8086&DEV_518F",
120+
"VEN_8086&DEV_5190", "VEN_8086&DEV_5191", "VEN_8086&DEV_5192", "VEN_8086&DEV_5193",
121+
"VEN_8086&DEV_5194", "VEN_8086&DEV_5195", "VEN_8086&DEV_5196", "VEN_8086&DEV_5197",
122+
"VEN_8086&DEV_5198", "VEN_8086&DEV_5199", "VEN_8086&DEV_519A", "VEN_8086&DEV_519B",
123+
"VEN_8086&DEV_519C", "VEN_8086&DEV_519D", "VEN_8086&DEV_519E", "VEN_8086&DEV_519F",
124+
"VEN_8086&DEV_5480", "VEN_8086&DEV_5481", "VEN_8086&DEV_5482", "VEN_8086&DEV_5483",
125+
"VEN_8086&DEV_5484", "VEN_8086&DEV_5485", "VEN_8086&DEV_5486", "VEN_8086&DEV_5487",
126+
"VEN_8086&DEV_5488", "VEN_8086&DEV_5489", "VEN_8086&DEV_548A", "VEN_8086&DEV_548B",
127+
"VEN_8086&DEV_548C", "VEN_8086&DEV_548D", "VEN_8086&DEV_548E", "VEN_8086&DEV_548F",
128+
"VEN_8086&DEV_5490", "VEN_8086&DEV_5491", "VEN_8086&DEV_5492", "VEN_8086&DEV_5493",
129+
"VEN_8086&DEV_5494", "VEN_8086&DEV_5495", "VEN_8086&DEV_5496", "VEN_8086&DEV_5497",
130+
"VEN_8086&DEV_5498", "VEN_8086&DEV_5499", "VEN_8086&DEV_549A", "VEN_8086&DEV_549B",
131+
"VEN_8086&DEV_549C", "VEN_8086&DEV_549D", "VEN_8086&DEV_549E", "VEN_8086&DEV_549F"
132+
)
133+
134+
function Test-USBSplitTransactionVulnerability {
135+
<#
136+
.SYNOPSIS
137+
Checks if the current device is vulnerable to USB split transaction issues.
138+
139+
.DESCRIPTION
140+
This function examines the Windows registry under HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\PCI
141+
to detect if any of the known vulnerable Intel PCH device IDs are present on the system.
142+
143+
.OUTPUTS
144+
Boolean indicating whether the device needs the registry workaround.
145+
#>
146+
147+
try {
148+
# Define the registry path for PCI devices
149+
$RegistryPath = "HKLM:\SYSTEM\CurrentControlSet\Enum\PCI"
150+
151+
# Check if the registry path exists
152+
if (-not (Test-Path $RegistryPath)) {
153+
Write-Warning "Registry path $RegistryPath not found. Unable to perform vulnerability check."
154+
return $false
155+
}
156+
157+
# Get all first-level subkeys under the PCI registry path
158+
$PciDevices = Get-ChildItem -Path $RegistryPath -ErrorAction SilentlyContinue
159+
160+
if (-not $PciDevices) {
161+
Write-Warning "No PCI devices found in registry."
162+
return $false
163+
}
164+
165+
# Check each PCI device against the vulnerable device IDs
166+
foreach ($Device in $PciDevices) {
167+
$DeviceName = $Device.PSChildName
168+
169+
# Check if the device name contains any of the vulnerable device IDs
170+
foreach ($VulnerableId in $VulnerablePchDeviceIds) {
171+
if ($DeviceName -like "*$VulnerableId*") {
172+
Write-Verbose "Found vulnerable device: $DeviceName"
173+
return $true
174+
}
175+
}
176+
}
177+
178+
return $false
179+
}
180+
catch {
181+
Write-Error "An error occurred while checking for USB split transaction vulnerability: $_"
182+
return $false
183+
}
184+
}
185+
186+
# Main execution
187+
try {
188+
Write-Host "Checking for USB split transaction vulnerability..." -ForegroundColor Yellow
189+
190+
# Run the vulnerability check
191+
$IsVulnerable = Test-USBSplitTransactionVulnerability
192+
193+
# Output the result based on the evaluation
194+
if ($IsVulnerable) {
195+
Write-Host "This device is expected to need the registry workaround" -ForegroundColor Red
196+
} else {
197+
Write-Host "This device is not expected to need the registry workaround" -ForegroundColor Green
198+
}
199+
}
200+
catch {
201+
Write-Error "Script execution failed: $_"
202+
exit 1
203+
}
204+
```

support/windows-client/toc.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -777,6 +777,8 @@ items:
777777
href: ./setup-upgrade-and-drivers/operation-timed-out-error-disk-management-console.md
778778
- name: Uninstalling driver doesn't remove associated files
779779
href: ./setup-upgrade-and-drivers/uninstalling-driver-not-remove-associated-files.md
780+
- name: USB audio or video devices malfunction when connected to specific Intel-based devices
781+
href: ./setup-upgrade-and-drivers/usb-audio-video-devices-malfunction.md
780782
- name: USB device drivers are removed unexpectedly after Windows 10 is updated
781783
href: ./setup-upgrade-and-drivers/usb-device-drivers-removed-unexpectedly-after-windows-10-update.md
782784
- name: Windows 10 doesn't install specific drivers for USB audio device

0 commit comments

Comments
 (0)