Jekyll2025-10-27T03:04:11+00:00https://yingang.github.io/feed.xmlYG 的零碎笔记Love to read, love to code~MacOS 新手上路2025-10-02T08:24:00+00:002025-10-02T08:24:00+00:00https://yingang.github.io/mac/2025/10/02/new-mac-user家里唯一一台 Windows 笔记本服役已经超过十年,还是决定在海鲜市场出掉了,这样才能把基本闲置的 Mac mini 4 给用起来,过程中碰到不少问题,找个地方记录下。

键鼠操作

因为日常工作还是基于 Windows 环境,所以实在没法接受在两种鼠标键盘操作习惯中来回切换。

  1. Ctrl 和 Command 按键的对调。

    具体位置:系统设置 -> 键盘 -> 键盘快捷键 -> 修饰键 -> 选择键盘,然后把 Ctrl 和 Command 的作用分别改为对方就好了,这个是在这里学到的。

    同时带来一个后果,本来还算顺手的 Command + Tab 也得改到左边用 Ctrl + Tab 了,两害相权取其轻吧。

  2. 鼠标的滚动方向。

    具体位置:系统设置 -> 鼠标 -> 自然滚动,取消掉就好了。

办公软件

  1. WORD 和 Excel 文件编辑,免费的 WPS Office 就足够了,不需要微软的 Office 套件。

  2. 压缩文件的处理,7z 似乎没有 Mac 版,没找到合适的替代软件,但无意中发现 WPS 居然还支持 .rar 等压缩文件的解压,令人欣喜的不务正业。

    后来发现有个叫 Keka 的软件口碑不错,其官网上直接可下载,不一定要去 App Store 下载付费版本。

  3. 系统自带的图书应用对 EPUB 格式的处理很好,至少比之前用过的 SumatraPDF 和微信读书都要好,果然基因不一样。

影音娱乐

  1. 文件夹下的照片浏览,相比较在 Windows 上用自带的软件就挺方便,Mac 上目前有两个方法,但加一起也只能算是勉强可用吧:

    • 选中所有想要浏览的照片,双击,就可以在“预览”应用中浏览了。不那么方便,但要同时查看 EXIF 信息的话似乎只能这么操作。
    • 在任意一张照片上按住空格键别松开,就可以同时用方向键进行浏览了。有点费手,但还算方便,只是又看不了 EXIF 信息了。附带的好处是不止能浏览照片,文档也是可以的!另外感觉这个操作方式就是个 hack,如果是在网格显示方式下,都没法顺序浏览,只能左右来回移,所谓所移即所见。。。
  2. 本地视频播放,一直在 Mac 上使用的 IINA,最近才发现不支持 Dolby Vision,后面得注意下,另外也在这里学习到一招,直接在 IINA 里调节色调也能将就看,但因为是个全局的设定,感觉也不够好用。

开发套件

  1. 想要从终端直接运行 code 来启动 VS Code,需要先在 VS Code 里执行:Shell Command: Install ‘code’ command in PATH,这个是从这里学到的。

  2. 想要中断终端里的程序执行,Command + .

互联互通

  1. 网络文件共享,主要用来在家里的电视或其他设备上访问电脑里的视频文件。

    具体位置:系统设置 -> 通用 -> 共享 -> 文件共享,可以按需添加想要共享的文件夹。

    需要注意在同一个地方的“选项”里,针对“Windows文件共享”进行设置。

    然后因为我的 Mac mini 是外接了一个移动硬盘,网络共享里默认是看不到上面的共享文件夹的,需要在“系统设置 -> 隐私与安全性 -> 完全磁盘访问权限”中允许 smbd,这个是从这里学到的。

  2. BT 下载,之前在 Windows 下用的 qBittorrent 也有 Mac 版,继续用就好了。

  3. MTP 传输,先是装了 Commander One,结果没几天发现收费版本才能用到相关的功能,只好先装 Homebrew(参照这里用下面的命令安装的,也设置了国内的源),再安装里面的 Android 文件传输(brew install --cask android-file-transfer)。

     /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"
    

