Tera Term でシリアルポートに関するバグレポートが多くあり、根強く更新されているものもある
本当にバグがあるのか、デバイスドライバやケーブルや対向装置のせいで動かすことが不可能な指定をして「動かない」と言っているのかわからない
PS C:\Users\maya> Get-WmiObject Win32_SerialPort __GENUS : 2 __CLASS : Win32_SerialPort __SUPERCLASS : CIM_SerialController __DYNASTY : CIM_ManagedSystemElement __RELPATH : Win32_SerialPort.DeviceID="COM1" __PROPERTY_COUNT : 47 __DERIVATION : {CIM_SerialController, CIM_Controller, CIM_LogicalDevice, CIM_LogicalElement...} __SERVER : TX100 __NAMESPACE : root\cimv2 __PATH : \\TX100\root\cimv2:Win32_SerialPort.DeviceID="COM1" Availability : 2 Binary : True Capabilities : CapabilityDescriptions : Caption : 通信ポート (COM1) ConfigManagerErrorCode : 0 ConfigManagerUserConfig : False CreationClassName : Win32_SerialPort Description : 通信ポート DeviceID : COM1 ErrorCleared : ErrorDescription : InstallDate : LastErrorCode : MaxBaudRate : 115200 MaximumInputBufferSize : 0 MaximumOutputBufferSize : 0 MaxNumberControlled : Name : 通信ポート (COM1) OSAutoDiscovered : True PNPDeviceID : ACPI\PNP0501\1 PowerManagementCapabilities : {1} PowerManagementSupported : False ProtocolSupported : ProviderType : RS232 Serial Port SettableBaudRate : True SettableDataBits : True SettableFlowControl : True SettableParity : True SettableParityCheck : True SettableRLSD : True SettableStopBits : True Status : OK StatusInfo : 3 Supports16BitMode : False SupportsDTRDSR : True SupportsElapsedTimeouts : True SupportsIntTimeouts : True SupportsParityCheck : True SupportsRLSD : True SupportsRTSCTS : True SupportsSpecialCharacters : False SupportsXOnXOff : True SupportsXOnXOffSet : True SystemCreationClassName : Win32_ComputerSystem SystemName : TX100 TimeOfLastReset : PSComputerName : TX100
PS C:\Users\maya> Get-WmiObject Win32_SerialPort __GENUS : 2 __CLASS : Win32_SerialPort __SUPERCLASS : CIM_SerialController __DYNASTY : CIM_ManagedSystemElement __RELPATH : Win32_SerialPort.DeviceID="COM1" __PROPERTY_COUNT : 47 __DERIVATION : {CIM_SerialController, CIM_Controller, CIM_LogicalDevice, CIM_LogicalElement...} __SERVER : DESKTOP-JBKSIVJ __NAMESPACE : root\cimv2 __PATH : \\DESKTOP-JBKSIVJ\root\cimv2:Win32_SerialPort.DeviceID="COM1" Availability : 2 Binary : True Capabilities : CapabilityDescriptions : Caption : 通信ポート (COM1) ConfigManagerErrorCode : 0 ConfigManagerUserConfig : False CreationClassName : Win32_SerialPort Description : 通信ポート DeviceID : COM1 ErrorCleared : ErrorDescription : InstallDate : LastErrorCode : MaxBaudRate : 115200 MaximumInputBufferSize : 0 MaximumOutputBufferSize : 0 MaxNumberControlled : Name : 通信ポート (COM1) OSAutoDiscovered : True PNPDeviceID : ACPI\PNP0501\1 PowerManagementCapabilities : {1} PowerManagementSupported : False ProtocolSupported : ProviderType : RS232 Serial Port SettableBaudRate : True SettableDataBits : True SettableFlowControl : True SettableParity : True SettableParityCheck : True SettableRLSD : True SettableStopBits : True Status : OK StatusInfo : 3 Supports16BitMode : False SupportsDTRDSR : True SupportsElapsedTimeouts : True SupportsIntTimeouts : True SupportsParityCheck : True SupportsRLSD : True SupportsRTSCTS : True SupportsSpecialCharacters : False SupportsXOnXOff : True SupportsXOnXOffSet : True SystemCreationClassName : Win32_ComputerSystem SystemName : DESKTOP-JBKSIVJ TimeOfLastReset : PSComputerName : DESKTOP-JBKSIVJ
テスト | |||
テスト1 (ttssh2-dev 545) | PC1 | PC4 + BSUSRC06 | ストレートケーブル+変換器 |
テスト2 (ttssh2-dev 550) | PC1 | PC4 + REX-USB60F | ストレートケーブル+変換器 |
テスト3 (ttssh2-dev 550) | PC1 | PC3 | ストレートケーブル+変換器 |
テスト4 (ttssh2-dev 550) | PC3 | PC4 + REX-USB60F | ストレートケーブル+変換器 |
テスト5 | PC1 | PC6 | クロスケーブル |
テスト6 | PC6 | PC3 | クロスケーブル |
テスト7 | PC6 | PC4 + REX-USB60F | クロスケーブル |
https://osdn.net/projects/ttssh2/scm/svn/commits/10551
send mode → | s (big data) → | send mode ← | s (big data) ← | |
テスト5 | 1:OK 0:OK 0->1:NG | 1:16bytes 1<->0:N/A | 1:OK 0:OK 0->1:NG | 1:14bytes 1<->0:N/A |
テスト7 | 1:OK 0:OK 0->1:NG | 1:14bytes 1<->0:N/A | 1:OK 0:※1 0->1:※2 | 1:4096bytes 1<->0:OK |
※1 3文字まで送信側 "send xx, 1 byte", 4文字目から送信側 "send xx, 0 byte"
※2 r で 1 にすると3文字だけ表示される
https://osdn.net/projects/ttssh2/scm/svn/commits/10557
send mode → | s (big data) → | send mode ← | s (big data) ← | |
テスト5 | 1:※1 0:※2 0->1:※3 | 1:OK 1<->0:OK | 1:※4 0:※2 0->1:※3 | 1:OK 1<->0:OK |
テスト7 | 1:※4 0:※2 0->1:※3 | 1:OK 1<->0:OK | 1:※1 0:※5 0->1:※6 | 1:OK 1<->0:OK |
※1 基本的に大丈夫だ("send size 1 (finish)" と表示される)が、連続して打っていると "writing.." と表示されるときがある。その時のキーは受信側に表示されない。
※2 0 にした1文字目は送信側に何も表示されない。2文字目から送信側に "writing.." と表示される。
※3 r で 1 にしても 0 の間のデータは表示されない。その後(1の状態で)送信しても送信側 "writing.." となり受信側に表示されない(l で見ると CTS は ON になっているのに)。送信側の close / open で復旧する。
※4 最初は大丈夫だが、しばらく打っていると "write() error 4317,0x10dd 識別操作子が無効です。" と表示され、その後キーを受け付けなくなる。アプリを落とすしかない。PC6 固有の問題?
※5 0 にした3文字目まで送信側に "send size 1 (finish)" と表示される。4文字目は送信側に何も表示されない。5文字目から送信側に "writing.." と表示される。
※6 r で 1 にすると 3 文字だけ表示される。その後(1の状態で)送信しても送信側 "writing.." となり受信側に表示されない(l で見ると CTS は ON になっているのに)。送信側の close / open で復旧する。
https://osdn.net/projects/ttssh2/scm/svn/commits/10562
send mode → | s (big data) → | send mode ← | s (big data) ← | |
テスト5 | 1:OK 0:OK 0->1:※1 | 1:OK 1<->0:OK | 1:OK 0:OK 0->1:※1 | 1:OK 1<->0:OK |
テスト7 | 1:OK 0:OK 0->1:※1 | 1:OK 1<->0:OK | 1:OK 0:OK 0->1:※1 | 1:OK 1<->0:OK |
※1 受信側が0の間に送信側で押したキーの結果は、受信側を1に復旧しても表示されない
連続して打って詰まった?ときの動作はこうなりました。受信側に、取りこぼされずに表示されています。 send 31, sent 0 byte pending send size 1 (finish) send 32, sent 0 byte pending send size 1 (finish) send 33, sent 0 byte pending send size 1 (finish) send 34, sent 1 byte send 32, sent 0 byte pending send size 1 (finish) send 33, sent 0 byte pending send size 1 (finish) send 31, sent 0 byte pending send size 1 (finish)
https://osdn.net/projects/ttssh2/scm/svn/commits/10601
branches/ttcomtester
trunk