Linux下PCI轉串列埠卡驅動安裝方法

一格桑京發表於2014-05-06
Linux下PCI轉串列埠卡驅動安裝方法
-----------------------------------
由於公司產品要做行業市場,而產品與行業使用者間PC的通訊為RS232串列埠方式。而行業使用者那裡的PC都沒有序列口,而且行業使用者PC作業系統為Turbo Linux。怎麼辦? 
辦公室內有臺機器是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測試可就不靈便咯。

相關文章