还没搞定的问题

  1. 外接硬盘的文件系统格式

    默认用了 exFat,但会有一个问题是在比如 VS Code 下,编辑任何文件都会生成 ._ 开头的文件,据说也不是备份文件。考虑下要不要换成 APFS,还不确定 Windows 的可操作性怎么样。

  2. GitHub 访问不畅

    之前在 Windows 下一直用的 fastgithub 不好使了,运行就报错,暂时没找到解决方法。

]]>
用 Python 处理 Windows 上的离线文件2025-01-10T11:38:00+00:002025-01-10T11:38:00+00:00https://yingang.github.io/python/windows/2025/01/10/offline-file-hanlding-in-python什么是离线文件
  • 文件图标左下角有个灰色的小叉(Windows 10,不知道 11 上的效果有没有差别):

  • 如果查看这个文件的属性,会看到其实际占用空间远小于文件大小:

  • 如果用 attrib.exe 查看文件的属性,结果输出里会有一个大写的 O

背景

  • 个人有习惯定期将本地的文件同步到文件服务器上。
  • 但公司的文件服务器会定期将不常访问的大文件归档到冷存储上,这时文件图标上就会有个灰色小叉了(我下线了,别来找我!)。
  • 离线状态不会在访问文件的时候自动解除,应该是要走什么流程申请下才行,没试过。
  • 如果文件服务器上的文件被归档而处于离线状态,就会导致:
    • 往服务器的同步可能会报错:
      • 我之前用 SyncToy 翻过车,离线的文件会被认为不存在了。
      • 后来改用了 FreeFileSync,至少可以正常同步。
    • 从服务器的下载也会报错,这个会影响到多个机器之间通过文件服务器的同步,比如最近准备更换工作电脑就碰到这个问题。

想要解决的问题

既然决定不了文件服务器的归档行为,就想要能够比较方便的删除掉文件服务器上被归档的文件,并且重新从本地将原始文件同步上去。

Python 上场

检查是否离线文件

知道这种文件叫离线文件就已经离成功不远了:

  • os.stat() 可以拿到文件的属性。
  • 根据这里的说明,可以对文件属性的 st_file_attributes 检查是否 stat.FILE_ATTRIBUTE_OFFLINE 已置位。

删除离线文件

  • 直接用 os.remove() 删除不了(已经是管理员权限的命令行窗口),但直接在 Windows 桌面或者在命令行窗口里用 del 命令又都是可以删除掉的,奇怪了。
  • 上网查有什么 os.remove() 的替代品,找到了 os.unlink(),但按网上普遍的说法,这两个在 Windows 上其实没区别。
  • 死马当活马医,试试看不会死,但。。。居然删除掉了!

同步缺失的文件

  • 这个没啥好说了,写个可以递归调用的方法,在里面用 os.listdir() 遍历源路径,并根据遍历结果是文件还是目录区分处理就行(文件检查是否需要拷贝,目录就直接递归)。
]]>
联想 ThinkBook 14+ 2024 款锐龙版与戴尔 U2723QX 的不对付2024-11-07T14:39:00+00:002024-11-07T14:39:00+00:00https://yingang.github.io/laptop/lenovo/2024/11/07/lenovo-thinkbook-14+-with-dell-u2723qx在双十一和国补的加持下,准备淘汰掉家里10年前的老笔记本,左挑右选,入手了联想 ThinkBook 14+ 2024 款锐龙版(AMD YES!),其实整体感觉还不错,但碰到一个诡异的问题,记录一下吧。

将电脑通过 USB-C 接口与家里的戴尔 U2723QX 显示器连接,显示器不显示,而且菜单像是死机了一样,无法做任何操作,而电脑端看上去像是正常检测到了显示器,除了可以从显示器供电,也能看到显示器的型号啥的,鼠标操作也是能感觉到外接显示器是在的(比如在扩展模式下的鼠标可移动范围),但显示器上就是啥没都有。

同一个显示器,试过家里其他的笔记本(长期使用的 M1 款的 MBP,以及工作用的惠普 ProBook 430 G7,都是 USB-C 连接),都能正常显示,所以感觉像是联想笔记本的问题。

第一天,应该先是网上搜索了下,看到有人说的一些方法(断开所有外部连接,进入 BIOS,临时禁用电池,然后常按开机键一段时间,再重新接上 USB-C),试了下没有效果。后来电话联系了客服,给了个地址,让下载安装显卡驱动试试,因为这个笔记本10月才出厂的,所以显卡驱动已经是那个版本了,装了也就没有效果了。

