在bash腳本,我使用以下命令:RS232控制檯通訊 - 設置波特率爲1 MBd的
$ stty -F /dev/ttyUSB0 921600 raw
$ echo -n "some test data" >/dev/ttyUSB0
,它按預期工作。使用PL2303 USB轉RS232適配器 :
$ lsusb
...
Bus 006 Device 010: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port
Bus 006 Device 011: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port
現在我試圖做同樣的1兆位的,但得到了一個錯誤:
$ stty -F /dev/ttyUSB0 1000000 raw
stty: /dev/ttyUSB0: unable to perform all requested operations
此外,當我嘗試用500 kBd工作相同的消息。嘗試250大骨節病的錯誤信息是不同的:
$ stty -F /dev/ttyUSB0 250000 raw
stty: invalid argument `250000'
Try `stty --help' for more information.
可以看出here,它在PL2303的Linux驅動程序有問題。
我正在Kubuntu12.04,32Bit上工作。不幸的是,我不知道如何修復我的系統上的驅動程序(獲取驅動程序源代碼,修補程序,編譯,安裝...嗯,也許我學習了一下,試試看 - 建議是受歡迎的)。
但也許有一個更新的驅動程序可用,易於安裝?
還是有人知道另一個USB到RS232適配器,它工作在1MBd(通過rts/cts需要硬件流量控制,這對於PL2303來說工作得很好)?
爲什麼你說你的適配器是「基於ftdi」,當它清楚地使用Prolific芯片或其克隆?多產和FTDI是競爭對手*。 –
通常,buntu分發的過程是從'uname'獲取正在運行的內核版本並獲取相應的內核源代碼包。然後你可以做一個'make modules'並驗證你得到了一個工作的驅動模塊(沒有改變已經發貨的)。然後,您可以對其進行編輯以進行此功能更改並重建。你也可以直接獲取kernel-headers包並從其他地方獲取模塊源來構建我們的樹,但是你需要確保獲得與你的內核版本兼容的版本。 –
感謝您的信息»多產和FTDI是競爭對手«,我已經糾正了這個問題。 – Joe