相关分享
USB 设备开发:从入门到实践指南(三)
本文深入研究了Nintendo手柄驱动在Linux系统中的实现细节,并解决了一些关于USB HID和input驱动的疑问。
USB 设备开发:从入门到实践指南(二)
本文介绍了如何利用树莓派设备模拟USB鼠标和游戏手柄。文章从修改HID描述符开始,详细说明了如何通过调整bash脚本中的协议配置模拟不同的USB设备。在模拟鼠标时,作者修改了协议为鼠标,调整了HID描述符以支持鼠标的左右键、中键、滚轮等功能。接着,在模拟游戏手柄部分,作者通过设定正确的供应商和产品ID,使设备被识别为XBox 360手柄。文章还探讨了如何动态修改Ubuntu驱动来支持Switch手柄。
在研究过程中,作者分析了USB HID协议,使用eBPF和调试输出方式研究Linux内核驱动代码,探索了手柄的各种功能键和坐标轴的实现。此外,作者对Switch Pro手柄的驱动支持问题进行了深入分析,发现需要特定协议的支持,并提供了解决方案。
USB 设备开发:从入门到实践指南(一)
这篇文章介绍了使用树莓派4B设备进行USB设备开发的经验。作者从研究工具、搭建开发环境、分析USB协议等多个角度详细描述了如何将树莓派模拟成一个USB键盘,并通过Wireshark捕获流量以研究和理解USB协议的工作原理。文章提供了具体的操作步骤和代码示例,并深入探讨了设备描述符、配置描述符、接口描述符、端点描述符等USB协议的关键组件。该文章为USB设备开发提供了实用的指导,适合对底层硬件开发感兴趣的开发者参考。
记一次无法弹出移动硬盘的记录
或许在当下云计算时代,已经很少有人会用到移动硬盘或U盘的经验,亦或者大多数人都没有弹出移动设备后再拨出的习惯。笔者因早年在使用U盘时经历过直接拨出U盘导致其报废的“惨痛”教训,因此对移出设备的操作是铭记于心,万不敢直接拨插移动设备。但就是这个只需点击一次移出设备的操作,很多时候就会让我们有些烦恼,因为它有时候总喜欢和你对着干。这不今天就遇上一件无法解释的诡异现象:移动硬盘无法弹出,尝试过之前的各种妙招后仍是无济于事,最后也只是能祭出万能的关机大法才算是得以解脱。
C# 使用 LibUsbDotNet 实现 USB 设备检测
基于某些不可抗因素上的考虑,博主需要在程序中集成某厂商的硬件。我猜测,人们觉得这件事情“简单”,或许是看到这个设备有一条 USB 连接线,因为在人们的固有印象中,只要把它接到电脑上就可以正常工作了。事实的确如此,因为你只要考虑串口(SerialPort)、USB 以及这两者间的相互转换即可。当然,这世上的事情圆满者少,遗憾者多,博主在使用过程中发现,厂商的提供的 SDK 存在 Bug,当设备从电脑上拔出后,其 SDK 的初始化函数依然正常返回了,这意味着我们无法在使用设备前“正确”地检测出硬件状态。考虑厂商愿不愿意修复这个 Bug 还是个未知数,博主不得不尝试另辟蹊径。
个人电脑作为办公设备时,我们如何保护隐私?
公司一般都会强制安装安防软件,这些软件要求开机自启动,要求有屏幕录制权限、完全的磁盘访问权限包括相册图库。因此如果使用自己的 MacBook 作为办公设备,必须要把生活区和工作区完全独立开,安装在两个磁盘分区,并且对磁盘分区加密。
听说你不想瞄准标题栏再移动窗口
移动窗口的方法是按住标题栏再拖动,这是小学电脑课就会教(甚至不用教)的基本操作。但是,并不是所有的窗口都这么喜欢让人抓住它的把柄。何况,这个操作本身的合理性也有讨论余地:我只是想挪一个窗口,为什么非要先瞄准。就比方说,我今天腰酸背疼两眼无神,可不可以申请不瞄准。
廉价的家庭工作站设备改造记录:苹果垃圾桶(Mac Pro 2013)
聊聊最近对一台便宜的苹果老设备的使用和升级改造,以及过程中的小经验。
如果你没有在家里安静的进行长时间密集计算的需求,也不想“烧烤”你的 MacBook ,并且没有总成本低一些的要求,那么这个方案或许并不适合你。
相比之下,我更推荐采购支持 ECC 内存的搭载 13 代桌面 CPU 工作站(如 P360 之类的),功耗比、性能、可扩展性都很棒,美中不足的只有三点:体积大一些,使用的是工作频率不高的 DDR5 ECC 内存,价格会是这台设备的三倍。
论文分享|基于被动DNS流量分析的大规模IoT设备识别系统
如何通过被动流量识别IoT设备?如何检测分配了IPv6地址、NAT后的IoT设备?本文介绍了IoTFinder系统有效解决上述问题。
MacBook 与其他设备的低成本高性能数据传输方案(二)
本篇文章,补充多台不同芯片(M1、M2、x86)的 MacBook 使用雷电数据线进行数据传输,以及使用 2.5G 网卡满足不支持雷电传输设备之间的性能测试。