第二天,微信上联系的在线技术支持,确认我干过的事情后,建议将系统里的设备加密(应该就是 Bitlocker)关掉再试试断电大法,晚上回家试了下,仍然没有效果。然后网上也看了一些帖子,各种加强版本的断电大法都尝试了下(比如显示器那一端的线也要拨掉,甚至整个断电之类的),仍然没有效果。

第三天,直接带着新电脑上班,继续微信上联系在线技术支持,这次是让更新下 AMD 官网上的最新显卡驱动(之前第一天那个是联想官网上,稍微没那么新),装完后直接在公司同事的显示器(也是戴尔,型号是 P2723QE,也用 USB-C 连接)上试了下,居然可以正常显示!但晚上回到家继续试家里的 U2723QX 还是不行,郁闷了。

第四天,继续微信上联系在线技术支持,说可能硬件或接口哪里有问题了,建议直接换货试试,我问还有没有什么招可以试,反馈说可以试着还原下系统。于是白天在公司抽空试了下,还原后还是可以正常连接同事的显示器,但看显卡驱动版本又没变(系统还原不还原驱动程序的?),就手工卸载并重装了联想官网稍微旧一点的那个驱动,仍然可以正常显示,但回到家就不行了。看来昨天试的结果是有问题的,显卡驱动升级没产生任何效果(行的一直行,不行的一直不行)。晚上有点怀疑是不是家里的显示器哪里有问题,就上戴尔官网找到了显卡的固件升级,两个版本都试了下(人生第一次给显示器升级固件!需要通过 USB-C 连接才行),依然没有效果。另外也详细对比了 U2723QX 和 P2723QE 的参数,没发现什么明显差异。

第五天,从公司带了个华为的笔记本(G540 Gen2)试了下,不出意外,也是可以和家里的显示器配合工作的。不知道还能怎么试了,换货的话担心换过来的还会是一样的问题(不太相信自己运气这么好正好挑到一个有问题的笔记本),所以想想还是直接退货吧,哎,折腾快一周,回到原点。

总结下问题现象:

  • 家里的戴尔 U2723QX 显示器,可以通过 USB-C 与手上能拿到的苹果、惠普、华为这三个品牌的笔记本一起工作,但就是与新买的 Thinkbook 14+ 2024 款锐龙版 配合不起来,从这个角度看,不像是显示器的问题。
  • 但这个新买的 Thinkbook 14+ 2024 款锐龙版又可以通过 USB-C 与公司的戴尔 P2723QE 显示器配合工作(样本有限,没有更多显示器可以试了,大部分只有 HDMI 接口),从这个角度看,又不完全像是笔记本的问题。
  • 家里显示器不显示的时候,菜单像是死了一样,感觉像是协议角度和电脑的握手没握上。

最后,下次换新笔记本,先别折腾电脑里的系统和软件啥的,第一个先试能不能 USB-C 连接显示器!


2024/12/29 更新:

  • 近两个月后赶在国补过期前,再次勇敢地尝试下了一单,结果还是一样的现象,虽然中间 AMD 官网的驱动又有一次更新,但依然没有效果,最后还是直接退货了,哎。
  • 这次在网上搜索到这个帖子,看上去有点相像,但也没有解决方案。
  • 新电脑关机再开机时,Lenovo 的 Logo 还是可以在外接屏上正常显示的,但开始进入 Windows 后,外接屏就啥也不显示了。
]]>
Computer Organization and Design: THE HARDWARE / SOFTWARE INTERFACE2024-09-11T11:44:00+00:002024-09-11T11:44:00+00:00https://yingang.github.io/book/2024/09/11/computer-organization-and-design-books2018 年出版的 RISC-V Edition,应该同时还有 ARMv8 版和 MIPS 版,但在该书籍的整个系列中,同属于第 5 个版本,前言里也说自己是第 5 版。

2020 年出版的《计算机组成与设计:硬件/软件接口(原书第5版)》,翻译的版本是 2018 年的 RISC-V Edition。

2021 年出版了 RISC-V Edition 的 2nd Edition,前言里也不再说自己是什么第 5 版或第 6 版了。

]]>
干净重装系统才能解决的 iPhone 故障2024-09-01T09:53:00+00:002024-09-01T09:53:00+00:00https://yingang.github.io/life/digital/2024/09/01/wierd-ios-issue几个月前,手机(iPhone 14 Pro,iOS 17.x)存在如下的故障现象,主要体现在微信上:

  • 进入订阅号的时候,会卡住,然后就黑屏了
  • 如果回到桌面才重新切到微信(只是界面切换,没有重启微信),还是可以正常看到订阅号页面的内容
  • 但如果微信重启了(比如因为运行其他应用导致微信退出了),会在启动后不久提示:“系统环境可能存在异常,为确保微信正常使用,建议重启手机后再试。”

