Linux安全网 - Linux操作系统_Linux 命令_Linux教程_Linux黑客

会员投稿 投稿指南 本期推荐:
搜索:
您的位置: Linux安全网 > Linux命令 > 网络通讯 > » 正文

linux setserial命令参数及用法详解--设置或显示串口的相关信息(3)

来源: 未知 分享至:

^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
根据AT/ISA总线结构的限定,通常中断号IRQ不能被两个以上的串行口共享。如果你试图这这样做,那么当你同时启用两个端口时,它们中的一个或全部将会不可靠。这和限制可由一多端口的串行口板来克服,它用来让多个串行口共享一个中断号IRQ。此种板对linux的支持已加入到AST FourPort, Accent Async 板,Usenet Serial II 板,Bocabord BB-1004, BB-1008,和 BB-2016 板,以及HUB-6 serial 板之中。
修改一个设备的中断号IRQ是比较困难的,因为大多数中断号已经被使用了,以下是"标准MS-DOS"设定的有效的中断号列表:
IRQ 3: COM2
IRQ 4: COM1
IRQ 5: LPT2
IRQ 7: LPT1
许多人都发现中断号IRQ 5 是一个好的选择,假设电脑中只有一个并行口是正在使用的。那么中断号IRQ 2 也是一个好的选择(也可能是9); 虽然这个中断号IRQ有时也被网卡使用,也有极个别的的显卡可能要使用中断号IRQ 2作为一个垂直回扫的中断。如果你的显卡是这样设置的;那你可能要禁用此项功能,以便能给其它的设备释放一个中断。当然这对于linux或是其它操作系统不一定是必须的。
另外其它可用的中断号有 3 ,4,和 7,这些中断可能也被另一些串行或是并行口所用。(如果你的串行卡有一个16位的电子数据收集器的接线口,并且支持更高的中断号,那么中断号IRQ 10 ,11, 12,和 15 也是可用的。)
在一些AT类的机器上,中断号IRQ 2 被当作中断号IRQ 9,所以linux 会如此认为。
其它中断号除了2(9),3, 4, 5, 7, 10, 11, 12 和15 不 能被使用,因为他们被安排给了其它的硬件,而且一般上不能更改。以下是一些“标准”的设置:
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
一些多端口的串行板可以让多的端中共享一个中断号,使用一个或是多个端口以显示是否有端口需要服务。如果你的多端口吕行板支持这些端口,你须保证如果中断丢失时,能避免潜在的死锁。
为了详细设置这些端口,使用 set_multiport 为参数,紧接其后的是多端口的参数。这个多端中的参数须指定为以下形式 port 这需要检测一下,参数 mask 可以显示在已注册的位中那个是重要的,最后参数 math 用来指定在已注册的位中,当没有进一步工作要做时,那一位必须匹配。
当有四个这种 /port/mask/match时,就要指定联合。第一个这种联合应该使用如下参数 port1, mask1, 和 match1. 第二个这种联合需要用如下参数指定 port2, mask2, 和 match2, 等等。为了禁用这个多端口检测,设置 port1 为零。
如果想查看当前多端口的设置,指定命令行参数 get_multiport
以下是一些通常的串行板的设置:
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

 

最新图文资讯
1 2 3 4 5 6
验证码:点击我更换图片 理智评论文明上网,拒绝恶意谩骂 用户名:
关于我们 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 发展历史