昨天看到这条推文 (P1),帮助我解答了几个月前买开发板遇到的奇怪问题。
当时需要树莓派 (RPi) Pico,但官方版本用的还是古老的 Micro-B 接口,实在不想买。
在淤泥般的电商搜索结果中翻找后,最终买了 创乐博 (LOBOROBOT) 生产的开发板 (P2)。从 pcb 布局来看,它完全就是 RPi Pico 的一比一复刻,仅仅把 Micro-B 换成了 USB-C。
问题:使用 C-to-C 线缆连接 usb host,host 跟 device 两边都没任何反应。给 pico 提前刷写了 blink 固件,连灯都不亮说明开发板完全没有从 usb 得到供电。
使用 C-to-A 线缆连接 host 的 A 口或者加上 A-to-C 转接头连接 host C 口则正常工作。
阅读 USB-C 的 wiki 得知,面向上游(host 方向)的 C 口需要在
所以 创乐博 的 usb-c pico 要么根本没下拉电阻,要么如推文所说是先短接再下拉。我想去进一步确认,就发现 创乐博 这品牌实在是灵车,官网破破烂烂,没有任何关于它们 usb-c pico 的信息,更别说图纸了;我没有万用表也无法直接测量实际情况。
后来买的两种小型化 RP2040 板子没有这个问题,可以正常使用 C-to-C 线缆连接 host。查看他们的 schematics 也确实有在
P3: Waveshare
P4: Seeed
当时需要树莓派 (RPi) Pico,但官方版本用的还是古老的 Micro-B 接口,实在不想买。
在淤泥般的电商搜索结果中翻找后,最终买了 创乐博 (LOBOROBOT) 生产的开发板 (P2)。从 pcb 布局来看,它完全就是 RPi Pico 的一比一复刻,仅仅把 Micro-B 换成了 USB-C。
问题:使用 C-to-C 线缆连接 usb host,host 跟 device 两边都没任何反应。给 pico 提前刷写了 blink 固件,连灯都不亮说明开发板完全没有从 usb 得到供电。
使用 C-to-A 线缆连接 host 的 A 口或者加上 A-to-C 转接头连接 host C 口则正常工作。
阅读 USB-C 的 wiki 得知,面向上游(host 方向)的 C 口需要在
CC1 和 CC2 上有 5.1 kOhm 的下拉电阻,否则 host 不会通过 VBUS 供电。However, to connect a USB 2.0/1.1 device to a USB-C host, use of Rd on the CC pins is required, as the source (host) will not supply VBUS until a connection is detected through the CC pins.
Upstream facing port (UFP)’s Rd value is fixed at 5.1 kΩ.
所以 创乐博 的 usb-c pico 要么根本没下拉电阻,要么如推文所说是先短接再下拉。我想去进一步确认,就发现 创乐博 这品牌实在是灵车,官网破破烂烂,没有任何关于它们 usb-c pico 的信息,更别说图纸了;我没有万用表也无法直接测量实际情况。
后来买的两种小型化 RP2040 板子没有这个问题,可以正常使用 C-to-C 线缆连接 host。查看他们的 schematics 也确实有在
CC1 和 CC2 正确使用下拉电阻。P3: Waveshare
P4: Seeed
他说从微软商店安装 potplayer 「比较省心」,然后又说第一次启动软件需要跑一下软件自带更新检测。估计是为了应对粪坑的付费下载免费软件现象。从可信(?)源微软商店安装一个也许不是最新的 potplayer,然后再让这个可信版本自己下载可信最新版。
https://www.youtube.com/watch?v=RRAiJkJC2VE
于是我用百度搜了一下
#trash #china #baidu
https://www.youtube.com/watch?v=RRAiJkJC2VE
于是我用百度搜了一下
potplayer ,大受震撼但又符合预期(#trash #china #baidu
🤡1
国行小米硬件将来不能刷国际版系统了?
https://x.com/kacskrz/status/1809956388182905108
不知道会不会应用到老机型上,哪天我升级个 EEA 然后不能进系统就很爆笑了 🤡 #trash #xiaomi #phone
https://x.com/kacskrz/status/1809956388182905108
不知道会不会应用到老机型上,哪天我升级个 EEA 然后不能进系统就很爆笑了 🤡 #trash #xiaomi #phone
🤯1
边界条件之场
原来如此……(随 rust 1.78 新加的 clippy lint,之前没见过) 之前如果我开了 nursery 这种大类 lint,再单独 allow 某个此大类下的特定 lint 是没有效果的,只能在 rust 代码里 #[allow(...)] ,非常烦。 应该用 priority 属性(吃了不读文档的亏
这 clippy lint 有问题 🤔
完全一样的 crate,如果单独存在则会显示这条警告信息,隶属于 workspace 就不显示
完全一样的 crate,如果单独存在则会显示这条警告信息,隶属于 workspace 就不显示
边界条件之场
我自己写的 wake on lan 小工具,在 windows 持续运行几天后就会失效,怎么都叫不醒网络上的另一台机器。这时只要重启 windows 就又能正常发送 wol 了……🤔
之前:
udp socket bind to
send magic packet to
在 waker 机的 windows 持续运行一段时间后就会失效
现在把 bind 地址明确设为 waker 的物理网卡 interface 地址(运行
感觉是什么东西在开机一段时间后改了 windows 的路由,导致 magic packet 广播到了错误的网域。懒得排查,反正 it works now 😴
udp socket bind to
0.0.0.0:0send magic packet to
255.255.255.255:0在 waker 机的 windows 持续运行一段时间后就会失效
现在把 bind 地址明确设为 waker 的物理网卡 interface 地址(运行
route print 查看)就又能正常叫醒 wakee 了。感觉是什么东西在开机一段时间后改了 windows 的路由,导致 magic packet 广播到了错误的网域。懒得排查,反正 it works now 😴
边界条件之场
之前: udp socket bind to 0.0.0.0:0 send magic packet to 255.255.255.255:0 在 waker 机的 windows 持续运行一段时间后就会失效 现在把 bind 地址明确设为 waker 的物理网卡 interface 地址(运行 route print 查看)就又能正常叫醒 wakee 了。 感觉是什么东西在开机一段时间后改了 windows 的路由,导致 magic packet 广播到了错误的网域。懒得排查,反正 it works now…
一个非常简单的命令行 wake on lan 小工具,为了解决 windows 下现成 wol 工具全是 gui 软件的问题。(虽然是为了在 windows 下使用写的,但没有平台特定代码,应该全平台可用)
https://github.com/toymil/wake_on_lan/releases/latest
https://github.com/toymil/wake_on_lan/releases/latest
$ wol --help
Usage: wol.exe [OPTIONS] <MAC_ADDR>...
Arguments:
<MAC_ADDR>...
Options:
--bind-ip <BIND_IP> [default: 0.0.0.0]
--bind-port <BIND_PORT> [default: 0]
--ip <IP> [default: 255.255.255.255]
--port <PORT> [default: 0]
-h, --help Print help
-V, --version Print version
边界条件之场
https://www.youtube.com/watch?v=Z0DF-MOkotA #consumer_electronics #apple
YouTube
a word on negativity, "complaining", & useless critics
https://www.youtube.com/watch?v=zIy0zlXmt2A
https://www.youtube.com/playlist?list=PLkVbIsAWN2lsmovRO20_gtfUfgWi-XnnT
https://www.notebookcheck.net/Apple-s-upcoming-iPhone-16-series-to-feature-significantly-thinner-bezels-across-the-lineup-thanks-to-new-display…
https://www.youtube.com/playlist?list=PLkVbIsAWN2lsmovRO20_gtfUfgWi-XnnT
https://www.notebookcheck.net/Apple-s-upcoming-iPhone-16-series-to-feature-significantly-thinner-bezels-across-the-lineup-thanks-to-new-display…
Earlier builds of the AI app refused to work if the toolbar wasn’t placed at the bottom of the screen.
🤯 很符合我对微软现在产品质量的预期 #trash #microsoft #windows
https://www.tomshardware.com/software/windows/windows-10-gets-copilot-as-part-of-mandatory-update
Tom's Hardware
Windows 10 gets Copilot as part of mandatory update — turns AI widget into a full-fledged app on the taskbar
Microsoft is turning Copilot from a widget into an app.
边界条件之场
Earlier builds of the AI app refused to work if the toolbar wasn’t placed at the bottom of the screen. 🤯 很符合我对微软现在产品质量的预期 #trash #microsoft #windows https://www.tomshardware.com/software/windows/windows-10-gets-copilot-as-part-of-mandatory-update
麻了,usb spec 通篇只说用 unicode,不说到底是 utf-8, 16, 还是 32,也不说 byte order 😇
根据样例里面每 ascii 字符 2 byte 来看猜测是 utf-16。再根据 usb 规范里面其它 multi-byte 数据的惯例,猜测是 little endian。
网上搜了搜好像都说是 UTF-16LE ,但就是没看到来自
根据样例里面每 ascii 字符 2 byte 来看猜测是 utf-16。再根据 usb 规范里面其它 multi-byte 数据的惯例,猜测是 little endian。
网上搜了搜好像都说是 UTF-16LE ,但就是没看到来自
usb.org 的官方说法 😇
边界条件之场
麻了,usb spec 通篇只说用 unicode,不说到底是 utf-8, 16, 还是 32,也不说 byte order 😇 根据样例里面每 ascii 字符 2 byte 来看猜测是 utf-16。再根据 usb 规范里面其它 multi-byte 数据的惯例,猜测是 little endian。 网上搜了搜好像都说是 UTF-16LE ,但就是没看到来自 usb.org 的官方说法 😇
rust 里很难获得 compile time utf-16 怎么办?
const fn 接受 [u8; N] 做参数,让用户自己先把内容用 utf-16le 编码了(2023 年改名发布 2022 年的机子,用着 2020 年的处理器,有着 2015 年的性能,在 2024 年卖 ~7000 CNY 🤯 #huawei
我感觉这机子在国情限制下做得算不错了。但改名重新发布这种操作,只能说国产+面向政企甩不干净的弱智气息与作呕营销。
https://www.youtube.com/watch?v=aX9WzI34Tuw
我感觉这机子在国情限制下做得算不错了。但改名重新发布这种操作,只能说国产+面向政企甩不干净的弱智气息与作呕营销。
https://www.youtube.com/watch?v=aX9WzI34Tuw
YouTube
2024年,被斷供後的華為筆記本怎麼樣了? |笔吧评测室
#笔记本 #笔记本测评 #猪王测评
🔥 熱門影片 🔥
ThinkStation P620评测,地表最强电脑:鲁大师300万跑分! | 笔吧评测室
👉https://bit.ly/3tLpR3O
爆肝测试164台笔记本,是时候告诉大家真实感受了!| 笔吧评测室
👉https://bit.ly/3LloJK5
联想拯救者Y9000P 2022首发评测:游戏本界“春晚”可别错过!| 笔吧评测室
👉https://bit.ly/3iJSfwV
▼ 更多笔记本专业测评记得订阅笔吧评测室: https://bit.ly/3HCfJPt…
🔥 熱門影片 🔥
ThinkStation P620评测,地表最强电脑:鲁大师300万跑分! | 笔吧评测室
👉https://bit.ly/3tLpR3O
爆肝测试164台笔记本,是时候告诉大家真实感受了!| 笔吧评测室
👉https://bit.ly/3LloJK5
联想拯救者Y9000P 2022首发评测:游戏本界“春晚”可别错过!| 笔吧评测室
👉https://bit.ly/3iJSfwV
▼ 更多笔记本专业测评记得订阅笔吧评测室: https://bit.ly/3HCfJPt…
层叠 - The Cascading
Firefox CTO 在 Reddit 回应对「广告效果衡量」功能的质疑。 文章提到: - 广告业是大型行业,不会单纯因为用户的抵制而消失 - 用户尝试绕过广告势必会加剧广告业与用户的对立;帮助双方共同寻找保护隐私的替代方案会更有意义 - Mozilla 与 Meta 这样的大型广告主合作,亦有和 W3C 及 ISRG 合作,以确保研究成果有效用 - 「广告效果衡量」功能是一个临时原型,只在 Firefox 访问特定站点时启用;它旨在收集数据,不进行追踪行为 - Firefox 认为就此功能向用户弹窗…
希望 ladybird 能成功……
#browser firefox 每况愈下 🖕
#browser firefox 每况愈下 🖕
边界条件之场
跑通了以后写了段测试代码,向电脑键入 the quick brown fox ,但是每次都是打了两个字母 th 就一直卡在 h 键上,想了半天以为是逻辑想错了,但重写一遍问题依旧。 掏出 print debug 一看,我用来 index 列表的变量从 0 增加到 1 以后就一直停在 1,回代码里马上就发现应该是 size_t 的 index 变量不知道为什么被我写成了 bool 🤪 Anyway,终于赶上了之前用 rust 实现的进度。接下来折腾 tinyusb host stack,能够获取按键输入以后就可以开始写映射了!
!@#$,刚才浪费半个小时 debug 最后发现是一个函数签名返回
在好几个接受
uint64_t 不小心写成了 uint16_t 🥴在好几个接受
uint64_t 的地方都有用这个函数,这种类型不匹配 gcc 竟然连 warning 都没今天被笔记本狂转的风扇吵醒,马上就猜到是 vmmem 100% cpu 占用、wsl2 卡死,因为我昨天不小心在 wsl2 仍在运行的状态下让 windows 休眠了。起来一看果然没错。
这 bug 能非常稳定地复现,而且已经好几年了。微软在 issue 里反复几次说它们修了,不知道是不是仅在 ad os 11 (TM) 修复 🙄
#trash #microsoft #windows
这 bug 能非常稳定地复现,而且已经好几年了。微软在 issue 里反复几次说它们修了,不知道是不是仅在 ad os 11 (TM) 修复 🙄
#trash #microsoft #windows
边界条件之场
现在回头看,这台 7000 CNY 的华为笔记本是我做过第二傻逼的计算机消费(第一傻逼是微软 surface pro 4) #trash #huawei #laptop - 固件维护周期仅为 1 年。2021 年的机器,华为官网固件下载页面最后 bios 更新是 2022 年(不考虑通过华为电脑管家更新驱动/固件。如果华为在 2022 年后实际有持续维护,但仅从电脑管家分发新版固件,不更新官网支持页面,那我只能说:垃圾华为) - usb 电路设计傻逼,两个 usb-c 接口间会互相影响。使用一个充电的同时另一个会抽搐…
昨天刚在实体机装 openSUSE Tumbleweed ,今天
wiki、manpage、软件仓库全都无法访问。他要是昨天宕,那我连 ssh 都连不上,因为从来没用过
opensuse.org 就宕机了 🫥wiki、manpage、软件仓库全都无法访问。他要是昨天宕,那我连 ssh 都连不上,因为从来没用过
firewalld 不知道怎么开端口