如果这时重启整个手机,确实可以短暂解决问题,但重启后不久,问题又会出现。

尝试过重装微信以及其他一些网上能看到的方法,但都没有解决问题。最后是在家人建议下(也是碰到了类似的问题),直接抹掉整个系统,并且不要从之前的备份中进行还原,才算解决问题(至少已经超过两个月了,没有再发生)。

整个看上去像是从历史备份还原导致的问题(我的备份大概是从 iOS 12 或更早的版本开始的),和之前碰到的 Firefox 问题可能有点像。

另外,虽然问题主要是体现在微信上,其他应用也有一些可能相关的问题,主要发生在手机网络不好的时候。比如之前去平谭岛的火车上,就碰到过闲鱼 App 里的部分页面白屏而且重启应用都没用的情况,包括高德地图的定位功能也不工作了,目前这些问题都没有再发生过。

]]>
Python 虚拟环境中的 PyInstaller 打包2024-05-09T13:15:00+00:002024-05-09T13:15:00+00:00https://yingang.github.io/python/pyinstaller/2024/05/09/pyinstaller-with-venv这几天给手头一个小工具增加了解析 Excel 文件的功能,然后 PyInstaller 打包一看,输出文件直接从 20+MB 变成 70+MB 了,而且里面出现了明显不太对劲的内容,比如这个工具里没有用到的 numpy 等,实在对不起“小工具”这个名称。。。

后来折腾了一会儿才将输出文件再变成原来的大小,甚至比原来还小一丢丢~

简单记录下:

  • 系统全局有一个 Python 环境,其中也安装了大量的 Python 库,包括 PyInstallernumpy 这些都在其中
  • 而工具项目使用了自己的虚拟环境,该虚拟环境中默认只安装了项目本身需要使用的 Python 库,比如 openpyxl,但没有安装 PyInstaller
    • 之前打包都是直接在虚拟环境中运行的,但实际运行的其实是全局 Python 环境中的 PyInstaller(其中从打包的运行日志中也能看出来,之前没往深处去想)
    • 之前打包的结果其实还挺正常,但这次不知为啥,多了一堆东西
  • 先尝试将全局 Python 环境中的所有库都删除(pip freeze > req.txt + pip uninstall -r req.txt -y
    • 并仍然在全局 Python 环境安装 PyInstaller
    • 再次在虚拟环境中打包,结果很小,小到不能正常运行。。。看来不能这么用
  • 然后尝试在虚拟环境中安装 PyInstaller(再次删除了全局 Python 环境中的所有库,免得互相干扰)
    • 这次打包的结果对了,可以正常运行,体积也正常,从打包的运行日志也能看出来都是使用的虚拟环境中的信息
]]>
Refresh Firefox2024-04-10T14:10:00+00:002024-04-10T14:10:00+00:00https://yingang.github.io/software/browser/2024/04/10/refresh-firefox最近几天家里笔记本电脑上的 Firefox 出问题了(自从公司的 Firefox 退役之后,这是仅存的独苗了),现象是在初次启动的时候闪现一下界面后就没了,但任务管理器里看进程都还在,而且也在持续消耗少量的 CPU 等系统资源,难受。

如果完全不管后台那些僵尸进程,可以继续启动一个新的,新进程可以正常起来也能正常退出(但僵尸不会退)。但如果把僵尸强杀了,再启动新的 Firefox,就又还是一样的问题现象。

今天有点不能忍,就尝试搜索了下,好像没有比较近的帖子讲这个的,隐约看到一些说重装一下试试啥的,想着要不就试试吧。然后还没开始真正卸载,就看到 Firefox 卸载界面上的提示了,嘿,这不正是我想要的吗:

