Linux USB 设备基础理论

Linux USB 设备基础理论

通过扫描以下目录获取物理节点所有 USB 设备: /sys/bus/usb/devices/usb* /sys/bus/usb/devices/usb*/$busnum-* 从该文件系统收集某一个设备的主要信息如下: { "busnum": 1, "class": 0, "devnum": 2, "level": 1, "manufacturer": "QEMU", "port": 0, "prodid": "0001", "product": "QEMU USB Tablet", "speed": "12", "usbpath": "1", "vendid": "0627" } 文件含义 目录下部分文件含义如下: busnum: 总线号 devnum: 设备号(该总线的第几台设备) speed: 速率 bDeviceClass: 设备类型 idVendor: 设备的生产商ID,由USB设备生产商向USB-IF官方来统一管理和申请 idProduct: 该生产商生产的产品编号,同一厂商下的不同idProduct代表着该公司不同的产品系列 product: 制造商 manufacturer: 产品 serial: USB 硬件设备序列号 ,例如 0000:00:01.2 定位方法 定位某一个 USB 设备的方法有两种: ...

August 24, 2022 | 2 分钟 | 628 字 | Tianlun Song
使用 qemu-img 转换镜像格式

使用 qemu-img 转换镜像格式

qemu-img镜像格式转换工具支持vhd、vmdk、qcow2、raw、vhdx、qcow、vdi或qed社区格式的镜像的相互转换。 查看信息 $ qemu-img info vzdump-qemu-125-2022_08_16-13_40_42.vma image: vzdump-qemu-125-2022_08_16-13_40_42.vma file format: raw virtual size: 3 GiB (3221810176 bytes) disk size: 3 GiB $ qemu-img info vzdump-qemu-125-2022_08_16-13_40_42.qcow2 image: vzdump-qemu-125-2022_08_16-13_40_42.qcow2 file format: qcow2 virtual size: 3 GiB (3221810176 bytes) disk size: 3 GiB cluster_size: 65536 Format specific information: compat: 1.1 compression type: zlib lazy refcounts: false refcount bits: 16 corrupt: false extended l2: false 格式转换 执行如下命令转换镜像文件格式。 ...

August 16, 2022 | 1 分钟 | 299 字 | Tianlun Song
Win11 手动调整任务栏大小 | 定制任务栏 2022

Win11 手动调整任务栏大小 | 定制任务栏 2022

最近自己的 MacBook Air M1 资源吃紧,干起活来常常被内存拖累。 虽然平时都是远程开发,但终端一多,网页一多,很容易达到性能瓶颈导致工作效率下降。于是心生一计,在计算资源较充足的开发服务器上开一台高性能的桌面虚拟机,恰好此前一直没有使用过 Win11,趁此机会体验一下。 ...

August 15, 2022 | 2 分钟 | 709 字 | Tianlun Song
Perl 特性之不安全的依赖

Perl 特性之不安全的依赖

最近写 Perl 程序时遇到一个很奇怪的问题: Insecure dependency in unlink while running with -T switch at ../tmpfile.pl line 44. 经过检查,发现这是 Perl 语言一个特性,在运行时使用 -w 或 -T 都意味着 “万无一失” 标志。 ...

July 27, 2022 | 2 分钟 | 860 字 | Tianlun Song
Openwrt 使用 Wireguard 异地组网(远程家庭网所有设备)

Openwrt 使用 Wireguard 异地组网(远程家庭网所有设备)

使用 Wireguard 、OpenWrt、VPS 完成异地组网. 最近入手了一款友善 Nano ...

April 23, 2022 | 3 分钟 | 1155 字 | Tianlun Song
shell 中格式化显示 json 字符串

shell 中格式化显示 json 字符串

有时需要在终端环境中查看 json 数据,比如使用 curl 调试接口时。直接看到的 json 数据是类似这样的: $ echo '{"foo": "lorem", "bar": "ipsum"}' {"foo": "lorem", "bar": "ipsum"} 如果想要以更直观的方式格式化显示 json 数据,可以利用 python3 提供的标准库 json 来实现: ...

April 20, 2022 | 1 分钟 | 208 字 | Tianlun Song
Proxmox VE (PVE) 销毁集群

Proxmox VE (PVE) 销毁集群

当 pve 集群某节点出现问题时,可能导致所有主机均无法连接到 WEB 管理后台,此时可以尝试以下方法将正常节点的集群状态销毁,在需要时重建集群,从而保证仍在线节点可用: ...

April 14, 2022 | 1 分钟 | 107 字 | Tianlun Song
iso 和 img 的区别

iso 和 img 的区别

最近经常接触各种系统镜像,大部分是 *.iso 格式(如 debian ),少部分是 *.img ...

April 6, 2022 | 1 分钟 | 429 字 | Tianlun Song
*.iso 和 *.img 的区别

*.iso 和 *.img 的区别

最近经常接触各种系统镜像,大部分是 *.iso 格式(如 debian ),少部分是 *.img 格式(如 cirros),这两者究竟有何区别,最终在维基百科找到比较可靠的一段描述: ...

April 6, 2022 | 1 分钟 | 359 字 | Tianlun Song
k3s 使用 Letsencrypt 和 Traefik 完成 https 入口部署

k3s 使用 Letsencrypt 和 Traefik 完成 https 入口部署

k3s自动完成 ssl 证书签发和续签方法,并使用 https 协议暴露服务方法介绍。 完成了 k ...

March 8, 2022 | 3 分钟 | 1094 字 | Tianlun Song