惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

L
LangChain Blog
N
News | PayPal Newsroom
WordPress大学
WordPress大学
T
Tailwind CSS Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Last Week in AI
Last Week in AI
博客园 - Franky
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
H
Hacker News: Front Page
有赞技术团队
有赞技术团队
Scott Helme
Scott Helme
博客园_首页
Hugging Face - Blog
Hugging Face - Blog
博客园 - 司徒正美
V
Visual Studio Blog
S
Securelist
Jina AI
Jina AI
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
腾讯CDC
P
Palo Alto Networks Blog
K
Kaspersky official blog
IT之家
IT之家
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
大猫的无限游戏
大猫的无限游戏
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Security Latest
Security Latest
Webroot Blog
Webroot Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
V
Vulnerabilities – Threatpost
W
WeLiveSecurity
T
Threat Research - Cisco Blogs
博客园 - 【当耐特】
Cisco Talos Blog
Cisco Talos Blog
P
Proofpoint News Feed
Cyberwarzone
Cyberwarzone
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
月光博客
月光博客
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
酷 壳 – CoolShell
酷 壳 – CoolShell
Google DeepMind News
Google DeepMind News
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
L
LINUX DO - 最新话题
Latest news
Latest news
T
Tenable Blog
The Register - Security
The Register - Security
Recorded Future
Recorded Future
博客园 - 叶小钗
人人都是产品经理
人人都是产品经理
爱范儿
爱范儿

Linux

请问: Linux 系统下,有没有好用的 [查找重复文件] 的软件? - V2EX [震惊] 用 Firefox 播放一个抖音视频,我的 Linux 系统立马死机 - V2EX Linux 下有没有可能实现 Listary 的快速跳转 - V2EX AI 能用来全自动化解决 Linux 系统问题吗? - V2EX V2EX › 登录 大佬们, Linux kernel 漏洞频发需要升级的问题,你们是怎么处理的? - V2EX 为啥 ubuntu 搞个 wayland 这种不兼容的玩意出来 - V2EX Linux 上的游戏网络加速 - V2EX 太好了感动哭了 chrome149 修复了 wayland+nvidia 的硬件加速问题 - V2EX debian+gnome 开机后可以不显示用户列表 只需要输入密码 像 mac 那样么?有什么插件实现么 - V2EX 升级后,发现 USB 相关的设备无法启用,可以查下有没有 usbguard 服务 - V2EX 介绍一下 flatpark - V2EX fctix5 的 Pinyin 输入法怎么没有自动调整词频 - V2EX Linux 服务器有何安全监控软件? - V2EX 腾讯会议 Linux 版使用 nvidia 独显无法驱动视频功能 - V2EX niri 环境用触控板怎么能更好的选择文字 - V2EX 『ArchLinux』简明安装指南(Laptop+Nvidia+Cachyos Kernel +xfs+KDE) 有没有使用 Linux 桌面办公的朋友,我写了一个脚本可以实现快速查单词/翻译句子 国产 Touchpad 在 arch 下偶发无法用手势 《铜豌豆 Linux 》12.14.1 版本发布 wgx 一个以性能优先 把 wireguard 网络转成 socks5 代理的工具 niri 怎么连自动切换显示器都这么难啊 分享 tmux 快捷方式 zen 浏览器在 archlinux 中无法代理 albert 快捷键总是失效 - V2EX crTerm 148.26.0513-build for Linux Linux 平台上 支持垂直标签页的终端 crTerm 苹果最新妙控触摸板和 Linux 适配的好吗? - V2EX ubuntu 24.04 今天点击更新后,蓝牙鼠标不能用了。 升级到 fedora 44 后在 konsole 里打字时 cpu 占用很高的问题有 v 友也遇到了吗? Ubuntu26.04 桌面端配置静态 IP 失败 Gnome 桌面下截图上传到 imgur 的 extension - V2EX Manjaro 真不错 - V2EX 写了个 lottie 动画在 Linux 桌面上顶层播放的小东西 - V2EX LXC veth 桥接网络模式下如何避免发送的数据包被拆成小包? - V2EX 使用 auto-cpufreq 平衡 Linux 性能功耗 我的硬盘 Memblaze Pblaze 5 Linux 下不识别,给 Linux 内核提交了补丁, AI 说有望被合并 - V2EX Linux nfs 客户端如何快速删除大量小文件 写了个 Nautilus Extension: Copy File Path - V2EX Linux /Ubuntu 上如何实现连接两个不同的 wifi 解决实际需求。 - V2EX 115 网盘如何多端稳定挂载? - V2EX Linux 桌面环境 orWM 推荐 - V2EX 如何解决 eBPF sockmap 重定向转发中背压缺失带来的 OOM ? - V2EX 还是要用 ubuntu - V2EX nfs mv 的操作是原子的么? A 节点 move, B 节点要么完全可见,要么完全不可见? - V2EX 求助 Linux 桌面环境软件 - V2EX 请教一个 unraid 的 docker 网络问题 - V2EX Linux 格式化 fat32/exfat 分区避坑 - V2EX Linux 服务器上有多个 ip,程序本身不能指定接口,有第三方程序可以强制让程序使用指定接口吗? - V2EX Ubuntu 26.04 LTS 关键变化解读 - V2EX win11 对比 ubuntu,是真的拉胯 - V2EX 终于把 KeymouseGo 跑在麒麟 9000C + UOS 上了,分享一下 ARM64 适配心得 - V2EX sudo-rs 改变传统 sudo 行为,密码输入不再完全隐藏,即将上线 Ubuntu 26.04 LTS - V2EX Xdmcp 服务问题使用与优化求解 - V2EX 在 2026 年选择 Fedora 前,你应该看看 universal-blue - V2EX Linux 运行 EasyConnect 有成功的大佬么? - V2EX 我有一批工控机,批量内网穿透加群控什么方案合适 - V2EX 求推荐 Linux 桌面 - V2EX Linux 微信怎样避开实名信息录入? - V2EX 再来谈谈我的 ArchLinux 使用体验 - V2EX thinkbook 14+ 2024 Intel 版安装 arch plasma 左右声道声音大小不一样 - V2EX 有没有便宜好用的服务器推荐 - V2EX 能不能改改 networkmanager 中的错别字? - V2EX 《铜豌豆 Linux 》12.13.1 版本发布 2026-01-16 - V2EX Wayland 显示服务下的远控方案 - V2EX 深度科技原 cto 关于西装门的每日锐评 - V2EX 求大佬们分享下跨境组网方案 2026 年了,有没有丝滑一些的 Linux 远程桌面解决方案 Linux 下看电影, dts 音轨声音小,音质破。 华为擎云 W515X 支持运行 openSUSE 等发行版吗 折腾两天还是换回 Manjaro Arch Linux 下微信备份聊天记录的方案? 国内 Linux 服务,安装各种软件有什么好的办法快速安装? 垃圾佬组 Linux 求推荐亮机卡 有个 javac 进程长期占用,是否被挂马了? Linux 漫谈(三) 荣耀笔记本与 Linux - 性能管理 Linux 漫谈(二) 完整启用 Fedora/ Linux 下 GNOME 的硬件加速 Linux 漫谈(一) 铜豌豆 Linux 开源项目 2025 年 12 月捐赠募集
强烈推荐一款性价比极高的 Linux 本搞 vibe coding - V2EX
hihihihihi · 2026-07-17 · via Linux

