Ymodem initial packet incorrect on send
Eröffnet am: 2017-08-23 04:25
Letztes Update: 2020-04-23 01:29
Auswertung: | (Anonym) | Verantwortlicher: | (Keine) |
---|---|---|---|
Priorität: | 5 - Mittel | Meilenstein: | (Keine) |
Typ: | Fehler | Schweregrad: | 5 - Mittel |
Komponente: | (Keine) | Status: | Offen |
Lösung | Keine |
Einzelheiten
1) Begin a Ymodem download to a embedded system.
2) Wait for the the remote system to send 3-4 0x43('C') characters(it is requesting the download to start) before starting a Ymodem send.
3) Based on the number of 0x43's that TeraTerm has received, it will send a initial file size packet to the remote device that is the incorrect size. This bad packet(more than 133 bytes long) is a correct packet that is duplicated by the amount of 0x43's received. If seven 0x43's were received before the file transfer was started, then the initial packet will have six correct packets lumped into a single bad initial file size packet.
[ 22/08/2017 14:31:36 ] - Close port COM2
[ 22/08/2017 14:31:42 ] - Open port COM2 (C:\Program Files (x86)\teraterm\ttermpro.exe) [ 22/08/2017 14:31:45 ] Read data (COM2)0d 0a 37 30 32 30 30 20 62 6f 6f 74 69 6e 67 2e ..70200 booting. 2e 2e 0d 0a 0d 0a 43 61 72 6c 69 6e 20 37 30 32 ......Carlin 702 30 30 3e 00>[ 22/08/2017 14:31:48 ] Written data (COM2)
64 d[ 22/08/2017 14:31:48 ] Read data (COM2)
64 d[ 22/08/2017 14:31:48 ] Written data (COM2)
66 f[ 22/08/2017 14:31:48 ] Read data (COM2)
66 f[ 22/08/2017 14:31:50 ] Written data (COM2)
0d .[ 22/08/2017 14:31:50 ] Read data (COM2)
0a 0a 0d 57 61 69 74 69 6e 67 20 66 6f 72 20 74 ...Waiting for t 68 65 20 66 69 6c 65 20 74 6f 20 62 65 20 73 65 he file to be se 6e 74 20 2e 2e 2e 20 28 70 72 65 73 73 20 27 61 nt ... (press 'a 27 20 74 6f 20 61 62 6f 72 74 29 0a 0d ' to abort)..[ 22/08/2017 14:31:55 ] Read data (COM2)
43 C[ 22/08/2017 14:32:00 ] Read data (COM2)
43 C[ 22/08/2017 14:32:27 ] Read data (COM2)
43 43 43 43 43 CCCCC[ 22/08/2017 14:32:27 ] Written data (COM2)
01 00 ff 37 30 32 30 30 5f 76 30 31 5f 32 33 5f ..ÿ70200_v01_23_ 30 31 35 30 31 35 30 31 35 2e 62 69 6e 00 35 34 015015015.bin.54 33 31 36 20 31 33 31 34 35 31 32 30 33 30 31 20 316 13145120301 31 30 30 36 34 34 00 00 00 00 00 00 00 00 00 00 100644.......... 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00 00 00 71 5e 01 00 ff 37 30 32 30 30 5f 76 30 ...q^..ÿ70200_v0 31 5f 32 33 5f 30 31 35 30 31 35 30 31 35 2e 62 1_23_015015015.b 69 6e 00 35 34 33 31 36 20 31 33 31 34 35 31 32 in.54316 1314512 30 33 30 31 20 31 30 30 36 34 34 00 00 00 00 00 0301 100644..... 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00 00 00 00 00 00 00 00 71 5e 01 00 ff 37 30 32 ........q^..ÿ702 30 30 5f 76 30 31 5f 32 33 5f 30 31 35 30 31 35 00_v01_23_015015 30 31 35 2e 62 69 6e 00 35 34 33 31 36 20 31 33 015.bin.54316 13 31 34 35 31 32 30 33 30 31 20 31 30 30 36 34 34 145120301 100644 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00 00 00 00 00 00 00 00 00 00 00 00 00 71 5e 01 .............q^. 00 ff 37 30 32 30 30 5f 76 30 31 5f 32 33 5f 30 .ÿ70200_v01_23_0 31 35 30 31 35 30 31 35 2e 62 69 6e 00 35 34 33 15015015.bin.543 31 36 20 31 33 31 34 35 31 32 30 33 30 31 20 31 16 13145120301 1 30 30 36 34 34 00 00 00 00 00 00 00 00 00 00 00 00644........... 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00 00 71 5e 01 00 ff 37 30 32 30 30 5f 76 30 31 ..q^..ÿ70200_v01 5f 32 33 5f 30 31 35 30 31 35 30 31 35 2e 62 69 _23_015015015.bi 6e 00 35 34 33 31 36 20 31 33 31 34 35 31 32 30 n.54316 13145120 33 30 31 20 31 30 30 36 34 34 00 00 00 00 00 00 301 100644...... 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00 00 00 00 00 00 00 71 5e 01 00 ff 37 30 32 30 .......q^..ÿ7020 30 5f 76 30 31 5f 32 33 5f 30 31 35 30 31 35 30 0_v01_23_0150150 31 35 2e 62 69 6e 00 35 34 33 31 36 20 31 33 31 15.bin.54316 131 34 35 31 32 30 33 30 31 20 31 30 30 36 34 34 00 45120301 100644. 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00 00 00 00 00 00 00 00 00 00 00 00 71 5e ............q^[ 22/08/2017 14:32:28 ] Read data (COM2)
06 43
Kommentar
I see this issue as far back as version 4.86 from 2015.02.28.
The problem comes from the need to start the receiver before navigating File->Transfer->YMODEM->Send, choosing a file, and pressing "Open". By this time, if the receiver has sent multiple "Start" requests TerraTerm will reply to each of them with a copy of the first packet. This will overwhelm many embedded systems.
My solution was to place a longer delay before the first "Start" message to give the user time to navigate through the menus to their file.
In my opinion, the correct solution would be for TerraTerm to flush the input stream at the start of a transfer.