这一章介绍了 FreeBSD 中 USB 设备模式和 USB On The Go (USB OTG) 的使用。这包括虚拟串行控制台、虚拟网络接口和虚拟 USB 驱动器。
当在支持 USB 设备模式或 USB OTG 的硬件上运行时,例如许多嵌入式板卡中内置的硬件,FreeBSD USB 栈可以在 设备模式 下运行。设备模式使得计算机有可能将自己表现为不同种类的 USB 设备类别,包括串行端口、网络适配器和大容量存储,或者它们的组合。像笔记本电脑或台式电脑这样的 USB 主机能够像物理 USB 设备一样访问它们。设备模式有时被称为 “USB 小工具模式”。
硬件有两种基本方式可以提供设备模式功能:一种是单独的“客户端端口”,只支持设备模式;另一种是 USB OTG 端口,可以同时提供设备和主机模式。对于 USB OTG 端口, USB 堆栈会自动在主机端和设备端之间切换,这取决于连接到该端口的东西。将一个 USB 设备(如记忆棒)连接到这个端口,会使 FreeBSD 切换到主机模式。连接一个像电脑一样的 USB 主机会使 FreeBSD 切换到设备模式。单一用途的“客户端口”总是在设备模式下工作。