USB2.0 High Speed 握手略解USB (Universal Serial Bus) 是一种支持热插拔的高速串行传输总线,它使用差分信号来传输数据,目前已经发布USB 4 协议规格,向下兼容USB 3.2 Gen 2、USB 3.2 Gen 1(USB 3.1) 和 USB 2.0。 USB 协议是 host 与 device 通过信号握手,来确认使用哪种速度来通信的。其中 SuperSpeed是通过码型来确认的,比较复杂;hi 2020-06-07 技术 #USB #high-speed
USB high-speed disconnect检测前言USB 现在已经发展到 4.0了,USB-IF 起名字也是越来越放飞自我,追求真我了,但学学隔壁的 Wi-Fi Alliance不好吗? USB目前版本有很多个,今天只讨论 high-speed的 disconnect检测。high-speed的 disconnect绕不开 SOF,因为 disconnect检测就是检测 SOF的 EOP的幅值。SOF是什么?具体描述可以查看这篇博文 USB 2020-04-23 技术 #USB #high-speed
USB high-speed SOFSOF(Start Of Frame),帧起始数据包,USB high-speed、full-speed握手成功,进入数据阶段后,发送出来的第一个 packet。high-speed下,host每隔125μs ±0.0625μs发出一个 SOF,full-speed,每隔1ms ±0.0005ms发出一个SOF。Low speed不会发送SOF,而是使用keep alive达到同样的功能。详见 8 2020-04-17 技术 #USB #high-speed
SCSI Operation CodesUSB Mass Storage 是 USB host侧遇到最多的场景,基于 Bulk传输,使用 SCSI协议进行资源交互。当然 UFS也用到 SCSI协议,在使用 UFS的系统,我们插入 U盘经常生成的 dev节点是 /dev/sdb或者是 /dev/sde 。前面的如 /dev/sda、/dev/sdc这些节点可能就被 UFS占用了,识别 log可能就变成 “sd 1:0:0:0: [sde 2020-03-20 技术 #USB #SCSI #Mass Storage
USB3.0 开机上电识别场景总结USB3.0 开机上电识别场景总结针对 U盘进行重点分析,可推导其他 USB3.0 设备的识别。 需要 4通道高采样率示波器、USB3.0 U盘若干、USB3.0 预供电治具、USB3.0 DP/DM 与 RX/TX 分离治具。 开机上电识别场景,主要针对无 GPIO (power on) 控制 vbus 的环境。大体意思就是 U盘已经在整机上电那一刻也会得电运行。 思路与总结1、通过给 U盘预供 2020-01-22 技术 #USB
Nginx 部署多个web应用以往服务器就部署了一个个人博客,平时也没几个人看,图床也是放在七牛,资源利用十分的低。最近某人希望可以帮忙跑个 Python 脚本,通过给微信公众号发消息,触发脚本收集、整理信息并将信息发到指定的邮箱去。对接微信公众号这个不难,以前弄过,但要占用 80 端口,会和现有的博客冲突,只能端口转发了。 经过多轮百度、多篇博客以及不断的尝试,总算搞定了,下面是大概内容,作为记录。 1、服务器与微信公众号的 2020-01-16 技术 #nginx #web
SCSI 错误信息表整理前言USB 管道的第一大使用场景非 U盘、移动硬盘莫属了!U盘、移动硬盘即 Mass Storage,使用USB 管道的 Bluk 传输承载 SCSI 协议进行资源交互。 SCSI 协议是让数据以块的方式进行传输的一种协议规范。 正文Mass Storage 插入单板时总会有 “sd xxxx: [sdx] Result: xxxxxxx” 的log,这打印是 USB 枚举成功后,SCSI 识别设 2020-01-11 技术 #Error #SCSI #Mass Storage
xhci trace 开机启动设置背景最近遇到一个客户问题,工厂抽检每次都出现,不解决就要停产了,但在客户研发环境无法复现,在工厂环境才能一天复现一次。这是一个老大难问题了,涉及到一些逻辑上的风险,需要联合解决。逻辑需要了解 xhci 控制器的行为和相关的数据包,这就要抓取出问题时候的 trace 和 USB 协议包了。环境在工厂能抓的只有 trace 了,不过也是能进行初步分析的。 关于 tracetrace 是 linux 调 2020-01-09 技术 #Linux #XHCI #trace
Linux 错误码与含义Linux错误码表,帮助快速定位问题,用过的都说好! C Name Value Description 含义 Success 0 Success 成功 EPERM 1 Operation not permitted 操作不允许 ENOENT 2 No such file or directory 没有这样的文件或目录 ESRCH 3 No such process 没有这样 2019-12-02 技术 #Error #Linux