过程还算快,因为之前使用了 Firefox 自带的账户同步功能,所以 Refresh 后很快就把类似历史记录、书签之类的都恢复了,但也有一些需要手工修改的东西,比如:

  • 是否允许网页自动播放视频和音频(可能变成了默认的设置,仅不允许自动播放音频)
  • 主界面布局(比如工具栏的各种按钮啥的,得重新摆一下)
  • 默认使用的搜索引擎(某度给我走开)
  • 屏蔽广告的插件 uBlock Origin 不见了(据说是被迫在国内下架了,可以直接去 Github 上下载安装,找名字是 uBlock_**.firefox.signed.xpi 的就行)
  • about:config 里的设置也复原了(比如一直用的 closeWindowWithLastTab = false

但最重要的,Refresh 后确实我一开始的问题解决了!估计还是无数历史版本一路升级上来,保留了越来越多不那么兼容的配置吧。

Refresh 这个功能的出现位置挺好,卸载再重装总还是更麻烦一些的,虽然说如果能一开始就避免这样的问题就更好了吧。

]]>
龙年新春快乐2024-02-16T10:36:00+00:002024-02-16T10:36:00+00:00https://yingang.github.io/life/digital/2024/02/16/happy-new-year-of-the-dragon正月初七,假期没剩几天了,前面回老家呆了近一周,匆匆忙忙,稍微记录下技术人没搞定的一些事情。

网络检修

无意中发现两年前装上的无线路由器不知道什么时候开始已经没在工作了,但因为爸妈的手机还保留了原来那个猫的无线设置,所以没及时发现。

老爸用沉甸甸的指针式万用表测了下发现是路由器的电源有问题,没有正常的 9V 输出,然后我才发现这个还不是路由器原配的电源,可能是之前搬家的时候弄混了,不知道是不是因为功率不匹配用坏的(标称 1A,但路由器要求的是 1.5A)。

再然后第二天我才刚起床,发现老爸已经用家里现成的配件手搓了一个电源出来,用的是据说小区里捡来的一个装饰灯上的电源,配上老爸之前自己买的电源插头,赞,不然大过年的网上能买到的也都不能很快送货。

未解之谜1:旧路由器的不足在用笔记本电脑上网的时候感觉特别明显,用手机的时候倒不怎么觉得,不知道是什么原因。

微信表情包

有次大家在家庭群里发消息的时候,我姐说怎么还没看到老爸发的专属表情包,才反应过来老爸一直有个技能点,是能发出有定制文字的表情。

正好老爸就兴冲冲地来和我说这个功能是怎么回事,以及不知道为啥老妈的手机就没这个功能。

一开始我还以为是输入法的功能,后来才明白原来就是微信自带的功能,正式名称叫“合成表情”,在表情发送界面,使用“搜索表情”的功能即可看到相关的入口。或者如果收到别人发来的类似表情,直接点击也可看到相关的说明。

未解之谜2:老妈的手机上确实没有这个功能,同样最新的微信版本,怀疑可能是对手机处理器有要求,虽然价格没差多少,但老爸手机的处理器是高通的,而老妈手机的处理器是联发科的,不知道是不是这个原因,没找到比较官方的解释或说明。

未解之谜3:老爸老妈的手机有个公共的问题,我们发在群里的一些能产生全屏动画效果的消息(今年是康师傅的?),在他们的手机上除了显示正常的消息没有任何反应(但微信自带的一些表情效果,比如爱心啥的,是有反应的),也没找到什么比较官方的解释或说明。

视频通话

每周固定时间和爸妈视频的时候,偶尔会碰到他们没接听的情况,一般以为只是爸妈正好没听到,也没太在意。

这次在家的时候,正好有次亲戚发来的视频通话也没接听,而且我当时就在旁边,完全没有听到,这才仔细看了下老爸手机里微信的应用设置,尝试修改了几个通知(不要设置为不重要通知)和耗电(比如允许唤醒和开机自启动之类的,但还没有打开允许后台运行,据说会比较耗电)相关的设置,后面再观察观察效果。

一个月后:结果还是不行。。。得尝试改下允许后台运行了。

三个月后:又尝试了允许完全后台行为,关闭待机优化(默认是平衡模式),关闭耗电异常优化(对微信),包括按网上说的,也确认了应用锁定早就已经对且仅对微信设置了,结果还是不行。。。对 Android 系统杀后台的行为真是没招了,具体型号分别是 realme 的 GT 大师探索版 和 GT Neo,都是 8GB 运存,系统分别是 realme UI 5.0 和 4.0(分别基于 Android 14 和 13)。

