案例3:文件传输错误导致包文件加载失败

发布时间:2020-05-17 21:20:45

文件传输错误导致包文件加载失败

故障现象:

MA5680T补丁升级,补丁从Software Version:MA5600V800R006C02 SPC108 升级为Software Version:MA5600V800R006C02 SPC119。在加载包文件sculv8r6c00HP1119_gpon_new.bin过程中,当加载到91%的时候提示包文件错误。服务器上的文件是从客户端上传过去,服务器为linux系统,客户端是windows xp系统。

原因分析:

分析判断可能原因:

1、操作错误

2下载的原文件错误

3、拆包错误

4、网络丢包

5、其他

原因排查:

1、首先看下操作步骤,

ST_TP_MA5680T(config)#display patch all

Software Version:MA5600V800R006C02

SPC100

SPH108

------------------------------------------------------------------------

Current Patch State:

------------------------------------------------------------------------

Patch Name Patch State Delivery Attribute Dependency

------------------------------------------------------------------------

SPC100 running common cold patch NO

SPH108 running common hot patch NO

------------------------------------------------------------------------

Total:2

Last Patch State:

------------------------------------------------------------------------

Patch Name Patch State Delivery Attribute Dependency

------------------------------------------------------------------------

SPC100 running common cold patch NO

------------------------------------------------------------------------

Total:1

ST_TP_MA5680T(config)#load patch ftp 192.168.35.242 HP1016

ST_TP_MA5680T(config)#

The loading starts

The loading is successful

ST_TP_MA5680T(config)#patch activate HP1016

Patch operation in active board succeeded

ST_TP_MA5680T(config)#patch run HP1016

Patch operation in active board succeeded

ST_TP_MA5680T(config)#

Patch operation in standby board succeeded

ST_TP_MA5680T(config)#load patch ftp 192.168.35.242 SPH119

ST_TP_MA5680T(config)#

The loading is successful

ST_TP_MA5680T(config)#patch activate SPH119

Patch operation in active board succeeded

Patch operation in standby board succeeded

ST_TP_MA5680T(config)#patch run SPH119

Patch operation in active board succeeded

ST_TP_MA5680T(config)#

Patch operation in standby board succeeded

ST_TP_MA5680T(config)#display patch all

Software Version:MA5600V800R006C02

SPC100

SPH119

HP1016

------------------------------------------------------------------------

Current Patch State:

------------------------------------------------------------------------

Patch Name Patch State Delivery Attribute Dependency

------------------------------------------------------------------------

SPC100 running common cold patch NO

HP1016 running common hot patch NO

SPH119 running common hot patch YES

------------------------------------------------------------------------

ST_TP_MA5680T(config)#load packetfile

{ ftp|sftp|tftp }:ftp 192.168.35.242

{ filename }:sculv8r6c00HP1119_gpon_new.bin

命令:

load packetfile ftp 192.168.35.242 sculv8r6c00HP1119_gpon_new.bin

加载新的包文件将覆盖原有的包文件

回滚功能将被取消, 请确认系统已经不需要回滚

确实需要加载包文件? (y/n)[n]:y

加载(备份,复制,...)命令开始进行, 请耐心等待并注意结果进度显示

加载(备份,复制,...)进行过程中, 任何复位或倒换操作都会导致失败

并引发不可预知的严重后果

加载开始

参数信息:框号:0,槽号:9,位置:-1,加载类型:发布包文件,加载对象:主用主控板

ST_TP_MA5680T(config)#

加载开始

参数信息:框号:0,槽号:10,位置:-1,加载类型:发布包文件,加载对象:备用主 控板

ST_TP_MA5680T(config)#display progress load

框号/槽号: 0/9

板名称: H801SCUL

操作类型: 加载

文件类型: 发布包文件

操作阶段: 文件从外部传向板内

进度: 91%

框号/槽号: 0/10

板名称: H801SCUL

操作类型: 加载

文件类型: 发布包文件

操作阶段: 文件从外部传向板内

进度: 36%

ST_TP_MA5680T(config)#

加载失败

参数信息:框号:0,槽号:9,位置:-1,加载类型:发布包文件,加载对象:主用主控板,失败原因 :包文件错误

ST_TP_MA5680T(config)#

加载失败

参数信息:框号:0,槽号:10,位置:-1,加载类型:发布包文件,加载对象:备用主 控板,失败原因 :包文件错误

操作过程按照升级步骤执行,不存在问题。

2、下载的原文件错误

文件下载用网络蚂蚁,下载过程中有中断过,然后通过续传继续下载,怀疑续传有问题。删除原文件重新在华为 support下载,拆包后传到服务器,重新给设备加载包文件。

ST_TP_MA5680T(config)#load packetfile

{ ftp|sftp|tftp }:ftp 192.168.35.242

{ filename }:sculv8r6c00HP1119_gpon_new2.bin

ST_TP_MA5680T(config)#

加载失败

参数信息:框号:0,槽号:9,位置:-1,加载类型:发布包文件,加载对象:主用主控板,失败原因 :包文件错误

ST_TP_MA5680T(config)#

加载失败

参数信息:框号:0,槽号:10,位置:-1,加载类型:发布包文件,加载对象:备用主 控板,失败原因 :包文件错误

依然加载失败,排除原文件错误问题。

3、怀疑拆包错误引起。

拆包工具正确,包文件内容如下:

把该文件拿到现场另一台OLT加载,补丁版本成功加载:

STYD_XXDL_MA5680T#display io-packetfile information