下面是我让 ai 帮我解决掉 wifi 和充电冲突的问题的脚本

#!/bin/bash
# Fix MacBook10,1 suspend/resume WiFi issues caused by BCM4350 brcmfmac PCIe D3 timeout
#
# ROOT CAUSE: systemd-sleep hooks run AFTER kernel PM tries to freeze devices.
# brcmfmac driver is still loaded when kernel calls pci_pm_suspend() -> D3 timeout
# error -5 -> suspend fails -> retry -> firmware corruption -> WiFi dead.
#
# SOLUTION: Use systemd services (Before=sleep.target / After=suspend.target)
# which execute BEFORE kernel PM freezes and AFTER kernel PM resumes.
#
# Run with: sudo bash ~/fix-macbook12-suspend.sh

set -euo pipefail

if [[ $EUID -ne 0 ]]; then
echo "ERROR: Please run with sudo: sudo bash $0"
exit 1
fi

echo "=== 1/6 Removing old systemd-sleep hook ==="

if [[ -f /etc/systemd/system-sleep/brcmfmac-suspend.sh ]]; then
rm /etc/systemd/system-sleep/brcmfmac-suspend.sh
echo "Removed old hook"
else
echo "Old hook not found, skipping"
fi

echo ""
echo "=== 2/6 Creating WiFi recovery script ==="

cat > /usr/local/bin/brcmfmac-recovery.sh << 'SCRIPT'
#!/bin/bash
# Full PCIe reset + driver reload for BCM4350 on MacBook10,1
BRCM_PCI="0000:02:00.0"
LOG="/var/log/brcmfmac-resume.log"

log() {
echo "[$(date '+%Y-%m-%d %H:%M:%S')] $1" >> "$LOG"
}

log "=== ${1:-manual} START ==="

# Step 1: Unload everything
log "Stopping iwd"
systemctl stop iwd 2>/dev/null

log "Removing brcmfmac modules"
modprobe -r brcmfmac_wcc 2>/dev/null || true
modprobe -r brcmfmac 2>/dev/null || true
sleep 1

# Step 2: PCIe bus reset (hardware level)
if [[ -f "/sys/bus/pci/devices/${BRCM_PCI}/reset" ]]; then
log "PCIe bus reset"
echo 1 > "/sys/bus/pci/devices/${BRCM_PCI}/reset" 2>/dev/null && log "reset OK" || log "reset failed"
sleep 2
else
log "No reset file, trying remove+rescan"
if [[ -d "/sys/bus/pci/devices/${BRCM_PCI}" ]]; then
echo 1 > "/sys/bus/pci/devices/${BRCM_PCI}/remove" 2>/dev/null || true
sleep 2
fi
echo 1 > /sys/bus/pci/rescan 2>/dev/null || true
sleep 3
fi

