分类 默认分类 下的文章

清理非在线设备信息(自动删除隐藏的设备).ps1,用来清除设备管理器里带(2)的后缀。

# 需要管理员权限运行此脚本
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
# 显示所有设备,包括非当前存在的设备
$devices = Get-PnpDevice -PresentOnly:$false

if ($devices.Count -eq 0) {
    Write-Host "没有找到隐藏的设备。"
    exit
}

Write-Host "找到以下隐藏设备,将尝试删除:"
$devices | Format-Table -Property InstanceId, FriendlyName, Status

foreach ($device in $devices) {
    try {
        Write-Host "正在删除设备:$($device.FriendlyName) ($($device.InstanceId))"
        # Remove-PnpDevice 需要 -Confirm:$false 以避免交互提示
        #Remove-PnpDevice -InstanceId $device.InstanceId -Confirm:$false -ErrorAction Stop
        pnputil /remove-device $device.InstanceId
        Write-Host "删除成功。"
    }
    catch {
        Write-Warning "删除设备失败:$($_.Exception.Message)"
    }
}

Write-Host "操作完成。"

附件下载:自动删除隐藏的设备.zip

不显示Windows创建的恢复分区:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices]
"\\DosDevices\\F:"=-
"\\DosDevices\\G:"=-
"\\DosDevices\\H:"=-
"\\DosDevices\\I:"=-
"\\DosDevices\\J:"=-

把想隐藏的恢复分区盘符替换以上内容,再双击导入注册表,重启后恢复分区便不在挂载显示。

附件下载:移除恢复分区显示.zip

隐藏可安全删除图标:
1)查找要隐藏的设备ID;
2)将项目里的Capabilities数值-4,即为关闭可安全删除硬件后的属性值;
3)创建计划任务,每次登录时执行如下命令,修改设备属性值(此命令是针对AX211蓝牙设备,仅供参考范例):

reg add "HKLM\SYSTEM\ControlSet001\Enum\USB\VID_8087&PID_0026\5&2cdbcaf7&0&10" /v "Capabilities" /t REG_DWORD /d 128 /f >nul 2>&1

参考文章:如何隐藏Windows10「安全删除硬件」里的USB无线网卡

修复backports-4.19驱动bug,运行中随机出现“SWBA overrun on vdev 0, skipped old beacon”异常,导致无线断流。
backports新版本已经修复此问题:
https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers.git/commit/?id=d79749f7716d9dc32fa2d5075f6ec29aac63c76d
但新驱动不适用于4.14的内核,参照这个commit修改4.19版本。
以下是 patch补丁内容:

--- a/drivers/net/wireless/ath/ath10k/core.c
+++ b/drivers/net/wireless/ath/ath10k/core.c
@@ -1869,8 +1869,19 @@
         return ret;
     }
 
-    if (!uart_print)
+    if (!uart_print) {
+        if (true) {
+            ret = ath10k_bmi_write32(ar, hi_dbg_uart_txpin,
+                         ar->hw_params.uart_pin);
+            if (ret) {
+                ath10k_warn(ar, "failed to set UART TX pin: %d",
+                        ret);
+                return ret;
+            }
+        }
+
         return 0;
+    }
 
     ret = ath10k_bmi_write32(ar, hi_dbg_uart_txpin, ar->hw_params.uart_pin);
     if (ret) {

将内容保存为999-ath10k-skipped-old-beacon.patch保存到package/kernel/mac80211/patches/ath/目录下,再编译,完成bug修补。
补丁下载:999-ath10k-skipped-old-beacon.zip

Exception in callback _ProactorBasePipeTransport._call_connection_lost(None)
handle: <Handle _ProactorBasePipeTransport._call_connection_lost(None)>
Traceback (most recent call last):
File "asyncio\events.py", line 80, in _run
File "asyncio\proactor_events.py", line 165, in _call_connection_lost
ConnectionResetError: [WinError 10054] An existing connection was forcibly closed by the remote host

运行facefusion经常性随机出现以上错误信息,尝试网络上的几种修改方式,问题一直解决不了,后来尝试把asyncio\windows_events.py里面的

DefaultEventLoopPolicy = WindowsProactorEventLoopPolicy

改成

DefaultEventLoopPolicy = WindowsSelectorEventLoopPolicy

后,运行了多次,未再出现错误信息。