在大多数情况下,配置是自动完成的,您无需执行任何操作。Linux 应该检测到您的串口,并在需要时加载驱动程序模块。然后,驱动程序应确保 IRQ 和地址空间资源已被分配。最后,使用串口的应用程序应设置端口速度等。
为了使上述任何操作生效,串行支持必须编译到内核中(由您或编译内核的人员完成),或者由模块提供,这些模块在您开始使用串口时加载到内核中。在大多数情况下,如果它没有被编译到内核中,模块将完成这项工作,并且 Linux 应该能够自动找到并加载正确的模块。
但是,如果您有超过 4 个(或可能 2 个)串口,则必须告知内核这一点,因为它似乎不会自动执行此操作。请参阅 支持的串口数量、内核配置 和 串行模块。
一旦内核和模块中有了适当的支持,那么串口的其余配置应该会自动发生。这通常由串行驱动程序软件完成,并经常得到您的应用程序软件的帮助。但有时它配置不正确,那么您需要自己进行配置。或者,也许您需要以特殊的方式配置它等等。本 HOWTO 仅涵盖串口本身的配置,而不涵盖连接到端口的任何设备(例如调制解调器或打印机)的配置。
资源分配(定位硬件或低级配置)是将 I/O 地址、IRQ 和名称(例如 ttyS2)分配给每个端口。此 I/O-IRQ 对必须在硬件中设置,并为串行驱动程序所知。我们可以简称为“io-irq”配置。 “setserial”程序有时用于告知驱动程序管理员已放入配置文件或作为 setserial 命令参数提供的 io-irq 信息。PnP 方法、跳线等用于在硬件中设置 I/O 和 IRQ。详细信息将在稍后提供。如果您需要配置但不理解某些细节,很容易陷入困境。请参阅 定位串口:I/O 地址 IRQ 什么是 Setserial
第二部分(高级配置)是为其分配速度(例如 115.2k 比特/秒)、选择流控制等。这通常由通信程序(如 wvdial、PPP、minicom、picocom)或 getty(您可以在端口上运行它,以便其他人可以从连接到端口的旧式哑终端登录您的计算机)启动。但是,您需要通过使用菜单或配置文件来告诉这些程序您想要的速度等。这种高级配置也可以使用 stty
程序手动完成。如果您遇到问题,stty
也可用于查看当前状态。请参阅 Stty 部分