# Step 3: Reload driver
log "Loading brcmfmac"
modprobe brcmfmac 2>/dev/null && log "brcmfmac OK" || log "brcmfmac FAIL"
modprobe brcmfmac_wcc 2>/dev/null || true
sleep 2

# Step 4: Start iwd
log "Starting iwd"
systemctl start iwd 2>/dev/null && log "iwd OK" || log "iwd FAIL"
sleep 3

# Step 5: Verify
if ip link show wlan0 &>/dev/null && iw dev wlan0 info &>/dev/null 2>&1; then
log "wlan0 functional - SUCCESS"
else
log "wlan0 broken, retrying once more"
modprobe -r brcmfmac_wcc 2>/dev/null || true
modprobe -r brcmfmac 2>/dev/null || true
sleep 2
echo 1 > "/sys/bus/pci/devices/${BRCM_PCI}/reset" 2>/dev/null || true
sleep 2
modprobe brcmfmac 2>/dev/null || true
modprobe brcmfmac_wcc 2>/dev/null || true
sleep 3
systemctl restart iwd 2>/dev/null || true
sleep 2
ip link show wlan0 &>/dev/null && log "retry SUCCESS" || log "retry FAILED - may need reboot"
fi

log "=== ${1:-manual} DONE ==="
SCRIPT

chmod +x /usr/local/bin/brcmfmac-recovery.sh
echo "Created: /usr/local/bin/brcmfmac-recovery.sh"

echo ""
echo "=== 3/6 Creating suspend service (runs BEFORE kernel PM freeze) ==="

cat > /etc/systemd/system/brcmfmac-suspend.service << 'SVC'
[Unit]
Description=Unload brcmfmac WiFi driver before suspend
Before=sleep.target
StopWhenUnneeded=yes

[Service]
Type=oneshot
ExecStart=/usr/bin/rmmod brcmfmac_wcc
ExecStart=/usr/bin/rmmod brcmfmac
RemainAfterExit=yes
ExecStop=/usr/bin/modprobe brcmfmac
TimeoutSec=15

[Install]
WantedBy=sleep.target
SVC

echo "Created: /etc/systemd/system/brcmfmac-suspend.service"

echo ""
echo "=== 4/6 Creating resume service (runs AFTER kernel PM resume) ==="

cat > /etc/systemd/system/brcmfmac-resume.service << 'SVC'
[Unit]
Description=Reset and reload brcmfmac WiFi after resume
After=suspend.target hibernate.target hybrid-sleep.target suspend-then-hibernate.target
StopWhenUnneeded=yes

[Service]
Type=oneshot
ExecStart=/usr/local/bin/brcmfmac-recovery.sh resume
TimeoutSec=30

[Install]
WantedBy=suspend.target hibernate.target hybrid-sleep.target suspend-then-hibernate.target
SVC

echo "Created: /etc/systemd/system/brcmfmac-resume.service"

echo ""
echo "=== 5/6 Creating udev rule for Type-C hotplug ==="

cat > /etc/udev/rules.d/99-brcmfmac-typec.rules << 'UDEV'
# Reset brcmfmac when Type-C port state changes and WiFi is broken
ACTION=="change|remove", SUBSYSTEM=="typec", RUN+="/usr/local/bin/brcmfmac-typec-check.sh"
UDEV

chmod 644 /etc/udev/rules.d/99-brcmfmac-typec.rules
echo "Created: /etc/udev/rules.d/99-brcmfmac-typec.rules"

cat > /usr/local/bin/brcmfmac-typec-check.sh << 'CHECK'
#!/bin/bash
# Only reset if WiFi is actually broken
if ip link show wlan0 &>/dev/null && iw dev wlan0 info &>/dev/null 2>&1; then
exit 0
fi
/usr/local/bin/brcmfmac-recovery.sh typec-hotplug
CHECK

chmod +x /usr/local/bin/brcmfmac-typec-check.sh
echo "Created: /usr/local/bin/brcmfmac-typec-check.sh"

echo ""
echo "=== 6/6 Enabling services ==="

systemctl daemon-reload
systemctl enable brcmfmac-suspend.service
systemctl enable brcmfmac-resume.service
udevadm control --reload-rules

echo ""
echo "=== Verify ==="
echo "--- suspend service ---"
cat /etc/systemd/system/brcmfmac-suspend.service
echo ""
echo "--- resume service ---"
cat /etc/systemd/system/brcmfmac-resume.service
echo ""
echo "--- service status ---"
systemctl is-enabled brcmfmac-suspend.service brcmfmac-resume.service
echo ""
echo "=== DONE ==="
echo ""
echo "Test: close lid with charger -> wait 1min -> open lid"
echo "Check WiFi: iw dev wlan0 link"
echo "Check debug log: cat /var/log/brcmfmac-resume.log"
echo ""
echo "Manual recovery: sudo /usr/local/bin/brcmfmac-recovery.sh manual"