O.k.
I tried custom scripts and I think I figured out how this SFP module behaves.
After entering the password only one write command is accepted (immediately after entering the password).
The standard write process writes the block in 4 byte chunks. Only the first of these chunks is written.
When I try to write 8 bytes in one operation, the writing goes fine.
How I write data from buffer? If I check option "Import write bytes from buffer", into script is added row DATA:BUFFER; but nothing is written.
When I try to write password and in the next operation 256 bytes from buffer, I get error "Buffer size is to small or provide offset 4 is out of range."
Code: Select all
#SCRIPT HEADER;
SCRIPT:v1.8.1;
#HARDWARE SETTINGS;
HW:I2C,3.2V,SLOW;
//Password operation for SFP/QSFP/XFP/OSFP (block #A2h, addr #7Ah)
#OPERATION;
SW:1,3,0,0,80,0,40,0,0,500;
INSTR:A2,7A;
DATA:11,22,33,44;
#OPERATION;
SW:1,255,0,0,80,0,40,0,0,500;
INSTR:A0,00;
DATA:BUFFER;
Here, my assumption was confirmed that if option "Enter current password" is checked, the password is automatically written at begin of write process, but always to the address A2/7B, not to the address specified in the corresponding field. It's also visible in the script window, which I didn't notice before, I didn't realize it was there. IMHO this is the bug.
…how I can generate script header after deleting it? There's no way to get header from parameters in "Hardware settings" part of window.