语音助手

老爸教我做微信的表情包,我教老爸用手机的语音助手,老爸说有意思,回头仔细研究研究!

]]>
python-docx 读取大表格速度很慢的问题2024-01-06T08:36:00+00:002024-01-06T08:36:00+00:00https://yingang.github.io/python/docx/2024/01/06/python-docx-slow-table-parsing尝试写个小 Python 脚本来提取 Word 需求文档里的内容,结果发现读取文档里的表格性能有点差,特别是在读取行数比较多(几百)的表格时,速度非常慢。

使用了比较标准的方式来读取表格,类似于:

from docx import Document
doc = Document(filepath)
for tbl in doc.tables:
  for row in tbl.rows:
    value = row.cells[0].text
    ...

结果对于一个大概 800 多行的表格,需要花费十几分钟才能解析完,从表格一开始大概半秒一行到后来一秒多一行,完全不能理解为啥会这么慢!

然后先写了个更简单的脚本,仅进行表格内容的遍历,可以基本确定性能瓶颈不在表格读取之外的那些处理逻辑上。再然后尝试在网上做了些检索,也没找到合适的答案。

再后来去翻看了 python-docx 的官方文档,想着也许有什么我不知道的接口可能更适合我的使用场景,然后在这里就看到比较奇怪的东西了:

class _Row(Parented):
    """Table row."""

    @property
    def cells(self) -> Tuple[_Cell]:
        """Sequence of |_Cell| instances corresponding to cells in this row."""
        return tuple(self.table.row_cells(self._index))

行的 cells 方法实际是调用了表格的 row_cells 方法,而表格的 row_cells 方法又是这么定义的:

class Table(Parented):
    """Proxy class for a WordprocessingML ``<w:tbl>`` element."""

    def row_cells(self, row_idx: int) -> List[_Cell]:
        """Sequence of cells in the row at `row_idx` in this table."""
        column_count = self._column_count
        start = row_idx * column_count
        end = start + column_count
        return self._cells[start:end]

    @property
    def _cells(self) -> List[_Cell]:
        """A sequence of |_Cell| objects, one for each cell of the layout grid.

        If the table contains a span, one or more |_Cell| object references are
        repeated.
        """
        col_count = self._column_count
        cells = []
        for tc in self._tbl.iter_tcs():
            for grid_span_idx in range(tc.grid_span):
                if tc.vMerge == ST_Merge.CONTINUE:
                    cells.append(cells[-col_count])
                elif grid_span_idx > 0:
                    cells.append(cells[-1])
                else:
                    cells.append(_Cell(tc, self))
        return cells

也就是说,row_cells 引用的 _cells 看上去每次被调用时都在重新构建一个新的列表???

不确定是否完全理解这些代码及其目的,尝试在自己的代码直接拿到 _cells,然后基于行列坐标自己去访问想要读取的 cell,结果对于上面说的那个 800 多行的表格,不到一秒就访问完了!差不多三个数量级的性能提升?

示例代码如下,供参考:

from docx import Document
doc = Document(filepath)
for tbl in doc.tables:
  cells = tbl._cells
  row_count = len(tbl.rows)
  col_count = tbl._column_count
  for row in range(0, row_count):
    value = cells[row * col_count].text
    ...
]]>
升级下家里的无线路由器2023-10-13T12:00:00+00:002023-10-13T12:00:00+00:00https://yingang.github.io/life/digital/2023/10/13/wireless-router-upgrade家里的路由器还是不知道哪年入手的极路由 4 增强版,听说最近都出 WiFi7 了,想着要不咱先升级个 WiFi6?正好看看家里偶尔出现的 B 站视频播放卡顿问题和这个有没有关系。

