table of contents
other languages
SETSERIAL(8) | System Manager's Manual | SETSERIAL(8) |
NAME¶
setserial - 取得/设置 Linux 串行口的信息总览¶
setserial [ -abqvVWZ] 设备 [ 命令参数一 [ 设备变元参数 ] ] ... setserial -g [a-abGv ] 设备一 ...描述¶
setserial 是一个用来设置和取得与一个串行口有关的信息与设置的程序。这些信 息包括某个串行口正在使用的I/o地址与中断号,以及break键是否被当 做引起安全注意的键,等等。中被执行
由变元参数定义的需要设置的串行设备。它们通常具有以下形式: /dev/cua[0-3].
将打印出此端口的类型(如,8250,16450 ,14330,16550A,等等),
硬件I/O地址,各硬件中也断号,波特数,和一些可操作或更改的标识。
选项¶
Setserial 可接受下列参数:- -a
- 当输出串行口设备的设置时,显示出所有有效信息.
- -b
- 当输出串行口设备的设置时,输出主要的设备设置信息,此项适合于
在引导过程时,在/etc/rc
脚本中输出设备信息.
- -G
- 以特定形式输出串行口的设置信息,此形式可以设置信息以命令行 参数的形式返馈回串行口设备.
- -q
- 静默.
- SetSerial
- 命令将以更简洁的形式输出.
- -V
- 输出详细信息. Setserial 可以输出附加的状态的信息.
- -V
- 显示版本信息然后退出.
- -W
- 强制初始化中,断然后退出.些选项在核心版本2.1后的Linux中不在提供.
-z
在开始设置标记前清除原有的设置的串行标记.此项与
使用-G
标记自动保存串行口的设置标记有关.
命令参数¶
以下命令参数可以赋于一个串行口.- port 端口号
- port 此选项设置I/O地址如上.
- irq中断号
- irq 此选项设置硬件的中断号IRQ如上.
- uart异步通讯(UART)类型
-
此选项用来设置异步通讯(UART)的类型.允许的类型有 none, 8250,16450, 16550,16550A,16550,16650V2,and 16750. 并且8250 类型 和 16450 没有FIFO's ,起初的16550 有一些错误致 使FIFO's不可用,FIFO 只可用来16550A类型的异步通讯机。设置异步 通讯(UART)类型为 8250,16450,或16550 将启用不使用 FIFO的串 行口.使用异步通讯类型为 none 将禁用端口.
- auto_irq
- 在自动配置的过程中,会自动分配中断号IRQ.
此功能不能保证一
定有一个正确的结果;一些硬件的配置可能会迷惑Linux的核心.一
般来说不使用参数
auto_irq
的功能更安全一些,宁可明确地定IRQ中断号. irq
参数指定中断号.
- ^auto_irq
- 在自动配置的过程中.并 不 试图分配中断号IRQ.
- skip_test
- 在自动配置的过程中,忽略UART检测.一些内猫没有国际半导体公司 兼容的UART设备类型,只有一些便宜的仿制品.有一些甚至不完全支持 loopback检测模式,此模式是核心在试图配置之前用来确定在特定的 地址上是不真有UART设备.因此对于某些内猫你可能需要指定这个参数 以便Linux能正确的初始化UART.
- ^skip_tet
- 在自动配置过程中, 不 忽略UART的检测.
- baud_base波特基率
- 此选项设端口的波特率,此值为时钟频率除以16. 一般情况此项值为 115200, 这也是UART能支持的最快波特率.
- spd_hi
- 当程序要求 38.4kb时,使用57.6kb的连接速度. 这个参数可以用由无特权的用户指定.
- spd_vhi
- 当要求38.4kb时,使用115kb的连接速度.
spd_cust
当要求38.4kb时,使用指定的divisor(除数)来计算速度.这时波特率由
baud_base(波特基率)
除以 divisor(除数) 得到
- spd_normal
- 当要求38.4kb 时使用38.4kb的速度. 此参数可以由无特权的用户指定.
- divisordivisor(除数)
- 此选项指定了自定义的除数.这个除数将被用在 spd_cust 选项中被指定时,当要求38.4kb的速度时,用来自行设置串行口连接 速度此参数可由无特权的普通用户设定.
- sak
- 设置break键为引发安全注意键.
- ^sak
- 禁用引发安全注意键.
- fourport
- 配置端口为一AST Fouroart 卡.
- ^fourport
- 禁用 AST Fourport 配置.
- closedelaydelay(延时)
- 指定时间长度,单位是百分之一秒,DTR在联出设备被关闭后,仍会保 持一个低速串行通路,在有数据进来之前会重新起动DTR.这选项的默 认值为50,即半秒延时.
- close_delaydelay(延时)
- 指定时间长度,单位是百分之一秒,在接受端被禁之前关闭端口时, 核心需要等待从串行口传来的数据. 如果指定为"none",将不会有 延时.如果指定"infinite" 时,核心将会以不确定的时间等待缓冲 数据的传输.此选项的默认值为是 "none" .
- closing_wait2delay(延时)
- 指定时间的长度,单位是百分之一秒,在接受端被禁用后,在关闭端
口时核心会等待从串行口传来的数据.而用
closing_wait 命令,"none" 和
"infinite"
两参数都将被指定,此项的默认值是
3000,也就是30 秒延时。
closing_wait 和
closing_wait2的默认值对大多数的设备都会适用。
如果选择的延时太长,当串行口断开后,它会挂起太长时间,
致使数据挂起而被消除。如果设太短,将会有可能致使一些传输的
数据溢出。
- session_lockout
- 对不同的任务,锁定联出设备的端口(/dev/cuaXX),也就是说,一但 有一个进程打开端口,就不允许其它不同号的任务打开此端口,直到 前一个进程放开此端口。
- ^session_lockout
- 对联出的端口不开启上述功能。
- pgrp_lockout
- 对不同进程组,锁定联出的端口(/dev/cuaXX)。
也就是说,一但一个进程打开一个端口,不允其它进程组的进程共
享此端口,直到前一个进程释放它。
- ^hup_notify
- 当进程锁定在打一个拨号时,而此时联邮设备正挂起的话,不通知进程。
- split_termios
- 对于联出设备的终端设置与联入设备的终端设置分开对待。
- ^split)termios
-
对以上两者相同对待.此值为默认选项。
- callout_nohup
-
如果这个特殊串行口被当成一个联出设备打开,那么当载波检测消失 时,不挂起通讯端口。
- ^callout_nohup
- 当串行口当作联出设备打开时,不忽略挂起通讯端口。当然,如果挂起 的话HUPCL终端标识将会被启用。
- ^low_latency
-
以更高的CPU占用率来使得接受滞延达到最小。(通常传输中的5-10ms的 滞延以使系统开销最小.) 此项默认值为关闭,但某些实时程序可能会用 到此参数。
CONISIDERATIONS OF CONFIGURING SERIAL PORTS¶
明白setserial 命令只是告诉linux核心它想找到某个特定的端口的 I/O地址各中断号IRQ是很重要的。它并不操作硬件,串行设备实际 使用的一个特定的I/O地址。为了达到更改实际的硬件参数,你需要 手动设置硬件,通常是设置跳线,或更改DIP开关。以下是"标准MS-dos"的端口设置:
/dev/ttys0(COM1), port 0x3f8, irq 4 /dev/ttys1(COM2), port 0x2f8, irq 3 /dev/ttys2(COM3), port 0x3e8, irq 4 /dev/ttys3(COM4), port 0x2e8, irq 3
IRQ 3: COM2 IRQ 4: COM1 IRQ 5: LPT2 IRQ 7: LPT1
IRQ 0 时钟发生器 0 IRQ 1 键盘 IRQ 2 可编程的中断控制器 2 IRQ 3 串行口 2 IRQ 4 串行口 1 IRQ 5 并行口 2(保留给PS/2) IRQ 6 软盘驱动器 IRQ 7 并行口 1 IRQ 8 系统实时名钟 IRQ 9 重定向给中断号IRQ 2 IRQ 10 保留 IRQ 11 保留 IRQ 12 保留(ps/2兼容的设备) IRQ 13 数学协处理器 IRQ 14 硬盘控制器 IRQ 15 保留
MULTIPORT CONFIGURATION¶
一些多端口的串行板可以让多的端中共享一个中断号,使用一个或是多个端口 以显示是否有端口需要服务。如果你的多端口吕行板支持这些端口,你须保 证如果中断丢失时,能避免潜在的死锁。AST FourPort port1 0x1BF match1 0xf mask1 0xf Boca BB-1004/8 port1 0x107 match1 0xff match1 0 Boca BB-2016 port1 0x107 match1 0xff match1 0 port2 0x147 match2 0xff match2 0
Hayes ESP 的设置¶
Setserial 也可以用来在贺氏的ESP串行板上设置端口。 以下参数在设置时使用:- rx_trigger
- 这是一个接收的FIFO的触发水平(以字节为单位),较大的值可减少中断时间提 高性能;然而值太大会引起数据丢失。有效值在1 到 1023 之间.
- tx_trigger
- 这是一个传送的FIFO的触发水平(安节为单位),较在的值可减少中断时间提高性 能,但值太大会引起传输效率下降。有效值在1 到 1023之间.
- flow_off
- 这是通知ESP端口断开远端的传输(如,告诉它停止发送数据).有效值在1 到 1023之间,这个值要比接收的触发等级和联接的水平值高.
- flow_on
- 这是ESP端口通知联接的等级(单位字节),(如,通知重新开始发送数据)在 挂断之后,有效值在1 到 1023之间.这个值应在断开(flow off)等级值 之下但要比接收的触发等级高.
- rx_timeout
- 这是ESP端口在接收完最后一个字符,且在中断信号之前将要等待的时间。
有效值是0到255.值太大会增加延时,太小会引起不必要的中断。
警告¶
警告:设置一个串行端口时使用一个不正确的I/O地址可能会造成死机.文件¶
/etc/rc.local /etc/rc.serial另见 ,¶
tty(4), ttys(4), kernel/chr_drv/serial.c作者¶
最初seterial的版本是由Rick Sladkey(jrs@world.std.com)所作,而后由 Michael K. Johnson(johsonm@stolaf.edu).1998年9月 | Setserial 2.15 |