When customer makes a task to upload a patch to MA5100, the task fails to upload this patch although TFTP is running normally on the server and can be used to backup configuration of DSLAM.
BMS V200R011B02C026CP006 installed on Solaris 10
First we captured packets from Solaris server while we started the task using command:
#snoop -d ce0 -o /capture/tedata.cap and ip x.x.x.x
where ce0 is the name of the interface that is connected to the DSLAM
x.x.x.x is the IP address of the DSLAM
so this command captures only packets of interface ce0 that is sourced or destinated to IP x.x.x.x
To get the name of the interface use #ifconfig -a
As the problem is related to Solaris TFTP module, so we have to find a workaround, Problem is solved by making a manual DOS script that logs to the DSLAMs one by one and loads the patch and now all the DSLAMs in the customer's network have this patch running and activated.
Attached is the script, it uses a program that telnet to the devices and run a specified script based on output.
Inside the attached script.rar, there is:
TST10.rar is the software that we used to send commands to DSLAMs input.txt is the text file that contains the IP addresses of the DSLAM that we will be patched
Script.rar this contains the patch file that you will run
TSscript2.txt: this is the script that the program will use'
DSLAM sends TFTP read request to Solaris server to read the patch that it will take through TFTP, the server replies with option negotiation failed【attached is the capture】.
MA5100 pads the TFTP read request with extra bytes so that the packet size is larger than 60 bytes, these bytes are dummy and meaningless, however the Solaris TFTP module considers these bytes as options that it doesn't know so it send this error message and transmission of file fails.
On windows TFTP servers, this error doesn't happen as TFTP doesn't recognize these bytes as options.