チケット #24286

登録: 2011-01-31 22:31

最終更新: 2012-05-14 01:09

Sending with Y-Modem fails with u-boot (intermittent)

報告者:damorin担当者:yutakapon
優先度:5 - 中マイルストーン:(未割り当て)
チケットの種類:バグ重要度:5 - 中
コンポーネント:Tera Term状況:完了
解決法修正済み

チケットの詳細

Hi,

sending a file with Y-MODEM is failing quite often when the target is u-boot (2010-12 version) but it is working all the time with HyperTerminal (to my great dismay).

With a serial port monitor, I noticed that TeraTerm is not waiting for the first 'C' to start sending the first block. It is looking like its not flushing its receive buffer before starting.

添付ファイル

添付ファイルリスト
YMODEM.LOG (9KB)
damorin によって 2011-03-18 23:08 に登録されました [File ID: 4536]
ファイルの説明: With YModem log enable.
YMODEM-failed-winxp.LOG (45KB)
mightybatgar によって 2012-05-23 01:12 に登録されました [File ID: 4747]
ファイルの説明: Failed YMODEM log froom a WinXP transfer to uboot
YMODEM-works-win7.LOG (238KB)
mightybatgar によって 2012-05-23 01:13 に登録されました [File ID: 4748]
ファイルの説明: Succeeded YMODEM log from Windows 7 transfer to uboot
YModem-XPFail-7Success-uboot-comparison.jpg (173KB)
mightybatgar によって 2012-05-23 01:20 に登録されました [File ID: 4749]
ファイルの説明: Screen grab of XP - Fail vs. Win 7 diff logs on uboot
新規添付ファイル追加
添付ファイルの追加添付ファイルの追加にはログインが必要です

チケットの履歴 - 17 件中 3 件表示 [古い履歴も表示する]

2011-01-31 22:31 更新者: damorin

  • 新しいチケット "Sending with Y-Modem fails with u-boot (intermittent)" が作成されました

2011-03-17 22:47 更新者: yutakapon

  • 担当者(未割り当て) から yutakapon に更新されました

コメント

Hi damorin,

Would you please retrieve the YMODEM log to investigate your problem? Please turn on the YmodemLog entry in the teraterm.ini file. So, Tera Term will log the YMODEM data to the YMODEM.LOG file.

2011-03-18 23:08 更新者: damorin

  • 添付ファイル YMODEM.LOG (File ID: 4536) が付加されました

2011-03-18 23:10 更新者: damorin

コメント

See attached file.

The download speed was 115200 bits/sec, 8n1.

2011-03-20 02:01 更新者: yutakapon

コメント

Thank you for your attached file. I have checked the file. It seems that the u-boot does not send the ACK(06h) to the Tera Term. First, Tera Term received the 'C'(43h) and sent the first block. Next, Tera Term received not ACK but 'C' character.

2011-03-20 12:41 更新者: maya

コメント

I checked the source code of u-boot.
http://git.denx.de/?p=u-boot.git;a=blob;f=common/xyzModem.c;h=7a46805e13363495103426e057e2d106545b7e0d;hb=HEAD

It seems to be able to output debug string.
If possible, could you show debug output of ymodem transfer, when TeraTerm and HyperTerminal?
Or the log file of PortMon(http://technet.microsoft.com/en-us/sysinternals/bb896644) might useful to check the difference between TeraTerm and HyperTerminal.

To yutakapon
u-boot のソースで、u-boot 側の動作が TeraTerm の動作とマッチしないところはありますか?

2011-03-21 18:23 更新者: yutakapon

コメント

Hi damorin,

I found a bug regarding sending block1 is timing, and then I have fixed the bug in the following archive:

http://ttssh2.sourceforge.jp/snapshot/snapshot-20110321.zip

Would you please evaluate the archive?

TO: Maya-san, u-bootのソースコードを参照し、それがヒントとなったようです。どうもありがとうございます。 これで対u-bootで貫通してくれればよいのですが。

2011-03-21 21:53 更新者: damorin

コメント

Hi yutakapon,

I did 15 YMODEM "send" and no problem at all.

Looking like the bug is fixed.

Thanks

2011-03-21 22:57 更新者: yutakapon

  • チケット完了時刻2011-03-21 22:57 に更新されました
  • マイルストーン(未割り当て) から Tera Term 4.70 (完了済み) に更新されました
  • 状況オープン から 完了 に更新されました
  • 解決法なし から 修正済み に更新されました

コメント

Hi damorin,

Thank you for your quick response. I close this ticket.

2012-05-10 02:20 更新者: None

コメント

This bug is still occurring in latest trunk of TeraTerm on Windows XP SP3, but not on Windows 7 / Vista.

Is there any way to make the snapshot available for re-download so the code fix can be reviewed and redone?

2012-05-10 03:54 更新者: damorin

コメント

Reply To None

This bug is still occurring in latest trunk of TeraTerm on Windows XP SP3, but not on Windows 7 / Vista. Is there any way to make the snapshot available for re-download so the code fix can be reviewed and redone?

Hi,

a few technicians complained about that but it's difficult to reproduce with the latest release.

I will give it a try with the latest snapshot.

2012-05-14 01:09 更新者: yutakapon

コメント

Hi everyone,

If Tera Term has your problem regarding the YMODEM transfering, I will fix the problem. Plase send the YMODEM log if your problem reproduce.

Thanks.

2012-05-23 01:12 更新者: mightybatgar

  • 添付ファイル YMODEM-failed-winxp.LOG (File ID: 4747) が付加されました

2012-05-23 01:13 更新者: mightybatgar

  • 添付ファイル YMODEM-works-win7.LOG (File ID: 4748) が付加されました

2012-05-23 01:19 更新者: mightybatgar

コメント

I just added 2 attached YMODEM logs that show the failed WinXP and succeeded Win7 YMODEM transfer with uboot.

Unfortunately, these logs aren't conclusive and look clean.

When we pull logs from the uboot device, we find an extra null character at the end of the 1024 packet at hex 0x400 in the packet.

This doesn't occur with 128 byte transfers. It doesn't occur with 1K YMODEM transfers on Windows 7 using TeraTerm.

Is there something in the SetupComm or other Windows API calls to initialize the COM port which causes a null pad, then eventually leads to a checksum failure?

I will attach a screen shot of our Win7 / XP remote logs as well.

Thanks for any help, --MightyBatgar

2012-05-23 01:20 更新者: mightybatgar

  • 添付ファイル YModem-XPFail-7Success-uboot-comparison.jpg (File ID: 4749) が付加されました

2012-06-06 03:48 更新者: None

コメント

It turns out that there was an XP hot fix that started to insert zero length packets into the USB stream if the bytes being transferred was an even multiple of 64 for the usbser.sys driver. http://support.microsoft.com/kb/943198

The default is to NOT insert zero length packets into the USB stream for XP and I think every other Windows OS (including 7 and Vista).

To fix, all I had to do was change the max packet size that TeraTerm sends from 1024 to 1023.


追記/更新 #24286 (Sending with Y-Modem fails with u-boot (intermittent))

ログインしていません。ログインしていない状態では、コメントに記載者の記録が残りません。 » ログインする