Version of the board software packetfile:MA5600V800R006C02HP1119

---------------------------------------------------------------------------

Index File Type Version File Length

---------------------------------------------------------------------------

0 H801ETHB BIOS 107 612608

1 H801ETHB PROGRAM 126 3748736

2 H801GPBC BIOS 715 366080

3 H801GPBC PROGRAM 668 4988544

4 H801FICB BIOS 108 4224

5 H801GICD BIOS 108 4352

6 H801GICE BIOS 108 4480

7 H801GICF BIOS 108 4608

8 H801GICG BIOS 108 4736

9 H801GICD CPLD 108 10752

10 H801GICF CPLD 108 10880

11 H801GICE CPLD 107 9984

12 H801GICG CPLD 107 10112

13 H801FICB PROGRAM 340 46080

14 H801GICD PROGRAM 340 46208

15 H801GICE PROGRAM 340 46336

16 H801GICF PROGRAM 340 46464

17 H801GICG PROGRAM 340 46592

18 H801FICA PROGRAM 150 32256

19 H801GICA PROGRAM 150 32256

20 H801GICB PROGRAM 150 32256

21 FAN PROGRAM 156 7808

22 H801ESC PROGRAM 110 18816

23 H802GPBD BIOS 106 524160

24 H802GPBD PROGRAM 665 3804928

---------------------------------------------------------------------------

Status of the board software packetfile:active

STYD_XXDL_MA5680T#display patch all

Software Version:MA5600V800R006C02

SPC100

SPH119

HP1016

------------------------------------------------------------------------

Current Patch State:

------------------------------------------------------------------------

Patch Name Patch State Delivery Attribute Dependency

------------------------------------------------------------------------

SPC100 running common cold patch NO

HP1016 running common hot patch NO

SPH119 running common hot patch YES

------------------------------------------------------------------------

Total:3

Patches in the system cannot be rolled back

排查拆包错误引起的推断。

4、网络丢包。

在OLT设备上ping 服务器:

ST_TP_MA5680T(config)#ping -c 100 192.168.35.242

Reply from 192.168.35.242: bytes=56 Sequence=99 ttl=253 time=1 ms

Reply from 192.168.35.242: bytes=56 Sequence=100 ttl=253 time=1 ms

--- 192.168.35.242 ping statistics ---

100 packet(s) transmitted

100 packet(s) received

0.00% packet loss

round-trip min/avg/max = 1/25/100 ms

排除了服务器与设备丢包问题。

怀疑从客户端传到服务器时丢包,在客户端ping服务器:

C:\Documents and Settings\Administrator>ping 10.253.238.45 -t

Reply from 10.253.238.45: bytes=32 time<1ms TTL=253

Reply from 10.253.238.45: bytes=32 time<1ms TTL=253

Reply from 10.253.238.45: bytes=32 time<1ms TTL=253

Ping statistics for 10.253.238.45:

Packets: Sent = 511, Received = 511, Lost = 0 (0% loss),

Approximate round trip times in milli-seconds:

Minimum = 0ms, Maximum = 1ms, Average = 0ms

文件传输不存在丢包。

5、虽然不存在丢包,但是在现场加载就没问题,远程加载就出现包文件错误,故依然怀疑包文件传输有问题。

看下从客户端把文件传到服务器步骤:

C:\Documents and Settings\Administrator>ftp

ftp> open 10.253.238.45

Connected to 10.253.238.45.

220 hoste10000g0 FTP server ready.

User (10.253.238.45:(none)): root

331 Password required for root.

Password:

230 User root logged in.

ftp> put "C:\Documents and Settings\Administrator\桌面\ sculv8r6c00HP1119_gpon_new.bin"

200 PORT command successful.

150 Opening ASCII mode data connection for OLT补丁升级脚本).txt.

226 Transfer complete.

从传输过程可以看到,windowxp默认的传输格式为ASCII传输,而linux系统ftp传输时采用二进制传输。在传输过程中导致包文件错误。

解决措施

1、通过cuteftp把文件文件上载到服务器,再重新加载包文件,文件加载成功:

ST_TP_MA5680T(config)

load packetfile ftp 10.253.238.45 sculv8r6c00HP1119_gpon_new.bin

加载新的包文件将覆盖原有的包文件

回滚功能将被取消, 请确认系统已经不需要回滚

确实需要加载包文件? (y/n)[n]:y

加载(备份,复制,...)命令开始进行, 请耐心等待并注意结果进度显示

加载(备份,复制,...)进行过程中, 任何复位或倒换操作都会导致失败

并引发不可预知的严重后果

加载开始

参数信息:框号:0,槽号:9,位置:-1,加载类型:发布包文件,加载对象:主用主控板

ST_TP_MA5680T(config)#

加载成功

参数信息:框号:0,槽号:9,位置:-1,加载类型:发布包文件,加载对象:主用主控板

重启设备后,补丁已经正确打上。

2、在传文件时设为二进制传输:

ftp> binary

200 Type set to I.

把文件传到服务器上也同样能正确打上补丁。

经验总结:

windowxp默认的传输格式为ASCII传输,而linux系统ftp传输时采用二进制传输。在传输过程中导致包文件错误,由于N2000网管安装在linux系统中,用dos命令从客户端上载文件的时候尤其要注意ftp传输的格式问题。包括ONU的版本,设备数据库文件等,最好用ftp工具上传下载,避免由于文件传输格式不一致引起的错误。

案例3:文件传输错误导致包文件加载失败

相关推荐