荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: FloatStone (算了,还是别自取其辱了.自DD明.), 信区: Linux_Unix
标  题: 关于在LINXU下使用PCI串口扩展卡的方法
发信站: 荔园晨风BBS站 (Thu Mar 22 23:13:01 2007), 站内

由于开发要用到,实验室电脑只带一个COM口,必须使用扩展卡,但插进去后,系统(R
H9)好像检查出有新硬件,但是乱码,看不出,只好用MOUSE点了一下最左边寻按键
,以后就怎么也没反应了,也用不了.
后来,参考网络上的<<LINUX学习日志之 Linux下PCI转串口卡及USB转串口器的驱动方法
>>,只是在执行命令#:more /proc/pci 所显示的有些不同.其它的按原文操作即可.估
计是我的扩展卡与原文不同,注意系统PCI信息中有一个"communication",一般都没错.
但在我自己的SUSE LINUX下,不用任何操作就能正常使用.呵呵>>FC没试过.
现将原文贴出:
办公室内有台机器是RedHat Linux 9.0   一个是 Fedora Core 5 。就先在这两个系统上试
验吧。这两台电脑上各自本身就有2个RS232串口。

一、PCI转串口卡安装  型号NetMos Nm9835CV
   1、插入PCI卡到主机
   2、启动 Linux,打开终端
   3、输入命令:#setserial  /dev/ttyS0 -a   (COM-1)
      显示内容:/dev/ttyS0, Line 0,  UART: 16550A, Port: 0x3f8, irq: 4
                  Baud_base: 115200, clos_delay: 50, divisor: 0
                  closing_wait: 3000, closing_wait2: infinite
                  Flags: spd_normal skip_test
   4、输入命令:#setserial  /dev/ttyS2 -a   (COM-3)
      显示内容:/dev/ttyS2, Line 2,  UART: unknown, Port: 0x3e8, irq: 4
                      Baud_base: 115200, clos_delay: 50, divisor: 0
                      closing_wait: 3000, closing_wait2: infinite
                      Flags: spd_normal skip_test
      第3、4步操作的目的主要是对主机自带串口及PCI扩展串口的区别。区别在于4显示的
内容中UART:未unknow。不过若您检测这一步的时候 UART为16550A而不是unknow,证明你的
系统已经认识了扩展的串口,不需要进一步设置,直接跳入第8步测试就可以了。

   5、需要输入命令查看一下您当前PCI检测的状态,以便对扩展串口进行设置
     #more  /proc/pci
     会显示出一堆的信息,不要因为看不懂而吓坏了。只要看到类似于这个PCI的信息,比
如:PCI communication。。。或者Board with Nm9835CV part。。。   可能就是这个卡了
,主要看看它的终端是多少,即irq多少及分配的地址是多少。例如:(不一定完全一样)
   Board with Nm9835CV part  irq:11
   I/O at 0xc000 [0xc001] serial port 1
   I/O at 0xc400 [0xc401] serial port 2
   I/O at 0xc800 [0xc801] not used
   I/O at 0xd000 [0xd001] not used
   I/O at 0xd400 [0xd401] not used
   I/O at 0xd800 [0xd801] not used

   6、知道PCI扩展卡的终端为11   串口1地址为0xc000  串口2地址为0xc400..
     就可以设置扩展的串口了。输入命令:
     setserial  /dev/ttyS2 port 0xc000 UART 16550A
              irq 11 Baud_base 115200
     另一个串口也类似的这么操作

   7、设置完毕后,就可以看看设置的情况了,输入第2步的命令看看,UART是否就是
16500A 而不是 unknow了,如果是16500A恭喜,可能设置好咯,如果不是那就再检查一下吧

   8、设置好了后是不是需要测试一下是否能够通讯呢?最好的办法是两台pc相连。如果
pc为windows操作系统就用超级终端,是linux呢就用minicom吧
   9、装有linux的机器,首先需要设置一下监听的串口参数,输入命令
     #minicom -s
     进入界面后有个框弹出来,如果你还认识点英文单词的话,就回知道选择哪个的。应
该是第三个吧,串口设置。
     将第一行更改为  /dev/ttyS2
     波特率也更改您所需要的。
    更改完后保存,保存的那个菜单应该是 save ... df1
     最后 exit
  10、在另外一台机器发送数据,这台机器minicom界面就能够收到信息了,成功后觉得挺
有意思。另外不要把两个COM顺序弄翻了,如果弄错了哪个是COM3  COM4测试可就不灵便咯


二、USB-Serial (usb转串口) 用的是UTS4009P  usb to 4 port rs232 adapter(db9pin)
 cable(black)

   1、将设备u口插入pc
   2、输入#lsmod  先看看能否检测到这个设备,就看有没有pl2303字眼可以了。如果有
,则不需要再装驱动。如果没有则需要驱动程序,那您就按照步骤安装吧,安装完毕后再输
入这个命令瞧瞧,是否安装成功。

   3、检测步骤,检测步骤与第一的8条以后内容类似,只是需要主意的是设置串口设备的
时候可能不是ttyS2了,有可能是ttyUSB0之类。最好能看看您/dev下面的文件。就因为开始
我将这点忽略了,总是测试不通,着急了两天呢。最后终于搞定了。


--
http://float-stone.spaces.live.com/我的空间

※ 来源:·荔园晨风BBS站 http://bbs.szu.edu.cn·[FROM: 218.18.42.112]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店