普通家用的倒不贵,但技术宅可不能随随便便买一个,于是国庆最后一天和接下来的几天花了不少时间,但却也没看出太大的门道。。。知乎在这个过程中没起到太好的作用,主要参考的还是 B 站一个家电 Up 主(知电晓春哥)的视频和他家的测评文档,然后基本收敛到这几个选择:

  • 华为 AX3 / AX3 Pro(2021 年)

    知电不是太推荐,没明显亮点的缺点,性价比一般。AX3 的具体评测报告是说信号还可以,但负载处理能力一般。没看到 AX3 Pro 的评测报告,但这两款前几年应该都有过被迫换芯的处理,早期 Pro 版本的发热问题应该是好很多了,但其它方面不清楚。

    价格正常,也比较好买/好卖。

    抱着没有太多期望、能用就行的态度差点下单,后来是看到 B 站另一家的测评,提到这款过热后降速的测试结果,综合考虑了下就基本放弃了,江湖上有说法是华为的无线路由向来做得不怎么样,不知真假。

  • 红米 AX6S(2021 年)

    知电推荐,看上去没有明显的短板,但能买到的价格似乎不便宜(近 300),不知道是不是要退市了,感觉不划算,然后内心深处有点对米家产品质量的不是太放心,后来就没怎么考虑了。

    另外,相对华为和中兴分别用的高通和自研芯片方案,这个选择的潜在优点之一是应该可以刷第三方固件吧。

  • 中兴 AX3000 巡天(2022 年)/ 晴天(2023 年)

    知电倒是很推荐,但从评测报告来看几乎是华为 AX3 的反义词,负载处理能力强,但信号一般(无外置独立 FEM,内置的),感觉上知电的测评更侧重负载,信号的问题更多建议通过类似于有线 Mesh 的方案来解决。

    考虑到自己的应用场景,其实一开始是不倾向于这个选择的,家里不会有大的负载(参考知电的评测报告,场景应该还是超出了大部分家用的场景),信号的作用应该要大得多。

    但同样是前面提到的另一家的测评,看到这款的信号好像也没有很差的样子,纠结好一会儿之后就还是选择了中兴,并且选择了颜值更高的晴天版墙面路由。晴天的评测报告中基本都认为和巡天的配置是一样的,不知道为啥知电的评测结果会稍微好一点(仅游戏稳定带机数量从 20 降到了 11,和华为 AX3 相当),希望是有一些内部看不见的优化吧。

    内心的打算是想着只要能满足当前的使用就行,以后如果房子大了,真有信号覆盖不好的话,再加个同品牌的路由器来组网。

既然是新路由,就得好好整整:

  1. 家里的宽带是电信的 200 兆,但从路由器后台看到的 WAN 口的接口速度还是百兆,刚开始怀疑家里埋的线质量不高,就把路由器直接接到弱电箱的光猫出口,果然就变成千兆了!
  2. 然后在千兆的接口速度下做了下测试,用笔记本电脑进行 BT 下载,至少可以爬到 12-14MB/s 的速度吧(应该和具体种子相关),但测试过程中没过多久就突然之间就掉下来变成 1-2MB/s 了,咋回事?
  3. 还是从路由器的后台看到,这台电脑的无线连接信号已经从 5GHz 自动切换成 2.4GHz 了,难怪!之前极路由 4 的时候就有类似的双频合一功能,但我没有使用。然后这次虽然也在网上看到有人说建议不要使用双频合一,但我抱着试试看的想法,就还是在初始设置时选择了双频合一,至少从这个测试结果来看,不是我想要的效果,就还是关闭这个功能了,不然自己完全无法控制实际连接的是哪个。家里除了天猫精灵和一个无线插座,以及有一点点年头的 Apple Watch SE,其它的都是支持 5GHz 信号的了,能用 5GHz 的就尽量用吧。
  4. 再回到一开始的问题,也不知道是家里埋的线不好,还是墙上接出来的这一段网线不好(还是原来那根,没有用中兴自带的那根,后者稍微有点短,和我的摆放位置相关),就找了根替换的网线,结果看 WAN 口的接口速度居然也是千兆了!仔细看了下换下来的网线线头,虽然也是商品线看着质量还行,但实际只有 4 根线芯,好吧,小丑竟是我自己。。。

总体来说,还是满意的,有点担心的无线信号覆盖方面完全没有碰到问题,主观上感觉刷 B 站偶发的卡顿也似乎是变少了,也感觉下载软件里接近上限的上传速度曲线似乎比之前更平整了,不知道是不是心理作用,哈哈。

一个月后:好吧,内网无线互连的速度明显比原来快多了,比如在 iPad 上通过 SMB 播放笔记本电脑上的视频文件。

突然觉得换下来的极路由 4 也挺好的,这么多年的产品了,信号覆盖挺好,WAN 口也已经是千兆(可惜被我的烂网线耽误了),运行也挺稳定,甚至外观的品位也还不错,只能感叹小厂商做智能硬件真不容易

]]>