Frequently Asked Questions for FreeBSD 2.X : Serial 通訊 : 我要如何在 FreeBSD 下存取 seral ports ?
Previous: 我升級到 2.0.5 以後我的 tty0X 居然不見了 !
Next: 我要如何啟動對 serial 多埠卡的支援 ?

11.4. 我要如何在 FreeBSD 下存取 seral ports ?

第三個 serial port, sio2 (就是 DOS 下的 COM3) , 以 dial-out 裝置來看是位於 /dev/cuaa2 , 而以 dial-in 裝置來看則是位於 /dev/ttyd2 。這兩個裝置有什麼不同 呢 ?

您在 dial-in 時使用的是 ttydX 。當您用 block 模式開啟 /dev/ttydX 時, 會有一隻 process 在對應的 cuaaX 上等它 變成 inactive , 然後一直等到 carrier detect line 變成 active 為止。 當您開啟 cuaaX 裝置時, 它會去確定目前 ttydX 裝置是不是正 在使用 serial port。如果它可以用的話, 它就會把 serial port 從 ttydX 裝置手中搶過來。同樣的, cuaXX 裝置不會去管 carrier detect。有了這樣的設計, 再加上一台會自動回應的 modem, 您就可以令同 一台 modem 可以被遠端使用者拿來登入, 您自己也可以拿來 dialout, 系統 會自動檢查是否有衝突的現象。


Frequently Asked Questions for FreeBSD 2.X : Serial 通訊 : 我要如何在 FreeBSD 下存取 seral ports ?
Previous: 我升級到 2.0.5 以後我的 tty0X 居然不見了 !
Next: 我要如何啟動對 serial 多埠卡的支援 ?