<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://wiki.sfptotal.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Sfptotal</id>
		<title>SFPTotal Wiki - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="http://wiki.sfptotal.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Sfptotal"/>
		<link rel="alternate" type="text/html" href="http://wiki.sfptotal.com/index.php/Special:Contributions/Sfptotal"/>
		<updated>2026-05-30T16:50:44Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.26.2</generator>

	<entry>
		<id>http://wiki.sfptotal.com/index.php?title=SFPTotal_Whistle&amp;diff=838</id>
		<title>SFPTotal Whistle</title>
		<link rel="alternate" type="text/html" href="http://wiki.sfptotal.com/index.php?title=SFPTotal_Whistle&amp;diff=838"/>
				<updated>2021-05-10T13:52:38Z</updated>
		
		<summary type="html">&lt;p&gt;Sfptotal: /* Install Driver */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:SFPTotal-Whistle.jpg|350px|thumb|right|Programmer SFPTotal Whistle]]&lt;br /&gt;
&lt;br /&gt;
'''SFPTotal Whistle''' is a coding board designed for programming  fiber optic and copper transceivers SFP form factor, including 10/100/1000BASE SFP, SFP RJ45, 10GBASE SFP+, SFP DAC and AOC.&lt;br /&gt;
&lt;br /&gt;
In contrast in another similar products the device supports coding write-protected MSA transceivers in accordance with SFF-8472. User interface for entry a password field provides by a software.&lt;br /&gt;
&lt;br /&gt;
The device full compatible with a software SFPTotal Wizard which provides user friendly interface for exploring the code parameters, reading the memory and writing changes into transceivers memory. Drivers and software are provided free.&lt;br /&gt;
&lt;br /&gt;
'''The package includes:'''&lt;br /&gt;
* SFPTotal Whistle coding board&lt;br /&gt;
* Activation key which required for working with a software SFPTotal Wizard&lt;br /&gt;
* Quick start guide&lt;br /&gt;
&lt;br /&gt;
The activation key is already uploaded in the device. You don't need to do any actions for device activation.&lt;br /&gt;
The board doesn't require any usb cable for connection to PC. It  connects directly to USB port.&lt;br /&gt;
&lt;br /&gt;
On the bottom side is placed a green LED indicates a power supply and USB port connection statuses.&lt;br /&gt;
&lt;br /&gt;
===Application===&lt;br /&gt;
* Programming SFP and SFP+ fiber optical transceivers&lt;br /&gt;
* Improving of compatibility between network equipment of different manufacturers&lt;br /&gt;
* Uploading changes to write-protected transceivers&lt;br /&gt;
* Reading DDM interface&lt;br /&gt;
&lt;br /&gt;
===Install Driver===&lt;br /&gt;
There should be installed FTDI drivers for the device to work correctly.&lt;br /&gt;
&lt;br /&gt;
http://www.ftdichip.com/Drivers/VCP.htm|http://www.ftdichip.com/Drivers/VCP.htm&lt;br /&gt;
&lt;br /&gt;
http://www.ftdichip.com/Drivers/CDM/CDM21228_Setup.zip|http://www.ftdichip.com/Drivers/CDM/CDM21228_Setup.zip&lt;/div&gt;</summary>
		<author><name>Sfptotal</name></author>	</entry>

	<entry>
		<id>http://wiki.sfptotal.com/index.php?title=SFPTotal_Whistle&amp;diff=837</id>
		<title>SFPTotal Whistle</title>
		<link rel="alternate" type="text/html" href="http://wiki.sfptotal.com/index.php?title=SFPTotal_Whistle&amp;diff=837"/>
				<updated>2021-05-10T13:52:18Z</updated>
		
		<summary type="html">&lt;p&gt;Sfptotal: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:SFPTotal-Whistle.jpg|350px|thumb|right|Programmer SFPTotal Whistle]]&lt;br /&gt;
&lt;br /&gt;
'''SFPTotal Whistle''' is a coding board designed for programming  fiber optic and copper transceivers SFP form factor, including 10/100/1000BASE SFP, SFP RJ45, 10GBASE SFP+, SFP DAC and AOC.&lt;br /&gt;
&lt;br /&gt;
In contrast in another similar products the device supports coding write-protected MSA transceivers in accordance with SFF-8472. User interface for entry a password field provides by a software.&lt;br /&gt;
&lt;br /&gt;
The device full compatible with a software SFPTotal Wizard which provides user friendly interface for exploring the code parameters, reading the memory and writing changes into transceivers memory. Drivers and software are provided free.&lt;br /&gt;
&lt;br /&gt;
'''The package includes:'''&lt;br /&gt;
* SFPTotal Whistle coding board&lt;br /&gt;
* Activation key which required for working with a software SFPTotal Wizard&lt;br /&gt;
* Quick start guide&lt;br /&gt;
&lt;br /&gt;
The activation key is already uploaded in the device. You don't need to do any actions for device activation.&lt;br /&gt;
The board doesn't require any usb cable for connection to PC. It  connects directly to USB port.&lt;br /&gt;
&lt;br /&gt;
On the bottom side is placed a green LED indicates a power supply and USB port connection statuses.&lt;br /&gt;
&lt;br /&gt;
===Application===&lt;br /&gt;
* Programming SFP and SFP+ fiber optical transceivers&lt;br /&gt;
* Improving of compatibility between network equipment of different manufacturers&lt;br /&gt;
* Uploading changes to write-protected transceivers&lt;br /&gt;
* Reading DDM interface&lt;br /&gt;
&lt;br /&gt;
===Install Driver===&lt;br /&gt;
There should be installed FTDI drivers for the device to work correctly.&lt;br /&gt;
http://www.ftdichip.com/Drivers/VCP.htm|http://www.ftdichip.com/Drivers/VCP.htm&lt;br /&gt;
or&lt;br /&gt;
http://www.ftdichip.com/Drivers/CDM/CDM21228_Setup.zip|http://www.ftdichip.com/Drivers/CDM/CDM21228_Setup.zip&lt;/div&gt;</summary>
		<author><name>Sfptotal</name></author>	</entry>

	<entry>
		<id>http://wiki.sfptotal.com/index.php?title=SFPTotal_Whistle&amp;diff=836</id>
		<title>SFPTotal Whistle</title>
		<link rel="alternate" type="text/html" href="http://wiki.sfptotal.com/index.php?title=SFPTotal_Whistle&amp;diff=836"/>
				<updated>2021-05-10T13:51:18Z</updated>
		
		<summary type="html">&lt;p&gt;Sfptotal: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:SFPTotal-Whistle.jpg|350px|thumb|right|Programmer SFPTotal Whistle]]&lt;br /&gt;
&lt;br /&gt;
'''SFPTotal Whistle''' is a coding board designed for programming  fiber optic and copper transceivers SFP form factor, including 10/100/1000BASE SFP, SFP RJ45, 10GBASE SFP+, SFP DAC and AOC.&lt;br /&gt;
&lt;br /&gt;
In contrast in another similar products the device supports coding write-protected MSA transceivers in accordance with SFF-8472. User interface for entry a password field provides by a software.&lt;br /&gt;
&lt;br /&gt;
The device full compatible with a software SFPTotal Wizard which provides user friendly interface for exploring the code parameters, reading the memory and writing changes into transceivers memory. Drivers and software are provided free.&lt;br /&gt;
&lt;br /&gt;
'''The package includes:'''&lt;br /&gt;
* SFPTotal Whistle coding board&lt;br /&gt;
* Activation key which required for working with a software SFPTotal Wizard&lt;br /&gt;
* Quick start guide&lt;br /&gt;
&lt;br /&gt;
The activation key is already uploaded in the device. You don't need to do any actions for device activation.&lt;br /&gt;
The board doesn't require any usb cable for connection to PC. It  connects directly to USB port.&lt;br /&gt;
&lt;br /&gt;
On the bottom side is placed a green LED indicates a power supply and USB port connection statuses.&lt;br /&gt;
&lt;br /&gt;
===Application===&lt;br /&gt;
* Programming SFP and SFP+ fiber optical transceivers&lt;br /&gt;
* Improving of compatibility between network equipment of different manufacturers&lt;br /&gt;
* Uploading changes to write-protected transceivers&lt;br /&gt;
* Reading DDM interface&lt;br /&gt;
&lt;br /&gt;
===Install Driver===&lt;br /&gt;
There should be installed FTDI drivers for the device to work correctly.&lt;br /&gt;
[http://www.ftdichip.com/Drivers/VCP.htm|http://www.ftdichip.com/Drivers/VCP.htm]&lt;br /&gt;
or&lt;br /&gt;
[http://www.ftdichip.com/Drivers/CDM/CDM21228_Setup.zip|http://www.ftdichip.com/Drivers/CDM/CDM21228_Setup.zip]&lt;/div&gt;</summary>
		<author><name>Sfptotal</name></author>	</entry>

	<entry>
		<id>http://wiki.sfptotal.com/index.php?title=SFPTotal_Whistle&amp;diff=835</id>
		<title>SFPTotal Whistle</title>
		<link rel="alternate" type="text/html" href="http://wiki.sfptotal.com/index.php?title=SFPTotal_Whistle&amp;diff=835"/>
				<updated>2021-05-10T13:50:51Z</updated>
		
		<summary type="html">&lt;p&gt;Sfptotal: /* Install Driver */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:SFPTotal-Whistle.jpg|350px|thumb|right|Programmer SFPTotal Whistle]]&lt;br /&gt;
&lt;br /&gt;
'''SFPTotal Whistle''' is a coding board designed for programming  fiber optic and copper transceivers SFP form factor, including 10/100/1000BASE SFP, SFP RJ45, 10GBASE SFP+, SFP DAC and AOC.&lt;br /&gt;
&lt;br /&gt;
In contrast in another similar products the device supports coding write-protected MSA transceivers in accordance with SFF-8472. User interface for entry a password field provides by a software.&lt;br /&gt;
&lt;br /&gt;
The device full compatible with a software SFPTotal Wizard which provides user friendly interface for exploring the code parameters, reading the memory and writing changes into transceivers memory. Drivers and software are provided free.&lt;br /&gt;
&lt;br /&gt;
'''The package includes:'''&lt;br /&gt;
* SFPTotal Whistle coding board&lt;br /&gt;
* Activation key which required for working with a software SFPTotal Wizard&lt;br /&gt;
* Quick start guide&lt;br /&gt;
&lt;br /&gt;
The activation key is already uploaded in the device. You don't need to do any actions for device activation.&lt;br /&gt;
The board doesn't require any usb cable for connection to PC. It  connects directly to USB port.&lt;br /&gt;
&lt;br /&gt;
On the bottom side is placed a green LED indicates a power supply and USB port connection statuses.&lt;br /&gt;
&lt;br /&gt;
===Application===&lt;br /&gt;
* Programming SFP and SFP+ fiber optical transceivers&lt;br /&gt;
* Improving of compatibility between network equipment of different manufacturers&lt;br /&gt;
* Uploading changes to write-protected transceivers&lt;br /&gt;
* Reading DDM interface&lt;br /&gt;
&lt;br /&gt;
===Install Driver===&lt;br /&gt;
There should be installed FTDI drivers for the device to work correctly.&lt;br /&gt;
[[http://www.ftdichip.com/Drivers/VCP.htm]]&lt;br /&gt;
or&lt;br /&gt;
[[http://www.ftdichip.com/Drivers/CDM/CDM21228_Setup.zip]]&lt;/div&gt;</summary>
		<author><name>Sfptotal</name></author>	</entry>

	<entry>
		<id>http://wiki.sfptotal.com/index.php?title=SFPTotal_Whistle&amp;diff=834</id>
		<title>SFPTotal Whistle</title>
		<link rel="alternate" type="text/html" href="http://wiki.sfptotal.com/index.php?title=SFPTotal_Whistle&amp;diff=834"/>
				<updated>2021-05-10T13:50:39Z</updated>
		
		<summary type="html">&lt;p&gt;Sfptotal: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:SFPTotal-Whistle.jpg|350px|thumb|right|Programmer SFPTotal Whistle]]&lt;br /&gt;
&lt;br /&gt;
'''SFPTotal Whistle''' is a coding board designed for programming  fiber optic and copper transceivers SFP form factor, including 10/100/1000BASE SFP, SFP RJ45, 10GBASE SFP+, SFP DAC and AOC.&lt;br /&gt;
&lt;br /&gt;
In contrast in another similar products the device supports coding write-protected MSA transceivers in accordance with SFF-8472. User interface for entry a password field provides by a software.&lt;br /&gt;
&lt;br /&gt;
The device full compatible with a software SFPTotal Wizard which provides user friendly interface for exploring the code parameters, reading the memory and writing changes into transceivers memory. Drivers and software are provided free.&lt;br /&gt;
&lt;br /&gt;
'''The package includes:'''&lt;br /&gt;
* SFPTotal Whistle coding board&lt;br /&gt;
* Activation key which required for working with a software SFPTotal Wizard&lt;br /&gt;
* Quick start guide&lt;br /&gt;
&lt;br /&gt;
The activation key is already uploaded in the device. You don't need to do any actions for device activation.&lt;br /&gt;
The board doesn't require any usb cable for connection to PC. It  connects directly to USB port.&lt;br /&gt;
&lt;br /&gt;
On the bottom side is placed a green LED indicates a power supply and USB port connection statuses.&lt;br /&gt;
&lt;br /&gt;
===Application===&lt;br /&gt;
* Programming SFP and SFP+ fiber optical transceivers&lt;br /&gt;
* Improving of compatibility between network equipment of different manufacturers&lt;br /&gt;
* Uploading changes to write-protected transceivers&lt;br /&gt;
* Reading DDM interface&lt;br /&gt;
&lt;br /&gt;
===Install Driver===&lt;br /&gt;
There should be installed FTDI drivers for the device to work correctly.&lt;br /&gt;
[http://www.ftdichip.com/Drivers/VCP.htm]&lt;br /&gt;
or&lt;br /&gt;
[http://www.ftdichip.com/Drivers/CDM/CDM21228_Setup.zip]&lt;/div&gt;</summary>
		<author><name>Sfptotal</name></author>	</entry>

	<entry>
		<id>http://wiki.sfptotal.com/index.php?title=SFPTotal_Plus_X&amp;diff=833</id>
		<title>SFPTotal Plus X</title>
		<link rel="alternate" type="text/html" href="http://wiki.sfptotal.com/index.php?title=SFPTotal_Plus_X&amp;diff=833"/>
				<updated>2021-05-10T13:49:06Z</updated>
		
		<summary type="html">&lt;p&gt;Sfptotal: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Sfptotal_plus_x.png|450px|thumb|right|Programmer SFPTotal Plus X]]'''SFPTotal Plus X''' is a new revision of universal programming board SFPTotal Plus with improved support fiber optical transceivers. The coding board allows to reprogram 100M and 1.25G SFP, 8/10/16G SFP+, 25G SFP28, 10G XFP,  40G QSFP+, 100G QSFP28 and 200/400G QSFP-DD transceivers, DAC and AOC cables. Device connects to PC via USB interface through which performed control and power supply of transceiver. An external supply adapter connection socket is presented for work with high-powered transceivers with an overestimated power consumption (for example, transceivers for distance 40/80/120 km).&lt;br /&gt;
&lt;br /&gt;
== Application ==&lt;br /&gt;
&lt;br /&gt;
Programmers SFPTotal are used to solve next tasks:&lt;br /&gt;
* Programming transceviers SFP, XFP, QSFP and QSFP-DD form factors&lt;br /&gt;
* Providing of compatibility between network equipment of different manufacturers&lt;br /&gt;
* Reflashing memory of write-protected transceivers&lt;br /&gt;
* Changing settings of PHY controllers&lt;br /&gt;
* Branding for OEM transceivers&lt;br /&gt;
* Diagnosis transceiver by reading the DDM&lt;br /&gt;
* Accounting for optical transceivers&lt;br /&gt;
&lt;br /&gt;
== Quick start guide ==&lt;br /&gt;
&lt;br /&gt;
# Connect SFPTotal Plus board to your PC using USB type C cable&lt;br /&gt;
# Install [http://wiki.sfptotal.com/index.php/Installing_drivers_for_SFPTotal_Plus%5CMini drivers for SFPTotal Device]&lt;br /&gt;
# Download application [[SFPTotal Wizard]] &lt;br /&gt;
# Start SFPTotal Wizard&lt;br /&gt;
# Insert transceiver to the programmer port&lt;br /&gt;
# [[Reading transceiver's memory]]&lt;br /&gt;
&lt;br /&gt;
== Listing of elements ==&lt;br /&gt;
&lt;br /&gt;
Listing of elements placed on circuit board of SFPTotal Plus X programmer &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''1. Transceiver ports'''&lt;br /&gt;
&lt;br /&gt;
'''P2''' - Port for SFP, SFP+, SFP28 transceivers&lt;br /&gt;
&lt;br /&gt;
'''P11''' - Port for QSFP+, QSFP28 and QSFP-DD&lt;br /&gt;
&lt;br /&gt;
'''P9''' - Port for XFP&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''2. Power supply plans'''&lt;br /&gt;
&lt;br /&gt;
'''P26''' - Common power supply 3.3V for ports. Must be connected to provide power supply on ports.&lt;br /&gt;
&lt;br /&gt;
'''P1''' - PWR_TX and PWR_RX connectors are power supply of SFP port, a pair of 3.3 V for VccT and VccR pins.&lt;br /&gt;
&lt;br /&gt;
'''P24, P23, P17, P16, P15, P8''' - power supply of QSFP-DD port,  3.3 V for Vcc1, VccTx and VccRx pins.&lt;br /&gt;
&lt;br /&gt;
'''P12, P14, P13, P10''' - power supply of XFP port: 3.3V, -5V, 5V and 1.8 power supply plans.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''3. Jumpers'''&lt;br /&gt;
&lt;br /&gt;
'''P3''' - low power mode, keep closed to disable low power mode (TX enable).&lt;br /&gt;
&lt;br /&gt;
'''P4''' - RS1 (position 1-2) and RS0 (position 3-4) pins.&lt;br /&gt;
&lt;br /&gt;
'''P18''' - QSFP ModSelL&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;The ModSelL is an input pin. When held low by the host, the module responds to 2-wire serial communication commands. The ModSelL allows the use of multiple QSFP modules on a single 2-wire interface bus. When the ModSelL is “High”, the module shall not respond to or acknowledge any 2-wire interface communication from the host. ModSelL signal input node must be biased to the “High” state in the module.&lt;br /&gt;
&lt;br /&gt;
INF-8438&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notice: The programmer automatically switches the contact to &amp;quot;Low&amp;quot; level when performing read and write operations on the data bus.&lt;br /&gt;
&lt;br /&gt;
'''P19''' - QSFP ResetL&lt;br /&gt;
&lt;br /&gt;
'''P20''' - XFP ModDeSel&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
The Mod_DeSel is an input pin. When held Low by the host, the module responds to 2-wire serial communication commands. The Mod_DeSel allows the use of multiple XFP modules on a single 2-wire interface bus.&lt;br /&gt;
When the Mod_DeSel pin is “High”, the module shall not respond to or acknowledge any 2-wire interface communication from the host. Mod_DeSel pin must be pulled to VCC3 in the module.&lt;br /&gt;
&lt;br /&gt;
INF-8077i&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notice: The programmer automatically switches the contact to &amp;quot;Low&amp;quot; level when performing read and write operations on the data bus.&lt;br /&gt;
&lt;br /&gt;
'''P21''' - XFP PDOWN/RESET&lt;br /&gt;
&amp;lt;pre&amp;gt;This is a multifunction pin for module Power Down and Reset. The P_Down/RST pin must be pulled up to VCC3 in the XFP module.&lt;br /&gt;
&lt;br /&gt;
INF-8077i&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''4. Interfaces'''&lt;br /&gt;
&lt;br /&gt;
'''P5''' - USB type C port for connection to PC&lt;br /&gt;
&lt;br /&gt;
'''P22''' - I&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;C databus with logic level 3V3 and 5V&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''5. LED indicators '''&lt;br /&gt;
&lt;br /&gt;
'''LED1 - POWER''' - should statically light when board connected to USB or to external supply adapter.&lt;br /&gt;
&lt;br /&gt;
'''LED2 - MCU''' - indication of power supply for microcontroller.&lt;br /&gt;
&lt;br /&gt;
'''LED3 - ERROR''' - should glow when unhandled errors occur on the data bus, for example: connection more than 1 transceiver.&lt;br /&gt;
&lt;br /&gt;
'''LED4 - STATUS''' - should blinking when transceiver is not connected and statically light when transceiver is connected.&lt;br /&gt;
&lt;br /&gt;
== Management interface ==&lt;br /&gt;
&lt;br /&gt;
The device provides access to management interface (CLI) by connecting through a virtual serial port.&lt;br /&gt;
You can use the programming board without [[SFPTotal Wizard]] software to get more features or to realize the opportunities that are not available in the standard software. Use this document to get information about commands which supported by SFPTotal Plus.&lt;br /&gt;
&lt;br /&gt;
Management inerface is full compatible with SFPTotal Plus https://wiki.sfptotal.com/index.php/SFPTotal_Plus#Management_interface&lt;/div&gt;</summary>
		<author><name>Sfptotal</name></author>	</entry>

	<entry>
		<id>http://wiki.sfptotal.com/index.php?title=File:Sfptotal_plus_x.png&amp;diff=832</id>
		<title>File:Sfptotal plus x.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.sfptotal.com/index.php?title=File:Sfptotal_plus_x.png&amp;diff=832"/>
				<updated>2021-05-10T13:48:48Z</updated>
		
		<summary type="html">&lt;p&gt;Sfptotal: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Sfptotal</name></author>	</entry>

	<entry>
		<id>http://wiki.sfptotal.com/index.php?title=SFPTotal_Plus_X&amp;diff=831</id>
		<title>SFPTotal Plus X</title>
		<link rel="alternate" type="text/html" href="http://wiki.sfptotal.com/index.php?title=SFPTotal_Plus_X&amp;diff=831"/>
				<updated>2021-05-10T13:47:52Z</updated>
		
		<summary type="html">&lt;p&gt;Sfptotal: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:sfptotal_plus_x.png|450px|thumb|right|Programmer SFPTotal Plus X]]'''SFPTotal Plus X''' is a new revision of universal programming board SFPTotal Plus with improved support fiber optical transceivers. The coding board allows to reprogram 100M and 1.25G SFP, 8/10/16G SFP+, 25G SFP28, 10G XFP,  40G QSFP+, 100G QSFP28 and 200/400G QSFP-DD transceivers, DAC and AOC cables. Device connects to PC via USB interface through which performed control and power supply of transceiver. An external supply adapter connection socket is presented for work with high-powered transceivers with an overestimated power consumption (for example, transceivers for distance 40/80/120 km).&lt;br /&gt;
&lt;br /&gt;
== Application ==&lt;br /&gt;
&lt;br /&gt;
Programmers SFPTotal are used to solve next tasks:&lt;br /&gt;
* Programming transceviers SFP, XFP, QSFP and QSFP-DD form factors&lt;br /&gt;
* Providing of compatibility between network equipment of different manufacturers&lt;br /&gt;
* Reflashing memory of write-protected transceivers&lt;br /&gt;
* Changing settings of PHY controllers&lt;br /&gt;
* Branding for OEM transceivers&lt;br /&gt;
* Diagnosis transceiver by reading the DDM&lt;br /&gt;
* Accounting for optical transceivers&lt;br /&gt;
&lt;br /&gt;
== Quick start guide ==&lt;br /&gt;
&lt;br /&gt;
# Connect SFPTotal Plus board to your PC using USB type C cable&lt;br /&gt;
# Install [http://wiki.sfptotal.com/index.php/Installing_drivers_for_SFPTotal_Plus%5CMini drivers for SFPTotal Device]&lt;br /&gt;
# Download application [[SFPTotal Wizard]] &lt;br /&gt;
# Start SFPTotal Wizard&lt;br /&gt;
# Insert transceiver to the programmer port&lt;br /&gt;
# [[Reading transceiver's memory]]&lt;br /&gt;
&lt;br /&gt;
== Listing of elements ==&lt;br /&gt;
&lt;br /&gt;
Listing of elements placed on circuit board of SFPTotal Plus X programmer &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''1. Transceiver ports'''&lt;br /&gt;
&lt;br /&gt;
'''P2''' - Port for SFP, SFP+, SFP28 transceivers&lt;br /&gt;
&lt;br /&gt;
'''P11''' - Port for QSFP+, QSFP28 and QSFP-DD&lt;br /&gt;
&lt;br /&gt;
'''P9''' - Port for XFP&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''2. Power supply plans'''&lt;br /&gt;
&lt;br /&gt;
'''P26''' - Common power supply 3.3V for ports. Must be connected to provide power supply on ports.&lt;br /&gt;
&lt;br /&gt;
'''P1''' - PWR_TX and PWR_RX connectors are power supply of SFP port, a pair of 3.3 V for VccT and VccR pins.&lt;br /&gt;
&lt;br /&gt;
'''P24, P23, P17, P16, P15, P8''' - power supply of QSFP-DD port,  3.3 V for Vcc1, VccTx and VccRx pins.&lt;br /&gt;
&lt;br /&gt;
'''P12, P14, P13, P10''' - power supply of XFP port: 3.3V, -5V, 5V and 1.8 power supply plans.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''3. Jumpers'''&lt;br /&gt;
&lt;br /&gt;
'''P3''' - low power mode, keep closed to disable low power mode (TX enable).&lt;br /&gt;
&lt;br /&gt;
'''P4''' - RS1 (position 1-2) and RS0 (position 3-4) pins.&lt;br /&gt;
&lt;br /&gt;
'''P18''' - QSFP ModSelL&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;The ModSelL is an input pin. When held low by the host, the module responds to 2-wire serial communication commands. The ModSelL allows the use of multiple QSFP modules on a single 2-wire interface bus. When the ModSelL is “High”, the module shall not respond to or acknowledge any 2-wire interface communication from the host. ModSelL signal input node must be biased to the “High” state in the module.&lt;br /&gt;
&lt;br /&gt;
INF-8438&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notice: The programmer automatically switches the contact to &amp;quot;Low&amp;quot; level when performing read and write operations on the data bus.&lt;br /&gt;
&lt;br /&gt;
'''P19''' - QSFP ResetL&lt;br /&gt;
&lt;br /&gt;
'''P20''' - XFP ModDeSel&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
The Mod_DeSel is an input pin. When held Low by the host, the module responds to 2-wire serial communication commands. The Mod_DeSel allows the use of multiple XFP modules on a single 2-wire interface bus.&lt;br /&gt;
When the Mod_DeSel pin is “High”, the module shall not respond to or acknowledge any 2-wire interface communication from the host. Mod_DeSel pin must be pulled to VCC3 in the module.&lt;br /&gt;
&lt;br /&gt;
INF-8077i&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notice: The programmer automatically switches the contact to &amp;quot;Low&amp;quot; level when performing read and write operations on the data bus.&lt;br /&gt;
&lt;br /&gt;
'''P21''' - XFP PDOWN/RESET&lt;br /&gt;
&amp;lt;pre&amp;gt;This is a multifunction pin for module Power Down and Reset. The P_Down/RST pin must be pulled up to VCC3 in the XFP module.&lt;br /&gt;
&lt;br /&gt;
INF-8077i&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''4. Interfaces'''&lt;br /&gt;
&lt;br /&gt;
'''P5''' - USB type C port for connection to PC&lt;br /&gt;
&lt;br /&gt;
'''P22''' - I&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;C databus with logic level 3V3 and 5V&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''5. LED indicators '''&lt;br /&gt;
&lt;br /&gt;
'''LED1 - POWER''' - should statically light when board connected to USB or to external supply adapter.&lt;br /&gt;
&lt;br /&gt;
'''LED2 - MCU''' - indication of power supply for microcontroller.&lt;br /&gt;
&lt;br /&gt;
'''LED3 - ERROR''' - should glow when unhandled errors occur on the data bus, for example: connection more than 1 transceiver.&lt;br /&gt;
&lt;br /&gt;
'''LED4 - STATUS''' - should blinking when transceiver is not connected and statically light when transceiver is connected.&lt;br /&gt;
&lt;br /&gt;
== Management interface ==&lt;br /&gt;
&lt;br /&gt;
The device provides access to management interface (CLI) by connecting through a virtual serial port.&lt;br /&gt;
You can use the programming board without [[SFPTotal Wizard]] software to get more features or to realize the opportunities that are not available in the standard software. Use this document to get information about commands which supported by SFPTotal Plus.&lt;br /&gt;
&lt;br /&gt;
Management inerface is full compatible with SFPTotal Plus https://wiki.sfptotal.com/index.php/SFPTotal_Plus#Management_interface&lt;/div&gt;</summary>
		<author><name>Sfptotal</name></author>	</entry>

	<entry>
		<id>http://wiki.sfptotal.com/index.php?title=SFPTotal_Plus_X&amp;diff=830</id>
		<title>SFPTotal Plus X</title>
		<link rel="alternate" type="text/html" href="http://wiki.sfptotal.com/index.php?title=SFPTotal_Plus_X&amp;diff=830"/>
				<updated>2021-05-10T13:47:38Z</updated>
		
		<summary type="html">&lt;p&gt;Sfptotal: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Sfptotal_plus_x.png|450px|thumb|right|Programmer SFPTotal Plus X]]'''SFPTotal Plus X''' is a new revision of universal programming board SFPTotal Plus with improved support fiber optical transceivers. The coding board allows to reprogram 100M and 1.25G SFP, 8/10/16G SFP+, 25G SFP28, 10G XFP,  40G QSFP+, 100G QSFP28 and 200/400G QSFP-DD transceivers, DAC and AOC cables. Device connects to PC via USB interface through which performed control and power supply of transceiver. An external supply adapter connection socket is presented for work with high-powered transceivers with an overestimated power consumption (for example, transceivers for distance 40/80/120 km).&lt;br /&gt;
&lt;br /&gt;
== Application ==&lt;br /&gt;
&lt;br /&gt;
Programmers SFPTotal are used to solve next tasks:&lt;br /&gt;
* Programming transceviers SFP, XFP, QSFP and QSFP-DD form factors&lt;br /&gt;
* Providing of compatibility between network equipment of different manufacturers&lt;br /&gt;
* Reflashing memory of write-protected transceivers&lt;br /&gt;
* Changing settings of PHY controllers&lt;br /&gt;
* Branding for OEM transceivers&lt;br /&gt;
* Diagnosis transceiver by reading the DDM&lt;br /&gt;
* Accounting for optical transceivers&lt;br /&gt;
&lt;br /&gt;
== Quick start guide ==&lt;br /&gt;
&lt;br /&gt;
# Connect SFPTotal Plus board to your PC using USB type C cable&lt;br /&gt;
# Install [http://wiki.sfptotal.com/index.php/Installing_drivers_for_SFPTotal_Plus%5CMini drivers for SFPTotal Device]&lt;br /&gt;
# Download application [[SFPTotal Wizard]] &lt;br /&gt;
# Start SFPTotal Wizard&lt;br /&gt;
# Insert transceiver to the programmer port&lt;br /&gt;
# [[Reading transceiver's memory]]&lt;br /&gt;
&lt;br /&gt;
== Listing of elements ==&lt;br /&gt;
&lt;br /&gt;
Listing of elements placed on circuit board of SFPTotal Plus X programmer &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''1. Transceiver ports'''&lt;br /&gt;
&lt;br /&gt;
'''P2''' - Port for SFP, SFP+, SFP28 transceivers&lt;br /&gt;
&lt;br /&gt;
'''P11''' - Port for QSFP+, QSFP28 and QSFP-DD&lt;br /&gt;
&lt;br /&gt;
'''P9''' - Port for XFP&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''2. Power supply plans'''&lt;br /&gt;
&lt;br /&gt;
'''P26''' - Common power supply 3.3V for ports. Must be connected to provide power supply on ports.&lt;br /&gt;
&lt;br /&gt;
'''P1''' - PWR_TX and PWR_RX connectors are power supply of SFP port, a pair of 3.3 V for VccT and VccR pins.&lt;br /&gt;
&lt;br /&gt;
'''P24, P23, P17, P16, P15, P8''' - power supply of QSFP-DD port,  3.3 V for Vcc1, VccTx and VccRx pins.&lt;br /&gt;
&lt;br /&gt;
'''P12, P14, P13, P10''' - power supply of XFP port: 3.3V, -5V, 5V and 1.8 power supply plans.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''3. Jumpers'''&lt;br /&gt;
&lt;br /&gt;
'''P3''' - low power mode, keep closed to disable low power mode (TX enable).&lt;br /&gt;
&lt;br /&gt;
'''P4''' - RS1 (position 1-2) and RS0 (position 3-4) pins.&lt;br /&gt;
&lt;br /&gt;
'''P18''' - QSFP ModSelL&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;The ModSelL is an input pin. When held low by the host, the module responds to 2-wire serial communication commands. The ModSelL allows the use of multiple QSFP modules on a single 2-wire interface bus. When the ModSelL is “High”, the module shall not respond to or acknowledge any 2-wire interface communication from the host. ModSelL signal input node must be biased to the “High” state in the module.&lt;br /&gt;
&lt;br /&gt;
INF-8438&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notice: The programmer automatically switches the contact to &amp;quot;Low&amp;quot; level when performing read and write operations on the data bus.&lt;br /&gt;
&lt;br /&gt;
'''P19''' - QSFP ResetL&lt;br /&gt;
&lt;br /&gt;
'''P20''' - XFP ModDeSel&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
The Mod_DeSel is an input pin. When held Low by the host, the module responds to 2-wire serial communication commands. The Mod_DeSel allows the use of multiple XFP modules on a single 2-wire interface bus.&lt;br /&gt;
When the Mod_DeSel pin is “High”, the module shall not respond to or acknowledge any 2-wire interface communication from the host. Mod_DeSel pin must be pulled to VCC3 in the module.&lt;br /&gt;
&lt;br /&gt;
INF-8077i&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notice: The programmer automatically switches the contact to &amp;quot;Low&amp;quot; level when performing read and write operations on the data bus.&lt;br /&gt;
&lt;br /&gt;
'''P21''' - XFP PDOWN/RESET&lt;br /&gt;
&amp;lt;pre&amp;gt;This is a multifunction pin for module Power Down and Reset. The P_Down/RST pin must be pulled up to VCC3 in the XFP module.&lt;br /&gt;
&lt;br /&gt;
INF-8077i&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''4. Interfaces'''&lt;br /&gt;
&lt;br /&gt;
'''P5''' - USB type C port for connection to PC&lt;br /&gt;
&lt;br /&gt;
'''P22''' - I&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;C databus with logic level 3V3 and 5V&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''5. LED indicators '''&lt;br /&gt;
&lt;br /&gt;
'''LED1 - POWER''' - should statically light when board connected to USB or to external supply adapter.&lt;br /&gt;
&lt;br /&gt;
'''LED2 - MCU''' - indication of power supply for microcontroller.&lt;br /&gt;
&lt;br /&gt;
'''LED3 - ERROR''' - should glow when unhandled errors occur on the data bus, for example: connection more than 1 transceiver.&lt;br /&gt;
&lt;br /&gt;
'''LED4 - STATUS''' - should blinking when transceiver is not connected and statically light when transceiver is connected.&lt;br /&gt;
&lt;br /&gt;
== Management interface ==&lt;br /&gt;
&lt;br /&gt;
The device provides access to management interface (CLI) by connecting through a virtual serial port.&lt;br /&gt;
You can use the programming board without [[SFPTotal Wizard]] software to get more features or to realize the opportunities that are not available in the standard software. Use this document to get information about commands which supported by SFPTotal Plus.&lt;br /&gt;
&lt;br /&gt;
Management inerface is full compatible with SFPTotal Plus https://wiki.sfptotal.com/index.php/SFPTotal_Plus#Management_interface&lt;/div&gt;</summary>
		<author><name>Sfptotal</name></author>	</entry>

	<entry>
		<id>http://wiki.sfptotal.com/index.php?title=SFPTotal_Plus&amp;diff=829</id>
		<title>SFPTotal Plus</title>
		<link rel="alternate" type="text/html" href="http://wiki.sfptotal.com/index.php?title=SFPTotal_Plus&amp;diff=829"/>
				<updated>2020-11-13T09:15:42Z</updated>
		
		<summary type="html">&lt;p&gt;Sfptotal: /* Management interface */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:SFPTotal_Plus_black.jpg|450px|thumb|right|Programmer SFPTotal Plus]]&lt;br /&gt;
&lt;br /&gt;
'''SFPTotal Plus''' - new version of universal programming board, which allows to reprogram GBIC, SFP, SFP+, XFP and QSFP transceivers and DAC or AOC cables. &lt;br /&gt;
&lt;br /&gt;
For working with GBIC, XFP, and QSFP transceivers were added additional power supply plans, as well as control elements. The programmer connects to PC via USB interface through which performed control and power supply of transceiver. An external supply adapter is provided for work with high-powered transceivers with an overestimated power consumption (for example, transceivers for 40/80/120 km links).&lt;br /&gt;
&lt;br /&gt;
== Application ==&lt;br /&gt;
&lt;br /&gt;
Programmers SFPTotal are used to solve next tasks:&lt;br /&gt;
* Programming SFP/SFP+, XFP, QSFP, GBIC optical transceivers and twinaxial cables&lt;br /&gt;
* Providing of compatibility between network equipment of different manufacturers&lt;br /&gt;
* Reflashing memory of write-protected transceivers&lt;br /&gt;
* Changing settings of PHY controllers&lt;br /&gt;
* Branding for OEM transceivers&lt;br /&gt;
* Diagnosis transceiver by reading the DDM&lt;br /&gt;
* Accounting for optical transceivers&lt;br /&gt;
&lt;br /&gt;
== Quick start guide ==&lt;br /&gt;
&lt;br /&gt;
# Connect SFPTotal Plus board to your PC using micro USB Type B cable&lt;br /&gt;
# Install [http://wiki.sfptotal.com/index.php/Installing_drivers_for_SFPTotal_Plus%5CMini drivers for SFPTotal Device]&lt;br /&gt;
# Download application [[SFPTotal Wizard]] &lt;br /&gt;
# Start SFPTotal Wizard&lt;br /&gt;
# Insert transceiver to the programmer port&lt;br /&gt;
# [[Reading transceiver's memory]]&lt;br /&gt;
&lt;br /&gt;
== Listing of elements ==&lt;br /&gt;
&lt;br /&gt;
Listing of elements placed on circuit board of SFPTotal Plus programmer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''1. Transceiver ports'''&lt;br /&gt;
&lt;br /&gt;
'''P2''' - SFP, SFP+ port&lt;br /&gt;
&lt;br /&gt;
'''P11''' - QSFP, QSFP+, QSFP28 port&lt;br /&gt;
&lt;br /&gt;
'''P9''' - XFP port&lt;br /&gt;
&lt;br /&gt;
'''P7''' - GBIC port&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''2. Power supply plans'''&lt;br /&gt;
&lt;br /&gt;
'''P1''' - power supply of SFP port, a pair of 3.3 V for VccT and VccR pins.&lt;br /&gt;
&lt;br /&gt;
'''P17, P16, P15''' - power supply of QSFP port,  3.3 V for Vcc1, VccTx and VccRx pins.&lt;br /&gt;
&lt;br /&gt;
'''P12, P14, P13, P10''' - power supply of XFP port: 3.3V, -5V, 5V and 1.8 power supply plans.&lt;br /&gt;
&lt;br /&gt;
'''P8''' - power supply of GBIC port, switch between 3.3V or 5V. For default, closed in 3V3 position.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''3. Jumpers'''&lt;br /&gt;
&lt;br /&gt;
'''P3''' - low power mode, keep closed to disable low power mode (TX enable).&lt;br /&gt;
&lt;br /&gt;
'''P4''' - RS1 (position 1-2) and RS0 (position 3-4) pins.&lt;br /&gt;
&lt;br /&gt;
'''P18''' - QSFP ModSelL&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;The ModSelL is an input pin. When held low by the host, the module responds to 2-wire serial communication commands. The ModSelL allows the use of multiple QSFP modules on a single 2-wire interface bus. When the ModSelL is “High”, the module shall not respond to or acknowledge any 2-wire interface communication from the host. ModSelL signal input node must be biased to the “High” state in the module.&lt;br /&gt;
&lt;br /&gt;
INF-8438&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notice: The programmer automatically switches the contact to &amp;quot;Low&amp;quot; level when performing read and write operations on the data bus.&lt;br /&gt;
&lt;br /&gt;
'''P19''' - QSFP ResetL&lt;br /&gt;
&lt;br /&gt;
'''P20''' - XFP ModDeSel&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
The Mod_DeSel is an input pin. When held Low by the host, the module responds to 2-wire serial communication commands. The Mod_DeSel allows the use of multiple XFP modules on a single 2-wire interface bus.&lt;br /&gt;
When the Mod_DeSel pin is “High”, the module shall not respond to or acknowledge any 2-wire interface communication from the host. Mod_DeSel pin must be pulled to VCC3 in the module.&lt;br /&gt;
&lt;br /&gt;
INF-8077i&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notice: The programmer automatically switches the contact to &amp;quot;Low&amp;quot; level when performing read and write operations on the data bus.&lt;br /&gt;
&lt;br /&gt;
'''P21''' - XFP PDOWN/RESET&lt;br /&gt;
&amp;lt;pre&amp;gt;This is a multifunction pin for module Power Down and Reset. The P_Down/RST pin must be pulled up to VCC3 in the XFP module.&lt;br /&gt;
&lt;br /&gt;
INF-8077i&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''4. Interfaces'''&lt;br /&gt;
&lt;br /&gt;
'''P5''' - USB interface for connection to PC&lt;br /&gt;
&lt;br /&gt;
'''P22''' - I&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;C databus, logic level 5V&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''5. LED indicators '''&lt;br /&gt;
&lt;br /&gt;
'''POWER''' - should statically light when board connected to USB or to external supply adapter.&lt;br /&gt;
&lt;br /&gt;
'''MCU''' - indication of power supply for microcontroller.&lt;br /&gt;
&lt;br /&gt;
'''ERROR''' - should glow when unhandled errors occur on the data bus, for example: connection more than 1 transceiver.&lt;br /&gt;
&lt;br /&gt;
'''STATUS''' - should blinking when transceiver is not connected and statically light when transceiver is connected.&lt;br /&gt;
&lt;br /&gt;
== Management interface ==&lt;br /&gt;
&lt;br /&gt;
The device provides access to management interface (CLI) by connecting through a virtual serial port.&lt;br /&gt;
You can use the programming board without [[SFPTotal Wizard]] software to get more features or to realize the opportunities that are not available in the standard software. Use this document to get information about commands which supported by SFPTotal Plus.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Serial port settings ===&lt;br /&gt;
&lt;br /&gt;
[[File:serial_port_settings.jpg|250px|right|Serial port settings]]&lt;br /&gt;
&lt;br /&gt;
You can access the command line interface of the programmer not only with the SFPTotal Wizard, but also with the help of utilities for working with the serial port. For example,  [http://www.putty.org/ Putty].&lt;br /&gt;
&lt;br /&gt;
The boards are support a flexible baud rate, but we recommend use value 115200.&lt;br /&gt;
&lt;br /&gt;
:: '''Default settings'''&lt;br /&gt;
&lt;br /&gt;
:: Baud rate: 115200&lt;br /&gt;
&lt;br /&gt;
:: Data bits: 8&lt;br /&gt;
&lt;br /&gt;
:: Parity: None&lt;br /&gt;
&lt;br /&gt;
:: Stop bits: 1&lt;br /&gt;
&lt;br /&gt;
:: Flow control: None&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Configuration commands ===&lt;br /&gt;
&lt;br /&gt;
;'''CLI'''&lt;br /&gt;
&lt;br /&gt;
After reset the programmer does not display in the interface characters entered from the keyboard.&lt;br /&gt;
The command switches the echo output of command line. Default, CLI=0.&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
? CLI&lt;br /&gt;
CLI=0&lt;br /&gt;
&lt;br /&gt;
CLI=1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set CLI=1 to turn on echo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;'''STATUS'''&lt;br /&gt;
&lt;br /&gt;
Commend returns current state GPIO for each port.&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
STATUS&lt;br /&gt;
[GBIC]: MOD_ABS=1; TX_FAULT=1; RX_LOS=1; TX_DIS=1&lt;br /&gt;
[SFP]:  MOD_ABS=1; TX_FAULT=1; RX_LOS=1; TX_DIS=1&lt;br /&gt;
[XFP]:  MOD_ABS=1; RX_LOS=1; INTERRUPT=1; MOD_SEL=1; P_DOWN/RESET=1;&lt;br /&gt;
[QSFP]: MOD_ABS=1; INTL=1; MOD_SEL=1; RESETL=1;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''TX_DIS'''&lt;br /&gt;
&lt;br /&gt;
Command allows to disable power supply of transmitter for switching to low power mode (LPMODE). To activate the LPMODE, it is necessary to transfer command TX_DIS setting the flag value of 1.&lt;br /&gt;
&lt;br /&gt;
To disable the mode, you must set the flag equal to 0. The current state can be requested with STATUS command.&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
TX_DIS=1&lt;br /&gt;
&lt;br /&gt;
STATUS&lt;br /&gt;
MOD_ABS=0; TX_FAULT=1; RX_LOS=0; TX_DIS=1&lt;br /&gt;
&lt;br /&gt;
TX_DIS=0&lt;br /&gt;
STATUS&lt;br /&gt;
MOD_ABS=0; TX_FAULT=1; RX_LOS=0; TX_DIS=0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Low power mode is activated for default.&lt;br /&gt;
On the PCB of SFPTotal boards are placed contacts LP_MODE, which allows to switch low power mode in manual mode.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;'''VERSION'''&lt;br /&gt;
&lt;br /&gt;
Command returns information about device: hardware revision, software version and unique serial number of the device.&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
VERSION&lt;br /&gt;
SFPTotal Plus (c) 2015-2016&lt;br /&gt;
HW: 1.1&lt;br /&gt;
SW: 1.0.5&lt;br /&gt;
SN: SFPT-P1116021001&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''I2CRATE'''&lt;br /&gt;
&lt;br /&gt;
Note: Supported only on the SW versions 1.1.0 or above&lt;br /&gt;
&lt;br /&gt;
This command sets the speed of I2C data bus.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
I2CRATE=12 # Set up speed rate 100 kHz&lt;br /&gt;
I2CRATE=40 # Set up speed 30 kHz&lt;br /&gt;
I2CRATE=C6 # Set up speed 10 kHz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To request a current speed use command: '''? I2CRATE'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
? I2CRATE&lt;br /&gt;
I2CRATE=C6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''I2CPAUSE'''&lt;br /&gt;
&lt;br /&gt;
Note: Supported only on the SW versions 1.2.2 or above&lt;br /&gt;
&lt;br /&gt;
This command sets the interval between operation of I2C data bus.&lt;br /&gt;
Value equal to milliseconds in Hex format.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
I2CPAUSE=20 # Set interval 32ms&lt;br /&gt;
I2CPAUSE=32 # Set interval 50ms (for default)&lt;br /&gt;
I2CPAUSE=64 # Set interval 100ms&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To request a current interval use command: '''? I2CPAUSE'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
? I2CPAUSE&lt;br /&gt;
I2CPAUSE=32&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;'''BPS'''&lt;br /&gt;
&lt;br /&gt;
The command set number bytes in block of write. Default, BPS=08&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
? BPS&lt;br /&gt;
BPS=08&lt;br /&gt;
&lt;br /&gt;
BPS=01 # Set block size in 1 byte&lt;br /&gt;
BPS=08 # Set block size in 8 bytes (default)&lt;br /&gt;
BPS=FF # Set block size in 255 bytes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
By default, the recording is performed by blocks of 8 bytes. For the programming of some transceivers with protection, it may be necessary to change the block size, for example, writing by each byte (BPS=01) or writing the entire block as a whole (BPS=FF).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''AUTO_WR_ADDTBL'''&lt;br /&gt;
&lt;br /&gt;
Note: Replaced on command AWRADTBL&lt;br /&gt;
&lt;br /&gt;
If the flag is set, the programmer will automatically change the address of the additional tables before performing reading and writing operations.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
AUTO_WR_ADDTBL=1&lt;br /&gt;
 &lt;br /&gt;
AUTO_WR_ADDTBL=0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To request a current value use command: '''? AUTO_WR_ADDTBL'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
? AUTO_WR_ADDTBL&lt;br /&gt;
AUTO_WR_ADDTBL=0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''AWRADTBL'''&lt;br /&gt;
&lt;br /&gt;
Note: Supported only on the SW versions 1.2.8 or above&lt;br /&gt;
&lt;br /&gt;
If the flag is set, the programmer will automatically change the address of the additional tables before performing reading and writing operations.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
AWRADTBL=01&lt;br /&gt;
 &lt;br /&gt;
AWRADTBL=00&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To request a current value use command: '''? AWRADTBL'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
? AWRADTBL&lt;br /&gt;
AWRADTBL=0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Read and write ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''rXYYAABBCC''' ('''RXYYAABBCC''')&lt;br /&gt;
&lt;br /&gt;
Command for reading memory of transceiver.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
r1A000007F&lt;br /&gt;
Read 128 byte(s) Table 0xA0 from 0x00&lt;br /&gt;
&lt;br /&gt;
##    00  01  02  03  04  05  06  07  08  09  0A  0B  0C  0D  0E  0F&lt;br /&gt;
&lt;br /&gt;
00 :  03  04  07  20  00  00  00  00  00  00  00  06  67  00  0A  64&lt;br /&gt;
01 :  00  00  00  00  4F  45  4D  20  20  20  20  20  20  20  20  20&lt;br /&gt;
02 :  00  20  20  20  00  00  00  00  31  30  47  42  2D  53  46  50&lt;br /&gt;
03 :  2D  4C  52  2D  45  20  20  20  31  2E  30  20  05  1E  00  F9&lt;br /&gt;
04 :  00  1A  00  00  45  58  50  39  36  4C  30  31  31  20  20  20&lt;br /&gt;
05 :  20  20  20  20  31  31  30  38  30  39  20  20  68  F0  03  02&lt;br /&gt;
06 :  45  58  54  52  45  4D  45  20  4C  52  00  00  00  00  00  00&lt;br /&gt;
07 :  00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  00&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
R1A000007F  &lt;br /&gt;
03040720000000000000000667000A64000000004F454D202020202020202020&lt;br /&gt;
0020202000000000313047422D5346502D4C522D45202020312E3020051E00F9&lt;br /&gt;
001A000045585039364C30313120202020202020313130383039202068F00302&lt;br /&gt;
45585452454D45204C5200000000000000000000000000000000000000000000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''wXYYAABBCC''' ('''WXYYAABBCC''')&lt;br /&gt;
&lt;br /&gt;
Command for writing to the memory of transceiver.&lt;br /&gt;
&lt;br /&gt;
'''w''' &amp;amp;mdash; (1 byte) &amp;amp;mdash; Write command. Symbol register is responsible for the subsequent read after write. If you use uppercase (W) after the recording is complete programmer will make reading the memory area which has been overwritten. To  write without return a write result of lower case (w) must be used. &lt;br /&gt;
                &lt;br /&gt;
'''X'''  &amp;amp;mdash; (1 byte)  &amp;amp;mdash;   Transceiver type (1 - SFP, 2 - SFP+).&lt;br /&gt;
&lt;br /&gt;
'''YY''' &amp;amp;mdash; (2 bytes) &amp;amp;mdash;   The device address on the I2C bus.&lt;br /&gt;
&lt;br /&gt;
'''AA'''  &amp;amp;mdash; (2 bytes) &amp;amp;mdash;    Address of additional table.&lt;br /&gt;
&lt;br /&gt;
'''BB'''  &amp;amp;mdash; (2 bytes) &amp;amp;mdash;    Address table. Value in HEX. For example: A0 or A2.&lt;br /&gt;
&lt;br /&gt;
'''СС'''  &amp;amp;mdash; (2 bytes) &amp;amp;mdash;   Write byte count. Hexadecimal value reduced by one.  For example, for writing 128 bytes you should set this parameter in 7F (0x7F in HEX, 127 in decimal). &lt;br /&gt;
&lt;br /&gt;
'''{DATA}'''  &amp;amp;mdash; Write data in HEX, 2 characters for each byte of the parcel.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''' Examples '''&lt;br /&gt;
&lt;br /&gt;
Write code 128 bytes in Table A0 Upper address 00 for SFP transceiver:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
W1A000007F&lt;br /&gt;
03040720000000000000000667000A64000000004F454D202020202020202020&lt;br /&gt;
0020202000000000313047422D5346502D4C522D45202020312E3020051E00F9&lt;br /&gt;
001A000045585039364C30313120202020202020313130383039202068F00302&lt;br /&gt;
45585452454D45204C5200000000000000000000000000000000000000000000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Write password 0123 (HEX: 30h 31h 32h 33h) in Table A2 address 7B for SFP+ transceiver:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;w2A2007B0330313233&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Note: Write command should type without newline characters and spaces. Shifts are given for the convenience display of the material in the examples.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Brute-force mode ===&lt;br /&gt;
&lt;br /&gt;
Starting  from SW 1.2.3 firmware version has been added the function that allows searching for a password in brute mode without using the SFPTotal Wizard software. It  mean that programming board can check passwords by itself in wide range of values.&lt;br /&gt;
&lt;br /&gt;
''' How does it works? '''&lt;br /&gt;
&lt;br /&gt;
To check the password programmer should make few operations:&lt;br /&gt;
# Enter password in password area&lt;br /&gt;
# Write a check word to Vendor name area&lt;br /&gt;
# Read vendor name area&lt;br /&gt;
# Compare a check word with vendor name.&lt;br /&gt;
&lt;br /&gt;
The programmer goes through the password values sequentially within the specified range. By default, the programmer write a check word &amp;quot;SFPTOTAL&amp;quot; (8 bytes) in Table A0h with offset 14h.&lt;br /&gt;
Then it compares the data that was read after the control word was written. &lt;br /&gt;
&lt;br /&gt;
If the read data is the same as the control word, then it mean the record is successful. The programmer will stop the brute-force process and return the current password as a result of a successful search.&lt;br /&gt;
&lt;br /&gt;
We are developed this function for searching passwords to MSA compliant transceivers. Anyway, you should check the documentation and standards for your module before using brute-force mode.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''BFSET'''&lt;br /&gt;
&lt;br /&gt;
The command sets the password search parameters and starts the brute-force process.&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
BFSET A2 7B AAAAAAAA FFFFFFFF CCCCCCCC&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''A2''' - address of Table, where must be entered a password. For XFP and QSFP address should be set in A0.&lt;br /&gt;
&lt;br /&gt;
'''7B''' - offset for entering a password &lt;br /&gt;
&lt;br /&gt;
'''AAAAAAAA''' - start of range&lt;br /&gt;
&lt;br /&gt;
'''FFFFFFFF''' - end of range&lt;br /&gt;
&lt;br /&gt;
'''CCCCCCCC''' - value from where should be started brute-force process&lt;br /&gt;
&lt;br /&gt;
Recommended ranges for search:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
BFSET A2 7B 41414141 5A5A5A5A 41414141 # A-Z&lt;br /&gt;
&lt;br /&gt;
BFSET A2 7B 61616161 7A7A7A7A 61616161 # a-z&lt;br /&gt;
&lt;br /&gt;
BFSET A2 FC 30303030 39393939 30303030 # 0-9&lt;br /&gt;
&lt;br /&gt;
BFSET A2 7B 20202020 7A7A7A7A 20202020 # Symbols + Numeric + Literal&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''BFSTOP'''&lt;br /&gt;
Use command BFSTOP to stop brute-force process. You could continue from this point using command BFSTART.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''BFSTART'''&lt;br /&gt;
Use command BFSTART to continue brute-force progress from last point.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''? BFPASS'''&lt;br /&gt;
Use command '''? BFPASS''' to get know current password in brute-force progress.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''BFCWADR'''&lt;br /&gt;
Set device address of entering check word. Fo example, BFCWADR=A0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''BFCWOFT'''&lt;br /&gt;
Set offset parameter for entering check word. For default, BFCWOFT=14.&lt;br /&gt;
&lt;br /&gt;
Note: for XFP and QSFP transceivers use BFCWOFT=94.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''How to start brute-force for SFP+ transceiver?'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
BFCWADR=A0&lt;br /&gt;
BFCWOFT=14&lt;br /&gt;
BFSET A2 7B 20202020 7A7A7A7A 20202020&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''How to start brute-force for XFP transceiver?'''&lt;br /&gt;
&lt;br /&gt;
Set jumper on P20 contact on programming board.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
BFCWADR=A0&lt;br /&gt;
BFCWOFT=94&lt;br /&gt;
BFSET A0 7B 20202020 7A7A7A7A 20202020&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sfptotal</name></author>	</entry>

	<entry>
		<id>http://wiki.sfptotal.com/index.php?title=SFPTotal_Plus&amp;diff=828</id>
		<title>SFPTotal Plus</title>
		<link rel="alternate" type="text/html" href="http://wiki.sfptotal.com/index.php?title=SFPTotal_Plus&amp;diff=828"/>
				<updated>2020-11-13T09:15:18Z</updated>
		
		<summary type="html">&lt;p&gt;Sfptotal: /* Management interface */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:SFPTotal_Plus_black.jpg|450px|thumb|right|Programmer SFPTotal Plus]]&lt;br /&gt;
&lt;br /&gt;
'''SFPTotal Plus''' - new version of universal programming board, which allows to reprogram GBIC, SFP, SFP+, XFP and QSFP transceivers and DAC or AOC cables. &lt;br /&gt;
&lt;br /&gt;
For working with GBIC, XFP, and QSFP transceivers were added additional power supply plans, as well as control elements. The programmer connects to PC via USB interface through which performed control and power supply of transceiver. An external supply adapter is provided for work with high-powered transceivers with an overestimated power consumption (for example, transceivers for 40/80/120 km links).&lt;br /&gt;
&lt;br /&gt;
== Application ==&lt;br /&gt;
&lt;br /&gt;
Programmers SFPTotal are used to solve next tasks:&lt;br /&gt;
* Programming SFP/SFP+, XFP, QSFP, GBIC optical transceivers and twinaxial cables&lt;br /&gt;
* Providing of compatibility between network equipment of different manufacturers&lt;br /&gt;
* Reflashing memory of write-protected transceivers&lt;br /&gt;
* Changing settings of PHY controllers&lt;br /&gt;
* Branding for OEM transceivers&lt;br /&gt;
* Diagnosis transceiver by reading the DDM&lt;br /&gt;
* Accounting for optical transceivers&lt;br /&gt;
&lt;br /&gt;
== Quick start guide ==&lt;br /&gt;
&lt;br /&gt;
# Connect SFPTotal Plus board to your PC using micro USB Type B cable&lt;br /&gt;
# Install [http://wiki.sfptotal.com/index.php/Installing_drivers_for_SFPTotal_Plus%5CMini drivers for SFPTotal Device]&lt;br /&gt;
# Download application [[SFPTotal Wizard]] &lt;br /&gt;
# Start SFPTotal Wizard&lt;br /&gt;
# Insert transceiver to the programmer port&lt;br /&gt;
# [[Reading transceiver's memory]]&lt;br /&gt;
&lt;br /&gt;
== Listing of elements ==&lt;br /&gt;
&lt;br /&gt;
Listing of elements placed on circuit board of SFPTotal Plus programmer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''1. Transceiver ports'''&lt;br /&gt;
&lt;br /&gt;
'''P2''' - SFP, SFP+ port&lt;br /&gt;
&lt;br /&gt;
'''P11''' - QSFP, QSFP+, QSFP28 port&lt;br /&gt;
&lt;br /&gt;
'''P9''' - XFP port&lt;br /&gt;
&lt;br /&gt;
'''P7''' - GBIC port&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''2. Power supply plans'''&lt;br /&gt;
&lt;br /&gt;
'''P1''' - power supply of SFP port, a pair of 3.3 V for VccT and VccR pins.&lt;br /&gt;
&lt;br /&gt;
'''P17, P16, P15''' - power supply of QSFP port,  3.3 V for Vcc1, VccTx and VccRx pins.&lt;br /&gt;
&lt;br /&gt;
'''P12, P14, P13, P10''' - power supply of XFP port: 3.3V, -5V, 5V and 1.8 power supply plans.&lt;br /&gt;
&lt;br /&gt;
'''P8''' - power supply of GBIC port, switch between 3.3V or 5V. For default, closed in 3V3 position.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''3. Jumpers'''&lt;br /&gt;
&lt;br /&gt;
'''P3''' - low power mode, keep closed to disable low power mode (TX enable).&lt;br /&gt;
&lt;br /&gt;
'''P4''' - RS1 (position 1-2) and RS0 (position 3-4) pins.&lt;br /&gt;
&lt;br /&gt;
'''P18''' - QSFP ModSelL&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;The ModSelL is an input pin. When held low by the host, the module responds to 2-wire serial communication commands. The ModSelL allows the use of multiple QSFP modules on a single 2-wire interface bus. When the ModSelL is “High”, the module shall not respond to or acknowledge any 2-wire interface communication from the host. ModSelL signal input node must be biased to the “High” state in the module.&lt;br /&gt;
&lt;br /&gt;
INF-8438&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notice: The programmer automatically switches the contact to &amp;quot;Low&amp;quot; level when performing read and write operations on the data bus.&lt;br /&gt;
&lt;br /&gt;
'''P19''' - QSFP ResetL&lt;br /&gt;
&lt;br /&gt;
'''P20''' - XFP ModDeSel&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
The Mod_DeSel is an input pin. When held Low by the host, the module responds to 2-wire serial communication commands. The Mod_DeSel allows the use of multiple XFP modules on a single 2-wire interface bus.&lt;br /&gt;
When the Mod_DeSel pin is “High”, the module shall not respond to or acknowledge any 2-wire interface communication from the host. Mod_DeSel pin must be pulled to VCC3 in the module.&lt;br /&gt;
&lt;br /&gt;
INF-8077i&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notice: The programmer automatically switches the contact to &amp;quot;Low&amp;quot; level when performing read and write operations on the data bus.&lt;br /&gt;
&lt;br /&gt;
'''P21''' - XFP PDOWN/RESET&lt;br /&gt;
&amp;lt;pre&amp;gt;This is a multifunction pin for module Power Down and Reset. The P_Down/RST pin must be pulled up to VCC3 in the XFP module.&lt;br /&gt;
&lt;br /&gt;
INF-8077i&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''4. Interfaces'''&lt;br /&gt;
&lt;br /&gt;
'''P5''' - USB interface for connection to PC&lt;br /&gt;
&lt;br /&gt;
'''P22''' - I&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;C databus, logic level 5V&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''5. LED indicators '''&lt;br /&gt;
&lt;br /&gt;
'''POWER''' - should statically light when board connected to USB or to external supply adapter.&lt;br /&gt;
&lt;br /&gt;
'''MCU''' - indication of power supply for microcontroller.&lt;br /&gt;
&lt;br /&gt;
'''ERROR''' - should glow when unhandled errors occur on the data bus, for example: connection more than 1 transceiver.&lt;br /&gt;
&lt;br /&gt;
'''STATUS''' - should blinking when transceiver is not connected and statically light when transceiver is connected.&lt;br /&gt;
&lt;br /&gt;
== Management interface ==&lt;br /&gt;
&lt;br /&gt;
The device provides access to management interface (CLI) by connecting through a virtual serial port.&lt;br /&gt;
You can use the programming board without [[SFPTotal Wizard]] software to get more features or to realize the opportunities that are not available in the standard software. Use this document to get information about commands which supported by SFPTotal Plus.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Serial port settings ===&lt;br /&gt;
&lt;br /&gt;
[[File:serial_port_settings.jpg|250px|right|Serial port settings]]&lt;br /&gt;
&lt;br /&gt;
You can access the command line interface of the programmer not only with the SFPTotal Wizard, but also with the help of utilities for working with the serial port. For example,  [http://www.putty.org/ Putty].&lt;br /&gt;
&lt;br /&gt;
The boards are support a flexible baud rate, but we recommend use value 115200.&lt;br /&gt;
&lt;br /&gt;
:: '''Default settings'''&lt;br /&gt;
&lt;br /&gt;
:: Baud rate: 115200&lt;br /&gt;
&lt;br /&gt;
:: Data bits: 8&lt;br /&gt;
&lt;br /&gt;
:: Parity: None&lt;br /&gt;
&lt;br /&gt;
:: Stop bits: 1&lt;br /&gt;
&lt;br /&gt;
:: Flow control: None&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Configuration commands ===&lt;br /&gt;
&lt;br /&gt;
;'''CLI'''&lt;br /&gt;
&lt;br /&gt;
After reset the programmer does not display in the interface characters entered from the keyboard.&lt;br /&gt;
The command switches the echo output of command line. Default, CLI=0.&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
? CLI&lt;br /&gt;
CLI=0&lt;br /&gt;
&lt;br /&gt;
CLI=1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set CLI=1 to turn on echo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;'''STATUS'''&lt;br /&gt;
&lt;br /&gt;
Commend returns current state GPIO for each port.&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
STATUS&lt;br /&gt;
[GBIC]: MOD_ABS=1; TX_FAULT=1; RX_LOS=1; TX_DIS=1&lt;br /&gt;
[SFP]:  MOD_ABS=1; TX_FAULT=1; RX_LOS=1; TX_DIS=1&lt;br /&gt;
[XFP]:  MOD_ABS=1; RX_LOS=1; INTERRUPT=1; MOD_SEL=1; P_DOWN/RESET=1;&lt;br /&gt;
[QSFP]: MOD_ABS=1; INTL=1; MOD_SEL=1; RESETL=1;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''TX_DIS'''&lt;br /&gt;
&lt;br /&gt;
Command allows to disable power supply of transmitter for switching to low power mode (LPMODE). To activate the LPMODE, it is necessary to transfer command TX_DIS setting the flag value of 1.&lt;br /&gt;
&lt;br /&gt;
To disable the mode, you must set the flag equal to 0. The current state can be requested with STATUS command.&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
TX_DIS=1&lt;br /&gt;
&lt;br /&gt;
STATUS&lt;br /&gt;
MOD_ABS=0; TX_FAULT=1; RX_LOS=0; TX_DIS=1&lt;br /&gt;
&lt;br /&gt;
TX_DIS=0&lt;br /&gt;
STATUS&lt;br /&gt;
MOD_ABS=0; TX_FAULT=1; RX_LOS=0; TX_DIS=0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Low power mode is activated for default.&lt;br /&gt;
On the PCB of SFPTotal boards are placed contacts LP_MODE, which allows to switch low power mode in manual mode.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;'''VERSION'''&lt;br /&gt;
&lt;br /&gt;
Command returns information about device: hardware revision, software version and unique serial number of the device.&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
VERSION&lt;br /&gt;
SFPTotal Plus (c) 2015-2016&lt;br /&gt;
HW: 1.1&lt;br /&gt;
SW: 1.0.5&lt;br /&gt;
SN: SFPT-P1116021001&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''I2CRATE'''&lt;br /&gt;
&lt;br /&gt;
Note: Supported only on the SW versions 1.1.0 or above&lt;br /&gt;
&lt;br /&gt;
This command sets the speed of I2C data bus.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
I2CRATE=12 # Set up speed rate 100 kHz&lt;br /&gt;
I2CRATE=40 # Set up speed 30 kHz&lt;br /&gt;
I2CRATE=C6 # Set up speed 10 kHz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To request a current speed use command: '''? I2CRATE'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
? I2CRATE&lt;br /&gt;
I2CRATE=C6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''I2CPAUSE'''&lt;br /&gt;
&lt;br /&gt;
Note: Supported only on the SW versions 1.2.2 or above&lt;br /&gt;
&lt;br /&gt;
This command sets the interval between operation of I2C data bus.&lt;br /&gt;
Value equal to milliseconds in Hex format.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
I2CPAUSE=20 # Set interval 32ms&lt;br /&gt;
I2CPAUSE=32 # Set interval 50ms (for default)&lt;br /&gt;
I2CPAUSE=64 # Set interval 100ms&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To request a current interval use command: '''? I2CPAUSE'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
? I2CPAUSE&lt;br /&gt;
I2CPAUSE=32&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;'''BPS'''&lt;br /&gt;
&lt;br /&gt;
The command set number bytes in block of write. Default, BPS=08&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
? BPS&lt;br /&gt;
BPS=08&lt;br /&gt;
&lt;br /&gt;
BPS=01 # Set block size in 1 byte&lt;br /&gt;
BPS=08 # Set block size in 8 bytes (default)&lt;br /&gt;
BPS=FF # Set block size in 255 bytes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
By default, the recording is performed by blocks of 8 bytes. For the programming of some transceivers with protection, it may be necessary to change the block size, for example, writing by each byte (BPS=01) or writing the entire block as a whole (BPS=FF).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''AUTO_WR_ADDTBL'''&lt;br /&gt;
&lt;br /&gt;
Note: Replaced on command AWRADTBL&lt;br /&gt;
&lt;br /&gt;
If the flag is set, the programmer will automatically change the address of the additional tables before performing reading and writing operations.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
AUTO_WR_ADDTBL=1&lt;br /&gt;
 &lt;br /&gt;
AUTO_WR_ADDTBL=0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To request a current value use command: '''? AUTO_WR_ADDTBL'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
? AUTO_WR_ADDTBL&lt;br /&gt;
AUTO_WR_ADDTBL=0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; '''AWRADTBL'''&lt;br /&gt;
&lt;br /&gt;
Note: Supported only on the SW versions 1.2.8 or above&lt;br /&gt;
&lt;br /&gt;
If the flag is set, the programmer will automatically change the address of the additional tables before performing reading and writing operations.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
AWRADTBL=01&lt;br /&gt;
 &lt;br /&gt;
AWRADTBL=00&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To request a current value use command: '''? AWRADTBL'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
? AWRADTBL&lt;br /&gt;
AWRADTBL=0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Read and write ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''rXYYAABBCC''' ('''RXYYAABBCC''')&lt;br /&gt;
&lt;br /&gt;
Command for reading memory of transceiver.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
r1A000007F&lt;br /&gt;
Read 128 byte(s) Table 0xA0 from 0x00&lt;br /&gt;
&lt;br /&gt;
##    00  01  02  03  04  05  06  07  08  09  0A  0B  0C  0D  0E  0F&lt;br /&gt;
&lt;br /&gt;
00 :  03  04  07  20  00  00  00  00  00  00  00  06  67  00  0A  64&lt;br /&gt;
01 :  00  00  00  00  4F  45  4D  20  20  20  20  20  20  20  20  20&lt;br /&gt;
02 :  00  20  20  20  00  00  00  00  31  30  47  42  2D  53  46  50&lt;br /&gt;
03 :  2D  4C  52  2D  45  20  20  20  31  2E  30  20  05  1E  00  F9&lt;br /&gt;
04 :  00  1A  00  00  45  58  50  39  36  4C  30  31  31  20  20  20&lt;br /&gt;
05 :  20  20  20  20  31  31  30  38  30  39  20  20  68  F0  03  02&lt;br /&gt;
06 :  45  58  54  52  45  4D  45  20  4C  52  00  00  00  00  00  00&lt;br /&gt;
07 :  00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  00&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
R1A000007F  &lt;br /&gt;
03040720000000000000000667000A64000000004F454D202020202020202020&lt;br /&gt;
0020202000000000313047422D5346502D4C522D45202020312E3020051E00F9&lt;br /&gt;
001A000045585039364C30313120202020202020313130383039202068F00302&lt;br /&gt;
45585452454D45204C5200000000000000000000000000000000000000000000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''wXYYAABBCC''' ('''WXYYAABBCC''')&lt;br /&gt;
&lt;br /&gt;
Command for writing to the memory of transceiver.&lt;br /&gt;
&lt;br /&gt;
'''w''' &amp;amp;mdash; (1 byte) &amp;amp;mdash; Write command. Symbol register is responsible for the subsequent read after write. If you use uppercase (W) after the recording is complete programmer will make reading the memory area which has been overwritten. To  write without return a write result of lower case (w) must be used. &lt;br /&gt;
                &lt;br /&gt;
'''X'''  &amp;amp;mdash; (1 byte)  &amp;amp;mdash;   Transceiver type (1 - SFP, 2 - SFP+).&lt;br /&gt;
&lt;br /&gt;
'''YY''' &amp;amp;mdash; (2 bytes) &amp;amp;mdash;   The device address on the I2C bus.&lt;br /&gt;
&lt;br /&gt;
'''AA'''  &amp;amp;mdash; (2 bytes) &amp;amp;mdash;    Address of additional table.&lt;br /&gt;
&lt;br /&gt;
'''BB'''  &amp;amp;mdash; (2 bytes) &amp;amp;mdash;    Address table. Value in HEX. For example: A0 or A2.&lt;br /&gt;
&lt;br /&gt;
'''СС'''  &amp;amp;mdash; (2 bytes) &amp;amp;mdash;   Write byte count. Hexadecimal value reduced by one.  For example, for writing 128 bytes you should set this parameter in 7F (0x7F in HEX, 127 in decimal). &lt;br /&gt;
&lt;br /&gt;
'''{DATA}'''  &amp;amp;mdash; Write data in HEX, 2 characters for each byte of the parcel.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''' Examples '''&lt;br /&gt;
&lt;br /&gt;
Write code 128 bytes in Table A0 Upper address 00 for SFP transceiver:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
W1A000007F&lt;br /&gt;
03040720000000000000000667000A64000000004F454D202020202020202020&lt;br /&gt;
0020202000000000313047422D5346502D4C522D45202020312E3020051E00F9&lt;br /&gt;
001A000045585039364C30313120202020202020313130383039202068F00302&lt;br /&gt;
45585452454D45204C5200000000000000000000000000000000000000000000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Write password 0123 (HEX: 30h 31h 32h 33h) in Table A2 address 7B for SFP+ transceiver:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;w2A2007B0330313233&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Note: Write command should type without newline characters and spaces. Shifts are given for the convenience display of the material in the examples.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Brute-force mode ===&lt;br /&gt;
&lt;br /&gt;
Starting  from SW 1.2.3 firmware version has been added the function that allows searching for a password in brute mode without using the SFPTotal Wizard software. It  mean that programming board can check passwords by itself in wide range of values.&lt;br /&gt;
&lt;br /&gt;
''' How does it works? '''&lt;br /&gt;
&lt;br /&gt;
To check the password programmer should make few operations:&lt;br /&gt;
# Enter password in password area&lt;br /&gt;
# Write a check word to Vendor name area&lt;br /&gt;
# Read vendor name area&lt;br /&gt;
# Compare a check word with vendor name.&lt;br /&gt;
&lt;br /&gt;
The programmer goes through the password values sequentially within the specified range. By default, the programmer write a check word &amp;quot;SFPTOTAL&amp;quot; (8 bytes) in Table A0h with offset 14h.&lt;br /&gt;
Then it compares the data that was read after the control word was written. &lt;br /&gt;
&lt;br /&gt;
If the read data is the same as the control word, then it mean the record is successful. The programmer will stop the brute-force process and return the current password as a result of a successful search.&lt;br /&gt;
&lt;br /&gt;
We are developed this function for searching passwords to MSA compliant transceivers. Anyway, you should check the documentation and standards for your module before using brute-force mode.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''BFSET'''&lt;br /&gt;
&lt;br /&gt;
The command sets the password search parameters and starts the brute-force process.&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
BFSET A2 7B AAAAAAAA FFFFFFFF CCCCCCCC&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''A2''' - address of Table, where must be entered a password. For XFP and QSFP address should be set in A0.&lt;br /&gt;
&lt;br /&gt;
'''7B''' - offset for entering a password &lt;br /&gt;
&lt;br /&gt;
'''AAAAAAAA''' - start of range&lt;br /&gt;
&lt;br /&gt;
'''FFFFFFFF''' - end of range&lt;br /&gt;
&lt;br /&gt;
'''CCCCCCCC''' - value from where should be started brute-force process&lt;br /&gt;
&lt;br /&gt;
Recommended ranges for search:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
BFSET A2 7B 41414141 5A5A5A5A 41414141 # A-Z&lt;br /&gt;
&lt;br /&gt;
BFSET A2 7B 61616161 7A7A7A7A 61616161 # a-z&lt;br /&gt;
&lt;br /&gt;
BFSET A2 FC 30303030 39393939 30303030 # 0-9&lt;br /&gt;
&lt;br /&gt;
BFSET A2 7B 20202020 7A7A7A7A 20202020 # Symbols + Numeric + Literal&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''BFSTOP'''&lt;br /&gt;
Use command BFSTOP to stop brute-force process. You could continue from this point using command BFSTART.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''BFSTART'''&lt;br /&gt;
Use command BFSTART to continue brute-force progress from last point.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''? BFPASS'''&lt;br /&gt;
Use command '''? BFPASS''' to get know current password in brute-force progress.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''BFCWADR'''&lt;br /&gt;
Set device address of entering check word. Fo example, BFCWADR=A0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''BFCWOFT'''&lt;br /&gt;
Set offset parameter for entering check word. For default, BFCWOFT=14.&lt;br /&gt;
&lt;br /&gt;
Note: for XFP and QSFP transceivers use BFCWOFT=94.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''How to start brute-force for SFP+ transceiver?'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
BFCWADR=A0&lt;br /&gt;
BFCWOFT=14&lt;br /&gt;
BFSET A2 7B 20202020 7A7A7A7A 20202020&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''How to start brute-force for XFP transceiver?'''&lt;br /&gt;
&lt;br /&gt;
Set jumper on P20 contact on programming board.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
BFCWADR=A0&lt;br /&gt;
BFCWOFT=94&lt;br /&gt;
BFSET A0 7B 20202020 7A7A7A7A 20202020&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sfptotal</name></author>	</entry>

	<entry>
		<id>http://wiki.sfptotal.com/index.php?title=SFPTotal_Plus&amp;diff=827</id>
		<title>SFPTotal Plus</title>
		<link rel="alternate" type="text/html" href="http://wiki.sfptotal.com/index.php?title=SFPTotal_Plus&amp;diff=827"/>
				<updated>2020-11-13T09:14:36Z</updated>
		
		<summary type="html">&lt;p&gt;Sfptotal: /* Configuration commands */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:SFPTotal_Plus_black.jpg|450px|thumb|right|Programmer SFPTotal Plus]]&lt;br /&gt;
&lt;br /&gt;
'''SFPTotal Plus''' - new version of universal programming board, which allows to reprogram GBIC, SFP, SFP+, XFP and QSFP transceivers and DAC or AOC cables. &lt;br /&gt;
&lt;br /&gt;
For working with GBIC, XFP, and QSFP transceivers were added additional power supply plans, as well as control elements. The programmer connects to PC via USB interface through which performed control and power supply of transceiver. An external supply adapter is provided for work with high-powered transceivers with an overestimated power consumption (for example, transceivers for 40/80/120 km links).&lt;br /&gt;
&lt;br /&gt;
== Application ==&lt;br /&gt;
&lt;br /&gt;
Programmers SFPTotal are used to solve next tasks:&lt;br /&gt;
* Programming SFP/SFP+, XFP, QSFP, GBIC optical transceivers and twinaxial cables&lt;br /&gt;
* Providing of compatibility between network equipment of different manufacturers&lt;br /&gt;
* Reflashing memory of write-protected transceivers&lt;br /&gt;
* Changing settings of PHY controllers&lt;br /&gt;
* Branding for OEM transceivers&lt;br /&gt;
* Diagnosis transceiver by reading the DDM&lt;br /&gt;
* Accounting for optical transceivers&lt;br /&gt;
&lt;br /&gt;
== Quick start guide ==&lt;br /&gt;
&lt;br /&gt;
# Connect SFPTotal Plus board to your PC using micro USB Type B cable&lt;br /&gt;
# Install [http://wiki.sfptotal.com/index.php/Installing_drivers_for_SFPTotal_Plus%5CMini drivers for SFPTotal Device]&lt;br /&gt;
# Download application [[SFPTotal Wizard]] &lt;br /&gt;
# Start SFPTotal Wizard&lt;br /&gt;
# Insert transceiver to the programmer port&lt;br /&gt;
# [[Reading transceiver's memory]]&lt;br /&gt;
&lt;br /&gt;
== Listing of elements ==&lt;br /&gt;
&lt;br /&gt;
Listing of elements placed on circuit board of SFPTotal Plus programmer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''1. Transceiver ports'''&lt;br /&gt;
&lt;br /&gt;
'''P2''' - SFP, SFP+ port&lt;br /&gt;
&lt;br /&gt;
'''P11''' - QSFP, QSFP+, QSFP28 port&lt;br /&gt;
&lt;br /&gt;
'''P9''' - XFP port&lt;br /&gt;
&lt;br /&gt;
'''P7''' - GBIC port&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''2. Power supply plans'''&lt;br /&gt;
&lt;br /&gt;
'''P1''' - power supply of SFP port, a pair of 3.3 V for VccT and VccR pins.&lt;br /&gt;
&lt;br /&gt;
'''P17, P16, P15''' - power supply of QSFP port,  3.3 V for Vcc1, VccTx and VccRx pins.&lt;br /&gt;
&lt;br /&gt;
'''P12, P14, P13, P10''' - power supply of XFP port: 3.3V, -5V, 5V and 1.8 power supply plans.&lt;br /&gt;
&lt;br /&gt;
'''P8''' - power supply of GBIC port, switch between 3.3V or 5V. For default, closed in 3V3 position.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''3. Jumpers'''&lt;br /&gt;
&lt;br /&gt;
'''P3''' - low power mode, keep closed to disable low power mode (TX enable).&lt;br /&gt;
&lt;br /&gt;
'''P4''' - RS1 (position 1-2) and RS0 (position 3-4) pins.&lt;br /&gt;
&lt;br /&gt;
'''P18''' - QSFP ModSelL&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;The ModSelL is an input pin. When held low by the host, the module responds to 2-wire serial communication commands. The ModSelL allows the use of multiple QSFP modules on a single 2-wire interface bus. When the ModSelL is “High”, the module shall not respond to or acknowledge any 2-wire interface communication from the host. ModSelL signal input node must be biased to the “High” state in the module.&lt;br /&gt;
&lt;br /&gt;
INF-8438&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notice: The programmer automatically switches the contact to &amp;quot;Low&amp;quot; level when performing read and write operations on the data bus.&lt;br /&gt;
&lt;br /&gt;
'''P19''' - QSFP ResetL&lt;br /&gt;
&lt;br /&gt;
'''P20''' - XFP ModDeSel&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
The Mod_DeSel is an input pin. When held Low by the host, the module responds to 2-wire serial communication commands. The Mod_DeSel allows the use of multiple XFP modules on a single 2-wire interface bus.&lt;br /&gt;
When the Mod_DeSel pin is “High”, the module shall not respond to or acknowledge any 2-wire interface communication from the host. Mod_DeSel pin must be pulled to VCC3 in the module.&lt;br /&gt;
&lt;br /&gt;
INF-8077i&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notice: The programmer automatically switches the contact to &amp;quot;Low&amp;quot; level when performing read and write operations on the data bus.&lt;br /&gt;
&lt;br /&gt;
'''P21''' - XFP PDOWN/RESET&lt;br /&gt;
&amp;lt;pre&amp;gt;This is a multifunction pin for module Power Down and Reset. The P_Down/RST pin must be pulled up to VCC3 in the XFP module.&lt;br /&gt;
&lt;br /&gt;
INF-8077i&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''4. Interfaces'''&lt;br /&gt;
&lt;br /&gt;
'''P5''' - USB interface for connection to PC&lt;br /&gt;
&lt;br /&gt;
'''P22''' - I&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;C databus, logic level 5V&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''5. LED indicators '''&lt;br /&gt;
&lt;br /&gt;
'''POWER''' - should statically light when board connected to USB or to external supply adapter.&lt;br /&gt;
&lt;br /&gt;
'''MCU''' - indication of power supply for microcontroller.&lt;br /&gt;
&lt;br /&gt;
'''ERROR''' - should glow when unhandled errors occur on the data bus, for example: connection more than 1 transceiver.&lt;br /&gt;
&lt;br /&gt;
'''STATUS''' - should blinking when transceiver is not connected and statically light when transceiver is connected.&lt;br /&gt;
&lt;br /&gt;
== Management interface ==&lt;br /&gt;
&lt;br /&gt;
The device provides access to management interface (CLI) by connecting through a virtual serial port.&lt;br /&gt;
You can use the programming board without [[SFPTotal Wizard]] software to get more features or to realize the opportunities that are not available in the standard software. Use this document to get information about commands which supported by SFPTotal Plus.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Serial port settings ===&lt;br /&gt;
&lt;br /&gt;
[[File:serial_port_settings.jpg|250px|right|Serial port settings]]&lt;br /&gt;
&lt;br /&gt;
You can access the command line interface of the programmer not only with the SFPTotal Wizard, but also with the help of utilities for working with the serial port. For example,  [http://www.putty.org/ Putty].&lt;br /&gt;
&lt;br /&gt;
The boards are support a flexible baud rate, but we recommend use value 115200.&lt;br /&gt;
&lt;br /&gt;
:: '''Default settings'''&lt;br /&gt;
&lt;br /&gt;
:: Baud rate: 115200&lt;br /&gt;
&lt;br /&gt;
:: Data bits: 8&lt;br /&gt;
&lt;br /&gt;
:: Parity: None&lt;br /&gt;
&lt;br /&gt;
:: Stop bits: 1&lt;br /&gt;
&lt;br /&gt;
:: Flow control: None&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Configuration commands ===&lt;br /&gt;
&lt;br /&gt;
;'''CLI'''&lt;br /&gt;
&lt;br /&gt;
After reset the programmer does not display in the interface characters entered from the keyboard.&lt;br /&gt;
The command switches the echo output of command line. Default, CLI=0.&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
? CLI&lt;br /&gt;
CLI=0&lt;br /&gt;
&lt;br /&gt;
CLI=1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set CLI=1 to turn on echo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;'''STATUS'''&lt;br /&gt;
&lt;br /&gt;
Commend returns current state GPIO for each port.&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
STATUS&lt;br /&gt;
[GBIC]: MOD_ABS=1; TX_FAULT=1; RX_LOS=1; TX_DIS=1&lt;br /&gt;
[SFP]:  MOD_ABS=1; TX_FAULT=1; RX_LOS=1; TX_DIS=1&lt;br /&gt;
[XFP]:  MOD_ABS=1; RX_LOS=1; INTERRUPT=1; MOD_SEL=1; P_DOWN/RESET=1;&lt;br /&gt;
[QSFP]: MOD_ABS=1; INTL=1; MOD_SEL=1; RESETL=1;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''TX_DIS'''&lt;br /&gt;
&lt;br /&gt;
Command allows to disable power supply of transmitter for switching to low power mode (LPMODE). To activate the LPMODE, it is necessary to transfer command TX_DIS setting the flag value of 1.&lt;br /&gt;
&lt;br /&gt;
To disable the mode, you must set the flag equal to 0. The current state can be requested with STATUS command.&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
TX_DIS=1&lt;br /&gt;
&lt;br /&gt;
STATUS&lt;br /&gt;
MOD_ABS=0; TX_FAULT=1; RX_LOS=0; TX_DIS=1&lt;br /&gt;
&lt;br /&gt;
TX_DIS=0&lt;br /&gt;
STATUS&lt;br /&gt;
MOD_ABS=0; TX_FAULT=1; RX_LOS=0; TX_DIS=0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Low power mode is activated for default.&lt;br /&gt;
On the PCB of SFPTotal boards are placed contacts LP_MODE, which allows to switch low power mode in manual mode.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;'''VERSION'''&lt;br /&gt;
&lt;br /&gt;
Command returns information about device: hardware revision, software version and unique serial number of the device.&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
VERSION&lt;br /&gt;
SFPTotal Plus (c) 2015-2016&lt;br /&gt;
HW: 1.1&lt;br /&gt;
SW: 1.0.5&lt;br /&gt;
SN: SFPT-P1116021001&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''I2CRATE'''&lt;br /&gt;
&lt;br /&gt;
Note: Supported only on the SW versions 1.1.0 or above&lt;br /&gt;
&lt;br /&gt;
This command sets the speed of I2C data bus.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
I2CRATE=12 # Set up speed rate 100 kHz&lt;br /&gt;
I2CRATE=40 # Set up speed 30 kHz&lt;br /&gt;
I2CRATE=C6 # Set up speed 10 kHz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To request a current speed use command: '''? I2CRATE'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
? I2CRATE&lt;br /&gt;
I2CRATE=C6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''I2CPAUSE'''&lt;br /&gt;
&lt;br /&gt;
Note: Supported only on the SW versions 1.2.2 or above&lt;br /&gt;
&lt;br /&gt;
This command sets the interval between operation of I2C data bus.&lt;br /&gt;
Value equal to milliseconds in Hex format.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
I2CPAUSE=20 # Set interval 32ms&lt;br /&gt;
I2CPAUSE=32 # Set interval 50ms (for default)&lt;br /&gt;
I2CPAUSE=64 # Set interval 100ms&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To request a current interval use command: '''? I2CPAUSE'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
? I2CPAUSE&lt;br /&gt;
I2CPAUSE=32&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;'''BPS'''&lt;br /&gt;
&lt;br /&gt;
The command set number bytes in block of write. Default, BPS=08&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
? BPS&lt;br /&gt;
BPS=08&lt;br /&gt;
&lt;br /&gt;
BPS=01 # Set block size in 1 byte&lt;br /&gt;
BPS=08 # Set block size in 8 bytes (default)&lt;br /&gt;
BPS=FF # Set block size in 255 bytes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
By default, the recording is performed by blocks of 8 bytes. For the programming of some transceivers with protection, it may be necessary to change the block size, for example, writing by each byte (BPS=01) or writing the entire block as a whole (BPS=FF).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''AUTO_WR_ADDTBL'''&lt;br /&gt;
&lt;br /&gt;
Note: Supported only on the SW versions 1.1.0 or above&lt;br /&gt;
&lt;br /&gt;
If the flag is set, the programmer will automatically change the address of the additional tables before performing reading and writing operations.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
AUTO_WR_ADDTBL=1&lt;br /&gt;
 &lt;br /&gt;
AUTO_WR_ADDTBL=0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To request a current value use command: '''? AUTO_WR_ADDTBL'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
? AUTO_WR_ADDTBL&lt;br /&gt;
AUTO_WR_ADDTBL=0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; '''AWRADTBL'''&lt;br /&gt;
&lt;br /&gt;
Note: Supported only on the SW versions 1.2.8 or above&lt;br /&gt;
&lt;br /&gt;
If the flag is set, the programmer will automatically change the address of the additional tables before performing reading and writing operations.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
AWRADTBL=01&lt;br /&gt;
 &lt;br /&gt;
AWRADTBL=00&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To request a current value use command: '''? AWRADTBL'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
? AWRADTBL&lt;br /&gt;
AWRADTBL=0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Read and write ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''rXYYAABBCC''' ('''RXYYAABBCC''')&lt;br /&gt;
&lt;br /&gt;
Command for reading memory of transceiver.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
r1A000007F&lt;br /&gt;
Read 128 byte(s) Table 0xA0 from 0x00&lt;br /&gt;
&lt;br /&gt;
##    00  01  02  03  04  05  06  07  08  09  0A  0B  0C  0D  0E  0F&lt;br /&gt;
&lt;br /&gt;
00 :  03  04  07  20  00  00  00  00  00  00  00  06  67  00  0A  64&lt;br /&gt;
01 :  00  00  00  00  4F  45  4D  20  20  20  20  20  20  20  20  20&lt;br /&gt;
02 :  00  20  20  20  00  00  00  00  31  30  47  42  2D  53  46  50&lt;br /&gt;
03 :  2D  4C  52  2D  45  20  20  20  31  2E  30  20  05  1E  00  F9&lt;br /&gt;
04 :  00  1A  00  00  45  58  50  39  36  4C  30  31  31  20  20  20&lt;br /&gt;
05 :  20  20  20  20  31  31  30  38  30  39  20  20  68  F0  03  02&lt;br /&gt;
06 :  45  58  54  52  45  4D  45  20  4C  52  00  00  00  00  00  00&lt;br /&gt;
07 :  00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  00&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
R1A000007F  &lt;br /&gt;
03040720000000000000000667000A64000000004F454D202020202020202020&lt;br /&gt;
0020202000000000313047422D5346502D4C522D45202020312E3020051E00F9&lt;br /&gt;
001A000045585039364C30313120202020202020313130383039202068F00302&lt;br /&gt;
45585452454D45204C5200000000000000000000000000000000000000000000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''wXYYAABBCC''' ('''WXYYAABBCC''')&lt;br /&gt;
&lt;br /&gt;
Command for writing to the memory of transceiver.&lt;br /&gt;
&lt;br /&gt;
'''w''' &amp;amp;mdash; (1 byte) &amp;amp;mdash; Write command. Symbol register is responsible for the subsequent read after write. If you use uppercase (W) after the recording is complete programmer will make reading the memory area which has been overwritten. To  write without return a write result of lower case (w) must be used. &lt;br /&gt;
                &lt;br /&gt;
'''X'''  &amp;amp;mdash; (1 byte)  &amp;amp;mdash;   Transceiver type (1 - SFP, 2 - SFP+).&lt;br /&gt;
&lt;br /&gt;
'''YY''' &amp;amp;mdash; (2 bytes) &amp;amp;mdash;   The device address on the I2C bus.&lt;br /&gt;
&lt;br /&gt;
'''AA'''  &amp;amp;mdash; (2 bytes) &amp;amp;mdash;    Address of additional table.&lt;br /&gt;
&lt;br /&gt;
'''BB'''  &amp;amp;mdash; (2 bytes) &amp;amp;mdash;    Address table. Value in HEX. For example: A0 or A2.&lt;br /&gt;
&lt;br /&gt;
'''СС'''  &amp;amp;mdash; (2 bytes) &amp;amp;mdash;   Write byte count. Hexadecimal value reduced by one.  For example, for writing 128 bytes you should set this parameter in 7F (0x7F in HEX, 127 in decimal). &lt;br /&gt;
&lt;br /&gt;
'''{DATA}'''  &amp;amp;mdash; Write data in HEX, 2 characters for each byte of the parcel.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''' Examples '''&lt;br /&gt;
&lt;br /&gt;
Write code 128 bytes in Table A0 Upper address 00 for SFP transceiver:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
W1A000007F&lt;br /&gt;
03040720000000000000000667000A64000000004F454D202020202020202020&lt;br /&gt;
0020202000000000313047422D5346502D4C522D45202020312E3020051E00F9&lt;br /&gt;
001A000045585039364C30313120202020202020313130383039202068F00302&lt;br /&gt;
45585452454D45204C5200000000000000000000000000000000000000000000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Write password 0123 (HEX: 30h 31h 32h 33h) in Table A2 address 7B for SFP+ transceiver:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;w2A2007B0330313233&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Note: Write command should type without newline characters and spaces. Shifts are given for the convenience display of the material in the examples.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Brute-force mode ===&lt;br /&gt;
&lt;br /&gt;
Starting  from SW 1.2.3 firmware version has been added the function that allows searching for a password in brute mode without using the SFPTotal Wizard software. It  mean that programming board can check passwords by itself in wide range of values.&lt;br /&gt;
&lt;br /&gt;
''' How does it works? '''&lt;br /&gt;
&lt;br /&gt;
To check the password programmer should make few operations:&lt;br /&gt;
# Enter password in password area&lt;br /&gt;
# Write a check word to Vendor name area&lt;br /&gt;
# Read vendor name area&lt;br /&gt;
# Compare a check word with vendor name.&lt;br /&gt;
&lt;br /&gt;
The programmer goes through the password values sequentially within the specified range. By default, the programmer write a check word &amp;quot;SFPTOTAL&amp;quot; (8 bytes) in Table A0h with offset 14h.&lt;br /&gt;
Then it compares the data that was read after the control word was written. &lt;br /&gt;
&lt;br /&gt;
If the read data is the same as the control word, then it mean the record is successful. The programmer will stop the brute-force process and return the current password as a result of a successful search.&lt;br /&gt;
&lt;br /&gt;
We are developed this function for searching passwords to MSA compliant transceivers. Anyway, you should check the documentation and standards for your module before using brute-force mode.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''BFSET'''&lt;br /&gt;
&lt;br /&gt;
The command sets the password search parameters and starts the brute-force process.&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
BFSET A2 7B AAAAAAAA FFFFFFFF CCCCCCCC&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''A2''' - address of Table, where must be entered a password. For XFP and QSFP address should be set in A0.&lt;br /&gt;
&lt;br /&gt;
'''7B''' - offset for entering a password &lt;br /&gt;
&lt;br /&gt;
'''AAAAAAAA''' - start of range&lt;br /&gt;
&lt;br /&gt;
'''FFFFFFFF''' - end of range&lt;br /&gt;
&lt;br /&gt;
'''CCCCCCCC''' - value from where should be started brute-force process&lt;br /&gt;
&lt;br /&gt;
Recommended ranges for search:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
BFSET A2 7B 41414141 5A5A5A5A 41414141 # A-Z&lt;br /&gt;
&lt;br /&gt;
BFSET A2 7B 61616161 7A7A7A7A 61616161 # a-z&lt;br /&gt;
&lt;br /&gt;
BFSET A2 FC 30303030 39393939 30303030 # 0-9&lt;br /&gt;
&lt;br /&gt;
BFSET A2 7B 20202020 7A7A7A7A 20202020 # Symbols + Numeric + Literal&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''BFSTOP'''&lt;br /&gt;
Use command BFSTOP to stop brute-force process. You could continue from this point using command BFSTART.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''BFSTART'''&lt;br /&gt;
Use command BFSTART to continue brute-force progress from last point.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''? BFPASS'''&lt;br /&gt;
Use command '''? BFPASS''' to get know current password in brute-force progress.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''BFCWADR'''&lt;br /&gt;
Set device address of entering check word. Fo example, BFCWADR=A0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''BFCWOFT'''&lt;br /&gt;
Set offset parameter for entering check word. For default, BFCWOFT=14.&lt;br /&gt;
&lt;br /&gt;
Note: for XFP and QSFP transceivers use BFCWOFT=94.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''How to start brute-force for SFP+ transceiver?'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
BFCWADR=A0&lt;br /&gt;
BFCWOFT=14&lt;br /&gt;
BFSET A2 7B 20202020 7A7A7A7A 20202020&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''How to start brute-force for XFP transceiver?'''&lt;br /&gt;
&lt;br /&gt;
Set jumper on P20 contact on programming board.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
BFCWADR=A0&lt;br /&gt;
BFCWOFT=94&lt;br /&gt;
BFSET A0 7B 20202020 7A7A7A7A 20202020&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sfptotal</name></author>	</entry>

	<entry>
		<id>http://wiki.sfptotal.com/index.php?title=SFPTotal_Plus_X&amp;diff=826</id>
		<title>SFPTotal Plus X</title>
		<link rel="alternate" type="text/html" href="http://wiki.sfptotal.com/index.php?title=SFPTotal_Plus_X&amp;diff=826"/>
				<updated>2020-11-13T09:11:35Z</updated>
		
		<summary type="html">&lt;p&gt;Sfptotal: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''SFPTotal Plus X''' is a new revision of universal programming board SFPTotal Plus with improved support fiber optical transceivers. The coding board allows to reprogram 100M and 1.25G SFP, 8/10/16G SFP+, 25G SFP28, 10G XFP,  40G QSFP+, 100G QSFP28 and 200/400G QSFP-DD transceivers, DAC and AOC cables. Device connects to PC via USB interface through which performed control and power supply of transceiver. An external supply adapter connection socket is presented for work with high-powered transceivers with an overestimated power consumption (for example, transceivers for distance 40/80/120 km).&lt;br /&gt;
&lt;br /&gt;
== Application ==&lt;br /&gt;
&lt;br /&gt;
Programmers SFPTotal are used to solve next tasks:&lt;br /&gt;
* Programming transceviers SFP, XFP, QSFP and QSFP-DD form factors&lt;br /&gt;
* Providing of compatibility between network equipment of different manufacturers&lt;br /&gt;
* Reflashing memory of write-protected transceivers&lt;br /&gt;
* Changing settings of PHY controllers&lt;br /&gt;
* Branding for OEM transceivers&lt;br /&gt;
* Diagnosis transceiver by reading the DDM&lt;br /&gt;
* Accounting for optical transceivers&lt;br /&gt;
&lt;br /&gt;
== Quick start guide ==&lt;br /&gt;
&lt;br /&gt;
# Connect SFPTotal Plus board to your PC using USB type C cable&lt;br /&gt;
# Install [http://wiki.sfptotal.com/index.php/Installing_drivers_for_SFPTotal_Plus%5CMini drivers for SFPTotal Device]&lt;br /&gt;
# Download application [[SFPTotal Wizard]] &lt;br /&gt;
# Start SFPTotal Wizard&lt;br /&gt;
# Insert transceiver to the programmer port&lt;br /&gt;
# [[Reading transceiver's memory]]&lt;br /&gt;
&lt;br /&gt;
== Listing of elements ==&lt;br /&gt;
&lt;br /&gt;
Listing of elements placed on circuit board of SFPTotal Plus X programmer &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''1. Transceiver ports'''&lt;br /&gt;
&lt;br /&gt;
'''P2''' - Port for SFP, SFP+, SFP28 transceivers&lt;br /&gt;
&lt;br /&gt;
'''P11''' - Port for QSFP+, QSFP28 and QSFP-DD&lt;br /&gt;
&lt;br /&gt;
'''P9''' - Port for XFP&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''2. Power supply plans'''&lt;br /&gt;
&lt;br /&gt;
'''P26''' - Common power supply 3.3V for ports. Must be connected to provide power supply on ports.&lt;br /&gt;
&lt;br /&gt;
'''P1''' - PWR_TX and PWR_RX connectors are power supply of SFP port, a pair of 3.3 V for VccT and VccR pins.&lt;br /&gt;
&lt;br /&gt;
'''P24, P23, P17, P16, P15, P8''' - power supply of QSFP-DD port,  3.3 V for Vcc1, VccTx and VccRx pins.&lt;br /&gt;
&lt;br /&gt;
'''P12, P14, P13, P10''' - power supply of XFP port: 3.3V, -5V, 5V and 1.8 power supply plans.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''3. Jumpers'''&lt;br /&gt;
&lt;br /&gt;
'''P3''' - low power mode, keep closed to disable low power mode (TX enable).&lt;br /&gt;
&lt;br /&gt;
'''P4''' - RS1 (position 1-2) and RS0 (position 3-4) pins.&lt;br /&gt;
&lt;br /&gt;
'''P18''' - QSFP ModSelL&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;The ModSelL is an input pin. When held low by the host, the module responds to 2-wire serial communication commands. The ModSelL allows the use of multiple QSFP modules on a single 2-wire interface bus. When the ModSelL is “High”, the module shall not respond to or acknowledge any 2-wire interface communication from the host. ModSelL signal input node must be biased to the “High” state in the module.&lt;br /&gt;
&lt;br /&gt;
INF-8438&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notice: The programmer automatically switches the contact to &amp;quot;Low&amp;quot; level when performing read and write operations on the data bus.&lt;br /&gt;
&lt;br /&gt;
'''P19''' - QSFP ResetL&lt;br /&gt;
&lt;br /&gt;
'''P20''' - XFP ModDeSel&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
The Mod_DeSel is an input pin. When held Low by the host, the module responds to 2-wire serial communication commands. The Mod_DeSel allows the use of multiple XFP modules on a single 2-wire interface bus.&lt;br /&gt;
When the Mod_DeSel pin is “High”, the module shall not respond to or acknowledge any 2-wire interface communication from the host. Mod_DeSel pin must be pulled to VCC3 in the module.&lt;br /&gt;
&lt;br /&gt;
INF-8077i&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notice: The programmer automatically switches the contact to &amp;quot;Low&amp;quot; level when performing read and write operations on the data bus.&lt;br /&gt;
&lt;br /&gt;
'''P21''' - XFP PDOWN/RESET&lt;br /&gt;
&amp;lt;pre&amp;gt;This is a multifunction pin for module Power Down and Reset. The P_Down/RST pin must be pulled up to VCC3 in the XFP module.&lt;br /&gt;
&lt;br /&gt;
INF-8077i&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''4. Interfaces'''&lt;br /&gt;
&lt;br /&gt;
'''P5''' - USB type C port for connection to PC&lt;br /&gt;
&lt;br /&gt;
'''P22''' - I&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;C databus with logic level 3V3 and 5V&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''5. LED indicators '''&lt;br /&gt;
&lt;br /&gt;
'''LED1 - POWER''' - should statically light when board connected to USB or to external supply adapter.&lt;br /&gt;
&lt;br /&gt;
'''LED2 - MCU''' - indication of power supply for microcontroller.&lt;br /&gt;
&lt;br /&gt;
'''LED3 - ERROR''' - should glow when unhandled errors occur on the data bus, for example: connection more than 1 transceiver.&lt;br /&gt;
&lt;br /&gt;
'''LED4 - STATUS''' - should blinking when transceiver is not connected and statically light when transceiver is connected.&lt;br /&gt;
&lt;br /&gt;
== Management interface ==&lt;br /&gt;
&lt;br /&gt;
The device provides access to management interface (CLI) by connecting through a virtual serial port.&lt;br /&gt;
You can use the programming board without [[SFPTotal Wizard]] software to get more features or to realize the opportunities that are not available in the standard software. Use this document to get information about commands which supported by SFPTotal Plus.&lt;br /&gt;
&lt;br /&gt;
Management inerface is full compatible with SFPTotal Plus https://wiki.sfptotal.com/index.php/SFPTotal_Plus#Management_interface&lt;/div&gt;</summary>
		<author><name>Sfptotal</name></author>	</entry>

	<entry>
		<id>http://wiki.sfptotal.com/index.php?title=SFPTotal_Documentation&amp;diff=825</id>
		<title>SFPTotal Documentation</title>
		<link rel="alternate" type="text/html" href="http://wiki.sfptotal.com/index.php?title=SFPTotal_Documentation&amp;diff=825"/>
				<updated>2020-11-13T09:09:42Z</updated>
		
		<summary type="html">&lt;p&gt;Sfptotal: /* Programming boards */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt; &lt;br /&gt;
'''SFPTotal Team''' research issues about compatibility between fiber optical transceivers and network switching equipment. Our engineers develop tools, devices and software for programming fiber-optic transceievers including ethernet transceivers, passive and active optical cables of popular form-factors GBIC, SFP, SFP+, SFP28,  XFP, QSFP, QSFP+, QSFP28. Programming boards are designed to solve the main problems that arise in the practice of Internet service providers, suppliers of network equipment and system integrators on the process of working with optical transceivers and switching equipment, and requiring reprogramming of transceivers.&lt;br /&gt;
&lt;br /&gt;
SFPTotal devices support a special protocol that allows access to all address spaces of transceivers and implements instructions for programming write-protected transceivers.&lt;br /&gt;
&lt;br /&gt;
== Programming boards ==&lt;br /&gt;
&lt;br /&gt;
# [[SFPTotal PG]]&lt;br /&gt;
# [[SFPTotal Mini]]&lt;br /&gt;
# [[SFPTotal Plus]]&lt;br /&gt;
# [[SFPTotal Plus X]] with QSFP-DD port&lt;br /&gt;
# [[SFPTotal Whistle]]&lt;br /&gt;
&lt;br /&gt;
== Application ==&lt;br /&gt;
&lt;br /&gt;
SFPTotal programmers can be used to solve the following tasks:&lt;br /&gt;
&lt;br /&gt;
* Programming transceiver's EEPROM/Flash through I2C databus&lt;br /&gt;
* Ensuring compatibility between network equipment of different manufacturers&lt;br /&gt;
* Programming write-protected transceivers using passwords or scripts&lt;br /&gt;
* Programming write-protected transceivers using brute-force mode&lt;br /&gt;
* Changing PHY controller settings&lt;br /&gt;
* Rebranding OEM transceivers&lt;br /&gt;
* Reading DDM (Digital Diagnostics Monitoring) information&lt;br /&gt;
&lt;br /&gt;
== User Guide ==&lt;br /&gt;
&lt;br /&gt;
It was relocated on Github&lt;br /&gt;
https://github.com/sfptotal/SFPTotal-Wizard/wiki&lt;br /&gt;
&lt;br /&gt;
== Our resources ==&lt;br /&gt;
&lt;br /&gt;
* [https://sfptotal.com www.sfptotal.com]&lt;/div&gt;</summary>
		<author><name>Sfptotal</name></author>	</entry>

	<entry>
		<id>http://wiki.sfptotal.com/index.php?title=SFPTotal_Documentation&amp;diff=824</id>
		<title>SFPTotal Documentation</title>
		<link rel="alternate" type="text/html" href="http://wiki.sfptotal.com/index.php?title=SFPTotal_Documentation&amp;diff=824"/>
				<updated>2020-11-13T09:09:28Z</updated>
		
		<summary type="html">&lt;p&gt;Sfptotal: /* Programming boards */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt; &lt;br /&gt;
'''SFPTotal Team''' research issues about compatibility between fiber optical transceivers and network switching equipment. Our engineers develop tools, devices and software for programming fiber-optic transceievers including ethernet transceivers, passive and active optical cables of popular form-factors GBIC, SFP, SFP+, SFP28,  XFP, QSFP, QSFP+, QSFP28. Programming boards are designed to solve the main problems that arise in the practice of Internet service providers, suppliers of network equipment and system integrators on the process of working with optical transceivers and switching equipment, and requiring reprogramming of transceivers.&lt;br /&gt;
&lt;br /&gt;
SFPTotal devices support a special protocol that allows access to all address spaces of transceivers and implements instructions for programming write-protected transceivers.&lt;br /&gt;
&lt;br /&gt;
== Programming boards ==&lt;br /&gt;
&lt;br /&gt;
# [[SFPTotal PG]]&lt;br /&gt;
# [[SFPTotal Mini]]&lt;br /&gt;
# [[SFPTotal Plus]]&lt;br /&gt;
# [[SFPTotal Plus X]]&lt;br /&gt;
# [[SFPTotal Whistle]]&lt;br /&gt;
&lt;br /&gt;
== Application ==&lt;br /&gt;
&lt;br /&gt;
SFPTotal programmers can be used to solve the following tasks:&lt;br /&gt;
&lt;br /&gt;
* Programming transceiver's EEPROM/Flash through I2C databus&lt;br /&gt;
* Ensuring compatibility between network equipment of different manufacturers&lt;br /&gt;
* Programming write-protected transceivers using passwords or scripts&lt;br /&gt;
* Programming write-protected transceivers using brute-force mode&lt;br /&gt;
* Changing PHY controller settings&lt;br /&gt;
* Rebranding OEM transceivers&lt;br /&gt;
* Reading DDM (Digital Diagnostics Monitoring) information&lt;br /&gt;
&lt;br /&gt;
== User Guide ==&lt;br /&gt;
&lt;br /&gt;
It was relocated on Github&lt;br /&gt;
https://github.com/sfptotal/SFPTotal-Wizard/wiki&lt;br /&gt;
&lt;br /&gt;
== Our resources ==&lt;br /&gt;
&lt;br /&gt;
* [https://sfptotal.com www.sfptotal.com]&lt;/div&gt;</summary>
		<author><name>Sfptotal</name></author>	</entry>

	<entry>
		<id>http://wiki.sfptotal.com/index.php?title=SFPTotal_Plus_X&amp;diff=823</id>
		<title>SFPTotal Plus X</title>
		<link rel="alternate" type="text/html" href="http://wiki.sfptotal.com/index.php?title=SFPTotal_Plus_X&amp;diff=823"/>
				<updated>2020-11-13T09:00:38Z</updated>
		
		<summary type="html">&lt;p&gt;Sfptotal: /* Listing of elements */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''SFPTotal Plus X''' is a new revision of universal programming board SFPTotal Plus with improved support fiber optical transceivers. The coding board allows to reprogram 100M and 1.25G SFP, 8/10/16G SFP+, 25G SFP28, 10G XFP,  40G QSFP+, 100G QSFP28 and 200/400G QSFP-DD transceivers, DAC and AOC cables. Device connects to PC via USB interface through which performed control and power supply of transceiver. An external supply adapter connection socket is presented for work with high-powered transceivers with an overestimated power consumption (for example, transceivers for distance 40/80/120 km).&lt;br /&gt;
&lt;br /&gt;
== Application ==&lt;br /&gt;
&lt;br /&gt;
Programmers SFPTotal are used to solve next tasks:&lt;br /&gt;
* Programming transceviers SFP, XFP, QSFP and QSFP-DD form factors&lt;br /&gt;
* Providing of compatibility between network equipment of different manufacturers&lt;br /&gt;
* Reflashing memory of write-protected transceivers&lt;br /&gt;
* Changing settings of PHY controllers&lt;br /&gt;
* Branding for OEM transceivers&lt;br /&gt;
* Diagnosis transceiver by reading the DDM&lt;br /&gt;
* Accounting for optical transceivers&lt;br /&gt;
&lt;br /&gt;
== Quick start guide ==&lt;br /&gt;
&lt;br /&gt;
# Connect SFPTotal Plus board to your PC using USB type C cable&lt;br /&gt;
# Install [http://wiki.sfptotal.com/index.php/Installing_drivers_for_SFPTotal_Plus%5CMini drivers for SFPTotal Device]&lt;br /&gt;
# Download application [[SFPTotal Wizard]] &lt;br /&gt;
# Start SFPTotal Wizard&lt;br /&gt;
# Insert transceiver to the programmer port&lt;br /&gt;
# [[Reading transceiver's memory]]&lt;br /&gt;
&lt;br /&gt;
== Listing of elements ==&lt;br /&gt;
&lt;br /&gt;
Listing of elements placed on circuit board of SFPTotal Plus X programmer &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''1. Transceiver ports'''&lt;br /&gt;
&lt;br /&gt;
'''P2''' - Port for SFP, SFP+, SFP28 transceivers&lt;br /&gt;
&lt;br /&gt;
'''P11''' - Port for QSFP+, QSFP28 and QSFP-DD&lt;br /&gt;
&lt;br /&gt;
'''P9''' - Port for XFP&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''2. Power supply plans'''&lt;br /&gt;
&lt;br /&gt;
'''P26''' - Common power supply 3.3V for ports. Must be connected to provide power supply on ports.&lt;br /&gt;
&lt;br /&gt;
'''P1''' - PWR_TX and PWR_RX connectors are power supply of SFP port, a pair of 3.3 V for VccT and VccR pins.&lt;br /&gt;
&lt;br /&gt;
'''P24, P23, P17, P16, P15, P8''' - power supply of QSFP-DD port,  3.3 V for Vcc1, VccTx and VccRx pins.&lt;br /&gt;
&lt;br /&gt;
'''P12, P14, P13, P10''' - power supply of XFP port: 3.3V, -5V, 5V and 1.8 power supply plans.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''3. Jumpers'''&lt;br /&gt;
&lt;br /&gt;
'''P3''' - low power mode, keep closed to disable low power mode (TX enable).&lt;br /&gt;
&lt;br /&gt;
'''P4''' - RS1 (position 1-2) and RS0 (position 3-4) pins.&lt;br /&gt;
&lt;br /&gt;
'''P18''' - QSFP ModSelL&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;The ModSelL is an input pin. When held low by the host, the module responds to 2-wire serial communication commands. The ModSelL allows the use of multiple QSFP modules on a single 2-wire interface bus. When the ModSelL is “High”, the module shall not respond to or acknowledge any 2-wire interface communication from the host. ModSelL signal input node must be biased to the “High” state in the module.&lt;br /&gt;
&lt;br /&gt;
INF-8438&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notice: The programmer automatically switches the contact to &amp;quot;Low&amp;quot; level when performing read and write operations on the data bus.&lt;br /&gt;
&lt;br /&gt;
'''P19''' - QSFP ResetL&lt;br /&gt;
&lt;br /&gt;
'''P20''' - XFP ModDeSel&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
The Mod_DeSel is an input pin. When held Low by the host, the module responds to 2-wire serial communication commands. The Mod_DeSel allows the use of multiple XFP modules on a single 2-wire interface bus.&lt;br /&gt;
When the Mod_DeSel pin is “High”, the module shall not respond to or acknowledge any 2-wire interface communication from the host. Mod_DeSel pin must be pulled to VCC3 in the module.&lt;br /&gt;
&lt;br /&gt;
INF-8077i&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notice: The programmer automatically switches the contact to &amp;quot;Low&amp;quot; level when performing read and write operations on the data bus.&lt;br /&gt;
&lt;br /&gt;
'''P21''' - XFP PDOWN/RESET&lt;br /&gt;
&amp;lt;pre&amp;gt;This is a multifunction pin for module Power Down and Reset. The P_Down/RST pin must be pulled up to VCC3 in the XFP module.&lt;br /&gt;
&lt;br /&gt;
INF-8077i&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''4. Interfaces'''&lt;br /&gt;
&lt;br /&gt;
'''P5''' - USB type C port for connection to PC&lt;br /&gt;
&lt;br /&gt;
'''P22''' - I&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;C databus with logic level 3V3 and 5V&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''5. LED indicators '''&lt;br /&gt;
&lt;br /&gt;
'''LED1 - POWER''' - should statically light when board connected to USB or to external supply adapter.&lt;br /&gt;
&lt;br /&gt;
'''LED2 - MCU''' - indication of power supply for microcontroller.&lt;br /&gt;
&lt;br /&gt;
'''LED3 - ERROR''' - should glow when unhandled errors occur on the data bus, for example: connection more than 1 transceiver.&lt;br /&gt;
&lt;br /&gt;
'''LED4 - STATUS''' - should blinking when transceiver is not connected and statically light when transceiver is connected.&lt;br /&gt;
&lt;br /&gt;
== Management interface ==&lt;br /&gt;
&lt;br /&gt;
The device provides access to management interface (CLI) by connecting through a virtual serial port.&lt;br /&gt;
You can use the programming board without [[SFPTotal Wizard]] software to get more features or to realize the opportunities that are not available in the standard software. Use this document to get information about commands which supported by SFPTotal Plus.&lt;/div&gt;</summary>
		<author><name>Sfptotal</name></author>	</entry>

	<entry>
		<id>http://wiki.sfptotal.com/index.php?title=SFPTotal_Plus_X&amp;diff=822</id>
		<title>SFPTotal Plus X</title>
		<link rel="alternate" type="text/html" href="http://wiki.sfptotal.com/index.php?title=SFPTotal_Plus_X&amp;diff=822"/>
				<updated>2020-11-13T08:58:22Z</updated>
		
		<summary type="html">&lt;p&gt;Sfptotal: /* Listing of elements */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''SFPTotal Plus X''' is a new revision of universal programming board SFPTotal Plus with improved support fiber optical transceivers. The coding board allows to reprogram 100M and 1.25G SFP, 8/10/16G SFP+, 25G SFP28, 10G XFP,  40G QSFP+, 100G QSFP28 and 200/400G QSFP-DD transceivers, DAC and AOC cables. Device connects to PC via USB interface through which performed control and power supply of transceiver. An external supply adapter connection socket is presented for work with high-powered transceivers with an overestimated power consumption (for example, transceivers for distance 40/80/120 km).&lt;br /&gt;
&lt;br /&gt;
== Application ==&lt;br /&gt;
&lt;br /&gt;
Programmers SFPTotal are used to solve next tasks:&lt;br /&gt;
* Programming transceviers SFP, XFP, QSFP and QSFP-DD form factors&lt;br /&gt;
* Providing of compatibility between network equipment of different manufacturers&lt;br /&gt;
* Reflashing memory of write-protected transceivers&lt;br /&gt;
* Changing settings of PHY controllers&lt;br /&gt;
* Branding for OEM transceivers&lt;br /&gt;
* Diagnosis transceiver by reading the DDM&lt;br /&gt;
* Accounting for optical transceivers&lt;br /&gt;
&lt;br /&gt;
== Quick start guide ==&lt;br /&gt;
&lt;br /&gt;
# Connect SFPTotal Plus board to your PC using USB type C cable&lt;br /&gt;
# Install [http://wiki.sfptotal.com/index.php/Installing_drivers_for_SFPTotal_Plus%5CMini drivers for SFPTotal Device]&lt;br /&gt;
# Download application [[SFPTotal Wizard]] &lt;br /&gt;
# Start SFPTotal Wizard&lt;br /&gt;
# Insert transceiver to the programmer port&lt;br /&gt;
# [[Reading transceiver's memory]]&lt;br /&gt;
&lt;br /&gt;
== Listing of elements ==&lt;br /&gt;
&lt;br /&gt;
Listing of elements placed on circuit board of SFPTotal Plus programmer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''1. Transceiver ports'''&lt;br /&gt;
&lt;br /&gt;
'''P2''' - Port for SFP, SFP+, SFP28 transceivers&lt;br /&gt;
&lt;br /&gt;
'''P11''' - Port for QSFP+, QSFP28 and QSFP-DD&lt;br /&gt;
&lt;br /&gt;
'''P9''' - Port for XFP&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''2. Power supply plans'''&lt;br /&gt;
&lt;br /&gt;
'''P26''' - Common power supply 3.3V for ports. Must be connected to provide power supply on ports.&lt;br /&gt;
&lt;br /&gt;
'''P1''' - PWR_TX and PWR_RX connectors are power supply of SFP port, a pair of 3.3 V for VccT and VccR pins.&lt;br /&gt;
&lt;br /&gt;
'''P24, P23, P17, P16, P15, P8''' - power supply of QSFP-DD port,  3.3 V for Vcc1, VccTx and VccRx pins.&lt;br /&gt;
&lt;br /&gt;
'''P12, P14, P13, P10''' - power supply of XFP port: 3.3V, -5V, 5V and 1.8 power supply plans.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''3. Jumpers'''&lt;br /&gt;
&lt;br /&gt;
'''P3''' - low power mode, keep closed to disable low power mode (TX enable).&lt;br /&gt;
&lt;br /&gt;
'''P4''' - RS1 (position 1-2) and RS0 (position 3-4) pins.&lt;br /&gt;
&lt;br /&gt;
'''P18''' - QSFP ModSelL&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;The ModSelL is an input pin. When held low by the host, the module responds to 2-wire serial communication commands. The ModSelL allows the use of multiple QSFP modules on a single 2-wire interface bus. When the ModSelL is “High”, the module shall not respond to or acknowledge any 2-wire interface communication from the host. ModSelL signal input node must be biased to the “High” state in the module.&lt;br /&gt;
&lt;br /&gt;
INF-8438&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notice: The programmer automatically switches the contact to &amp;quot;Low&amp;quot; level when performing read and write operations on the data bus.&lt;br /&gt;
&lt;br /&gt;
'''P19''' - QSFP ResetL&lt;br /&gt;
&lt;br /&gt;
'''P20''' - XFP ModDeSel&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
The Mod_DeSel is an input pin. When held Low by the host, the module responds to 2-wire serial communication commands. The Mod_DeSel allows the use of multiple XFP modules on a single 2-wire interface bus.&lt;br /&gt;
When the Mod_DeSel pin is “High”, the module shall not respond to or acknowledge any 2-wire interface communication from the host. Mod_DeSel pin must be pulled to VCC3 in the module.&lt;br /&gt;
&lt;br /&gt;
INF-8077i&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notice: The programmer automatically switches the contact to &amp;quot;Low&amp;quot; level when performing read and write operations on the data bus.&lt;br /&gt;
&lt;br /&gt;
'''P21''' - XFP PDOWN/RESET&lt;br /&gt;
&amp;lt;pre&amp;gt;This is a multifunction pin for module Power Down and Reset. The P_Down/RST pin must be pulled up to VCC3 in the XFP module.&lt;br /&gt;
&lt;br /&gt;
INF-8077i&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''4. Interfaces'''&lt;br /&gt;
&lt;br /&gt;
'''P5''' - USB type C port for connection to PC&lt;br /&gt;
&lt;br /&gt;
'''P22''' - I&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;C databus with logic level 3V3 and 5V&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''5. LED indicators '''&lt;br /&gt;
&lt;br /&gt;
'''POWER''' - should statically light when board connected to USB or to external supply adapter.&lt;br /&gt;
&lt;br /&gt;
'''MCU''' - indication of power supply for microcontroller.&lt;br /&gt;
&lt;br /&gt;
'''ERROR''' - should glow when unhandled errors occur on the data bus, for example: connection more than 1 transceiver.&lt;br /&gt;
&lt;br /&gt;
'''STATUS''' - should blinking when transceiver is not connected and statically light when transceiver is connected.&lt;br /&gt;
&lt;br /&gt;
== Management interface ==&lt;br /&gt;
&lt;br /&gt;
The device provides access to management interface (CLI) by connecting through a virtual serial port.&lt;br /&gt;
You can use the programming board without [[SFPTotal Wizard]] software to get more features or to realize the opportunities that are not available in the standard software. Use this document to get information about commands which supported by SFPTotal Plus.&lt;/div&gt;</summary>
		<author><name>Sfptotal</name></author>	</entry>

	<entry>
		<id>http://wiki.sfptotal.com/index.php?title=SFPTotal_Plus_X&amp;diff=821</id>
		<title>SFPTotal Plus X</title>
		<link rel="alternate" type="text/html" href="http://wiki.sfptotal.com/index.php?title=SFPTotal_Plus_X&amp;diff=821"/>
				<updated>2020-11-13T08:56:00Z</updated>
		
		<summary type="html">&lt;p&gt;Sfptotal: /* Listing of elements */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''SFPTotal Plus X''' is a new revision of universal programming board SFPTotal Plus with improved support fiber optical transceivers. The coding board allows to reprogram 100M and 1.25G SFP, 8/10/16G SFP+, 25G SFP28, 10G XFP,  40G QSFP+, 100G QSFP28 and 200/400G QSFP-DD transceivers, DAC and AOC cables. Device connects to PC via USB interface through which performed control and power supply of transceiver. An external supply adapter connection socket is presented for work with high-powered transceivers with an overestimated power consumption (for example, transceivers for distance 40/80/120 km).&lt;br /&gt;
&lt;br /&gt;
== Application ==&lt;br /&gt;
&lt;br /&gt;
Programmers SFPTotal are used to solve next tasks:&lt;br /&gt;
* Programming transceviers SFP, XFP, QSFP and QSFP-DD form factors&lt;br /&gt;
* Providing of compatibility between network equipment of different manufacturers&lt;br /&gt;
* Reflashing memory of write-protected transceivers&lt;br /&gt;
* Changing settings of PHY controllers&lt;br /&gt;
* Branding for OEM transceivers&lt;br /&gt;
* Diagnosis transceiver by reading the DDM&lt;br /&gt;
* Accounting for optical transceivers&lt;br /&gt;
&lt;br /&gt;
== Quick start guide ==&lt;br /&gt;
&lt;br /&gt;
# Connect SFPTotal Plus board to your PC using USB type C cable&lt;br /&gt;
# Install [http://wiki.sfptotal.com/index.php/Installing_drivers_for_SFPTotal_Plus%5CMini drivers for SFPTotal Device]&lt;br /&gt;
# Download application [[SFPTotal Wizard]] &lt;br /&gt;
# Start SFPTotal Wizard&lt;br /&gt;
# Insert transceiver to the programmer port&lt;br /&gt;
# [[Reading transceiver's memory]]&lt;br /&gt;
&lt;br /&gt;
== Listing of elements ==&lt;br /&gt;
&lt;br /&gt;
Listing of elements placed on circuit board of SFPTotal Plus programmer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''1. Transceiver ports'''&lt;br /&gt;
&lt;br /&gt;
'''P2''' - Port for SFP, SFP+, SFP28 transceivers&lt;br /&gt;
&lt;br /&gt;
'''P11''' - Port for QSFP+, QSFP28 and QSFP-DD&lt;br /&gt;
&lt;br /&gt;
'''P9''' - Port for XFP&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''2. Power supply plans'''&lt;br /&gt;
&lt;br /&gt;
'''P1''' - PWR_TX and PWR_RX connectors are power supply of SFP port, a pair of 3.3 V for VccT and VccR pins.&lt;br /&gt;
&lt;br /&gt;
'''P24, P23, P17, P16, P15, P8''' - power supply of QSFP-DD port,  3.3 V for Vcc1, VccTx and VccRx pins.&lt;br /&gt;
&lt;br /&gt;
'''P12, P14, P13, P10''' - power supply of XFP port: 3.3V, -5V, 5V and 1.8 power supply plans.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''3. Jumpers'''&lt;br /&gt;
&lt;br /&gt;
'''P3''' - low power mode, keep closed to disable low power mode (TX enable).&lt;br /&gt;
&lt;br /&gt;
'''P4''' - RS1 (position 1-2) and RS0 (position 3-4) pins.&lt;br /&gt;
&lt;br /&gt;
'''P18''' - QSFP ModSelL&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;The ModSelL is an input pin. When held low by the host, the module responds to 2-wire serial communication commands. The ModSelL allows the use of multiple QSFP modules on a single 2-wire interface bus. When the ModSelL is “High”, the module shall not respond to or acknowledge any 2-wire interface communication from the host. ModSelL signal input node must be biased to the “High” state in the module.&lt;br /&gt;
&lt;br /&gt;
INF-8438&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notice: The programmer automatically switches the contact to &amp;quot;Low&amp;quot; level when performing read and write operations on the data bus.&lt;br /&gt;
&lt;br /&gt;
'''P19''' - QSFP ResetL&lt;br /&gt;
&lt;br /&gt;
'''P20''' - XFP ModDeSel&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
The Mod_DeSel is an input pin. When held Low by the host, the module responds to 2-wire serial communication commands. The Mod_DeSel allows the use of multiple XFP modules on a single 2-wire interface bus.&lt;br /&gt;
When the Mod_DeSel pin is “High”, the module shall not respond to or acknowledge any 2-wire interface communication from the host. Mod_DeSel pin must be pulled to VCC3 in the module.&lt;br /&gt;
&lt;br /&gt;
INF-8077i&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notice: The programmer automatically switches the contact to &amp;quot;Low&amp;quot; level when performing read and write operations on the data bus.&lt;br /&gt;
&lt;br /&gt;
'''P21''' - XFP PDOWN/RESET&lt;br /&gt;
&amp;lt;pre&amp;gt;This is a multifunction pin for module Power Down and Reset. The P_Down/RST pin must be pulled up to VCC3 in the XFP module.&lt;br /&gt;
&lt;br /&gt;
INF-8077i&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''4. Interfaces'''&lt;br /&gt;
&lt;br /&gt;
'''P5''' - USB type C port for connection to PC&lt;br /&gt;
&lt;br /&gt;
'''P22''' - I&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;C databus with logic level 3V3 and 5V&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''5. LED indicators '''&lt;br /&gt;
&lt;br /&gt;
'''POWER''' - should statically light when board connected to USB or to external supply adapter.&lt;br /&gt;
&lt;br /&gt;
'''MCU''' - indication of power supply for microcontroller.&lt;br /&gt;
&lt;br /&gt;
'''ERROR''' - should glow when unhandled errors occur on the data bus, for example: connection more than 1 transceiver.&lt;br /&gt;
&lt;br /&gt;
'''STATUS''' - should blinking when transceiver is not connected and statically light when transceiver is connected.&lt;br /&gt;
&lt;br /&gt;
== Management interface ==&lt;br /&gt;
&lt;br /&gt;
The device provides access to management interface (CLI) by connecting through a virtual serial port.&lt;br /&gt;
You can use the programming board without [[SFPTotal Wizard]] software to get more features or to realize the opportunities that are not available in the standard software. Use this document to get information about commands which supported by SFPTotal Plus.&lt;/div&gt;</summary>
		<author><name>Sfptotal</name></author>	</entry>

	<entry>
		<id>http://wiki.sfptotal.com/index.php?title=SFPTotal_Plus_X&amp;diff=820</id>
		<title>SFPTotal Plus X</title>
		<link rel="alternate" type="text/html" href="http://wiki.sfptotal.com/index.php?title=SFPTotal_Plus_X&amp;diff=820"/>
				<updated>2020-11-13T08:52:27Z</updated>
		
		<summary type="html">&lt;p&gt;Sfptotal: /* Listing of elements */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''SFPTotal Plus X''' is a new revision of universal programming board SFPTotal Plus with improved support fiber optical transceivers. The coding board allows to reprogram 100M and 1.25G SFP, 8/10/16G SFP+, 25G SFP28, 10G XFP,  40G QSFP+, 100G QSFP28 and 200/400G QSFP-DD transceivers, DAC and AOC cables. Device connects to PC via USB interface through which performed control and power supply of transceiver. An external supply adapter connection socket is presented for work with high-powered transceivers with an overestimated power consumption (for example, transceivers for distance 40/80/120 km).&lt;br /&gt;
&lt;br /&gt;
== Application ==&lt;br /&gt;
&lt;br /&gt;
Programmers SFPTotal are used to solve next tasks:&lt;br /&gt;
* Programming transceviers SFP, XFP, QSFP and QSFP-DD form factors&lt;br /&gt;
* Providing of compatibility between network equipment of different manufacturers&lt;br /&gt;
* Reflashing memory of write-protected transceivers&lt;br /&gt;
* Changing settings of PHY controllers&lt;br /&gt;
* Branding for OEM transceivers&lt;br /&gt;
* Diagnosis transceiver by reading the DDM&lt;br /&gt;
* Accounting for optical transceivers&lt;br /&gt;
&lt;br /&gt;
== Quick start guide ==&lt;br /&gt;
&lt;br /&gt;
# Connect SFPTotal Plus board to your PC using USB type C cable&lt;br /&gt;
# Install [http://wiki.sfptotal.com/index.php/Installing_drivers_for_SFPTotal_Plus%5CMini drivers for SFPTotal Device]&lt;br /&gt;
# Download application [[SFPTotal Wizard]] &lt;br /&gt;
# Start SFPTotal Wizard&lt;br /&gt;
# Insert transceiver to the programmer port&lt;br /&gt;
# [[Reading transceiver's memory]]&lt;br /&gt;
&lt;br /&gt;
== Listing of elements ==&lt;br /&gt;
&lt;br /&gt;
Listing of elements placed on circuit board of SFPTotal Plus programmer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''1. Transceiver ports'''&lt;br /&gt;
&lt;br /&gt;
'''P2''' - Port for SFP, SFP+, SFP28 transceivers&lt;br /&gt;
&lt;br /&gt;
'''P11''' - Port for QSFP+, QSFP28 and QSFP-DD&lt;br /&gt;
&lt;br /&gt;
'''P9''' - Port for XFP&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''2. Power supply plans'''&lt;br /&gt;
&lt;br /&gt;
'''P1''' - power supply of SFP port, a pair of 3.3 V for VccT and VccR pins.&lt;br /&gt;
&lt;br /&gt;
'''P17, P16, P15''' - power supply of QSFP port,  3.3 V for Vcc1, VccTx and VccRx pins.&lt;br /&gt;
&lt;br /&gt;
'''P12, P14, P13, P10''' - power supply of XFP port: 3.3V, -5V, 5V and 1.8 power supply plans.&lt;br /&gt;
&lt;br /&gt;
'''P8''' - power supply of GBIC port, switch between 3.3V or 5V. For default, closed in 3V3 position.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''3. Jumpers'''&lt;br /&gt;
&lt;br /&gt;
'''P3''' - low power mode, keep closed to disable low power mode (TX enable).&lt;br /&gt;
&lt;br /&gt;
'''P4''' - RS1 (position 1-2) and RS0 (position 3-4) pins.&lt;br /&gt;
&lt;br /&gt;
'''P18''' - QSFP ModSelL&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;The ModSelL is an input pin. When held low by the host, the module responds to 2-wire serial communication commands. The ModSelL allows the use of multiple QSFP modules on a single 2-wire interface bus. When the ModSelL is “High”, the module shall not respond to or acknowledge any 2-wire interface communication from the host. ModSelL signal input node must be biased to the “High” state in the module.&lt;br /&gt;
&lt;br /&gt;
INF-8438&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notice: The programmer automatically switches the contact to &amp;quot;Low&amp;quot; level when performing read and write operations on the data bus.&lt;br /&gt;
&lt;br /&gt;
'''P19''' - QSFP ResetL&lt;br /&gt;
&lt;br /&gt;
'''P20''' - XFP ModDeSel&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
The Mod_DeSel is an input pin. When held Low by the host, the module responds to 2-wire serial communication commands. The Mod_DeSel allows the use of multiple XFP modules on a single 2-wire interface bus.&lt;br /&gt;
When the Mod_DeSel pin is “High”, the module shall not respond to or acknowledge any 2-wire interface communication from the host. Mod_DeSel pin must be pulled to VCC3 in the module.&lt;br /&gt;
&lt;br /&gt;
INF-8077i&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notice: The programmer automatically switches the contact to &amp;quot;Low&amp;quot; level when performing read and write operations on the data bus.&lt;br /&gt;
&lt;br /&gt;
'''P21''' - XFP PDOWN/RESET&lt;br /&gt;
&amp;lt;pre&amp;gt;This is a multifunction pin for module Power Down and Reset. The P_Down/RST pin must be pulled up to VCC3 in the XFP module.&lt;br /&gt;
&lt;br /&gt;
INF-8077i&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''4. Interfaces'''&lt;br /&gt;
&lt;br /&gt;
'''P5''' - USB interface for connection to PC&lt;br /&gt;
&lt;br /&gt;
'''P22''' - I&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;C databus, logic level 5V&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''5. LED indicators '''&lt;br /&gt;
&lt;br /&gt;
'''POWER''' - should statically light when board connected to USB or to external supply adapter.&lt;br /&gt;
&lt;br /&gt;
'''MCU''' - indication of power supply for microcontroller.&lt;br /&gt;
&lt;br /&gt;
'''ERROR''' - should glow when unhandled errors occur on the data bus, for example: connection more than 1 transceiver.&lt;br /&gt;
&lt;br /&gt;
'''STATUS''' - should blinking when transceiver is not connected and statically light when transceiver is connected.&lt;br /&gt;
&lt;br /&gt;
== Management interface ==&lt;br /&gt;
&lt;br /&gt;
The device provides access to management interface (CLI) by connecting through a virtual serial port.&lt;br /&gt;
You can use the programming board without [[SFPTotal Wizard]] software to get more features or to realize the opportunities that are not available in the standard software. Use this document to get information about commands which supported by SFPTotal Plus.&lt;/div&gt;</summary>
		<author><name>Sfptotal</name></author>	</entry>

	<entry>
		<id>http://wiki.sfptotal.com/index.php?title=SFPTotal_Plus_X&amp;diff=819</id>
		<title>SFPTotal Plus X</title>
		<link rel="alternate" type="text/html" href="http://wiki.sfptotal.com/index.php?title=SFPTotal_Plus_X&amp;diff=819"/>
				<updated>2020-11-13T08:51:06Z</updated>
		
		<summary type="html">&lt;p&gt;Sfptotal: /* Management interface */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''SFPTotal Plus X''' is a new revision of universal programming board SFPTotal Plus with improved support fiber optical transceivers. The coding board allows to reprogram 100M and 1.25G SFP, 8/10/16G SFP+, 25G SFP28, 10G XFP,  40G QSFP+, 100G QSFP28 and 200/400G QSFP-DD transceivers, DAC and AOC cables. Device connects to PC via USB interface through which performed control and power supply of transceiver. An external supply adapter connection socket is presented for work with high-powered transceivers with an overestimated power consumption (for example, transceivers for distance 40/80/120 km).&lt;br /&gt;
&lt;br /&gt;
== Application ==&lt;br /&gt;
&lt;br /&gt;
Programmers SFPTotal are used to solve next tasks:&lt;br /&gt;
* Programming transceviers SFP, XFP, QSFP and QSFP-DD form factors&lt;br /&gt;
* Providing of compatibility between network equipment of different manufacturers&lt;br /&gt;
* Reflashing memory of write-protected transceivers&lt;br /&gt;
* Changing settings of PHY controllers&lt;br /&gt;
* Branding for OEM transceivers&lt;br /&gt;
* Diagnosis transceiver by reading the DDM&lt;br /&gt;
* Accounting for optical transceivers&lt;br /&gt;
&lt;br /&gt;
== Quick start guide ==&lt;br /&gt;
&lt;br /&gt;
# Connect SFPTotal Plus board to your PC using USB type C cable&lt;br /&gt;
# Install [http://wiki.sfptotal.com/index.php/Installing_drivers_for_SFPTotal_Plus%5CMini drivers for SFPTotal Device]&lt;br /&gt;
# Download application [[SFPTotal Wizard]] &lt;br /&gt;
# Start SFPTotal Wizard&lt;br /&gt;
# Insert transceiver to the programmer port&lt;br /&gt;
# [[Reading transceiver's memory]]&lt;br /&gt;
&lt;br /&gt;
== Listing of elements ==&lt;br /&gt;
&lt;br /&gt;
Listing of elements placed on circuit board of SFPTotal Plus programmer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''1. Transceiver ports'''&lt;br /&gt;
&lt;br /&gt;
'''P2''' - SFP, SFP+ port&lt;br /&gt;
&lt;br /&gt;
'''P11''' - QSFP, QSFP+, QSFP28 port&lt;br /&gt;
&lt;br /&gt;
'''P9''' - XFP port&lt;br /&gt;
&lt;br /&gt;
'''P7''' - GBIC port&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''2. Power supply plans'''&lt;br /&gt;
&lt;br /&gt;
'''P1''' - power supply of SFP port, a pair of 3.3 V for VccT and VccR pins.&lt;br /&gt;
&lt;br /&gt;
'''P17, P16, P15''' - power supply of QSFP port,  3.3 V for Vcc1, VccTx and VccRx pins.&lt;br /&gt;
&lt;br /&gt;
'''P12, P14, P13, P10''' - power supply of XFP port: 3.3V, -5V, 5V and 1.8 power supply plans.&lt;br /&gt;
&lt;br /&gt;
'''P8''' - power supply of GBIC port, switch between 3.3V or 5V. For default, closed in 3V3 position.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''3. Jumpers'''&lt;br /&gt;
&lt;br /&gt;
'''P3''' - low power mode, keep closed to disable low power mode (TX enable).&lt;br /&gt;
&lt;br /&gt;
'''P4''' - RS1 (position 1-2) and RS0 (position 3-4) pins.&lt;br /&gt;
&lt;br /&gt;
'''P18''' - QSFP ModSelL&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;The ModSelL is an input pin. When held low by the host, the module responds to 2-wire serial communication commands. The ModSelL allows the use of multiple QSFP modules on a single 2-wire interface bus. When the ModSelL is “High”, the module shall not respond to or acknowledge any 2-wire interface communication from the host. ModSelL signal input node must be biased to the “High” state in the module.&lt;br /&gt;
&lt;br /&gt;
INF-8438&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notice: The programmer automatically switches the contact to &amp;quot;Low&amp;quot; level when performing read and write operations on the data bus.&lt;br /&gt;
&lt;br /&gt;
'''P19''' - QSFP ResetL&lt;br /&gt;
&lt;br /&gt;
'''P20''' - XFP ModDeSel&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
The Mod_DeSel is an input pin. When held Low by the host, the module responds to 2-wire serial communication commands. The Mod_DeSel allows the use of multiple XFP modules on a single 2-wire interface bus.&lt;br /&gt;
When the Mod_DeSel pin is “High”, the module shall not respond to or acknowledge any 2-wire interface communication from the host. Mod_DeSel pin must be pulled to VCC3 in the module.&lt;br /&gt;
&lt;br /&gt;
INF-8077i&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notice: The programmer automatically switches the contact to &amp;quot;Low&amp;quot; level when performing read and write operations on the data bus.&lt;br /&gt;
&lt;br /&gt;
'''P21''' - XFP PDOWN/RESET&lt;br /&gt;
&amp;lt;pre&amp;gt;This is a multifunction pin for module Power Down and Reset. The P_Down/RST pin must be pulled up to VCC3 in the XFP module.&lt;br /&gt;
&lt;br /&gt;
INF-8077i&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''4. Interfaces'''&lt;br /&gt;
&lt;br /&gt;
'''P5''' - USB interface for connection to PC&lt;br /&gt;
&lt;br /&gt;
'''P22''' - I&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;C databus, logic level 5V&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''5. LED indicators '''&lt;br /&gt;
&lt;br /&gt;
'''POWER''' - should statically light when board connected to USB or to external supply adapter.&lt;br /&gt;
&lt;br /&gt;
'''MCU''' - indication of power supply for microcontroller.&lt;br /&gt;
&lt;br /&gt;
'''ERROR''' - should glow when unhandled errors occur on the data bus, for example: connection more than 1 transceiver.&lt;br /&gt;
&lt;br /&gt;
'''STATUS''' - should blinking when transceiver is not connected and statically light when transceiver is connected.&lt;br /&gt;
&lt;br /&gt;
== Management interface ==&lt;br /&gt;
&lt;br /&gt;
The device provides access to management interface (CLI) by connecting through a virtual serial port.&lt;br /&gt;
You can use the programming board without [[SFPTotal Wizard]] software to get more features or to realize the opportunities that are not available in the standard software. Use this document to get information about commands which supported by SFPTotal Plus.&lt;/div&gt;</summary>
		<author><name>Sfptotal</name></author>	</entry>

	<entry>
		<id>http://wiki.sfptotal.com/index.php?title=SFPTotal_Plus_X&amp;diff=818</id>
		<title>SFPTotal Plus X</title>
		<link rel="alternate" type="text/html" href="http://wiki.sfptotal.com/index.php?title=SFPTotal_Plus_X&amp;diff=818"/>
				<updated>2020-11-13T08:50:39Z</updated>
		
		<summary type="html">&lt;p&gt;Sfptotal: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''SFPTotal Plus X''' is a new revision of universal programming board SFPTotal Plus with improved support fiber optical transceivers. The coding board allows to reprogram 100M and 1.25G SFP, 8/10/16G SFP+, 25G SFP28, 10G XFP,  40G QSFP+, 100G QSFP28 and 200/400G QSFP-DD transceivers, DAC and AOC cables. Device connects to PC via USB interface through which performed control and power supply of transceiver. An external supply adapter connection socket is presented for work with high-powered transceivers with an overestimated power consumption (for example, transceivers for distance 40/80/120 km).&lt;br /&gt;
&lt;br /&gt;
== Application ==&lt;br /&gt;
&lt;br /&gt;
Programmers SFPTotal are used to solve next tasks:&lt;br /&gt;
* Programming transceviers SFP, XFP, QSFP and QSFP-DD form factors&lt;br /&gt;
* Providing of compatibility between network equipment of different manufacturers&lt;br /&gt;
* Reflashing memory of write-protected transceivers&lt;br /&gt;
* Changing settings of PHY controllers&lt;br /&gt;
* Branding for OEM transceivers&lt;br /&gt;
* Diagnosis transceiver by reading the DDM&lt;br /&gt;
* Accounting for optical transceivers&lt;br /&gt;
&lt;br /&gt;
== Quick start guide ==&lt;br /&gt;
&lt;br /&gt;
# Connect SFPTotal Plus board to your PC using USB type C cable&lt;br /&gt;
# Install [http://wiki.sfptotal.com/index.php/Installing_drivers_for_SFPTotal_Plus%5CMini drivers for SFPTotal Device]&lt;br /&gt;
# Download application [[SFPTotal Wizard]] &lt;br /&gt;
# Start SFPTotal Wizard&lt;br /&gt;
# Insert transceiver to the programmer port&lt;br /&gt;
# [[Reading transceiver's memory]]&lt;br /&gt;
&lt;br /&gt;
== Listing of elements ==&lt;br /&gt;
&lt;br /&gt;
Listing of elements placed on circuit board of SFPTotal Plus programmer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''1. Transceiver ports'''&lt;br /&gt;
&lt;br /&gt;
'''P2''' - SFP, SFP+ port&lt;br /&gt;
&lt;br /&gt;
'''P11''' - QSFP, QSFP+, QSFP28 port&lt;br /&gt;
&lt;br /&gt;
'''P9''' - XFP port&lt;br /&gt;
&lt;br /&gt;
'''P7''' - GBIC port&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''2. Power supply plans'''&lt;br /&gt;
&lt;br /&gt;
'''P1''' - power supply of SFP port, a pair of 3.3 V for VccT and VccR pins.&lt;br /&gt;
&lt;br /&gt;
'''P17, P16, P15''' - power supply of QSFP port,  3.3 V for Vcc1, VccTx and VccRx pins.&lt;br /&gt;
&lt;br /&gt;
'''P12, P14, P13, P10''' - power supply of XFP port: 3.3V, -5V, 5V and 1.8 power supply plans.&lt;br /&gt;
&lt;br /&gt;
'''P8''' - power supply of GBIC port, switch between 3.3V or 5V. For default, closed in 3V3 position.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''3. Jumpers'''&lt;br /&gt;
&lt;br /&gt;
'''P3''' - low power mode, keep closed to disable low power mode (TX enable).&lt;br /&gt;
&lt;br /&gt;
'''P4''' - RS1 (position 1-2) and RS0 (position 3-4) pins.&lt;br /&gt;
&lt;br /&gt;
'''P18''' - QSFP ModSelL&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;The ModSelL is an input pin. When held low by the host, the module responds to 2-wire serial communication commands. The ModSelL allows the use of multiple QSFP modules on a single 2-wire interface bus. When the ModSelL is “High”, the module shall not respond to or acknowledge any 2-wire interface communication from the host. ModSelL signal input node must be biased to the “High” state in the module.&lt;br /&gt;
&lt;br /&gt;
INF-8438&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notice: The programmer automatically switches the contact to &amp;quot;Low&amp;quot; level when performing read and write operations on the data bus.&lt;br /&gt;
&lt;br /&gt;
'''P19''' - QSFP ResetL&lt;br /&gt;
&lt;br /&gt;
'''P20''' - XFP ModDeSel&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
The Mod_DeSel is an input pin. When held Low by the host, the module responds to 2-wire serial communication commands. The Mod_DeSel allows the use of multiple XFP modules on a single 2-wire interface bus.&lt;br /&gt;
When the Mod_DeSel pin is “High”, the module shall not respond to or acknowledge any 2-wire interface communication from the host. Mod_DeSel pin must be pulled to VCC3 in the module.&lt;br /&gt;
&lt;br /&gt;
INF-8077i&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notice: The programmer automatically switches the contact to &amp;quot;Low&amp;quot; level when performing read and write operations on the data bus.&lt;br /&gt;
&lt;br /&gt;
'''P21''' - XFP PDOWN/RESET&lt;br /&gt;
&amp;lt;pre&amp;gt;This is a multifunction pin for module Power Down and Reset. The P_Down/RST pin must be pulled up to VCC3 in the XFP module.&lt;br /&gt;
&lt;br /&gt;
INF-8077i&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''4. Interfaces'''&lt;br /&gt;
&lt;br /&gt;
'''P5''' - USB interface for connection to PC&lt;br /&gt;
&lt;br /&gt;
'''P22''' - I&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;C databus, logic level 5V&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''5. LED indicators '''&lt;br /&gt;
&lt;br /&gt;
'''POWER''' - should statically light when board connected to USB or to external supply adapter.&lt;br /&gt;
&lt;br /&gt;
'''MCU''' - indication of power supply for microcontroller.&lt;br /&gt;
&lt;br /&gt;
'''ERROR''' - should glow when unhandled errors occur on the data bus, for example: connection more than 1 transceiver.&lt;br /&gt;
&lt;br /&gt;
'''STATUS''' - should blinking when transceiver is not connected and statically light when transceiver is connected.&lt;br /&gt;
&lt;br /&gt;
== Management interface ==&lt;br /&gt;
&lt;br /&gt;
The device provides access to management interface (CLI) by connecting through a virtual serial port.&lt;br /&gt;
You can use the programming board without [[SFPTotal Wizard]] software to get more features or to realize the opportunities that are not available in the standard software. Use this document to get information about commands which supported by SFPTotal Plus.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Serial port settings ===&lt;br /&gt;
&lt;br /&gt;
[[File:serial_port_settings.jpg|250px|right|Serial port settings]]&lt;br /&gt;
&lt;br /&gt;
You can access the command line interface of the programmer not only with the SFPTotal Wizard, but also with the help of utilities for working with the serial port. For example,  [http://www.putty.org/ Putty].&lt;br /&gt;
&lt;br /&gt;
The boards are support a flexible baud rate, but we recommend use value 115200.&lt;br /&gt;
&lt;br /&gt;
:: '''Default settings'''&lt;br /&gt;
&lt;br /&gt;
:: Baud rate: 115200&lt;br /&gt;
&lt;br /&gt;
:: Data bits: 8&lt;br /&gt;
&lt;br /&gt;
:: Parity: None&lt;br /&gt;
&lt;br /&gt;
:: Stop bits: 1&lt;br /&gt;
&lt;br /&gt;
:: Flow control: None&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Configuration commands ===&lt;br /&gt;
&lt;br /&gt;
;'''CLI'''&lt;br /&gt;
&lt;br /&gt;
After reset the programmer does not display in the interface characters entered from the keyboard.&lt;br /&gt;
The command switches the echo output of command line. Default, CLI=0.&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
? CLI&lt;br /&gt;
CLI=0&lt;br /&gt;
&lt;br /&gt;
CLI=1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set CLI=1 to turn on echo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;'''STATUS'''&lt;br /&gt;
&lt;br /&gt;
Commend returns current state GPIO for each port.&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
STATUS&lt;br /&gt;
[GBIC]: MOD_ABS=1; TX_FAULT=1; RX_LOS=1; TX_DIS=1&lt;br /&gt;
[SFP]:  MOD_ABS=1; TX_FAULT=1; RX_LOS=1; TX_DIS=1&lt;br /&gt;
[XFP]:  MOD_ABS=1; RX_LOS=1; INTERRUPT=1; MOD_SEL=1; P_DOWN/RESET=1;&lt;br /&gt;
[QSFP]: MOD_ABS=1; INTL=1; MOD_SEL=1; RESETL=1;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''TX_DIS'''&lt;br /&gt;
&lt;br /&gt;
Command allows to disable power supply of transmitter for switching to low power mode (LPMODE). To activate the LPMODE, it is necessary to transfer command TX_DIS setting the flag value of 1.&lt;br /&gt;
&lt;br /&gt;
To disable the mode, you must set the flag equal to 0. The current state can be requested with STATUS command.&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
TX_DIS=1&lt;br /&gt;
&lt;br /&gt;
STATUS&lt;br /&gt;
MOD_ABS=0; TX_FAULT=1; RX_LOS=0; TX_DIS=1&lt;br /&gt;
&lt;br /&gt;
TX_DIS=0&lt;br /&gt;
STATUS&lt;br /&gt;
MOD_ABS=0; TX_FAULT=1; RX_LOS=0; TX_DIS=0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Low power mode is activated for default.&lt;br /&gt;
On the PCB of SFPTotal boards are placed contacts LP_MODE, which allows to switch low power mode in manual mode.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;'''VERSION'''&lt;br /&gt;
&lt;br /&gt;
Command returns information about device: hardware revision, software version and unique serial number of the device.&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
VERSION&lt;br /&gt;
SFPTotal Plus (c) 2015-2016&lt;br /&gt;
HW: 1.1&lt;br /&gt;
SW: 1.0.5&lt;br /&gt;
SN: SFPT-P1116021001&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''I2CRATE'''&lt;br /&gt;
&lt;br /&gt;
Note: Supported only on the SW versions 1.1.0 or above&lt;br /&gt;
&lt;br /&gt;
This command sets the speed of I2C data bus.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
I2CRATE=12 # Set up speed rate 100 kHz&lt;br /&gt;
I2CRATE=40 # Set up speed 30 kHz&lt;br /&gt;
I2CRATE=C6 # Set up speed 10 kHz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To request a current speed use command: '''? I2CRATE'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
? I2CRATE&lt;br /&gt;
I2CRATE=C6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''I2CPAUSE'''&lt;br /&gt;
&lt;br /&gt;
Note: Supported only on the SW versions 1.2.2 or above&lt;br /&gt;
&lt;br /&gt;
This command sets the interval between operation of I2C data bus.&lt;br /&gt;
Value equal to milliseconds in Hex format.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
I2CPAUSE=20 # Set interval 32ms&lt;br /&gt;
I2CPAUSE=32 # Set interval 50ms (for default)&lt;br /&gt;
I2CPAUSE=64 # Set interval 100ms&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To request a current interval use command: '''? I2CPAUSE'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
? I2CPAUSE&lt;br /&gt;
I2CPAUSE=32&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;'''BPS'''&lt;br /&gt;
&lt;br /&gt;
The command set number bytes in block of write. Default, BPS=08&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
? BPS&lt;br /&gt;
BPS=08&lt;br /&gt;
&lt;br /&gt;
BPS=01 # Set block size in 1 byte&lt;br /&gt;
BPS=08 # Set block size in 8 bytes (default)&lt;br /&gt;
BPS=FF # Set block size in 255 bytes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
By default, the recording is performed by blocks of 8 bytes. For the programming of some transceivers with protection, it may be necessary to change the block size, for example, writing by each byte (BPS=01) or writing the entire block as a whole (BPS=FF).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''AUTO_WR_ADDTBL'''&lt;br /&gt;
&lt;br /&gt;
Note: Supported only on the SW versions 1.1.0 or above&lt;br /&gt;
&lt;br /&gt;
If the flag is set, the programmer will automatically change the address of the additional tables before performing reading and writing operations.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
AUTO_WR_ADDTBL=1&lt;br /&gt;
 &lt;br /&gt;
AUTO_WR_ADDTBL=0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To request a current value use command: '''? AUTO_WR_ADDTBL'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
? AUTO_WR_ADDTBL&lt;br /&gt;
AUTO_WR_ADDTBL=0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Read and write ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''rXYYAABBCC''' ('''RXYYAABBCC''')&lt;br /&gt;
&lt;br /&gt;
Command for reading memory of transceiver.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
r1A000007F&lt;br /&gt;
Read 128 byte(s) Table 0xA0 from 0x00&lt;br /&gt;
&lt;br /&gt;
##    00  01  02  03  04  05  06  07  08  09  0A  0B  0C  0D  0E  0F&lt;br /&gt;
&lt;br /&gt;
00 :  03  04  07  20  00  00  00  00  00  00  00  06  67  00  0A  64&lt;br /&gt;
01 :  00  00  00  00  4F  45  4D  20  20  20  20  20  20  20  20  20&lt;br /&gt;
02 :  00  20  20  20  00  00  00  00  31  30  47  42  2D  53  46  50&lt;br /&gt;
03 :  2D  4C  52  2D  45  20  20  20  31  2E  30  20  05  1E  00  F9&lt;br /&gt;
04 :  00  1A  00  00  45  58  50  39  36  4C  30  31  31  20  20  20&lt;br /&gt;
05 :  20  20  20  20  31  31  30  38  30  39  20  20  68  F0  03  02&lt;br /&gt;
06 :  45  58  54  52  45  4D  45  20  4C  52  00  00  00  00  00  00&lt;br /&gt;
07 :  00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  00&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
R1A000007F  &lt;br /&gt;
03040720000000000000000667000A64000000004F454D202020202020202020&lt;br /&gt;
0020202000000000313047422D5346502D4C522D45202020312E3020051E00F9&lt;br /&gt;
001A000045585039364C30313120202020202020313130383039202068F00302&lt;br /&gt;
45585452454D45204C5200000000000000000000000000000000000000000000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''wXYYAABBCC''' ('''WXYYAABBCC''')&lt;br /&gt;
&lt;br /&gt;
Command for writing to the memory of transceiver.&lt;br /&gt;
&lt;br /&gt;
'''w''' &amp;amp;mdash; (1 byte) &amp;amp;mdash; Write command. Symbol register is responsible for the subsequent read after write. If you use uppercase (W) after the recording is complete programmer will make reading the memory area which has been overwritten. To  write without return a write result of lower case (w) must be used. &lt;br /&gt;
                &lt;br /&gt;
'''X'''  &amp;amp;mdash; (1 byte)  &amp;amp;mdash;   Transceiver type (1 - SFP, 2 - SFP+).&lt;br /&gt;
&lt;br /&gt;
'''YY''' &amp;amp;mdash; (2 bytes) &amp;amp;mdash;   The device address on the I2C bus.&lt;br /&gt;
&lt;br /&gt;
'''AA'''  &amp;amp;mdash; (2 bytes) &amp;amp;mdash;    Address of additional table.&lt;br /&gt;
&lt;br /&gt;
'''BB'''  &amp;amp;mdash; (2 bytes) &amp;amp;mdash;    Address table. Value in HEX. For example: A0 or A2.&lt;br /&gt;
&lt;br /&gt;
'''СС'''  &amp;amp;mdash; (2 bytes) &amp;amp;mdash;   Write byte count. Hexadecimal value reduced by one.  For example, for writing 128 bytes you should set this parameter in 7F (0x7F in HEX, 127 in decimal). &lt;br /&gt;
&lt;br /&gt;
'''{DATA}'''  &amp;amp;mdash; Write data in HEX, 2 characters for each byte of the parcel.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''' Examples '''&lt;br /&gt;
&lt;br /&gt;
Write code 128 bytes in Table A0 Upper address 00 for SFP transceiver:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
W1A000007F&lt;br /&gt;
03040720000000000000000667000A64000000004F454D202020202020202020&lt;br /&gt;
0020202000000000313047422D5346502D4C522D45202020312E3020051E00F9&lt;br /&gt;
001A000045585039364C30313120202020202020313130383039202068F00302&lt;br /&gt;
45585452454D45204C5200000000000000000000000000000000000000000000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Write password 0123 (HEX: 30h 31h 32h 33h) in Table A2 address 7B for SFP+ transceiver:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;w2A2007B0330313233&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Note: Write command should type without newline characters and spaces. Shifts are given for the convenience display of the material in the examples.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Brute-force mode ===&lt;br /&gt;
&lt;br /&gt;
Starting  from SW 1.2.3 firmware version has been added the function that allows searching for a password in brute mode without using the SFPTotal Wizard software. It  mean that programming board can check passwords by itself in wide range of values.&lt;br /&gt;
&lt;br /&gt;
''' How does it works? '''&lt;br /&gt;
&lt;br /&gt;
To check the password programmer should make few operations:&lt;br /&gt;
# Enter password in password area&lt;br /&gt;
# Write a check word to Vendor name area&lt;br /&gt;
# Read vendor name area&lt;br /&gt;
# Compare a check word with vendor name.&lt;br /&gt;
&lt;br /&gt;
The programmer goes through the password values sequentially within the specified range. By default, the programmer write a check word &amp;quot;SFPTOTAL&amp;quot; (8 bytes) in Table A0h with offset 14h.&lt;br /&gt;
Then it compares the data that was read after the control word was written. &lt;br /&gt;
&lt;br /&gt;
If the read data is the same as the control word, then it mean the record is successful. The programmer will stop the brute-force process and return the current password as a result of a successful search.&lt;br /&gt;
&lt;br /&gt;
We are developed this function for searching passwords to MSA compliant transceivers. Anyway, you should check the documentation and standards for your module before using brute-force mode.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''BFSET'''&lt;br /&gt;
&lt;br /&gt;
The command sets the password search parameters and starts the brute-force process.&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
BFSET A2 7B AAAAAAAA FFFFFFFF CCCCCCCC&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''A2''' - address of Table, where must be entered a password. For XFP and QSFP address should be set in A0.&lt;br /&gt;
&lt;br /&gt;
'''7B''' - offset for entering a password &lt;br /&gt;
&lt;br /&gt;
'''AAAAAAAA''' - start of range&lt;br /&gt;
&lt;br /&gt;
'''FFFFFFFF''' - end of range&lt;br /&gt;
&lt;br /&gt;
'''CCCCCCCC''' - value from where should be started brute-force process&lt;br /&gt;
&lt;br /&gt;
Recommended ranges for search:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
BFSET A2 7B 41414141 5A5A5A5A 41414141 # A-Z&lt;br /&gt;
&lt;br /&gt;
BFSET A2 7B 61616161 7A7A7A7A 61616161 # a-z&lt;br /&gt;
&lt;br /&gt;
BFSET A2 FC 30303030 39393939 30303030 # 0-9&lt;br /&gt;
&lt;br /&gt;
BFSET A2 7B 20202020 7A7A7A7A 20202020 # Symbols + Numeric + Literal&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''BFSTOP'''&lt;br /&gt;
Use command BFSTOP to stop brute-force process. You could continue from this point using command BFSTART.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''BFSTART'''&lt;br /&gt;
Use command BFSTART to continue brute-force progress from last point.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''? BFPASS'''&lt;br /&gt;
Use command '''? BFPASS''' to get know current password in brute-force progress.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''BFCWADR'''&lt;br /&gt;
Set device address of entering check word. Fo example, BFCWADR=A0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''BFCWOFT'''&lt;br /&gt;
Set offset parameter for entering check word. For default, BFCWOFT=14.&lt;br /&gt;
&lt;br /&gt;
Note: for XFP and QSFP transceivers use BFCWOFT=94.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''How to start brute-force for SFP+ transceiver?'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
BFCWADR=A0&lt;br /&gt;
BFCWOFT=14&lt;br /&gt;
BFSET A2 7B 20202020 7A7A7A7A 20202020&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''How to start brute-force for XFP transceiver?'''&lt;br /&gt;
&lt;br /&gt;
Set jumper on P20 contact on programming board.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
BFCWADR=A0&lt;br /&gt;
BFCWOFT=94&lt;br /&gt;
BFSET A0 7B 20202020 7A7A7A7A 20202020&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sfptotal</name></author>	</entry>

	<entry>
		<id>http://wiki.sfptotal.com/index.php?title=SFPTotal_Plus_X&amp;diff=817</id>
		<title>SFPTotal Plus X</title>
		<link rel="alternate" type="text/html" href="http://wiki.sfptotal.com/index.php?title=SFPTotal_Plus_X&amp;diff=817"/>
				<updated>2020-11-13T08:49:42Z</updated>
		
		<summary type="html">&lt;p&gt;Sfptotal: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''SFPTotal Plus X''' is a new revision of universal programming board SFPTotal Plus with improved support fiber optical transceivers. The coding board allows to reprogram 100M and 1.25G SFP, 8/10/16G SFP+, 25G SFP28, 10G XFP,  40G QSFP+, 100G QSFP28 and 200/400G QSFP-DD transceivers, DAC and AOC cables. Device connects to PC via USB interface through which performed control and power supply of transceiver. An external supply adapter connection socket is presented for work with high-powered transceivers with an overestimated power consumption (for example, transceivers for distance 40/80/120 km).&lt;br /&gt;
&lt;br /&gt;
== Application ==&lt;br /&gt;
&lt;br /&gt;
Programmers SFPTotal are used to solve next tasks:&lt;br /&gt;
* Programming SFP/SFP+, XFP, QSFP, GBIC optical transceivers and twinaxial cables&lt;br /&gt;
* Providing of compatibility between network equipment of different manufacturers&lt;br /&gt;
* Reflashing memory of write-protected transceivers&lt;br /&gt;
* Changing settings of PHY controllers&lt;br /&gt;
* Branding for OEM transceivers&lt;br /&gt;
* Diagnosis transceiver by reading the DDM&lt;br /&gt;
* Accounting for optical transceivers&lt;br /&gt;
&lt;br /&gt;
== Quick start guide ==&lt;br /&gt;
&lt;br /&gt;
# Connect SFPTotal Plus board to your PC using micro USB Type B cable&lt;br /&gt;
# Install [http://wiki.sfptotal.com/index.php/Installing_drivers_for_SFPTotal_Plus%5CMini drivers for SFPTotal Device]&lt;br /&gt;
# Download application [[SFPTotal Wizard]] &lt;br /&gt;
# Start SFPTotal Wizard&lt;br /&gt;
# Insert transceiver to the programmer port&lt;br /&gt;
# [[Reading transceiver's memory]]&lt;br /&gt;
&lt;br /&gt;
== Listing of elements ==&lt;br /&gt;
&lt;br /&gt;
Listing of elements placed on circuit board of SFPTotal Plus programmer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''1. Transceiver ports'''&lt;br /&gt;
&lt;br /&gt;
'''P2''' - SFP, SFP+ port&lt;br /&gt;
&lt;br /&gt;
'''P11''' - QSFP, QSFP+, QSFP28 port&lt;br /&gt;
&lt;br /&gt;
'''P9''' - XFP port&lt;br /&gt;
&lt;br /&gt;
'''P7''' - GBIC port&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''2. Power supply plans'''&lt;br /&gt;
&lt;br /&gt;
'''P1''' - power supply of SFP port, a pair of 3.3 V for VccT and VccR pins.&lt;br /&gt;
&lt;br /&gt;
'''P17, P16, P15''' - power supply of QSFP port,  3.3 V for Vcc1, VccTx and VccRx pins.&lt;br /&gt;
&lt;br /&gt;
'''P12, P14, P13, P10''' - power supply of XFP port: 3.3V, -5V, 5V and 1.8 power supply plans.&lt;br /&gt;
&lt;br /&gt;
'''P8''' - power supply of GBIC port, switch between 3.3V or 5V. For default, closed in 3V3 position.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''3. Jumpers'''&lt;br /&gt;
&lt;br /&gt;
'''P3''' - low power mode, keep closed to disable low power mode (TX enable).&lt;br /&gt;
&lt;br /&gt;
'''P4''' - RS1 (position 1-2) and RS0 (position 3-4) pins.&lt;br /&gt;
&lt;br /&gt;
'''P18''' - QSFP ModSelL&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;The ModSelL is an input pin. When held low by the host, the module responds to 2-wire serial communication commands. The ModSelL allows the use of multiple QSFP modules on a single 2-wire interface bus. When the ModSelL is “High”, the module shall not respond to or acknowledge any 2-wire interface communication from the host. ModSelL signal input node must be biased to the “High” state in the module.&lt;br /&gt;
&lt;br /&gt;
INF-8438&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notice: The programmer automatically switches the contact to &amp;quot;Low&amp;quot; level when performing read and write operations on the data bus.&lt;br /&gt;
&lt;br /&gt;
'''P19''' - QSFP ResetL&lt;br /&gt;
&lt;br /&gt;
'''P20''' - XFP ModDeSel&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
The Mod_DeSel is an input pin. When held Low by the host, the module responds to 2-wire serial communication commands. The Mod_DeSel allows the use of multiple XFP modules on a single 2-wire interface bus.&lt;br /&gt;
When the Mod_DeSel pin is “High”, the module shall not respond to or acknowledge any 2-wire interface communication from the host. Mod_DeSel pin must be pulled to VCC3 in the module.&lt;br /&gt;
&lt;br /&gt;
INF-8077i&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notice: The programmer automatically switches the contact to &amp;quot;Low&amp;quot; level when performing read and write operations on the data bus.&lt;br /&gt;
&lt;br /&gt;
'''P21''' - XFP PDOWN/RESET&lt;br /&gt;
&amp;lt;pre&amp;gt;This is a multifunction pin for module Power Down and Reset. The P_Down/RST pin must be pulled up to VCC3 in the XFP module.&lt;br /&gt;
&lt;br /&gt;
INF-8077i&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''4. Interfaces'''&lt;br /&gt;
&lt;br /&gt;
'''P5''' - USB interface for connection to PC&lt;br /&gt;
&lt;br /&gt;
'''P22''' - I&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;C databus, logic level 5V&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''5. LED indicators '''&lt;br /&gt;
&lt;br /&gt;
'''POWER''' - should statically light when board connected to USB or to external supply adapter.&lt;br /&gt;
&lt;br /&gt;
'''MCU''' - indication of power supply for microcontroller.&lt;br /&gt;
&lt;br /&gt;
'''ERROR''' - should glow when unhandled errors occur on the data bus, for example: connection more than 1 transceiver.&lt;br /&gt;
&lt;br /&gt;
'''STATUS''' - should blinking when transceiver is not connected and statically light when transceiver is connected.&lt;br /&gt;
&lt;br /&gt;
== Management interface ==&lt;br /&gt;
&lt;br /&gt;
The device provides access to management interface (CLI) by connecting through a virtual serial port.&lt;br /&gt;
You can use the programming board without [[SFPTotal Wizard]] software to get more features or to realize the opportunities that are not available in the standard software. Use this document to get information about commands which supported by SFPTotal Plus.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Serial port settings ===&lt;br /&gt;
&lt;br /&gt;
[[File:serial_port_settings.jpg|250px|right|Serial port settings]]&lt;br /&gt;
&lt;br /&gt;
You can access the command line interface of the programmer not only with the SFPTotal Wizard, but also with the help of utilities for working with the serial port. For example,  [http://www.putty.org/ Putty].&lt;br /&gt;
&lt;br /&gt;
The boards are support a flexible baud rate, but we recommend use value 115200.&lt;br /&gt;
&lt;br /&gt;
:: '''Default settings'''&lt;br /&gt;
&lt;br /&gt;
:: Baud rate: 115200&lt;br /&gt;
&lt;br /&gt;
:: Data bits: 8&lt;br /&gt;
&lt;br /&gt;
:: Parity: None&lt;br /&gt;
&lt;br /&gt;
:: Stop bits: 1&lt;br /&gt;
&lt;br /&gt;
:: Flow control: None&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Configuration commands ===&lt;br /&gt;
&lt;br /&gt;
;'''CLI'''&lt;br /&gt;
&lt;br /&gt;
After reset the programmer does not display in the interface characters entered from the keyboard.&lt;br /&gt;
The command switches the echo output of command line. Default, CLI=0.&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
? CLI&lt;br /&gt;
CLI=0&lt;br /&gt;
&lt;br /&gt;
CLI=1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set CLI=1 to turn on echo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;'''STATUS'''&lt;br /&gt;
&lt;br /&gt;
Commend returns current state GPIO for each port.&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
STATUS&lt;br /&gt;
[GBIC]: MOD_ABS=1; TX_FAULT=1; RX_LOS=1; TX_DIS=1&lt;br /&gt;
[SFP]:  MOD_ABS=1; TX_FAULT=1; RX_LOS=1; TX_DIS=1&lt;br /&gt;
[XFP]:  MOD_ABS=1; RX_LOS=1; INTERRUPT=1; MOD_SEL=1; P_DOWN/RESET=1;&lt;br /&gt;
[QSFP]: MOD_ABS=1; INTL=1; MOD_SEL=1; RESETL=1;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''TX_DIS'''&lt;br /&gt;
&lt;br /&gt;
Command allows to disable power supply of transmitter for switching to low power mode (LPMODE). To activate the LPMODE, it is necessary to transfer command TX_DIS setting the flag value of 1.&lt;br /&gt;
&lt;br /&gt;
To disable the mode, you must set the flag equal to 0. The current state can be requested with STATUS command.&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
TX_DIS=1&lt;br /&gt;
&lt;br /&gt;
STATUS&lt;br /&gt;
MOD_ABS=0; TX_FAULT=1; RX_LOS=0; TX_DIS=1&lt;br /&gt;
&lt;br /&gt;
TX_DIS=0&lt;br /&gt;
STATUS&lt;br /&gt;
MOD_ABS=0; TX_FAULT=1; RX_LOS=0; TX_DIS=0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Low power mode is activated for default.&lt;br /&gt;
On the PCB of SFPTotal boards are placed contacts LP_MODE, which allows to switch low power mode in manual mode.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;'''VERSION'''&lt;br /&gt;
&lt;br /&gt;
Command returns information about device: hardware revision, software version and unique serial number of the device.&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
VERSION&lt;br /&gt;
SFPTotal Plus (c) 2015-2016&lt;br /&gt;
HW: 1.1&lt;br /&gt;
SW: 1.0.5&lt;br /&gt;
SN: SFPT-P1116021001&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''I2CRATE'''&lt;br /&gt;
&lt;br /&gt;
Note: Supported only on the SW versions 1.1.0 or above&lt;br /&gt;
&lt;br /&gt;
This command sets the speed of I2C data bus.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
I2CRATE=12 # Set up speed rate 100 kHz&lt;br /&gt;
I2CRATE=40 # Set up speed 30 kHz&lt;br /&gt;
I2CRATE=C6 # Set up speed 10 kHz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To request a current speed use command: '''? I2CRATE'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
? I2CRATE&lt;br /&gt;
I2CRATE=C6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''I2CPAUSE'''&lt;br /&gt;
&lt;br /&gt;
Note: Supported only on the SW versions 1.2.2 or above&lt;br /&gt;
&lt;br /&gt;
This command sets the interval between operation of I2C data bus.&lt;br /&gt;
Value equal to milliseconds in Hex format.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
I2CPAUSE=20 # Set interval 32ms&lt;br /&gt;
I2CPAUSE=32 # Set interval 50ms (for default)&lt;br /&gt;
I2CPAUSE=64 # Set interval 100ms&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To request a current interval use command: '''? I2CPAUSE'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
? I2CPAUSE&lt;br /&gt;
I2CPAUSE=32&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;'''BPS'''&lt;br /&gt;
&lt;br /&gt;
The command set number bytes in block of write. Default, BPS=08&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
? BPS&lt;br /&gt;
BPS=08&lt;br /&gt;
&lt;br /&gt;
BPS=01 # Set block size in 1 byte&lt;br /&gt;
BPS=08 # Set block size in 8 bytes (default)&lt;br /&gt;
BPS=FF # Set block size in 255 bytes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
By default, the recording is performed by blocks of 8 bytes. For the programming of some transceivers with protection, it may be necessary to change the block size, for example, writing by each byte (BPS=01) or writing the entire block as a whole (BPS=FF).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''AUTO_WR_ADDTBL'''&lt;br /&gt;
&lt;br /&gt;
Note: Supported only on the SW versions 1.1.0 or above&lt;br /&gt;
&lt;br /&gt;
If the flag is set, the programmer will automatically change the address of the additional tables before performing reading and writing operations.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
AUTO_WR_ADDTBL=1&lt;br /&gt;
 &lt;br /&gt;
AUTO_WR_ADDTBL=0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To request a current value use command: '''? AUTO_WR_ADDTBL'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
? AUTO_WR_ADDTBL&lt;br /&gt;
AUTO_WR_ADDTBL=0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Read and write ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''rXYYAABBCC''' ('''RXYYAABBCC''')&lt;br /&gt;
&lt;br /&gt;
Command for reading memory of transceiver.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
r1A000007F&lt;br /&gt;
Read 128 byte(s) Table 0xA0 from 0x00&lt;br /&gt;
&lt;br /&gt;
##    00  01  02  03  04  05  06  07  08  09  0A  0B  0C  0D  0E  0F&lt;br /&gt;
&lt;br /&gt;
00 :  03  04  07  20  00  00  00  00  00  00  00  06  67  00  0A  64&lt;br /&gt;
01 :  00  00  00  00  4F  45  4D  20  20  20  20  20  20  20  20  20&lt;br /&gt;
02 :  00  20  20  20  00  00  00  00  31  30  47  42  2D  53  46  50&lt;br /&gt;
03 :  2D  4C  52  2D  45  20  20  20  31  2E  30  20  05  1E  00  F9&lt;br /&gt;
04 :  00  1A  00  00  45  58  50  39  36  4C  30  31  31  20  20  20&lt;br /&gt;
05 :  20  20  20  20  31  31  30  38  30  39  20  20  68  F0  03  02&lt;br /&gt;
06 :  45  58  54  52  45  4D  45  20  4C  52  00  00  00  00  00  00&lt;br /&gt;
07 :  00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  00&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
R1A000007F  &lt;br /&gt;
03040720000000000000000667000A64000000004F454D202020202020202020&lt;br /&gt;
0020202000000000313047422D5346502D4C522D45202020312E3020051E00F9&lt;br /&gt;
001A000045585039364C30313120202020202020313130383039202068F00302&lt;br /&gt;
45585452454D45204C5200000000000000000000000000000000000000000000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''wXYYAABBCC''' ('''WXYYAABBCC''')&lt;br /&gt;
&lt;br /&gt;
Command for writing to the memory of transceiver.&lt;br /&gt;
&lt;br /&gt;
'''w''' &amp;amp;mdash; (1 byte) &amp;amp;mdash; Write command. Symbol register is responsible for the subsequent read after write. If you use uppercase (W) after the recording is complete programmer will make reading the memory area which has been overwritten. To  write without return a write result of lower case (w) must be used. &lt;br /&gt;
                &lt;br /&gt;
'''X'''  &amp;amp;mdash; (1 byte)  &amp;amp;mdash;   Transceiver type (1 - SFP, 2 - SFP+).&lt;br /&gt;
&lt;br /&gt;
'''YY''' &amp;amp;mdash; (2 bytes) &amp;amp;mdash;   The device address on the I2C bus.&lt;br /&gt;
&lt;br /&gt;
'''AA'''  &amp;amp;mdash; (2 bytes) &amp;amp;mdash;    Address of additional table.&lt;br /&gt;
&lt;br /&gt;
'''BB'''  &amp;amp;mdash; (2 bytes) &amp;amp;mdash;    Address table. Value in HEX. For example: A0 or A2.&lt;br /&gt;
&lt;br /&gt;
'''СС'''  &amp;amp;mdash; (2 bytes) &amp;amp;mdash;   Write byte count. Hexadecimal value reduced by one.  For example, for writing 128 bytes you should set this parameter in 7F (0x7F in HEX, 127 in decimal). &lt;br /&gt;
&lt;br /&gt;
'''{DATA}'''  &amp;amp;mdash; Write data in HEX, 2 characters for each byte of the parcel.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''' Examples '''&lt;br /&gt;
&lt;br /&gt;
Write code 128 bytes in Table A0 Upper address 00 for SFP transceiver:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
W1A000007F&lt;br /&gt;
03040720000000000000000667000A64000000004F454D202020202020202020&lt;br /&gt;
0020202000000000313047422D5346502D4C522D45202020312E3020051E00F9&lt;br /&gt;
001A000045585039364C30313120202020202020313130383039202068F00302&lt;br /&gt;
45585452454D45204C5200000000000000000000000000000000000000000000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Write password 0123 (HEX: 30h 31h 32h 33h) in Table A2 address 7B for SFP+ transceiver:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;w2A2007B0330313233&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Note: Write command should type without newline characters and spaces. Shifts are given for the convenience display of the material in the examples.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Brute-force mode ===&lt;br /&gt;
&lt;br /&gt;
Starting  from SW 1.2.3 firmware version has been added the function that allows searching for a password in brute mode without using the SFPTotal Wizard software. It  mean that programming board can check passwords by itself in wide range of values.&lt;br /&gt;
&lt;br /&gt;
''' How does it works? '''&lt;br /&gt;
&lt;br /&gt;
To check the password programmer should make few operations:&lt;br /&gt;
# Enter password in password area&lt;br /&gt;
# Write a check word to Vendor name area&lt;br /&gt;
# Read vendor name area&lt;br /&gt;
# Compare a check word with vendor name.&lt;br /&gt;
&lt;br /&gt;
The programmer goes through the password values sequentially within the specified range. By default, the programmer write a check word &amp;quot;SFPTOTAL&amp;quot; (8 bytes) in Table A0h with offset 14h.&lt;br /&gt;
Then it compares the data that was read after the control word was written. &lt;br /&gt;
&lt;br /&gt;
If the read data is the same as the control word, then it mean the record is successful. The programmer will stop the brute-force process and return the current password as a result of a successful search.&lt;br /&gt;
&lt;br /&gt;
We are developed this function for searching passwords to MSA compliant transceivers. Anyway, you should check the documentation and standards for your module before using brute-force mode.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''BFSET'''&lt;br /&gt;
&lt;br /&gt;
The command sets the password search parameters and starts the brute-force process.&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
BFSET A2 7B AAAAAAAA FFFFFFFF CCCCCCCC&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''A2''' - address of Table, where must be entered a password. For XFP and QSFP address should be set in A0.&lt;br /&gt;
&lt;br /&gt;
'''7B''' - offset for entering a password &lt;br /&gt;
&lt;br /&gt;
'''AAAAAAAA''' - start of range&lt;br /&gt;
&lt;br /&gt;
'''FFFFFFFF''' - end of range&lt;br /&gt;
&lt;br /&gt;
'''CCCCCCCC''' - value from where should be started brute-force process&lt;br /&gt;
&lt;br /&gt;
Recommended ranges for search:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
BFSET A2 7B 41414141 5A5A5A5A 41414141 # A-Z&lt;br /&gt;
&lt;br /&gt;
BFSET A2 7B 61616161 7A7A7A7A 61616161 # a-z&lt;br /&gt;
&lt;br /&gt;
BFSET A2 FC 30303030 39393939 30303030 # 0-9&lt;br /&gt;
&lt;br /&gt;
BFSET A2 7B 20202020 7A7A7A7A 20202020 # Symbols + Numeric + Literal&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''BFSTOP'''&lt;br /&gt;
Use command BFSTOP to stop brute-force process. You could continue from this point using command BFSTART.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''BFSTART'''&lt;br /&gt;
Use command BFSTART to continue brute-force progress from last point.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''? BFPASS'''&lt;br /&gt;
Use command '''? BFPASS''' to get know current password in brute-force progress.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''BFCWADR'''&lt;br /&gt;
Set device address of entering check word. Fo example, BFCWADR=A0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''BFCWOFT'''&lt;br /&gt;
Set offset parameter for entering check word. For default, BFCWOFT=14.&lt;br /&gt;
&lt;br /&gt;
Note: for XFP and QSFP transceivers use BFCWOFT=94.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''How to start brute-force for SFP+ transceiver?'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
BFCWADR=A0&lt;br /&gt;
BFCWOFT=14&lt;br /&gt;
BFSET A2 7B 20202020 7A7A7A7A 20202020&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''How to start brute-force for XFP transceiver?'''&lt;br /&gt;
&lt;br /&gt;
Set jumper on P20 contact on programming board.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
BFCWADR=A0&lt;br /&gt;
BFCWOFT=94&lt;br /&gt;
BFSET A0 7B 20202020 7A7A7A7A 20202020&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sfptotal</name></author>	</entry>

	<entry>
		<id>http://wiki.sfptotal.com/index.php?title=SFPTotal_Plus_X&amp;diff=816</id>
		<title>SFPTotal Plus X</title>
		<link rel="alternate" type="text/html" href="http://wiki.sfptotal.com/index.php?title=SFPTotal_Plus_X&amp;diff=816"/>
				<updated>2020-11-13T08:49:30Z</updated>
		
		<summary type="html">&lt;p&gt;Sfptotal: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''SFPTotal Plus X''' is a new revision of universal programming board SFPTotal Plus with improved support fiber optical transceivers. The coding board allows to reprogram 100M and 1.25G SFP, 8/10/16F SFP+, 25G SFP28, 10G XFP,  40G QSFP+, 100G QSFP28 and 200/400G QSFP-DD transceivers, DAC and AOC cables. Device connects to PC via USB interface through which performed control and power supply of transceiver. An external supply adapter connection socket is presented for work with high-powered transceivers with an overestimated power consumption (for example, transceivers for distance 40/80/120 km).&lt;br /&gt;
&lt;br /&gt;
== Application ==&lt;br /&gt;
&lt;br /&gt;
Programmers SFPTotal are used to solve next tasks:&lt;br /&gt;
* Programming SFP/SFP+, XFP, QSFP, GBIC optical transceivers and twinaxial cables&lt;br /&gt;
* Providing of compatibility between network equipment of different manufacturers&lt;br /&gt;
* Reflashing memory of write-protected transceivers&lt;br /&gt;
* Changing settings of PHY controllers&lt;br /&gt;
* Branding for OEM transceivers&lt;br /&gt;
* Diagnosis transceiver by reading the DDM&lt;br /&gt;
* Accounting for optical transceivers&lt;br /&gt;
&lt;br /&gt;
== Quick start guide ==&lt;br /&gt;
&lt;br /&gt;
# Connect SFPTotal Plus board to your PC using micro USB Type B cable&lt;br /&gt;
# Install [http://wiki.sfptotal.com/index.php/Installing_drivers_for_SFPTotal_Plus%5CMini drivers for SFPTotal Device]&lt;br /&gt;
# Download application [[SFPTotal Wizard]] &lt;br /&gt;
# Start SFPTotal Wizard&lt;br /&gt;
# Insert transceiver to the programmer port&lt;br /&gt;
# [[Reading transceiver's memory]]&lt;br /&gt;
&lt;br /&gt;
== Listing of elements ==&lt;br /&gt;
&lt;br /&gt;
Listing of elements placed on circuit board of SFPTotal Plus programmer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''1. Transceiver ports'''&lt;br /&gt;
&lt;br /&gt;
'''P2''' - SFP, SFP+ port&lt;br /&gt;
&lt;br /&gt;
'''P11''' - QSFP, QSFP+, QSFP28 port&lt;br /&gt;
&lt;br /&gt;
'''P9''' - XFP port&lt;br /&gt;
&lt;br /&gt;
'''P7''' - GBIC port&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''2. Power supply plans'''&lt;br /&gt;
&lt;br /&gt;
'''P1''' - power supply of SFP port, a pair of 3.3 V for VccT and VccR pins.&lt;br /&gt;
&lt;br /&gt;
'''P17, P16, P15''' - power supply of QSFP port,  3.3 V for Vcc1, VccTx and VccRx pins.&lt;br /&gt;
&lt;br /&gt;
'''P12, P14, P13, P10''' - power supply of XFP port: 3.3V, -5V, 5V and 1.8 power supply plans.&lt;br /&gt;
&lt;br /&gt;
'''P8''' - power supply of GBIC port, switch between 3.3V or 5V. For default, closed in 3V3 position.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''3. Jumpers'''&lt;br /&gt;
&lt;br /&gt;
'''P3''' - low power mode, keep closed to disable low power mode (TX enable).&lt;br /&gt;
&lt;br /&gt;
'''P4''' - RS1 (position 1-2) and RS0 (position 3-4) pins.&lt;br /&gt;
&lt;br /&gt;
'''P18''' - QSFP ModSelL&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;The ModSelL is an input pin. When held low by the host, the module responds to 2-wire serial communication commands. The ModSelL allows the use of multiple QSFP modules on a single 2-wire interface bus. When the ModSelL is “High”, the module shall not respond to or acknowledge any 2-wire interface communication from the host. ModSelL signal input node must be biased to the “High” state in the module.&lt;br /&gt;
&lt;br /&gt;
INF-8438&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notice: The programmer automatically switches the contact to &amp;quot;Low&amp;quot; level when performing read and write operations on the data bus.&lt;br /&gt;
&lt;br /&gt;
'''P19''' - QSFP ResetL&lt;br /&gt;
&lt;br /&gt;
'''P20''' - XFP ModDeSel&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
The Mod_DeSel is an input pin. When held Low by the host, the module responds to 2-wire serial communication commands. The Mod_DeSel allows the use of multiple XFP modules on a single 2-wire interface bus.&lt;br /&gt;
When the Mod_DeSel pin is “High”, the module shall not respond to or acknowledge any 2-wire interface communication from the host. Mod_DeSel pin must be pulled to VCC3 in the module.&lt;br /&gt;
&lt;br /&gt;
INF-8077i&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notice: The programmer automatically switches the contact to &amp;quot;Low&amp;quot; level when performing read and write operations on the data bus.&lt;br /&gt;
&lt;br /&gt;
'''P21''' - XFP PDOWN/RESET&lt;br /&gt;
&amp;lt;pre&amp;gt;This is a multifunction pin for module Power Down and Reset. The P_Down/RST pin must be pulled up to VCC3 in the XFP module.&lt;br /&gt;
&lt;br /&gt;
INF-8077i&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''4. Interfaces'''&lt;br /&gt;
&lt;br /&gt;
'''P5''' - USB interface for connection to PC&lt;br /&gt;
&lt;br /&gt;
'''P22''' - I&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;C databus, logic level 5V&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''5. LED indicators '''&lt;br /&gt;
&lt;br /&gt;
'''POWER''' - should statically light when board connected to USB or to external supply adapter.&lt;br /&gt;
&lt;br /&gt;
'''MCU''' - indication of power supply for microcontroller.&lt;br /&gt;
&lt;br /&gt;
'''ERROR''' - should glow when unhandled errors occur on the data bus, for example: connection more than 1 transceiver.&lt;br /&gt;
&lt;br /&gt;
'''STATUS''' - should blinking when transceiver is not connected and statically light when transceiver is connected.&lt;br /&gt;
&lt;br /&gt;
== Management interface ==&lt;br /&gt;
&lt;br /&gt;
The device provides access to management interface (CLI) by connecting through a virtual serial port.&lt;br /&gt;
You can use the programming board without [[SFPTotal Wizard]] software to get more features or to realize the opportunities that are not available in the standard software. Use this document to get information about commands which supported by SFPTotal Plus.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Serial port settings ===&lt;br /&gt;
&lt;br /&gt;
[[File:serial_port_settings.jpg|250px|right|Serial port settings]]&lt;br /&gt;
&lt;br /&gt;
You can access the command line interface of the programmer not only with the SFPTotal Wizard, but also with the help of utilities for working with the serial port. For example,  [http://www.putty.org/ Putty].&lt;br /&gt;
&lt;br /&gt;
The boards are support a flexible baud rate, but we recommend use value 115200.&lt;br /&gt;
&lt;br /&gt;
:: '''Default settings'''&lt;br /&gt;
&lt;br /&gt;
:: Baud rate: 115200&lt;br /&gt;
&lt;br /&gt;
:: Data bits: 8&lt;br /&gt;
&lt;br /&gt;
:: Parity: None&lt;br /&gt;
&lt;br /&gt;
:: Stop bits: 1&lt;br /&gt;
&lt;br /&gt;
:: Flow control: None&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Configuration commands ===&lt;br /&gt;
&lt;br /&gt;
;'''CLI'''&lt;br /&gt;
&lt;br /&gt;
After reset the programmer does not display in the interface characters entered from the keyboard.&lt;br /&gt;
The command switches the echo output of command line. Default, CLI=0.&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
? CLI&lt;br /&gt;
CLI=0&lt;br /&gt;
&lt;br /&gt;
CLI=1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set CLI=1 to turn on echo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;'''STATUS'''&lt;br /&gt;
&lt;br /&gt;
Commend returns current state GPIO for each port.&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
STATUS&lt;br /&gt;
[GBIC]: MOD_ABS=1; TX_FAULT=1; RX_LOS=1; TX_DIS=1&lt;br /&gt;
[SFP]:  MOD_ABS=1; TX_FAULT=1; RX_LOS=1; TX_DIS=1&lt;br /&gt;
[XFP]:  MOD_ABS=1; RX_LOS=1; INTERRUPT=1; MOD_SEL=1; P_DOWN/RESET=1;&lt;br /&gt;
[QSFP]: MOD_ABS=1; INTL=1; MOD_SEL=1; RESETL=1;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''TX_DIS'''&lt;br /&gt;
&lt;br /&gt;
Command allows to disable power supply of transmitter for switching to low power mode (LPMODE). To activate the LPMODE, it is necessary to transfer command TX_DIS setting the flag value of 1.&lt;br /&gt;
&lt;br /&gt;
To disable the mode, you must set the flag equal to 0. The current state can be requested with STATUS command.&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
TX_DIS=1&lt;br /&gt;
&lt;br /&gt;
STATUS&lt;br /&gt;
MOD_ABS=0; TX_FAULT=1; RX_LOS=0; TX_DIS=1&lt;br /&gt;
&lt;br /&gt;
TX_DIS=0&lt;br /&gt;
STATUS&lt;br /&gt;
MOD_ABS=0; TX_FAULT=1; RX_LOS=0; TX_DIS=0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Low power mode is activated for default.&lt;br /&gt;
On the PCB of SFPTotal boards are placed contacts LP_MODE, which allows to switch low power mode in manual mode.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;'''VERSION'''&lt;br /&gt;
&lt;br /&gt;
Command returns information about device: hardware revision, software version and unique serial number of the device.&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
VERSION&lt;br /&gt;
SFPTotal Plus (c) 2015-2016&lt;br /&gt;
HW: 1.1&lt;br /&gt;
SW: 1.0.5&lt;br /&gt;
SN: SFPT-P1116021001&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''I2CRATE'''&lt;br /&gt;
&lt;br /&gt;
Note: Supported only on the SW versions 1.1.0 or above&lt;br /&gt;
&lt;br /&gt;
This command sets the speed of I2C data bus.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
I2CRATE=12 # Set up speed rate 100 kHz&lt;br /&gt;
I2CRATE=40 # Set up speed 30 kHz&lt;br /&gt;
I2CRATE=C6 # Set up speed 10 kHz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To request a current speed use command: '''? I2CRATE'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
? I2CRATE&lt;br /&gt;
I2CRATE=C6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''I2CPAUSE'''&lt;br /&gt;
&lt;br /&gt;
Note: Supported only on the SW versions 1.2.2 or above&lt;br /&gt;
&lt;br /&gt;
This command sets the interval between operation of I2C data bus.&lt;br /&gt;
Value equal to milliseconds in Hex format.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
I2CPAUSE=20 # Set interval 32ms&lt;br /&gt;
I2CPAUSE=32 # Set interval 50ms (for default)&lt;br /&gt;
I2CPAUSE=64 # Set interval 100ms&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To request a current interval use command: '''? I2CPAUSE'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
? I2CPAUSE&lt;br /&gt;
I2CPAUSE=32&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;'''BPS'''&lt;br /&gt;
&lt;br /&gt;
The command set number bytes in block of write. Default, BPS=08&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
? BPS&lt;br /&gt;
BPS=08&lt;br /&gt;
&lt;br /&gt;
BPS=01 # Set block size in 1 byte&lt;br /&gt;
BPS=08 # Set block size in 8 bytes (default)&lt;br /&gt;
BPS=FF # Set block size in 255 bytes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
By default, the recording is performed by blocks of 8 bytes. For the programming of some transceivers with protection, it may be necessary to change the block size, for example, writing by each byte (BPS=01) or writing the entire block as a whole (BPS=FF).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''AUTO_WR_ADDTBL'''&lt;br /&gt;
&lt;br /&gt;
Note: Supported only on the SW versions 1.1.0 or above&lt;br /&gt;
&lt;br /&gt;
If the flag is set, the programmer will automatically change the address of the additional tables before performing reading and writing operations.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
AUTO_WR_ADDTBL=1&lt;br /&gt;
 &lt;br /&gt;
AUTO_WR_ADDTBL=0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To request a current value use command: '''? AUTO_WR_ADDTBL'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
? AUTO_WR_ADDTBL&lt;br /&gt;
AUTO_WR_ADDTBL=0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Read and write ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''rXYYAABBCC''' ('''RXYYAABBCC''')&lt;br /&gt;
&lt;br /&gt;
Command for reading memory of transceiver.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
r1A000007F&lt;br /&gt;
Read 128 byte(s) Table 0xA0 from 0x00&lt;br /&gt;
&lt;br /&gt;
##    00  01  02  03  04  05  06  07  08  09  0A  0B  0C  0D  0E  0F&lt;br /&gt;
&lt;br /&gt;
00 :  03  04  07  20  00  00  00  00  00  00  00  06  67  00  0A  64&lt;br /&gt;
01 :  00  00  00  00  4F  45  4D  20  20  20  20  20  20  20  20  20&lt;br /&gt;
02 :  00  20  20  20  00  00  00  00  31  30  47  42  2D  53  46  50&lt;br /&gt;
03 :  2D  4C  52  2D  45  20  20  20  31  2E  30  20  05  1E  00  F9&lt;br /&gt;
04 :  00  1A  00  00  45  58  50  39  36  4C  30  31  31  20  20  20&lt;br /&gt;
05 :  20  20  20  20  31  31  30  38  30  39  20  20  68  F0  03  02&lt;br /&gt;
06 :  45  58  54  52  45  4D  45  20  4C  52  00  00  00  00  00  00&lt;br /&gt;
07 :  00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  00&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
R1A000007F  &lt;br /&gt;
03040720000000000000000667000A64000000004F454D202020202020202020&lt;br /&gt;
0020202000000000313047422D5346502D4C522D45202020312E3020051E00F9&lt;br /&gt;
001A000045585039364C30313120202020202020313130383039202068F00302&lt;br /&gt;
45585452454D45204C5200000000000000000000000000000000000000000000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''wXYYAABBCC''' ('''WXYYAABBCC''')&lt;br /&gt;
&lt;br /&gt;
Command for writing to the memory of transceiver.&lt;br /&gt;
&lt;br /&gt;
'''w''' &amp;amp;mdash; (1 byte) &amp;amp;mdash; Write command. Symbol register is responsible for the subsequent read after write. If you use uppercase (W) after the recording is complete programmer will make reading the memory area which has been overwritten. To  write without return a write result of lower case (w) must be used. &lt;br /&gt;
                &lt;br /&gt;
'''X'''  &amp;amp;mdash; (1 byte)  &amp;amp;mdash;   Transceiver type (1 - SFP, 2 - SFP+).&lt;br /&gt;
&lt;br /&gt;
'''YY''' &amp;amp;mdash; (2 bytes) &amp;amp;mdash;   The device address on the I2C bus.&lt;br /&gt;
&lt;br /&gt;
'''AA'''  &amp;amp;mdash; (2 bytes) &amp;amp;mdash;    Address of additional table.&lt;br /&gt;
&lt;br /&gt;
'''BB'''  &amp;amp;mdash; (2 bytes) &amp;amp;mdash;    Address table. Value in HEX. For example: A0 or A2.&lt;br /&gt;
&lt;br /&gt;
'''СС'''  &amp;amp;mdash; (2 bytes) &amp;amp;mdash;   Write byte count. Hexadecimal value reduced by one.  For example, for writing 128 bytes you should set this parameter in 7F (0x7F in HEX, 127 in decimal). &lt;br /&gt;
&lt;br /&gt;
'''{DATA}'''  &amp;amp;mdash; Write data in HEX, 2 characters for each byte of the parcel.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''' Examples '''&lt;br /&gt;
&lt;br /&gt;
Write code 128 bytes in Table A0 Upper address 00 for SFP transceiver:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
W1A000007F&lt;br /&gt;
03040720000000000000000667000A64000000004F454D202020202020202020&lt;br /&gt;
0020202000000000313047422D5346502D4C522D45202020312E3020051E00F9&lt;br /&gt;
001A000045585039364C30313120202020202020313130383039202068F00302&lt;br /&gt;
45585452454D45204C5200000000000000000000000000000000000000000000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Write password 0123 (HEX: 30h 31h 32h 33h) in Table A2 address 7B for SFP+ transceiver:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;w2A2007B0330313233&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Note: Write command should type without newline characters and spaces. Shifts are given for the convenience display of the material in the examples.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Brute-force mode ===&lt;br /&gt;
&lt;br /&gt;
Starting  from SW 1.2.3 firmware version has been added the function that allows searching for a password in brute mode without using the SFPTotal Wizard software. It  mean that programming board can check passwords by itself in wide range of values.&lt;br /&gt;
&lt;br /&gt;
''' How does it works? '''&lt;br /&gt;
&lt;br /&gt;
To check the password programmer should make few operations:&lt;br /&gt;
# Enter password in password area&lt;br /&gt;
# Write a check word to Vendor name area&lt;br /&gt;
# Read vendor name area&lt;br /&gt;
# Compare a check word with vendor name.&lt;br /&gt;
&lt;br /&gt;
The programmer goes through the password values sequentially within the specified range. By default, the programmer write a check word &amp;quot;SFPTOTAL&amp;quot; (8 bytes) in Table A0h with offset 14h.&lt;br /&gt;
Then it compares the data that was read after the control word was written. &lt;br /&gt;
&lt;br /&gt;
If the read data is the same as the control word, then it mean the record is successful. The programmer will stop the brute-force process and return the current password as a result of a successful search.&lt;br /&gt;
&lt;br /&gt;
We are developed this function for searching passwords to MSA compliant transceivers. Anyway, you should check the documentation and standards for your module before using brute-force mode.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''BFSET'''&lt;br /&gt;
&lt;br /&gt;
The command sets the password search parameters and starts the brute-force process.&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
BFSET A2 7B AAAAAAAA FFFFFFFF CCCCCCCC&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''A2''' - address of Table, where must be entered a password. For XFP and QSFP address should be set in A0.&lt;br /&gt;
&lt;br /&gt;
'''7B''' - offset for entering a password &lt;br /&gt;
&lt;br /&gt;
'''AAAAAAAA''' - start of range&lt;br /&gt;
&lt;br /&gt;
'''FFFFFFFF''' - end of range&lt;br /&gt;
&lt;br /&gt;
'''CCCCCCCC''' - value from where should be started brute-force process&lt;br /&gt;
&lt;br /&gt;
Recommended ranges for search:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
BFSET A2 7B 41414141 5A5A5A5A 41414141 # A-Z&lt;br /&gt;
&lt;br /&gt;
BFSET A2 7B 61616161 7A7A7A7A 61616161 # a-z&lt;br /&gt;
&lt;br /&gt;
BFSET A2 FC 30303030 39393939 30303030 # 0-9&lt;br /&gt;
&lt;br /&gt;
BFSET A2 7B 20202020 7A7A7A7A 20202020 # Symbols + Numeric + Literal&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''BFSTOP'''&lt;br /&gt;
Use command BFSTOP to stop brute-force process. You could continue from this point using command BFSTART.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''BFSTART'''&lt;br /&gt;
Use command BFSTART to continue brute-force progress from last point.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''? BFPASS'''&lt;br /&gt;
Use command '''? BFPASS''' to get know current password in brute-force progress.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''BFCWADR'''&lt;br /&gt;
Set device address of entering check word. Fo example, BFCWADR=A0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''BFCWOFT'''&lt;br /&gt;
Set offset parameter for entering check word. For default, BFCWOFT=14.&lt;br /&gt;
&lt;br /&gt;
Note: for XFP and QSFP transceivers use BFCWOFT=94.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''How to start brute-force for SFP+ transceiver?'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
BFCWADR=A0&lt;br /&gt;
BFCWOFT=14&lt;br /&gt;
BFSET A2 7B 20202020 7A7A7A7A 20202020&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''How to start brute-force for XFP transceiver?'''&lt;br /&gt;
&lt;br /&gt;
Set jumper on P20 contact on programming board.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
BFCWADR=A0&lt;br /&gt;
BFCWOFT=94&lt;br /&gt;
BFSET A0 7B 20202020 7A7A7A7A 20202020&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sfptotal</name></author>	</entry>

	<entry>
		<id>http://wiki.sfptotal.com/index.php?title=SFPTotal_Plus_X&amp;diff=815</id>
		<title>SFPTotal Plus X</title>
		<link rel="alternate" type="text/html" href="http://wiki.sfptotal.com/index.php?title=SFPTotal_Plus_X&amp;diff=815"/>
				<updated>2020-11-13T08:48:37Z</updated>
		
		<summary type="html">&lt;p&gt;Sfptotal: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''SFPTotal Plus X''' is a new revision of universal programming board SFPTotal Plus with improved support fiber optical transceivers. The coding board allows to reprogram SFP, SFP+, SFP28, XFP,  40G QSFP+, 100G QSFP28 and 200/400G QSFP-DD transceivers, DAC and AOC cables. Device connects to PC via USB interface through which performed control and power supply of transceiver. An external supply adapter connection socket is presented for work with high-powered transceivers with an overestimated power consumption (for example, transceivers for distance 40/80/120 km).&lt;br /&gt;
&lt;br /&gt;
== Application ==&lt;br /&gt;
&lt;br /&gt;
Programmers SFPTotal are used to solve next tasks:&lt;br /&gt;
* Programming SFP/SFP+, XFP, QSFP, GBIC optical transceivers and twinaxial cables&lt;br /&gt;
* Providing of compatibility between network equipment of different manufacturers&lt;br /&gt;
* Reflashing memory of write-protected transceivers&lt;br /&gt;
* Changing settings of PHY controllers&lt;br /&gt;
* Branding for OEM transceivers&lt;br /&gt;
* Diagnosis transceiver by reading the DDM&lt;br /&gt;
* Accounting for optical transceivers&lt;br /&gt;
&lt;br /&gt;
== Quick start guide ==&lt;br /&gt;
&lt;br /&gt;
# Connect SFPTotal Plus board to your PC using micro USB Type B cable&lt;br /&gt;
# Install [http://wiki.sfptotal.com/index.php/Installing_drivers_for_SFPTotal_Plus%5CMini drivers for SFPTotal Device]&lt;br /&gt;
# Download application [[SFPTotal Wizard]] &lt;br /&gt;
# Start SFPTotal Wizard&lt;br /&gt;
# Insert transceiver to the programmer port&lt;br /&gt;
# [[Reading transceiver's memory]]&lt;br /&gt;
&lt;br /&gt;
== Listing of elements ==&lt;br /&gt;
&lt;br /&gt;
Listing of elements placed on circuit board of SFPTotal Plus programmer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''1. Transceiver ports'''&lt;br /&gt;
&lt;br /&gt;
'''P2''' - SFP, SFP+ port&lt;br /&gt;
&lt;br /&gt;
'''P11''' - QSFP, QSFP+, QSFP28 port&lt;br /&gt;
&lt;br /&gt;
'''P9''' - XFP port&lt;br /&gt;
&lt;br /&gt;
'''P7''' - GBIC port&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''2. Power supply plans'''&lt;br /&gt;
&lt;br /&gt;
'''P1''' - power supply of SFP port, a pair of 3.3 V for VccT and VccR pins.&lt;br /&gt;
&lt;br /&gt;
'''P17, P16, P15''' - power supply of QSFP port,  3.3 V for Vcc1, VccTx and VccRx pins.&lt;br /&gt;
&lt;br /&gt;
'''P12, P14, P13, P10''' - power supply of XFP port: 3.3V, -5V, 5V and 1.8 power supply plans.&lt;br /&gt;
&lt;br /&gt;
'''P8''' - power supply of GBIC port, switch between 3.3V or 5V. For default, closed in 3V3 position.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''3. Jumpers'''&lt;br /&gt;
&lt;br /&gt;
'''P3''' - low power mode, keep closed to disable low power mode (TX enable).&lt;br /&gt;
&lt;br /&gt;
'''P4''' - RS1 (position 1-2) and RS0 (position 3-4) pins.&lt;br /&gt;
&lt;br /&gt;
'''P18''' - QSFP ModSelL&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;The ModSelL is an input pin. When held low by the host, the module responds to 2-wire serial communication commands. The ModSelL allows the use of multiple QSFP modules on a single 2-wire interface bus. When the ModSelL is “High”, the module shall not respond to or acknowledge any 2-wire interface communication from the host. ModSelL signal input node must be biased to the “High” state in the module.&lt;br /&gt;
&lt;br /&gt;
INF-8438&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notice: The programmer automatically switches the contact to &amp;quot;Low&amp;quot; level when performing read and write operations on the data bus.&lt;br /&gt;
&lt;br /&gt;
'''P19''' - QSFP ResetL&lt;br /&gt;
&lt;br /&gt;
'''P20''' - XFP ModDeSel&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
The Mod_DeSel is an input pin. When held Low by the host, the module responds to 2-wire serial communication commands. The Mod_DeSel allows the use of multiple XFP modules on a single 2-wire interface bus.&lt;br /&gt;
When the Mod_DeSel pin is “High”, the module shall not respond to or acknowledge any 2-wire interface communication from the host. Mod_DeSel pin must be pulled to VCC3 in the module.&lt;br /&gt;
&lt;br /&gt;
INF-8077i&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notice: The programmer automatically switches the contact to &amp;quot;Low&amp;quot; level when performing read and write operations on the data bus.&lt;br /&gt;
&lt;br /&gt;
'''P21''' - XFP PDOWN/RESET&lt;br /&gt;
&amp;lt;pre&amp;gt;This is a multifunction pin for module Power Down and Reset. The P_Down/RST pin must be pulled up to VCC3 in the XFP module.&lt;br /&gt;
&lt;br /&gt;
INF-8077i&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''4. Interfaces'''&lt;br /&gt;
&lt;br /&gt;
'''P5''' - USB interface for connection to PC&lt;br /&gt;
&lt;br /&gt;
'''P22''' - I&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;C databus, logic level 5V&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''5. LED indicators '''&lt;br /&gt;
&lt;br /&gt;
'''POWER''' - should statically light when board connected to USB or to external supply adapter.&lt;br /&gt;
&lt;br /&gt;
'''MCU''' - indication of power supply for microcontroller.&lt;br /&gt;
&lt;br /&gt;
'''ERROR''' - should glow when unhandled errors occur on the data bus, for example: connection more than 1 transceiver.&lt;br /&gt;
&lt;br /&gt;
'''STATUS''' - should blinking when transceiver is not connected and statically light when transceiver is connected.&lt;br /&gt;
&lt;br /&gt;
== Management interface ==&lt;br /&gt;
&lt;br /&gt;
The device provides access to management interface (CLI) by connecting through a virtual serial port.&lt;br /&gt;
You can use the programming board without [[SFPTotal Wizard]] software to get more features or to realize the opportunities that are not available in the standard software. Use this document to get information about commands which supported by SFPTotal Plus.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Serial port settings ===&lt;br /&gt;
&lt;br /&gt;
[[File:serial_port_settings.jpg|250px|right|Serial port settings]]&lt;br /&gt;
&lt;br /&gt;
You can access the command line interface of the programmer not only with the SFPTotal Wizard, but also with the help of utilities for working with the serial port. For example,  [http://www.putty.org/ Putty].&lt;br /&gt;
&lt;br /&gt;
The boards are support a flexible baud rate, but we recommend use value 115200.&lt;br /&gt;
&lt;br /&gt;
:: '''Default settings'''&lt;br /&gt;
&lt;br /&gt;
:: Baud rate: 115200&lt;br /&gt;
&lt;br /&gt;
:: Data bits: 8&lt;br /&gt;
&lt;br /&gt;
:: Parity: None&lt;br /&gt;
&lt;br /&gt;
:: Stop bits: 1&lt;br /&gt;
&lt;br /&gt;
:: Flow control: None&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Configuration commands ===&lt;br /&gt;
&lt;br /&gt;
;'''CLI'''&lt;br /&gt;
&lt;br /&gt;
After reset the programmer does not display in the interface characters entered from the keyboard.&lt;br /&gt;
The command switches the echo output of command line. Default, CLI=0.&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
? CLI&lt;br /&gt;
CLI=0&lt;br /&gt;
&lt;br /&gt;
CLI=1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set CLI=1 to turn on echo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;'''STATUS'''&lt;br /&gt;
&lt;br /&gt;
Commend returns current state GPIO for each port.&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
STATUS&lt;br /&gt;
[GBIC]: MOD_ABS=1; TX_FAULT=1; RX_LOS=1; TX_DIS=1&lt;br /&gt;
[SFP]:  MOD_ABS=1; TX_FAULT=1; RX_LOS=1; TX_DIS=1&lt;br /&gt;
[XFP]:  MOD_ABS=1; RX_LOS=1; INTERRUPT=1; MOD_SEL=1; P_DOWN/RESET=1;&lt;br /&gt;
[QSFP]: MOD_ABS=1; INTL=1; MOD_SEL=1; RESETL=1;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''TX_DIS'''&lt;br /&gt;
&lt;br /&gt;
Command allows to disable power supply of transmitter for switching to low power mode (LPMODE). To activate the LPMODE, it is necessary to transfer command TX_DIS setting the flag value of 1.&lt;br /&gt;
&lt;br /&gt;
To disable the mode, you must set the flag equal to 0. The current state can be requested with STATUS command.&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
TX_DIS=1&lt;br /&gt;
&lt;br /&gt;
STATUS&lt;br /&gt;
MOD_ABS=0; TX_FAULT=1; RX_LOS=0; TX_DIS=1&lt;br /&gt;
&lt;br /&gt;
TX_DIS=0&lt;br /&gt;
STATUS&lt;br /&gt;
MOD_ABS=0; TX_FAULT=1; RX_LOS=0; TX_DIS=0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Low power mode is activated for default.&lt;br /&gt;
On the PCB of SFPTotal boards are placed contacts LP_MODE, which allows to switch low power mode in manual mode.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;'''VERSION'''&lt;br /&gt;
&lt;br /&gt;
Command returns information about device: hardware revision, software version and unique serial number of the device.&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
VERSION&lt;br /&gt;
SFPTotal Plus (c) 2015-2016&lt;br /&gt;
HW: 1.1&lt;br /&gt;
SW: 1.0.5&lt;br /&gt;
SN: SFPT-P1116021001&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''I2CRATE'''&lt;br /&gt;
&lt;br /&gt;
Note: Supported only on the SW versions 1.1.0 or above&lt;br /&gt;
&lt;br /&gt;
This command sets the speed of I2C data bus.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
I2CRATE=12 # Set up speed rate 100 kHz&lt;br /&gt;
I2CRATE=40 # Set up speed 30 kHz&lt;br /&gt;
I2CRATE=C6 # Set up speed 10 kHz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To request a current speed use command: '''? I2CRATE'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
? I2CRATE&lt;br /&gt;
I2CRATE=C6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''I2CPAUSE'''&lt;br /&gt;
&lt;br /&gt;
Note: Supported only on the SW versions 1.2.2 or above&lt;br /&gt;
&lt;br /&gt;
This command sets the interval between operation of I2C data bus.&lt;br /&gt;
Value equal to milliseconds in Hex format.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
I2CPAUSE=20 # Set interval 32ms&lt;br /&gt;
I2CPAUSE=32 # Set interval 50ms (for default)&lt;br /&gt;
I2CPAUSE=64 # Set interval 100ms&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To request a current interval use command: '''? I2CPAUSE'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
? I2CPAUSE&lt;br /&gt;
I2CPAUSE=32&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;'''BPS'''&lt;br /&gt;
&lt;br /&gt;
The command set number bytes in block of write. Default, BPS=08&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
? BPS&lt;br /&gt;
BPS=08&lt;br /&gt;
&lt;br /&gt;
BPS=01 # Set block size in 1 byte&lt;br /&gt;
BPS=08 # Set block size in 8 bytes (default)&lt;br /&gt;
BPS=FF # Set block size in 255 bytes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
By default, the recording is performed by blocks of 8 bytes. For the programming of some transceivers with protection, it may be necessary to change the block size, for example, writing by each byte (BPS=01) or writing the entire block as a whole (BPS=FF).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''AUTO_WR_ADDTBL'''&lt;br /&gt;
&lt;br /&gt;
Note: Supported only on the SW versions 1.1.0 or above&lt;br /&gt;
&lt;br /&gt;
If the flag is set, the programmer will automatically change the address of the additional tables before performing reading and writing operations.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
AUTO_WR_ADDTBL=1&lt;br /&gt;
 &lt;br /&gt;
AUTO_WR_ADDTBL=0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To request a current value use command: '''? AUTO_WR_ADDTBL'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
? AUTO_WR_ADDTBL&lt;br /&gt;
AUTO_WR_ADDTBL=0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Read and write ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''rXYYAABBCC''' ('''RXYYAABBCC''')&lt;br /&gt;
&lt;br /&gt;
Command for reading memory of transceiver.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
r1A000007F&lt;br /&gt;
Read 128 byte(s) Table 0xA0 from 0x00&lt;br /&gt;
&lt;br /&gt;
##    00  01  02  03  04  05  06  07  08  09  0A  0B  0C  0D  0E  0F&lt;br /&gt;
&lt;br /&gt;
00 :  03  04  07  20  00  00  00  00  00  00  00  06  67  00  0A  64&lt;br /&gt;
01 :  00  00  00  00  4F  45  4D  20  20  20  20  20  20  20  20  20&lt;br /&gt;
02 :  00  20  20  20  00  00  00  00  31  30  47  42  2D  53  46  50&lt;br /&gt;
03 :  2D  4C  52  2D  45  20  20  20  31  2E  30  20  05  1E  00  F9&lt;br /&gt;
04 :  00  1A  00  00  45  58  50  39  36  4C  30  31  31  20  20  20&lt;br /&gt;
05 :  20  20  20  20  31  31  30  38  30  39  20  20  68  F0  03  02&lt;br /&gt;
06 :  45  58  54  52  45  4D  45  20  4C  52  00  00  00  00  00  00&lt;br /&gt;
07 :  00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  00&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
R1A000007F  &lt;br /&gt;
03040720000000000000000667000A64000000004F454D202020202020202020&lt;br /&gt;
0020202000000000313047422D5346502D4C522D45202020312E3020051E00F9&lt;br /&gt;
001A000045585039364C30313120202020202020313130383039202068F00302&lt;br /&gt;
45585452454D45204C5200000000000000000000000000000000000000000000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''wXYYAABBCC''' ('''WXYYAABBCC''')&lt;br /&gt;
&lt;br /&gt;
Command for writing to the memory of transceiver.&lt;br /&gt;
&lt;br /&gt;
'''w''' &amp;amp;mdash; (1 byte) &amp;amp;mdash; Write command. Symbol register is responsible for the subsequent read after write. If you use uppercase (W) after the recording is complete programmer will make reading the memory area which has been overwritten. To  write without return a write result of lower case (w) must be used. &lt;br /&gt;
                &lt;br /&gt;
'''X'''  &amp;amp;mdash; (1 byte)  &amp;amp;mdash;   Transceiver type (1 - SFP, 2 - SFP+).&lt;br /&gt;
&lt;br /&gt;
'''YY''' &amp;amp;mdash; (2 bytes) &amp;amp;mdash;   The device address on the I2C bus.&lt;br /&gt;
&lt;br /&gt;
'''AA'''  &amp;amp;mdash; (2 bytes) &amp;amp;mdash;    Address of additional table.&lt;br /&gt;
&lt;br /&gt;
'''BB'''  &amp;amp;mdash; (2 bytes) &amp;amp;mdash;    Address table. Value in HEX. For example: A0 or A2.&lt;br /&gt;
&lt;br /&gt;
'''СС'''  &amp;amp;mdash; (2 bytes) &amp;amp;mdash;   Write byte count. Hexadecimal value reduced by one.  For example, for writing 128 bytes you should set this parameter in 7F (0x7F in HEX, 127 in decimal). &lt;br /&gt;
&lt;br /&gt;
'''{DATA}'''  &amp;amp;mdash; Write data in HEX, 2 characters for each byte of the parcel.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''' Examples '''&lt;br /&gt;
&lt;br /&gt;
Write code 128 bytes in Table A0 Upper address 00 for SFP transceiver:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
W1A000007F&lt;br /&gt;
03040720000000000000000667000A64000000004F454D202020202020202020&lt;br /&gt;
0020202000000000313047422D5346502D4C522D45202020312E3020051E00F9&lt;br /&gt;
001A000045585039364C30313120202020202020313130383039202068F00302&lt;br /&gt;
45585452454D45204C5200000000000000000000000000000000000000000000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Write password 0123 (HEX: 30h 31h 32h 33h) in Table A2 address 7B for SFP+ transceiver:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;w2A2007B0330313233&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Note: Write command should type without newline characters and spaces. Shifts are given for the convenience display of the material in the examples.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Brute-force mode ===&lt;br /&gt;
&lt;br /&gt;
Starting  from SW 1.2.3 firmware version has been added the function that allows searching for a password in brute mode without using the SFPTotal Wizard software. It  mean that programming board can check passwords by itself in wide range of values.&lt;br /&gt;
&lt;br /&gt;
''' How does it works? '''&lt;br /&gt;
&lt;br /&gt;
To check the password programmer should make few operations:&lt;br /&gt;
# Enter password in password area&lt;br /&gt;
# Write a check word to Vendor name area&lt;br /&gt;
# Read vendor name area&lt;br /&gt;
# Compare a check word with vendor name.&lt;br /&gt;
&lt;br /&gt;
The programmer goes through the password values sequentially within the specified range. By default, the programmer write a check word &amp;quot;SFPTOTAL&amp;quot; (8 bytes) in Table A0h with offset 14h.&lt;br /&gt;
Then it compares the data that was read after the control word was written. &lt;br /&gt;
&lt;br /&gt;
If the read data is the same as the control word, then it mean the record is successful. The programmer will stop the brute-force process and return the current password as a result of a successful search.&lt;br /&gt;
&lt;br /&gt;
We are developed this function for searching passwords to MSA compliant transceivers. Anyway, you should check the documentation and standards for your module before using brute-force mode.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''BFSET'''&lt;br /&gt;
&lt;br /&gt;
The command sets the password search parameters and starts the brute-force process.&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
BFSET A2 7B AAAAAAAA FFFFFFFF CCCCCCCC&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''A2''' - address of Table, where must be entered a password. For XFP and QSFP address should be set in A0.&lt;br /&gt;
&lt;br /&gt;
'''7B''' - offset for entering a password &lt;br /&gt;
&lt;br /&gt;
'''AAAAAAAA''' - start of range&lt;br /&gt;
&lt;br /&gt;
'''FFFFFFFF''' - end of range&lt;br /&gt;
&lt;br /&gt;
'''CCCCCCCC''' - value from where should be started brute-force process&lt;br /&gt;
&lt;br /&gt;
Recommended ranges for search:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
BFSET A2 7B 41414141 5A5A5A5A 41414141 # A-Z&lt;br /&gt;
&lt;br /&gt;
BFSET A2 7B 61616161 7A7A7A7A 61616161 # a-z&lt;br /&gt;
&lt;br /&gt;
BFSET A2 FC 30303030 39393939 30303030 # 0-9&lt;br /&gt;
&lt;br /&gt;
BFSET A2 7B 20202020 7A7A7A7A 20202020 # Symbols + Numeric + Literal&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''BFSTOP'''&lt;br /&gt;
Use command BFSTOP to stop brute-force process. You could continue from this point using command BFSTART.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''BFSTART'''&lt;br /&gt;
Use command BFSTART to continue brute-force progress from last point.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''? BFPASS'''&lt;br /&gt;
Use command '''? BFPASS''' to get know current password in brute-force progress.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''BFCWADR'''&lt;br /&gt;
Set device address of entering check word. Fo example, BFCWADR=A0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''BFCWOFT'''&lt;br /&gt;
Set offset parameter for entering check word. For default, BFCWOFT=14.&lt;br /&gt;
&lt;br /&gt;
Note: for XFP and QSFP transceivers use BFCWOFT=94.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''How to start brute-force for SFP+ transceiver?'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
BFCWADR=A0&lt;br /&gt;
BFCWOFT=14&lt;br /&gt;
BFSET A2 7B 20202020 7A7A7A7A 20202020&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''How to start brute-force for XFP transceiver?'''&lt;br /&gt;
&lt;br /&gt;
Set jumper on P20 contact on programming board.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
BFCWADR=A0&lt;br /&gt;
BFCWOFT=94&lt;br /&gt;
BFSET A0 7B 20202020 7A7A7A7A 20202020&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sfptotal</name></author>	</entry>

	<entry>
		<id>http://wiki.sfptotal.com/index.php?title=SFPTotal_Plus_X&amp;diff=814</id>
		<title>SFPTotal Plus X</title>
		<link rel="alternate" type="text/html" href="http://wiki.sfptotal.com/index.php?title=SFPTotal_Plus_X&amp;diff=814"/>
				<updated>2020-11-13T08:48:05Z</updated>
		
		<summary type="html">&lt;p&gt;Sfptotal: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''SFPTotal Plus X''' is a new revision of universal programming board SFPTotal Plus with improved support fiber optical transceivers. The coding board allows to reprogram SFP, SFP+, SFP28, XFP,  40G QSFP+, 100G QSFP28 and 200/400G QSFP-DD transceivers, DAC and AOC cables. Device connects to PC via USB interface through which performed control and power supply of transceiver. An external supply adapter is provided for work with high-powered transceivers with an overestimated power consumption (for example, transceivers for distance 40/80/120 km).&lt;br /&gt;
&lt;br /&gt;
== Application ==&lt;br /&gt;
&lt;br /&gt;
Programmers SFPTotal are used to solve next tasks:&lt;br /&gt;
* Programming SFP/SFP+, XFP, QSFP, GBIC optical transceivers and twinaxial cables&lt;br /&gt;
* Providing of compatibility between network equipment of different manufacturers&lt;br /&gt;
* Reflashing memory of write-protected transceivers&lt;br /&gt;
* Changing settings of PHY controllers&lt;br /&gt;
* Branding for OEM transceivers&lt;br /&gt;
* Diagnosis transceiver by reading the DDM&lt;br /&gt;
* Accounting for optical transceivers&lt;br /&gt;
&lt;br /&gt;
== Quick start guide ==&lt;br /&gt;
&lt;br /&gt;
# Connect SFPTotal Plus board to your PC using micro USB Type B cable&lt;br /&gt;
# Install [http://wiki.sfptotal.com/index.php/Installing_drivers_for_SFPTotal_Plus%5CMini drivers for SFPTotal Device]&lt;br /&gt;
# Download application [[SFPTotal Wizard]] &lt;br /&gt;
# Start SFPTotal Wizard&lt;br /&gt;
# Insert transceiver to the programmer port&lt;br /&gt;
# [[Reading transceiver's memory]]&lt;br /&gt;
&lt;br /&gt;
== Listing of elements ==&lt;br /&gt;
&lt;br /&gt;
Listing of elements placed on circuit board of SFPTotal Plus programmer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''1. Transceiver ports'''&lt;br /&gt;
&lt;br /&gt;
'''P2''' - SFP, SFP+ port&lt;br /&gt;
&lt;br /&gt;
'''P11''' - QSFP, QSFP+, QSFP28 port&lt;br /&gt;
&lt;br /&gt;
'''P9''' - XFP port&lt;br /&gt;
&lt;br /&gt;
'''P7''' - GBIC port&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''2. Power supply plans'''&lt;br /&gt;
&lt;br /&gt;
'''P1''' - power supply of SFP port, a pair of 3.3 V for VccT and VccR pins.&lt;br /&gt;
&lt;br /&gt;
'''P17, P16, P15''' - power supply of QSFP port,  3.3 V for Vcc1, VccTx and VccRx pins.&lt;br /&gt;
&lt;br /&gt;
'''P12, P14, P13, P10''' - power supply of XFP port: 3.3V, -5V, 5V and 1.8 power supply plans.&lt;br /&gt;
&lt;br /&gt;
'''P8''' - power supply of GBIC port, switch between 3.3V or 5V. For default, closed in 3V3 position.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''3. Jumpers'''&lt;br /&gt;
&lt;br /&gt;
'''P3''' - low power mode, keep closed to disable low power mode (TX enable).&lt;br /&gt;
&lt;br /&gt;
'''P4''' - RS1 (position 1-2) and RS0 (position 3-4) pins.&lt;br /&gt;
&lt;br /&gt;
'''P18''' - QSFP ModSelL&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;The ModSelL is an input pin. When held low by the host, the module responds to 2-wire serial communication commands. The ModSelL allows the use of multiple QSFP modules on a single 2-wire interface bus. When the ModSelL is “High”, the module shall not respond to or acknowledge any 2-wire interface communication from the host. ModSelL signal input node must be biased to the “High” state in the module.&lt;br /&gt;
&lt;br /&gt;
INF-8438&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notice: The programmer automatically switches the contact to &amp;quot;Low&amp;quot; level when performing read and write operations on the data bus.&lt;br /&gt;
&lt;br /&gt;
'''P19''' - QSFP ResetL&lt;br /&gt;
&lt;br /&gt;
'''P20''' - XFP ModDeSel&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
The Mod_DeSel is an input pin. When held Low by the host, the module responds to 2-wire serial communication commands. The Mod_DeSel allows the use of multiple XFP modules on a single 2-wire interface bus.&lt;br /&gt;
When the Mod_DeSel pin is “High”, the module shall not respond to or acknowledge any 2-wire interface communication from the host. Mod_DeSel pin must be pulled to VCC3 in the module.&lt;br /&gt;
&lt;br /&gt;
INF-8077i&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notice: The programmer automatically switches the contact to &amp;quot;Low&amp;quot; level when performing read and write operations on the data bus.&lt;br /&gt;
&lt;br /&gt;
'''P21''' - XFP PDOWN/RESET&lt;br /&gt;
&amp;lt;pre&amp;gt;This is a multifunction pin for module Power Down and Reset. The P_Down/RST pin must be pulled up to VCC3 in the XFP module.&lt;br /&gt;
&lt;br /&gt;
INF-8077i&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''4. Interfaces'''&lt;br /&gt;
&lt;br /&gt;
'''P5''' - USB interface for connection to PC&lt;br /&gt;
&lt;br /&gt;
'''P22''' - I&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;C databus, logic level 5V&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''5. LED indicators '''&lt;br /&gt;
&lt;br /&gt;
'''POWER''' - should statically light when board connected to USB or to external supply adapter.&lt;br /&gt;
&lt;br /&gt;
'''MCU''' - indication of power supply for microcontroller.&lt;br /&gt;
&lt;br /&gt;
'''ERROR''' - should glow when unhandled errors occur on the data bus, for example: connection more than 1 transceiver.&lt;br /&gt;
&lt;br /&gt;
'''STATUS''' - should blinking when transceiver is not connected and statically light when transceiver is connected.&lt;br /&gt;
&lt;br /&gt;
== Management interface ==&lt;br /&gt;
&lt;br /&gt;
The device provides access to management interface (CLI) by connecting through a virtual serial port.&lt;br /&gt;
You can use the programming board without [[SFPTotal Wizard]] software to get more features or to realize the opportunities that are not available in the standard software. Use this document to get information about commands which supported by SFPTotal Plus.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Serial port settings ===&lt;br /&gt;
&lt;br /&gt;
[[File:serial_port_settings.jpg|250px|right|Serial port settings]]&lt;br /&gt;
&lt;br /&gt;
You can access the command line interface of the programmer not only with the SFPTotal Wizard, but also with the help of utilities for working with the serial port. For example,  [http://www.putty.org/ Putty].&lt;br /&gt;
&lt;br /&gt;
The boards are support a flexible baud rate, but we recommend use value 115200.&lt;br /&gt;
&lt;br /&gt;
:: '''Default settings'''&lt;br /&gt;
&lt;br /&gt;
:: Baud rate: 115200&lt;br /&gt;
&lt;br /&gt;
:: Data bits: 8&lt;br /&gt;
&lt;br /&gt;
:: Parity: None&lt;br /&gt;
&lt;br /&gt;
:: Stop bits: 1&lt;br /&gt;
&lt;br /&gt;
:: Flow control: None&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Configuration commands ===&lt;br /&gt;
&lt;br /&gt;
;'''CLI'''&lt;br /&gt;
&lt;br /&gt;
After reset the programmer does not display in the interface characters entered from the keyboard.&lt;br /&gt;
The command switches the echo output of command line. Default, CLI=0.&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
? CLI&lt;br /&gt;
CLI=0&lt;br /&gt;
&lt;br /&gt;
CLI=1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set CLI=1 to turn on echo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;'''STATUS'''&lt;br /&gt;
&lt;br /&gt;
Commend returns current state GPIO for each port.&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
STATUS&lt;br /&gt;
[GBIC]: MOD_ABS=1; TX_FAULT=1; RX_LOS=1; TX_DIS=1&lt;br /&gt;
[SFP]:  MOD_ABS=1; TX_FAULT=1; RX_LOS=1; TX_DIS=1&lt;br /&gt;
[XFP]:  MOD_ABS=1; RX_LOS=1; INTERRUPT=1; MOD_SEL=1; P_DOWN/RESET=1;&lt;br /&gt;
[QSFP]: MOD_ABS=1; INTL=1; MOD_SEL=1; RESETL=1;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''TX_DIS'''&lt;br /&gt;
&lt;br /&gt;
Command allows to disable power supply of transmitter for switching to low power mode (LPMODE). To activate the LPMODE, it is necessary to transfer command TX_DIS setting the flag value of 1.&lt;br /&gt;
&lt;br /&gt;
To disable the mode, you must set the flag equal to 0. The current state can be requested with STATUS command.&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
TX_DIS=1&lt;br /&gt;
&lt;br /&gt;
STATUS&lt;br /&gt;
MOD_ABS=0; TX_FAULT=1; RX_LOS=0; TX_DIS=1&lt;br /&gt;
&lt;br /&gt;
TX_DIS=0&lt;br /&gt;
STATUS&lt;br /&gt;
MOD_ABS=0; TX_FAULT=1; RX_LOS=0; TX_DIS=0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Low power mode is activated for default.&lt;br /&gt;
On the PCB of SFPTotal boards are placed contacts LP_MODE, which allows to switch low power mode in manual mode.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;'''VERSION'''&lt;br /&gt;
&lt;br /&gt;
Command returns information about device: hardware revision, software version and unique serial number of the device.&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
VERSION&lt;br /&gt;
SFPTotal Plus (c) 2015-2016&lt;br /&gt;
HW: 1.1&lt;br /&gt;
SW: 1.0.5&lt;br /&gt;
SN: SFPT-P1116021001&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''I2CRATE'''&lt;br /&gt;
&lt;br /&gt;
Note: Supported only on the SW versions 1.1.0 or above&lt;br /&gt;
&lt;br /&gt;
This command sets the speed of I2C data bus.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
I2CRATE=12 # Set up speed rate 100 kHz&lt;br /&gt;
I2CRATE=40 # Set up speed 30 kHz&lt;br /&gt;
I2CRATE=C6 # Set up speed 10 kHz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To request a current speed use command: '''? I2CRATE'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
? I2CRATE&lt;br /&gt;
I2CRATE=C6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''I2CPAUSE'''&lt;br /&gt;
&lt;br /&gt;
Note: Supported only on the SW versions 1.2.2 or above&lt;br /&gt;
&lt;br /&gt;
This command sets the interval between operation of I2C data bus.&lt;br /&gt;
Value equal to milliseconds in Hex format.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
I2CPAUSE=20 # Set interval 32ms&lt;br /&gt;
I2CPAUSE=32 # Set interval 50ms (for default)&lt;br /&gt;
I2CPAUSE=64 # Set interval 100ms&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To request a current interval use command: '''? I2CPAUSE'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
? I2CPAUSE&lt;br /&gt;
I2CPAUSE=32&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;'''BPS'''&lt;br /&gt;
&lt;br /&gt;
The command set number bytes in block of write. Default, BPS=08&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
? BPS&lt;br /&gt;
BPS=08&lt;br /&gt;
&lt;br /&gt;
BPS=01 # Set block size in 1 byte&lt;br /&gt;
BPS=08 # Set block size in 8 bytes (default)&lt;br /&gt;
BPS=FF # Set block size in 255 bytes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
By default, the recording is performed by blocks of 8 bytes. For the programming of some transceivers with protection, it may be necessary to change the block size, for example, writing by each byte (BPS=01) or writing the entire block as a whole (BPS=FF).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''AUTO_WR_ADDTBL'''&lt;br /&gt;
&lt;br /&gt;
Note: Supported only on the SW versions 1.1.0 or above&lt;br /&gt;
&lt;br /&gt;
If the flag is set, the programmer will automatically change the address of the additional tables before performing reading and writing operations.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
AUTO_WR_ADDTBL=1&lt;br /&gt;
 &lt;br /&gt;
AUTO_WR_ADDTBL=0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To request a current value use command: '''? AUTO_WR_ADDTBL'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
? AUTO_WR_ADDTBL&lt;br /&gt;
AUTO_WR_ADDTBL=0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Read and write ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''rXYYAABBCC''' ('''RXYYAABBCC''')&lt;br /&gt;
&lt;br /&gt;
Command for reading memory of transceiver.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
r1A000007F&lt;br /&gt;
Read 128 byte(s) Table 0xA0 from 0x00&lt;br /&gt;
&lt;br /&gt;
##    00  01  02  03  04  05  06  07  08  09  0A  0B  0C  0D  0E  0F&lt;br /&gt;
&lt;br /&gt;
00 :  03  04  07  20  00  00  00  00  00  00  00  06  67  00  0A  64&lt;br /&gt;
01 :  00  00  00  00  4F  45  4D  20  20  20  20  20  20  20  20  20&lt;br /&gt;
02 :  00  20  20  20  00  00  00  00  31  30  47  42  2D  53  46  50&lt;br /&gt;
03 :  2D  4C  52  2D  45  20  20  20  31  2E  30  20  05  1E  00  F9&lt;br /&gt;
04 :  00  1A  00  00  45  58  50  39  36  4C  30  31  31  20  20  20&lt;br /&gt;
05 :  20  20  20  20  31  31  30  38  30  39  20  20  68  F0  03  02&lt;br /&gt;
06 :  45  58  54  52  45  4D  45  20  4C  52  00  00  00  00  00  00&lt;br /&gt;
07 :  00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  00&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
R1A000007F  &lt;br /&gt;
03040720000000000000000667000A64000000004F454D202020202020202020&lt;br /&gt;
0020202000000000313047422D5346502D4C522D45202020312E3020051E00F9&lt;br /&gt;
001A000045585039364C30313120202020202020313130383039202068F00302&lt;br /&gt;
45585452454D45204C5200000000000000000000000000000000000000000000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''wXYYAABBCC''' ('''WXYYAABBCC''')&lt;br /&gt;
&lt;br /&gt;
Command for writing to the memory of transceiver.&lt;br /&gt;
&lt;br /&gt;
'''w''' &amp;amp;mdash; (1 byte) &amp;amp;mdash; Write command. Symbol register is responsible for the subsequent read after write. If you use uppercase (W) after the recording is complete programmer will make reading the memory area which has been overwritten. To  write without return a write result of lower case (w) must be used. &lt;br /&gt;
                &lt;br /&gt;
'''X'''  &amp;amp;mdash; (1 byte)  &amp;amp;mdash;   Transceiver type (1 - SFP, 2 - SFP+).&lt;br /&gt;
&lt;br /&gt;
'''YY''' &amp;amp;mdash; (2 bytes) &amp;amp;mdash;   The device address on the I2C bus.&lt;br /&gt;
&lt;br /&gt;
'''AA'''  &amp;amp;mdash; (2 bytes) &amp;amp;mdash;    Address of additional table.&lt;br /&gt;
&lt;br /&gt;
'''BB'''  &amp;amp;mdash; (2 bytes) &amp;amp;mdash;    Address table. Value in HEX. For example: A0 or A2.&lt;br /&gt;
&lt;br /&gt;
'''СС'''  &amp;amp;mdash; (2 bytes) &amp;amp;mdash;   Write byte count. Hexadecimal value reduced by one.  For example, for writing 128 bytes you should set this parameter in 7F (0x7F in HEX, 127 in decimal). &lt;br /&gt;
&lt;br /&gt;
'''{DATA}'''  &amp;amp;mdash; Write data in HEX, 2 characters for each byte of the parcel.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''' Examples '''&lt;br /&gt;
&lt;br /&gt;
Write code 128 bytes in Table A0 Upper address 00 for SFP transceiver:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
W1A000007F&lt;br /&gt;
03040720000000000000000667000A64000000004F454D202020202020202020&lt;br /&gt;
0020202000000000313047422D5346502D4C522D45202020312E3020051E00F9&lt;br /&gt;
001A000045585039364C30313120202020202020313130383039202068F00302&lt;br /&gt;
45585452454D45204C5200000000000000000000000000000000000000000000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Write password 0123 (HEX: 30h 31h 32h 33h) in Table A2 address 7B for SFP+ transceiver:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;w2A2007B0330313233&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Note: Write command should type without newline characters and spaces. Shifts are given for the convenience display of the material in the examples.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Brute-force mode ===&lt;br /&gt;
&lt;br /&gt;
Starting  from SW 1.2.3 firmware version has been added the function that allows searching for a password in brute mode without using the SFPTotal Wizard software. It  mean that programming board can check passwords by itself in wide range of values.&lt;br /&gt;
&lt;br /&gt;
''' How does it works? '''&lt;br /&gt;
&lt;br /&gt;
To check the password programmer should make few operations:&lt;br /&gt;
# Enter password in password area&lt;br /&gt;
# Write a check word to Vendor name area&lt;br /&gt;
# Read vendor name area&lt;br /&gt;
# Compare a check word with vendor name.&lt;br /&gt;
&lt;br /&gt;
The programmer goes through the password values sequentially within the specified range. By default, the programmer write a check word &amp;quot;SFPTOTAL&amp;quot; (8 bytes) in Table A0h with offset 14h.&lt;br /&gt;
Then it compares the data that was read after the control word was written. &lt;br /&gt;
&lt;br /&gt;
If the read data is the same as the control word, then it mean the record is successful. The programmer will stop the brute-force process and return the current password as a result of a successful search.&lt;br /&gt;
&lt;br /&gt;
We are developed this function for searching passwords to MSA compliant transceivers. Anyway, you should check the documentation and standards for your module before using brute-force mode.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''BFSET'''&lt;br /&gt;
&lt;br /&gt;
The command sets the password search parameters and starts the brute-force process.&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
BFSET A2 7B AAAAAAAA FFFFFFFF CCCCCCCC&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''A2''' - address of Table, where must be entered a password. For XFP and QSFP address should be set in A0.&lt;br /&gt;
&lt;br /&gt;
'''7B''' - offset for entering a password &lt;br /&gt;
&lt;br /&gt;
'''AAAAAAAA''' - start of range&lt;br /&gt;
&lt;br /&gt;
'''FFFFFFFF''' - end of range&lt;br /&gt;
&lt;br /&gt;
'''CCCCCCCC''' - value from where should be started brute-force process&lt;br /&gt;
&lt;br /&gt;
Recommended ranges for search:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
BFSET A2 7B 41414141 5A5A5A5A 41414141 # A-Z&lt;br /&gt;
&lt;br /&gt;
BFSET A2 7B 61616161 7A7A7A7A 61616161 # a-z&lt;br /&gt;
&lt;br /&gt;
BFSET A2 FC 30303030 39393939 30303030 # 0-9&lt;br /&gt;
&lt;br /&gt;
BFSET A2 7B 20202020 7A7A7A7A 20202020 # Symbols + Numeric + Literal&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''BFSTOP'''&lt;br /&gt;
Use command BFSTOP to stop brute-force process. You could continue from this point using command BFSTART.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''BFSTART'''&lt;br /&gt;
Use command BFSTART to continue brute-force progress from last point.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''? BFPASS'''&lt;br /&gt;
Use command '''? BFPASS''' to get know current password in brute-force progress.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''BFCWADR'''&lt;br /&gt;
Set device address of entering check word. Fo example, BFCWADR=A0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''BFCWOFT'''&lt;br /&gt;
Set offset parameter for entering check word. For default, BFCWOFT=14.&lt;br /&gt;
&lt;br /&gt;
Note: for XFP and QSFP transceivers use BFCWOFT=94.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''How to start brute-force for SFP+ transceiver?'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
BFCWADR=A0&lt;br /&gt;
BFCWOFT=14&lt;br /&gt;
BFSET A2 7B 20202020 7A7A7A7A 20202020&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''How to start brute-force for XFP transceiver?'''&lt;br /&gt;
&lt;br /&gt;
Set jumper on P20 contact on programming board.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
BFCWADR=A0&lt;br /&gt;
BFCWOFT=94&lt;br /&gt;
BFSET A0 7B 20202020 7A7A7A7A 20202020&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sfptotal</name></author>	</entry>

	<entry>
		<id>http://wiki.sfptotal.com/index.php?title=SFPTotal_Plus_X&amp;diff=813</id>
		<title>SFPTotal Plus X</title>
		<link rel="alternate" type="text/html" href="http://wiki.sfptotal.com/index.php?title=SFPTotal_Plus_X&amp;diff=813"/>
				<updated>2020-11-13T08:47:06Z</updated>
		
		<summary type="html">&lt;p&gt;Sfptotal: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''SFPTotal Plus X''' is a new revision of universal programming board SFPTotal Plus with improved support fiber optical transceivers. The coding board allows to reprogram SFP, SFP+, SFP28, XFP,  40G QSFP+, 100G QSFP28 and 200/400G QSFP-DD transceivers, DAC and AOC cables. Device connects to PC via USB interface through which performed control and power supply of transceiver. An external supply adapter is provided for work with high-powered transceivers with an overestimated power consumption (for example, transceivers for 40/80/120 km links).&lt;br /&gt;
&lt;br /&gt;
== Application ==&lt;br /&gt;
&lt;br /&gt;
Programmers SFPTotal are used to solve next tasks:&lt;br /&gt;
* Programming SFP/SFP+, XFP, QSFP, GBIC optical transceivers and twinaxial cables&lt;br /&gt;
* Providing of compatibility between network equipment of different manufacturers&lt;br /&gt;
* Reflashing memory of write-protected transceivers&lt;br /&gt;
* Changing settings of PHY controllers&lt;br /&gt;
* Branding for OEM transceivers&lt;br /&gt;
* Diagnosis transceiver by reading the DDM&lt;br /&gt;
* Accounting for optical transceivers&lt;br /&gt;
&lt;br /&gt;
== Quick start guide ==&lt;br /&gt;
&lt;br /&gt;
# Connect SFPTotal Plus board to your PC using micro USB Type B cable&lt;br /&gt;
# Install [http://wiki.sfptotal.com/index.php/Installing_drivers_for_SFPTotal_Plus%5CMini drivers for SFPTotal Device]&lt;br /&gt;
# Download application [[SFPTotal Wizard]] &lt;br /&gt;
# Start SFPTotal Wizard&lt;br /&gt;
# Insert transceiver to the programmer port&lt;br /&gt;
# [[Reading transceiver's memory]]&lt;br /&gt;
&lt;br /&gt;
== Listing of elements ==&lt;br /&gt;
&lt;br /&gt;
Listing of elements placed on circuit board of SFPTotal Plus programmer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''1. Transceiver ports'''&lt;br /&gt;
&lt;br /&gt;
'''P2''' - SFP, SFP+ port&lt;br /&gt;
&lt;br /&gt;
'''P11''' - QSFP, QSFP+, QSFP28 port&lt;br /&gt;
&lt;br /&gt;
'''P9''' - XFP port&lt;br /&gt;
&lt;br /&gt;
'''P7''' - GBIC port&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''2. Power supply plans'''&lt;br /&gt;
&lt;br /&gt;
'''P1''' - power supply of SFP port, a pair of 3.3 V for VccT and VccR pins.&lt;br /&gt;
&lt;br /&gt;
'''P17, P16, P15''' - power supply of QSFP port,  3.3 V for Vcc1, VccTx and VccRx pins.&lt;br /&gt;
&lt;br /&gt;
'''P12, P14, P13, P10''' - power supply of XFP port: 3.3V, -5V, 5V and 1.8 power supply plans.&lt;br /&gt;
&lt;br /&gt;
'''P8''' - power supply of GBIC port, switch between 3.3V or 5V. For default, closed in 3V3 position.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''3. Jumpers'''&lt;br /&gt;
&lt;br /&gt;
'''P3''' - low power mode, keep closed to disable low power mode (TX enable).&lt;br /&gt;
&lt;br /&gt;
'''P4''' - RS1 (position 1-2) and RS0 (position 3-4) pins.&lt;br /&gt;
&lt;br /&gt;
'''P18''' - QSFP ModSelL&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;The ModSelL is an input pin. When held low by the host, the module responds to 2-wire serial communication commands. The ModSelL allows the use of multiple QSFP modules on a single 2-wire interface bus. When the ModSelL is “High”, the module shall not respond to or acknowledge any 2-wire interface communication from the host. ModSelL signal input node must be biased to the “High” state in the module.&lt;br /&gt;
&lt;br /&gt;
INF-8438&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notice: The programmer automatically switches the contact to &amp;quot;Low&amp;quot; level when performing read and write operations on the data bus.&lt;br /&gt;
&lt;br /&gt;
'''P19''' - QSFP ResetL&lt;br /&gt;
&lt;br /&gt;
'''P20''' - XFP ModDeSel&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
The Mod_DeSel is an input pin. When held Low by the host, the module responds to 2-wire serial communication commands. The Mod_DeSel allows the use of multiple XFP modules on a single 2-wire interface bus.&lt;br /&gt;
When the Mod_DeSel pin is “High”, the module shall not respond to or acknowledge any 2-wire interface communication from the host. Mod_DeSel pin must be pulled to VCC3 in the module.&lt;br /&gt;
&lt;br /&gt;
INF-8077i&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notice: The programmer automatically switches the contact to &amp;quot;Low&amp;quot; level when performing read and write operations on the data bus.&lt;br /&gt;
&lt;br /&gt;
'''P21''' - XFP PDOWN/RESET&lt;br /&gt;
&amp;lt;pre&amp;gt;This is a multifunction pin for module Power Down and Reset. The P_Down/RST pin must be pulled up to VCC3 in the XFP module.&lt;br /&gt;
&lt;br /&gt;
INF-8077i&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''4. Interfaces'''&lt;br /&gt;
&lt;br /&gt;
'''P5''' - USB interface for connection to PC&lt;br /&gt;
&lt;br /&gt;
'''P22''' - I&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;C databus, logic level 5V&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''5. LED indicators '''&lt;br /&gt;
&lt;br /&gt;
'''POWER''' - should statically light when board connected to USB or to external supply adapter.&lt;br /&gt;
&lt;br /&gt;
'''MCU''' - indication of power supply for microcontroller.&lt;br /&gt;
&lt;br /&gt;
'''ERROR''' - should glow when unhandled errors occur on the data bus, for example: connection more than 1 transceiver.&lt;br /&gt;
&lt;br /&gt;
'''STATUS''' - should blinking when transceiver is not connected and statically light when transceiver is connected.&lt;br /&gt;
&lt;br /&gt;
== Management interface ==&lt;br /&gt;
&lt;br /&gt;
The device provides access to management interface (CLI) by connecting through a virtual serial port.&lt;br /&gt;
You can use the programming board without [[SFPTotal Wizard]] software to get more features or to realize the opportunities that are not available in the standard software. Use this document to get information about commands which supported by SFPTotal Plus.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Serial port settings ===&lt;br /&gt;
&lt;br /&gt;
[[File:serial_port_settings.jpg|250px|right|Serial port settings]]&lt;br /&gt;
&lt;br /&gt;
You can access the command line interface of the programmer not only with the SFPTotal Wizard, but also with the help of utilities for working with the serial port. For example,  [http://www.putty.org/ Putty].&lt;br /&gt;
&lt;br /&gt;
The boards are support a flexible baud rate, but we recommend use value 115200.&lt;br /&gt;
&lt;br /&gt;
:: '''Default settings'''&lt;br /&gt;
&lt;br /&gt;
:: Baud rate: 115200&lt;br /&gt;
&lt;br /&gt;
:: Data bits: 8&lt;br /&gt;
&lt;br /&gt;
:: Parity: None&lt;br /&gt;
&lt;br /&gt;
:: Stop bits: 1&lt;br /&gt;
&lt;br /&gt;
:: Flow control: None&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Configuration commands ===&lt;br /&gt;
&lt;br /&gt;
;'''CLI'''&lt;br /&gt;
&lt;br /&gt;
After reset the programmer does not display in the interface characters entered from the keyboard.&lt;br /&gt;
The command switches the echo output of command line. Default, CLI=0.&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
? CLI&lt;br /&gt;
CLI=0&lt;br /&gt;
&lt;br /&gt;
CLI=1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set CLI=1 to turn on echo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;'''STATUS'''&lt;br /&gt;
&lt;br /&gt;
Commend returns current state GPIO for each port.&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
STATUS&lt;br /&gt;
[GBIC]: MOD_ABS=1; TX_FAULT=1; RX_LOS=1; TX_DIS=1&lt;br /&gt;
[SFP]:  MOD_ABS=1; TX_FAULT=1; RX_LOS=1; TX_DIS=1&lt;br /&gt;
[XFP]:  MOD_ABS=1; RX_LOS=1; INTERRUPT=1; MOD_SEL=1; P_DOWN/RESET=1;&lt;br /&gt;
[QSFP]: MOD_ABS=1; INTL=1; MOD_SEL=1; RESETL=1;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''TX_DIS'''&lt;br /&gt;
&lt;br /&gt;
Command allows to disable power supply of transmitter for switching to low power mode (LPMODE). To activate the LPMODE, it is necessary to transfer command TX_DIS setting the flag value of 1.&lt;br /&gt;
&lt;br /&gt;
To disable the mode, you must set the flag equal to 0. The current state can be requested with STATUS command.&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
TX_DIS=1&lt;br /&gt;
&lt;br /&gt;
STATUS&lt;br /&gt;
MOD_ABS=0; TX_FAULT=1; RX_LOS=0; TX_DIS=1&lt;br /&gt;
&lt;br /&gt;
TX_DIS=0&lt;br /&gt;
STATUS&lt;br /&gt;
MOD_ABS=0; TX_FAULT=1; RX_LOS=0; TX_DIS=0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Low power mode is activated for default.&lt;br /&gt;
On the PCB of SFPTotal boards are placed contacts LP_MODE, which allows to switch low power mode in manual mode.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;'''VERSION'''&lt;br /&gt;
&lt;br /&gt;
Command returns information about device: hardware revision, software version and unique serial number of the device.&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
VERSION&lt;br /&gt;
SFPTotal Plus (c) 2015-2016&lt;br /&gt;
HW: 1.1&lt;br /&gt;
SW: 1.0.5&lt;br /&gt;
SN: SFPT-P1116021001&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''I2CRATE'''&lt;br /&gt;
&lt;br /&gt;
Note: Supported only on the SW versions 1.1.0 or above&lt;br /&gt;
&lt;br /&gt;
This command sets the speed of I2C data bus.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
I2CRATE=12 # Set up speed rate 100 kHz&lt;br /&gt;
I2CRATE=40 # Set up speed 30 kHz&lt;br /&gt;
I2CRATE=C6 # Set up speed 10 kHz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To request a current speed use command: '''? I2CRATE'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
? I2CRATE&lt;br /&gt;
I2CRATE=C6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''I2CPAUSE'''&lt;br /&gt;
&lt;br /&gt;
Note: Supported only on the SW versions 1.2.2 or above&lt;br /&gt;
&lt;br /&gt;
This command sets the interval between operation of I2C data bus.&lt;br /&gt;
Value equal to milliseconds in Hex format.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
I2CPAUSE=20 # Set interval 32ms&lt;br /&gt;
I2CPAUSE=32 # Set interval 50ms (for default)&lt;br /&gt;
I2CPAUSE=64 # Set interval 100ms&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To request a current interval use command: '''? I2CPAUSE'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
? I2CPAUSE&lt;br /&gt;
I2CPAUSE=32&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;'''BPS'''&lt;br /&gt;
&lt;br /&gt;
The command set number bytes in block of write. Default, BPS=08&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
? BPS&lt;br /&gt;
BPS=08&lt;br /&gt;
&lt;br /&gt;
BPS=01 # Set block size in 1 byte&lt;br /&gt;
BPS=08 # Set block size in 8 bytes (default)&lt;br /&gt;
BPS=FF # Set block size in 255 bytes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
By default, the recording is performed by blocks of 8 bytes. For the programming of some transceivers with protection, it may be necessary to change the block size, for example, writing by each byte (BPS=01) or writing the entire block as a whole (BPS=FF).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''AUTO_WR_ADDTBL'''&lt;br /&gt;
&lt;br /&gt;
Note: Supported only on the SW versions 1.1.0 or above&lt;br /&gt;
&lt;br /&gt;
If the flag is set, the programmer will automatically change the address of the additional tables before performing reading and writing operations.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
AUTO_WR_ADDTBL=1&lt;br /&gt;
 &lt;br /&gt;
AUTO_WR_ADDTBL=0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To request a current value use command: '''? AUTO_WR_ADDTBL'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
? AUTO_WR_ADDTBL&lt;br /&gt;
AUTO_WR_ADDTBL=0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Read and write ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''rXYYAABBCC''' ('''RXYYAABBCC''')&lt;br /&gt;
&lt;br /&gt;
Command for reading memory of transceiver.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
r1A000007F&lt;br /&gt;
Read 128 byte(s) Table 0xA0 from 0x00&lt;br /&gt;
&lt;br /&gt;
##    00  01  02  03  04  05  06  07  08  09  0A  0B  0C  0D  0E  0F&lt;br /&gt;
&lt;br /&gt;
00 :  03  04  07  20  00  00  00  00  00  00  00  06  67  00  0A  64&lt;br /&gt;
01 :  00  00  00  00  4F  45  4D  20  20  20  20  20  20  20  20  20&lt;br /&gt;
02 :  00  20  20  20  00  00  00  00  31  30  47  42  2D  53  46  50&lt;br /&gt;
03 :  2D  4C  52  2D  45  20  20  20  31  2E  30  20  05  1E  00  F9&lt;br /&gt;
04 :  00  1A  00  00  45  58  50  39  36  4C  30  31  31  20  20  20&lt;br /&gt;
05 :  20  20  20  20  31  31  30  38  30  39  20  20  68  F0  03  02&lt;br /&gt;
06 :  45  58  54  52  45  4D  45  20  4C  52  00  00  00  00  00  00&lt;br /&gt;
07 :  00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  00&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
R1A000007F  &lt;br /&gt;
03040720000000000000000667000A64000000004F454D202020202020202020&lt;br /&gt;
0020202000000000313047422D5346502D4C522D45202020312E3020051E00F9&lt;br /&gt;
001A000045585039364C30313120202020202020313130383039202068F00302&lt;br /&gt;
45585452454D45204C5200000000000000000000000000000000000000000000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''wXYYAABBCC''' ('''WXYYAABBCC''')&lt;br /&gt;
&lt;br /&gt;
Command for writing to the memory of transceiver.&lt;br /&gt;
&lt;br /&gt;
'''w''' &amp;amp;mdash; (1 byte) &amp;amp;mdash; Write command. Symbol register is responsible for the subsequent read after write. If you use uppercase (W) after the recording is complete programmer will make reading the memory area which has been overwritten. To  write without return a write result of lower case (w) must be used. &lt;br /&gt;
                &lt;br /&gt;
'''X'''  &amp;amp;mdash; (1 byte)  &amp;amp;mdash;   Transceiver type (1 - SFP, 2 - SFP+).&lt;br /&gt;
&lt;br /&gt;
'''YY''' &amp;amp;mdash; (2 bytes) &amp;amp;mdash;   The device address on the I2C bus.&lt;br /&gt;
&lt;br /&gt;
'''AA'''  &amp;amp;mdash; (2 bytes) &amp;amp;mdash;    Address of additional table.&lt;br /&gt;
&lt;br /&gt;
'''BB'''  &amp;amp;mdash; (2 bytes) &amp;amp;mdash;    Address table. Value in HEX. For example: A0 or A2.&lt;br /&gt;
&lt;br /&gt;
'''СС'''  &amp;amp;mdash; (2 bytes) &amp;amp;mdash;   Write byte count. Hexadecimal value reduced by one.  For example, for writing 128 bytes you should set this parameter in 7F (0x7F in HEX, 127 in decimal). &lt;br /&gt;
&lt;br /&gt;
'''{DATA}'''  &amp;amp;mdash; Write data in HEX, 2 characters for each byte of the parcel.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''' Examples '''&lt;br /&gt;
&lt;br /&gt;
Write code 128 bytes in Table A0 Upper address 00 for SFP transceiver:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
W1A000007F&lt;br /&gt;
03040720000000000000000667000A64000000004F454D202020202020202020&lt;br /&gt;
0020202000000000313047422D5346502D4C522D45202020312E3020051E00F9&lt;br /&gt;
001A000045585039364C30313120202020202020313130383039202068F00302&lt;br /&gt;
45585452454D45204C5200000000000000000000000000000000000000000000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Write password 0123 (HEX: 30h 31h 32h 33h) in Table A2 address 7B for SFP+ transceiver:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;w2A2007B0330313233&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Note: Write command should type without newline characters and spaces. Shifts are given for the convenience display of the material in the examples.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Brute-force mode ===&lt;br /&gt;
&lt;br /&gt;
Starting  from SW 1.2.3 firmware version has been added the function that allows searching for a password in brute mode without using the SFPTotal Wizard software. It  mean that programming board can check passwords by itself in wide range of values.&lt;br /&gt;
&lt;br /&gt;
''' How does it works? '''&lt;br /&gt;
&lt;br /&gt;
To check the password programmer should make few operations:&lt;br /&gt;
# Enter password in password area&lt;br /&gt;
# Write a check word to Vendor name area&lt;br /&gt;
# Read vendor name area&lt;br /&gt;
# Compare a check word with vendor name.&lt;br /&gt;
&lt;br /&gt;
The programmer goes through the password values sequentially within the specified range. By default, the programmer write a check word &amp;quot;SFPTOTAL&amp;quot; (8 bytes) in Table A0h with offset 14h.&lt;br /&gt;
Then it compares the data that was read after the control word was written. &lt;br /&gt;
&lt;br /&gt;
If the read data is the same as the control word, then it mean the record is successful. The programmer will stop the brute-force process and return the current password as a result of a successful search.&lt;br /&gt;
&lt;br /&gt;
We are developed this function for searching passwords to MSA compliant transceivers. Anyway, you should check the documentation and standards for your module before using brute-force mode.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''BFSET'''&lt;br /&gt;
&lt;br /&gt;
The command sets the password search parameters and starts the brute-force process.&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
BFSET A2 7B AAAAAAAA FFFFFFFF CCCCCCCC&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''A2''' - address of Table, where must be entered a password. For XFP and QSFP address should be set in A0.&lt;br /&gt;
&lt;br /&gt;
'''7B''' - offset for entering a password &lt;br /&gt;
&lt;br /&gt;
'''AAAAAAAA''' - start of range&lt;br /&gt;
&lt;br /&gt;
'''FFFFFFFF''' - end of range&lt;br /&gt;
&lt;br /&gt;
'''CCCCCCCC''' - value from where should be started brute-force process&lt;br /&gt;
&lt;br /&gt;
Recommended ranges for search:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
BFSET A2 7B 41414141 5A5A5A5A 41414141 # A-Z&lt;br /&gt;
&lt;br /&gt;
BFSET A2 7B 61616161 7A7A7A7A 61616161 # a-z&lt;br /&gt;
&lt;br /&gt;
BFSET A2 FC 30303030 39393939 30303030 # 0-9&lt;br /&gt;
&lt;br /&gt;
BFSET A2 7B 20202020 7A7A7A7A 20202020 # Symbols + Numeric + Literal&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''BFSTOP'''&lt;br /&gt;
Use command BFSTOP to stop brute-force process. You could continue from this point using command BFSTART.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''BFSTART'''&lt;br /&gt;
Use command BFSTART to continue brute-force progress from last point.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''? BFPASS'''&lt;br /&gt;
Use command '''? BFPASS''' to get know current password in brute-force progress.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''BFCWADR'''&lt;br /&gt;
Set device address of entering check word. Fo example, BFCWADR=A0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''BFCWOFT'''&lt;br /&gt;
Set offset parameter for entering check word. For default, BFCWOFT=14.&lt;br /&gt;
&lt;br /&gt;
Note: for XFP and QSFP transceivers use BFCWOFT=94.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''How to start brute-force for SFP+ transceiver?'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
BFCWADR=A0&lt;br /&gt;
BFCWOFT=14&lt;br /&gt;
BFSET A2 7B 20202020 7A7A7A7A 20202020&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''How to start brute-force for XFP transceiver?'''&lt;br /&gt;
&lt;br /&gt;
Set jumper on P20 contact on programming board.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
BFCWADR=A0&lt;br /&gt;
BFCWOFT=94&lt;br /&gt;
BFSET A0 7B 20202020 7A7A7A7A 20202020&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sfptotal</name></author>	</entry>

	<entry>
		<id>http://wiki.sfptotal.com/index.php?title=SFPTotal_Plus_X&amp;diff=812</id>
		<title>SFPTotal Plus X</title>
		<link rel="alternate" type="text/html" href="http://wiki.sfptotal.com/index.php?title=SFPTotal_Plus_X&amp;diff=812"/>
				<updated>2020-11-13T08:46:35Z</updated>
		
		<summary type="html">&lt;p&gt;Sfptotal: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''SFPTotal Plus X''' is a new revision of universal programming board SFPTotal Plus with improved support fiber optical transceivers. The coding board allows to reprogram SFP, SFP+, SFP28, XFP,  40G QSFP+, 100G QSFP28 and 200/400G QSFP-DD transceivers, DAC and AOC cables.&lt;br /&gt;
&lt;br /&gt;
For working with GBIC, XFP, and QSFP transceivers were added additional power supply plans, as well as control elements. The programmer connects to PC via USB interface through which performed control and power supply of transceiver. An external supply adapter is provided for work with high-powered transceivers with an overestimated power consumption (for example, transceivers for 40/80/120 km links).&lt;br /&gt;
&lt;br /&gt;
== Application ==&lt;br /&gt;
&lt;br /&gt;
Programmers SFPTotal are used to solve next tasks:&lt;br /&gt;
* Programming SFP/SFP+, XFP, QSFP, GBIC optical transceivers and twinaxial cables&lt;br /&gt;
* Providing of compatibility between network equipment of different manufacturers&lt;br /&gt;
* Reflashing memory of write-protected transceivers&lt;br /&gt;
* Changing settings of PHY controllers&lt;br /&gt;
* Branding for OEM transceivers&lt;br /&gt;
* Diagnosis transceiver by reading the DDM&lt;br /&gt;
* Accounting for optical transceivers&lt;br /&gt;
&lt;br /&gt;
== Quick start guide ==&lt;br /&gt;
&lt;br /&gt;
# Connect SFPTotal Plus board to your PC using micro USB Type B cable&lt;br /&gt;
# Install [http://wiki.sfptotal.com/index.php/Installing_drivers_for_SFPTotal_Plus%5CMini drivers for SFPTotal Device]&lt;br /&gt;
# Download application [[SFPTotal Wizard]] &lt;br /&gt;
# Start SFPTotal Wizard&lt;br /&gt;
# Insert transceiver to the programmer port&lt;br /&gt;
# [[Reading transceiver's memory]]&lt;br /&gt;
&lt;br /&gt;
== Listing of elements ==&lt;br /&gt;
&lt;br /&gt;
Listing of elements placed on circuit board of SFPTotal Plus programmer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''1. Transceiver ports'''&lt;br /&gt;
&lt;br /&gt;
'''P2''' - SFP, SFP+ port&lt;br /&gt;
&lt;br /&gt;
'''P11''' - QSFP, QSFP+, QSFP28 port&lt;br /&gt;
&lt;br /&gt;
'''P9''' - XFP port&lt;br /&gt;
&lt;br /&gt;
'''P7''' - GBIC port&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''2. Power supply plans'''&lt;br /&gt;
&lt;br /&gt;
'''P1''' - power supply of SFP port, a pair of 3.3 V for VccT and VccR pins.&lt;br /&gt;
&lt;br /&gt;
'''P17, P16, P15''' - power supply of QSFP port,  3.3 V for Vcc1, VccTx and VccRx pins.&lt;br /&gt;
&lt;br /&gt;
'''P12, P14, P13, P10''' - power supply of XFP port: 3.3V, -5V, 5V and 1.8 power supply plans.&lt;br /&gt;
&lt;br /&gt;
'''P8''' - power supply of GBIC port, switch between 3.3V or 5V. For default, closed in 3V3 position.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''3. Jumpers'''&lt;br /&gt;
&lt;br /&gt;
'''P3''' - low power mode, keep closed to disable low power mode (TX enable).&lt;br /&gt;
&lt;br /&gt;
'''P4''' - RS1 (position 1-2) and RS0 (position 3-4) pins.&lt;br /&gt;
&lt;br /&gt;
'''P18''' - QSFP ModSelL&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;The ModSelL is an input pin. When held low by the host, the module responds to 2-wire serial communication commands. The ModSelL allows the use of multiple QSFP modules on a single 2-wire interface bus. When the ModSelL is “High”, the module shall not respond to or acknowledge any 2-wire interface communication from the host. ModSelL signal input node must be biased to the “High” state in the module.&lt;br /&gt;
&lt;br /&gt;
INF-8438&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notice: The programmer automatically switches the contact to &amp;quot;Low&amp;quot; level when performing read and write operations on the data bus.&lt;br /&gt;
&lt;br /&gt;
'''P19''' - QSFP ResetL&lt;br /&gt;
&lt;br /&gt;
'''P20''' - XFP ModDeSel&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
The Mod_DeSel is an input pin. When held Low by the host, the module responds to 2-wire serial communication commands. The Mod_DeSel allows the use of multiple XFP modules on a single 2-wire interface bus.&lt;br /&gt;
When the Mod_DeSel pin is “High”, the module shall not respond to or acknowledge any 2-wire interface communication from the host. Mod_DeSel pin must be pulled to VCC3 in the module.&lt;br /&gt;
&lt;br /&gt;
INF-8077i&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notice: The programmer automatically switches the contact to &amp;quot;Low&amp;quot; level when performing read and write operations on the data bus.&lt;br /&gt;
&lt;br /&gt;
'''P21''' - XFP PDOWN/RESET&lt;br /&gt;
&amp;lt;pre&amp;gt;This is a multifunction pin for module Power Down and Reset. The P_Down/RST pin must be pulled up to VCC3 in the XFP module.&lt;br /&gt;
&lt;br /&gt;
INF-8077i&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''4. Interfaces'''&lt;br /&gt;
&lt;br /&gt;
'''P5''' - USB interface for connection to PC&lt;br /&gt;
&lt;br /&gt;
'''P22''' - I&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;C databus, logic level 5V&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''5. LED indicators '''&lt;br /&gt;
&lt;br /&gt;
'''POWER''' - should statically light when board connected to USB or to external supply adapter.&lt;br /&gt;
&lt;br /&gt;
'''MCU''' - indication of power supply for microcontroller.&lt;br /&gt;
&lt;br /&gt;
'''ERROR''' - should glow when unhandled errors occur on the data bus, for example: connection more than 1 transceiver.&lt;br /&gt;
&lt;br /&gt;
'''STATUS''' - should blinking when transceiver is not connected and statically light when transceiver is connected.&lt;br /&gt;
&lt;br /&gt;
== Management interface ==&lt;br /&gt;
&lt;br /&gt;
The device provides access to management interface (CLI) by connecting through a virtual serial port.&lt;br /&gt;
You can use the programming board without [[SFPTotal Wizard]] software to get more features or to realize the opportunities that are not available in the standard software. Use this document to get information about commands which supported by SFPTotal Plus.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Serial port settings ===&lt;br /&gt;
&lt;br /&gt;
[[File:serial_port_settings.jpg|250px|right|Serial port settings]]&lt;br /&gt;
&lt;br /&gt;
You can access the command line interface of the programmer not only with the SFPTotal Wizard, but also with the help of utilities for working with the serial port. For example,  [http://www.putty.org/ Putty].&lt;br /&gt;
&lt;br /&gt;
The boards are support a flexible baud rate, but we recommend use value 115200.&lt;br /&gt;
&lt;br /&gt;
:: '''Default settings'''&lt;br /&gt;
&lt;br /&gt;
:: Baud rate: 115200&lt;br /&gt;
&lt;br /&gt;
:: Data bits: 8&lt;br /&gt;
&lt;br /&gt;
:: Parity: None&lt;br /&gt;
&lt;br /&gt;
:: Stop bits: 1&lt;br /&gt;
&lt;br /&gt;
:: Flow control: None&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Configuration commands ===&lt;br /&gt;
&lt;br /&gt;
;'''CLI'''&lt;br /&gt;
&lt;br /&gt;
After reset the programmer does not display in the interface characters entered from the keyboard.&lt;br /&gt;
The command switches the echo output of command line. Default, CLI=0.&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
? CLI&lt;br /&gt;
CLI=0&lt;br /&gt;
&lt;br /&gt;
CLI=1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set CLI=1 to turn on echo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;'''STATUS'''&lt;br /&gt;
&lt;br /&gt;
Commend returns current state GPIO for each port.&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
STATUS&lt;br /&gt;
[GBIC]: MOD_ABS=1; TX_FAULT=1; RX_LOS=1; TX_DIS=1&lt;br /&gt;
[SFP]:  MOD_ABS=1; TX_FAULT=1; RX_LOS=1; TX_DIS=1&lt;br /&gt;
[XFP]:  MOD_ABS=1; RX_LOS=1; INTERRUPT=1; MOD_SEL=1; P_DOWN/RESET=1;&lt;br /&gt;
[QSFP]: MOD_ABS=1; INTL=1; MOD_SEL=1; RESETL=1;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''TX_DIS'''&lt;br /&gt;
&lt;br /&gt;
Command allows to disable power supply of transmitter for switching to low power mode (LPMODE). To activate the LPMODE, it is necessary to transfer command TX_DIS setting the flag value of 1.&lt;br /&gt;
&lt;br /&gt;
To disable the mode, you must set the flag equal to 0. The current state can be requested with STATUS command.&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
TX_DIS=1&lt;br /&gt;
&lt;br /&gt;
STATUS&lt;br /&gt;
MOD_ABS=0; TX_FAULT=1; RX_LOS=0; TX_DIS=1&lt;br /&gt;
&lt;br /&gt;
TX_DIS=0&lt;br /&gt;
STATUS&lt;br /&gt;
MOD_ABS=0; TX_FAULT=1; RX_LOS=0; TX_DIS=0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Low power mode is activated for default.&lt;br /&gt;
On the PCB of SFPTotal boards are placed contacts LP_MODE, which allows to switch low power mode in manual mode.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;'''VERSION'''&lt;br /&gt;
&lt;br /&gt;
Command returns information about device: hardware revision, software version and unique serial number of the device.&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
VERSION&lt;br /&gt;
SFPTotal Plus (c) 2015-2016&lt;br /&gt;
HW: 1.1&lt;br /&gt;
SW: 1.0.5&lt;br /&gt;
SN: SFPT-P1116021001&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''I2CRATE'''&lt;br /&gt;
&lt;br /&gt;
Note: Supported only on the SW versions 1.1.0 or above&lt;br /&gt;
&lt;br /&gt;
This command sets the speed of I2C data bus.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
I2CRATE=12 # Set up speed rate 100 kHz&lt;br /&gt;
I2CRATE=40 # Set up speed 30 kHz&lt;br /&gt;
I2CRATE=C6 # Set up speed 10 kHz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To request a current speed use command: '''? I2CRATE'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
? I2CRATE&lt;br /&gt;
I2CRATE=C6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''I2CPAUSE'''&lt;br /&gt;
&lt;br /&gt;
Note: Supported only on the SW versions 1.2.2 or above&lt;br /&gt;
&lt;br /&gt;
This command sets the interval between operation of I2C data bus.&lt;br /&gt;
Value equal to milliseconds in Hex format.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
I2CPAUSE=20 # Set interval 32ms&lt;br /&gt;
I2CPAUSE=32 # Set interval 50ms (for default)&lt;br /&gt;
I2CPAUSE=64 # Set interval 100ms&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To request a current interval use command: '''? I2CPAUSE'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
? I2CPAUSE&lt;br /&gt;
I2CPAUSE=32&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;'''BPS'''&lt;br /&gt;
&lt;br /&gt;
The command set number bytes in block of write. Default, BPS=08&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
? BPS&lt;br /&gt;
BPS=08&lt;br /&gt;
&lt;br /&gt;
BPS=01 # Set block size in 1 byte&lt;br /&gt;
BPS=08 # Set block size in 8 bytes (default)&lt;br /&gt;
BPS=FF # Set block size in 255 bytes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
By default, the recording is performed by blocks of 8 bytes. For the programming of some transceivers with protection, it may be necessary to change the block size, for example, writing by each byte (BPS=01) or writing the entire block as a whole (BPS=FF).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''AUTO_WR_ADDTBL'''&lt;br /&gt;
&lt;br /&gt;
Note: Supported only on the SW versions 1.1.0 or above&lt;br /&gt;
&lt;br /&gt;
If the flag is set, the programmer will automatically change the address of the additional tables before performing reading and writing operations.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
AUTO_WR_ADDTBL=1&lt;br /&gt;
 &lt;br /&gt;
AUTO_WR_ADDTBL=0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To request a current value use command: '''? AUTO_WR_ADDTBL'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
? AUTO_WR_ADDTBL&lt;br /&gt;
AUTO_WR_ADDTBL=0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Read and write ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''rXYYAABBCC''' ('''RXYYAABBCC''')&lt;br /&gt;
&lt;br /&gt;
Command for reading memory of transceiver.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
r1A000007F&lt;br /&gt;
Read 128 byte(s) Table 0xA0 from 0x00&lt;br /&gt;
&lt;br /&gt;
##    00  01  02  03  04  05  06  07  08  09  0A  0B  0C  0D  0E  0F&lt;br /&gt;
&lt;br /&gt;
00 :  03  04  07  20  00  00  00  00  00  00  00  06  67  00  0A  64&lt;br /&gt;
01 :  00  00  00  00  4F  45  4D  20  20  20  20  20  20  20  20  20&lt;br /&gt;
02 :  00  20  20  20  00  00  00  00  31  30  47  42  2D  53  46  50&lt;br /&gt;
03 :  2D  4C  52  2D  45  20  20  20  31  2E  30  20  05  1E  00  F9&lt;br /&gt;
04 :  00  1A  00  00  45  58  50  39  36  4C  30  31  31  20  20  20&lt;br /&gt;
05 :  20  20  20  20  31  31  30  38  30  39  20  20  68  F0  03  02&lt;br /&gt;
06 :  45  58  54  52  45  4D  45  20  4C  52  00  00  00  00  00  00&lt;br /&gt;
07 :  00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  00&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
R1A000007F  &lt;br /&gt;
03040720000000000000000667000A64000000004F454D202020202020202020&lt;br /&gt;
0020202000000000313047422D5346502D4C522D45202020312E3020051E00F9&lt;br /&gt;
001A000045585039364C30313120202020202020313130383039202068F00302&lt;br /&gt;
45585452454D45204C5200000000000000000000000000000000000000000000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''wXYYAABBCC''' ('''WXYYAABBCC''')&lt;br /&gt;
&lt;br /&gt;
Command for writing to the memory of transceiver.&lt;br /&gt;
&lt;br /&gt;
'''w''' &amp;amp;mdash; (1 byte) &amp;amp;mdash; Write command. Symbol register is responsible for the subsequent read after write. If you use uppercase (W) after the recording is complete programmer will make reading the memory area which has been overwritten. To  write without return a write result of lower case (w) must be used. &lt;br /&gt;
                &lt;br /&gt;
'''X'''  &amp;amp;mdash; (1 byte)  &amp;amp;mdash;   Transceiver type (1 - SFP, 2 - SFP+).&lt;br /&gt;
&lt;br /&gt;
'''YY''' &amp;amp;mdash; (2 bytes) &amp;amp;mdash;   The device address on the I2C bus.&lt;br /&gt;
&lt;br /&gt;
'''AA'''  &amp;amp;mdash; (2 bytes) &amp;amp;mdash;    Address of additional table.&lt;br /&gt;
&lt;br /&gt;
'''BB'''  &amp;amp;mdash; (2 bytes) &amp;amp;mdash;    Address table. Value in HEX. For example: A0 or A2.&lt;br /&gt;
&lt;br /&gt;
'''СС'''  &amp;amp;mdash; (2 bytes) &amp;amp;mdash;   Write byte count. Hexadecimal value reduced by one.  For example, for writing 128 bytes you should set this parameter in 7F (0x7F in HEX, 127 in decimal). &lt;br /&gt;
&lt;br /&gt;
'''{DATA}'''  &amp;amp;mdash; Write data in HEX, 2 characters for each byte of the parcel.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''' Examples '''&lt;br /&gt;
&lt;br /&gt;
Write code 128 bytes in Table A0 Upper address 00 for SFP transceiver:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
W1A000007F&lt;br /&gt;
03040720000000000000000667000A64000000004F454D202020202020202020&lt;br /&gt;
0020202000000000313047422D5346502D4C522D45202020312E3020051E00F9&lt;br /&gt;
001A000045585039364C30313120202020202020313130383039202068F00302&lt;br /&gt;
45585452454D45204C5200000000000000000000000000000000000000000000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Write password 0123 (HEX: 30h 31h 32h 33h) in Table A2 address 7B for SFP+ transceiver:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;w2A2007B0330313233&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Note: Write command should type without newline characters and spaces. Shifts are given for the convenience display of the material in the examples.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Brute-force mode ===&lt;br /&gt;
&lt;br /&gt;
Starting  from SW 1.2.3 firmware version has been added the function that allows searching for a password in brute mode without using the SFPTotal Wizard software. It  mean that programming board can check passwords by itself in wide range of values.&lt;br /&gt;
&lt;br /&gt;
''' How does it works? '''&lt;br /&gt;
&lt;br /&gt;
To check the password programmer should make few operations:&lt;br /&gt;
# Enter password in password area&lt;br /&gt;
# Write a check word to Vendor name area&lt;br /&gt;
# Read vendor name area&lt;br /&gt;
# Compare a check word with vendor name.&lt;br /&gt;
&lt;br /&gt;
The programmer goes through the password values sequentially within the specified range. By default, the programmer write a check word &amp;quot;SFPTOTAL&amp;quot; (8 bytes) in Table A0h with offset 14h.&lt;br /&gt;
Then it compares the data that was read after the control word was written. &lt;br /&gt;
&lt;br /&gt;
If the read data is the same as the control word, then it mean the record is successful. The programmer will stop the brute-force process and return the current password as a result of a successful search.&lt;br /&gt;
&lt;br /&gt;
We are developed this function for searching passwords to MSA compliant transceivers. Anyway, you should check the documentation and standards for your module before using brute-force mode.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''BFSET'''&lt;br /&gt;
&lt;br /&gt;
The command sets the password search parameters and starts the brute-force process.&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
BFSET A2 7B AAAAAAAA FFFFFFFF CCCCCCCC&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''A2''' - address of Table, where must be entered a password. For XFP and QSFP address should be set in A0.&lt;br /&gt;
&lt;br /&gt;
'''7B''' - offset for entering a password &lt;br /&gt;
&lt;br /&gt;
'''AAAAAAAA''' - start of range&lt;br /&gt;
&lt;br /&gt;
'''FFFFFFFF''' - end of range&lt;br /&gt;
&lt;br /&gt;
'''CCCCCCCC''' - value from where should be started brute-force process&lt;br /&gt;
&lt;br /&gt;
Recommended ranges for search:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
BFSET A2 7B 41414141 5A5A5A5A 41414141 # A-Z&lt;br /&gt;
&lt;br /&gt;
BFSET A2 7B 61616161 7A7A7A7A 61616161 # a-z&lt;br /&gt;
&lt;br /&gt;
BFSET A2 FC 30303030 39393939 30303030 # 0-9&lt;br /&gt;
&lt;br /&gt;
BFSET A2 7B 20202020 7A7A7A7A 20202020 # Symbols + Numeric + Literal&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''BFSTOP'''&lt;br /&gt;
Use command BFSTOP to stop brute-force process. You could continue from this point using command BFSTART.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''BFSTART'''&lt;br /&gt;
Use command BFSTART to continue brute-force progress from last point.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''? BFPASS'''&lt;br /&gt;
Use command '''? BFPASS''' to get know current password in brute-force progress.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''BFCWADR'''&lt;br /&gt;
Set device address of entering check word. Fo example, BFCWADR=A0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''BFCWOFT'''&lt;br /&gt;
Set offset parameter for entering check word. For default, BFCWOFT=14.&lt;br /&gt;
&lt;br /&gt;
Note: for XFP and QSFP transceivers use BFCWOFT=94.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''How to start brute-force for SFP+ transceiver?'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
BFCWADR=A0&lt;br /&gt;
BFCWOFT=14&lt;br /&gt;
BFSET A2 7B 20202020 7A7A7A7A 20202020&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''How to start brute-force for XFP transceiver?'''&lt;br /&gt;
&lt;br /&gt;
Set jumper on P20 contact on programming board.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
BFCWADR=A0&lt;br /&gt;
BFCWOFT=94&lt;br /&gt;
BFSET A0 7B 20202020 7A7A7A7A 20202020&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sfptotal</name></author>	</entry>

	<entry>
		<id>http://wiki.sfptotal.com/index.php?title=SFPTotal_Plus_X&amp;diff=811</id>
		<title>SFPTotal Plus X</title>
		<link rel="alternate" type="text/html" href="http://wiki.sfptotal.com/index.php?title=SFPTotal_Plus_X&amp;diff=811"/>
				<updated>2020-11-13T08:45:19Z</updated>
		
		<summary type="html">&lt;p&gt;Sfptotal: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''SFPTotal Plus X''' is a new revision of universal programming board SFPTotal Plus with improved support fiber optical transceiver. The coding board allows to reprogram SFP, SFP+, SFP28, XFP, QSFP+ and QSFP28 transceivers and DAC or AOC cables. &lt;br /&gt;
&lt;br /&gt;
For working with GBIC, XFP, and QSFP transceivers were added additional power supply plans, as well as control elements. The programmer connects to PC via USB interface through which performed control and power supply of transceiver. An external supply adapter is provided for work with high-powered transceivers with an overestimated power consumption (for example, transceivers for 40/80/120 km links).&lt;br /&gt;
&lt;br /&gt;
== Application ==&lt;br /&gt;
&lt;br /&gt;
Programmers SFPTotal are used to solve next tasks:&lt;br /&gt;
* Programming SFP/SFP+, XFP, QSFP, GBIC optical transceivers and twinaxial cables&lt;br /&gt;
* Providing of compatibility between network equipment of different manufacturers&lt;br /&gt;
* Reflashing memory of write-protected transceivers&lt;br /&gt;
* Changing settings of PHY controllers&lt;br /&gt;
* Branding for OEM transceivers&lt;br /&gt;
* Diagnosis transceiver by reading the DDM&lt;br /&gt;
* Accounting for optical transceivers&lt;br /&gt;
&lt;br /&gt;
== Quick start guide ==&lt;br /&gt;
&lt;br /&gt;
# Connect SFPTotal Plus board to your PC using micro USB Type B cable&lt;br /&gt;
# Install [http://wiki.sfptotal.com/index.php/Installing_drivers_for_SFPTotal_Plus%5CMini drivers for SFPTotal Device]&lt;br /&gt;
# Download application [[SFPTotal Wizard]] &lt;br /&gt;
# Start SFPTotal Wizard&lt;br /&gt;
# Insert transceiver to the programmer port&lt;br /&gt;
# [[Reading transceiver's memory]]&lt;br /&gt;
&lt;br /&gt;
== Listing of elements ==&lt;br /&gt;
&lt;br /&gt;
Listing of elements placed on circuit board of SFPTotal Plus programmer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''1. Transceiver ports'''&lt;br /&gt;
&lt;br /&gt;
'''P2''' - SFP, SFP+ port&lt;br /&gt;
&lt;br /&gt;
'''P11''' - QSFP, QSFP+, QSFP28 port&lt;br /&gt;
&lt;br /&gt;
'''P9''' - XFP port&lt;br /&gt;
&lt;br /&gt;
'''P7''' - GBIC port&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''2. Power supply plans'''&lt;br /&gt;
&lt;br /&gt;
'''P1''' - power supply of SFP port, a pair of 3.3 V for VccT and VccR pins.&lt;br /&gt;
&lt;br /&gt;
'''P17, P16, P15''' - power supply of QSFP port,  3.3 V for Vcc1, VccTx and VccRx pins.&lt;br /&gt;
&lt;br /&gt;
'''P12, P14, P13, P10''' - power supply of XFP port: 3.3V, -5V, 5V and 1.8 power supply plans.&lt;br /&gt;
&lt;br /&gt;
'''P8''' - power supply of GBIC port, switch between 3.3V or 5V. For default, closed in 3V3 position.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''3. Jumpers'''&lt;br /&gt;
&lt;br /&gt;
'''P3''' - low power mode, keep closed to disable low power mode (TX enable).&lt;br /&gt;
&lt;br /&gt;
'''P4''' - RS1 (position 1-2) and RS0 (position 3-4) pins.&lt;br /&gt;
&lt;br /&gt;
'''P18''' - QSFP ModSelL&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;The ModSelL is an input pin. When held low by the host, the module responds to 2-wire serial communication commands. The ModSelL allows the use of multiple QSFP modules on a single 2-wire interface bus. When the ModSelL is “High”, the module shall not respond to or acknowledge any 2-wire interface communication from the host. ModSelL signal input node must be biased to the “High” state in the module.&lt;br /&gt;
&lt;br /&gt;
INF-8438&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notice: The programmer automatically switches the contact to &amp;quot;Low&amp;quot; level when performing read and write operations on the data bus.&lt;br /&gt;
&lt;br /&gt;
'''P19''' - QSFP ResetL&lt;br /&gt;
&lt;br /&gt;
'''P20''' - XFP ModDeSel&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
The Mod_DeSel is an input pin. When held Low by the host, the module responds to 2-wire serial communication commands. The Mod_DeSel allows the use of multiple XFP modules on a single 2-wire interface bus.&lt;br /&gt;
When the Mod_DeSel pin is “High”, the module shall not respond to or acknowledge any 2-wire interface communication from the host. Mod_DeSel pin must be pulled to VCC3 in the module.&lt;br /&gt;
&lt;br /&gt;
INF-8077i&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notice: The programmer automatically switches the contact to &amp;quot;Low&amp;quot; level when performing read and write operations on the data bus.&lt;br /&gt;
&lt;br /&gt;
'''P21''' - XFP PDOWN/RESET&lt;br /&gt;
&amp;lt;pre&amp;gt;This is a multifunction pin for module Power Down and Reset. The P_Down/RST pin must be pulled up to VCC3 in the XFP module.&lt;br /&gt;
&lt;br /&gt;
INF-8077i&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''4. Interfaces'''&lt;br /&gt;
&lt;br /&gt;
'''P5''' - USB interface for connection to PC&lt;br /&gt;
&lt;br /&gt;
'''P22''' - I&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;C databus, logic level 5V&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''5. LED indicators '''&lt;br /&gt;
&lt;br /&gt;
'''POWER''' - should statically light when board connected to USB or to external supply adapter.&lt;br /&gt;
&lt;br /&gt;
'''MCU''' - indication of power supply for microcontroller.&lt;br /&gt;
&lt;br /&gt;
'''ERROR''' - should glow when unhandled errors occur on the data bus, for example: connection more than 1 transceiver.&lt;br /&gt;
&lt;br /&gt;
'''STATUS''' - should blinking when transceiver is not connected and statically light when transceiver is connected.&lt;br /&gt;
&lt;br /&gt;
== Management interface ==&lt;br /&gt;
&lt;br /&gt;
The device provides access to management interface (CLI) by connecting through a virtual serial port.&lt;br /&gt;
You can use the programming board without [[SFPTotal Wizard]] software to get more features or to realize the opportunities that are not available in the standard software. Use this document to get information about commands which supported by SFPTotal Plus.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Serial port settings ===&lt;br /&gt;
&lt;br /&gt;
[[File:serial_port_settings.jpg|250px|right|Serial port settings]]&lt;br /&gt;
&lt;br /&gt;
You can access the command line interface of the programmer not only with the SFPTotal Wizard, but also with the help of utilities for working with the serial port. For example,  [http://www.putty.org/ Putty].&lt;br /&gt;
&lt;br /&gt;
The boards are support a flexible baud rate, but we recommend use value 115200.&lt;br /&gt;
&lt;br /&gt;
:: '''Default settings'''&lt;br /&gt;
&lt;br /&gt;
:: Baud rate: 115200&lt;br /&gt;
&lt;br /&gt;
:: Data bits: 8&lt;br /&gt;
&lt;br /&gt;
:: Parity: None&lt;br /&gt;
&lt;br /&gt;
:: Stop bits: 1&lt;br /&gt;
&lt;br /&gt;
:: Flow control: None&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Configuration commands ===&lt;br /&gt;
&lt;br /&gt;
;'''CLI'''&lt;br /&gt;
&lt;br /&gt;
After reset the programmer does not display in the interface characters entered from the keyboard.&lt;br /&gt;
The command switches the echo output of command line. Default, CLI=0.&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
? CLI&lt;br /&gt;
CLI=0&lt;br /&gt;
&lt;br /&gt;
CLI=1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set CLI=1 to turn on echo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;'''STATUS'''&lt;br /&gt;
&lt;br /&gt;
Commend returns current state GPIO for each port.&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
STATUS&lt;br /&gt;
[GBIC]: MOD_ABS=1; TX_FAULT=1; RX_LOS=1; TX_DIS=1&lt;br /&gt;
[SFP]:  MOD_ABS=1; TX_FAULT=1; RX_LOS=1; TX_DIS=1&lt;br /&gt;
[XFP]:  MOD_ABS=1; RX_LOS=1; INTERRUPT=1; MOD_SEL=1; P_DOWN/RESET=1;&lt;br /&gt;
[QSFP]: MOD_ABS=1; INTL=1; MOD_SEL=1; RESETL=1;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''TX_DIS'''&lt;br /&gt;
&lt;br /&gt;
Command allows to disable power supply of transmitter for switching to low power mode (LPMODE). To activate the LPMODE, it is necessary to transfer command TX_DIS setting the flag value of 1.&lt;br /&gt;
&lt;br /&gt;
To disable the mode, you must set the flag equal to 0. The current state can be requested with STATUS command.&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
TX_DIS=1&lt;br /&gt;
&lt;br /&gt;
STATUS&lt;br /&gt;
MOD_ABS=0; TX_FAULT=1; RX_LOS=0; TX_DIS=1&lt;br /&gt;
&lt;br /&gt;
TX_DIS=0&lt;br /&gt;
STATUS&lt;br /&gt;
MOD_ABS=0; TX_FAULT=1; RX_LOS=0; TX_DIS=0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Low power mode is activated for default.&lt;br /&gt;
On the PCB of SFPTotal boards are placed contacts LP_MODE, which allows to switch low power mode in manual mode.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;'''VERSION'''&lt;br /&gt;
&lt;br /&gt;
Command returns information about device: hardware revision, software version and unique serial number of the device.&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
VERSION&lt;br /&gt;
SFPTotal Plus (c) 2015-2016&lt;br /&gt;
HW: 1.1&lt;br /&gt;
SW: 1.0.5&lt;br /&gt;
SN: SFPT-P1116021001&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''I2CRATE'''&lt;br /&gt;
&lt;br /&gt;
Note: Supported only on the SW versions 1.1.0 or above&lt;br /&gt;
&lt;br /&gt;
This command sets the speed of I2C data bus.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
I2CRATE=12 # Set up speed rate 100 kHz&lt;br /&gt;
I2CRATE=40 # Set up speed 30 kHz&lt;br /&gt;
I2CRATE=C6 # Set up speed 10 kHz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To request a current speed use command: '''? I2CRATE'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
? I2CRATE&lt;br /&gt;
I2CRATE=C6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''I2CPAUSE'''&lt;br /&gt;
&lt;br /&gt;
Note: Supported only on the SW versions 1.2.2 or above&lt;br /&gt;
&lt;br /&gt;
This command sets the interval between operation of I2C data bus.&lt;br /&gt;
Value equal to milliseconds in Hex format.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
I2CPAUSE=20 # Set interval 32ms&lt;br /&gt;
I2CPAUSE=32 # Set interval 50ms (for default)&lt;br /&gt;
I2CPAUSE=64 # Set interval 100ms&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To request a current interval use command: '''? I2CPAUSE'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
? I2CPAUSE&lt;br /&gt;
I2CPAUSE=32&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;'''BPS'''&lt;br /&gt;
&lt;br /&gt;
The command set number bytes in block of write. Default, BPS=08&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
? BPS&lt;br /&gt;
BPS=08&lt;br /&gt;
&lt;br /&gt;
BPS=01 # Set block size in 1 byte&lt;br /&gt;
BPS=08 # Set block size in 8 bytes (default)&lt;br /&gt;
BPS=FF # Set block size in 255 bytes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
By default, the recording is performed by blocks of 8 bytes. For the programming of some transceivers with protection, it may be necessary to change the block size, for example, writing by each byte (BPS=01) or writing the entire block as a whole (BPS=FF).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''AUTO_WR_ADDTBL'''&lt;br /&gt;
&lt;br /&gt;
Note: Supported only on the SW versions 1.1.0 or above&lt;br /&gt;
&lt;br /&gt;
If the flag is set, the programmer will automatically change the address of the additional tables before performing reading and writing operations.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
AUTO_WR_ADDTBL=1&lt;br /&gt;
 &lt;br /&gt;
AUTO_WR_ADDTBL=0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To request a current value use command: '''? AUTO_WR_ADDTBL'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
? AUTO_WR_ADDTBL&lt;br /&gt;
AUTO_WR_ADDTBL=0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Read and write ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''rXYYAABBCC''' ('''RXYYAABBCC''')&lt;br /&gt;
&lt;br /&gt;
Command for reading memory of transceiver.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
r1A000007F&lt;br /&gt;
Read 128 byte(s) Table 0xA0 from 0x00&lt;br /&gt;
&lt;br /&gt;
##    00  01  02  03  04  05  06  07  08  09  0A  0B  0C  0D  0E  0F&lt;br /&gt;
&lt;br /&gt;
00 :  03  04  07  20  00  00  00  00  00  00  00  06  67  00  0A  64&lt;br /&gt;
01 :  00  00  00  00  4F  45  4D  20  20  20  20  20  20  20  20  20&lt;br /&gt;
02 :  00  20  20  20  00  00  00  00  31  30  47  42  2D  53  46  50&lt;br /&gt;
03 :  2D  4C  52  2D  45  20  20  20  31  2E  30  20  05  1E  00  F9&lt;br /&gt;
04 :  00  1A  00  00  45  58  50  39  36  4C  30  31  31  20  20  20&lt;br /&gt;
05 :  20  20  20  20  31  31  30  38  30  39  20  20  68  F0  03  02&lt;br /&gt;
06 :  45  58  54  52  45  4D  45  20  4C  52  00  00  00  00  00  00&lt;br /&gt;
07 :  00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  00&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
R1A000007F  &lt;br /&gt;
03040720000000000000000667000A64000000004F454D202020202020202020&lt;br /&gt;
0020202000000000313047422D5346502D4C522D45202020312E3020051E00F9&lt;br /&gt;
001A000045585039364C30313120202020202020313130383039202068F00302&lt;br /&gt;
45585452454D45204C5200000000000000000000000000000000000000000000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''wXYYAABBCC''' ('''WXYYAABBCC''')&lt;br /&gt;
&lt;br /&gt;
Command for writing to the memory of transceiver.&lt;br /&gt;
&lt;br /&gt;
'''w''' &amp;amp;mdash; (1 byte) &amp;amp;mdash; Write command. Symbol register is responsible for the subsequent read after write. If you use uppercase (W) after the recording is complete programmer will make reading the memory area which has been overwritten. To  write without return a write result of lower case (w) must be used. &lt;br /&gt;
                &lt;br /&gt;
'''X'''  &amp;amp;mdash; (1 byte)  &amp;amp;mdash;   Transceiver type (1 - SFP, 2 - SFP+).&lt;br /&gt;
&lt;br /&gt;
'''YY''' &amp;amp;mdash; (2 bytes) &amp;amp;mdash;   The device address on the I2C bus.&lt;br /&gt;
&lt;br /&gt;
'''AA'''  &amp;amp;mdash; (2 bytes) &amp;amp;mdash;    Address of additional table.&lt;br /&gt;
&lt;br /&gt;
'''BB'''  &amp;amp;mdash; (2 bytes) &amp;amp;mdash;    Address table. Value in HEX. For example: A0 or A2.&lt;br /&gt;
&lt;br /&gt;
'''СС'''  &amp;amp;mdash; (2 bytes) &amp;amp;mdash;   Write byte count. Hexadecimal value reduced by one.  For example, for writing 128 bytes you should set this parameter in 7F (0x7F in HEX, 127 in decimal). &lt;br /&gt;
&lt;br /&gt;
'''{DATA}'''  &amp;amp;mdash; Write data in HEX, 2 characters for each byte of the parcel.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''' Examples '''&lt;br /&gt;
&lt;br /&gt;
Write code 128 bytes in Table A0 Upper address 00 for SFP transceiver:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
W1A000007F&lt;br /&gt;
03040720000000000000000667000A64000000004F454D202020202020202020&lt;br /&gt;
0020202000000000313047422D5346502D4C522D45202020312E3020051E00F9&lt;br /&gt;
001A000045585039364C30313120202020202020313130383039202068F00302&lt;br /&gt;
45585452454D45204C5200000000000000000000000000000000000000000000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Write password 0123 (HEX: 30h 31h 32h 33h) in Table A2 address 7B for SFP+ transceiver:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;w2A2007B0330313233&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Note: Write command should type without newline characters and spaces. Shifts are given for the convenience display of the material in the examples.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Brute-force mode ===&lt;br /&gt;
&lt;br /&gt;
Starting  from SW 1.2.3 firmware version has been added the function that allows searching for a password in brute mode without using the SFPTotal Wizard software. It  mean that programming board can check passwords by itself in wide range of values.&lt;br /&gt;
&lt;br /&gt;
''' How does it works? '''&lt;br /&gt;
&lt;br /&gt;
To check the password programmer should make few operations:&lt;br /&gt;
# Enter password in password area&lt;br /&gt;
# Write a check word to Vendor name area&lt;br /&gt;
# Read vendor name area&lt;br /&gt;
# Compare a check word with vendor name.&lt;br /&gt;
&lt;br /&gt;
The programmer goes through the password values sequentially within the specified range. By default, the programmer write a check word &amp;quot;SFPTOTAL&amp;quot; (8 bytes) in Table A0h with offset 14h.&lt;br /&gt;
Then it compares the data that was read after the control word was written. &lt;br /&gt;
&lt;br /&gt;
If the read data is the same as the control word, then it mean the record is successful. The programmer will stop the brute-force process and return the current password as a result of a successful search.&lt;br /&gt;
&lt;br /&gt;
We are developed this function for searching passwords to MSA compliant transceivers. Anyway, you should check the documentation and standards for your module before using brute-force mode.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''BFSET'''&lt;br /&gt;
&lt;br /&gt;
The command sets the password search parameters and starts the brute-force process.&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
BFSET A2 7B AAAAAAAA FFFFFFFF CCCCCCCC&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''A2''' - address of Table, where must be entered a password. For XFP and QSFP address should be set in A0.&lt;br /&gt;
&lt;br /&gt;
'''7B''' - offset for entering a password &lt;br /&gt;
&lt;br /&gt;
'''AAAAAAAA''' - start of range&lt;br /&gt;
&lt;br /&gt;
'''FFFFFFFF''' - end of range&lt;br /&gt;
&lt;br /&gt;
'''CCCCCCCC''' - value from where should be started brute-force process&lt;br /&gt;
&lt;br /&gt;
Recommended ranges for search:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:#222;&amp;quot;&amp;gt;&lt;br /&gt;
BFSET A2 7B 41414141 5A5A5A5A 41414141 # A-Z&lt;br /&gt;
&lt;br /&gt;
BFSET A2 7B 61616161 7A7A7A7A 61616161 # a-z&lt;br /&gt;
&lt;br /&gt;
BFSET A2 FC 30303030 39393939 30303030 # 0-9&lt;br /&gt;
&lt;br /&gt;
BFSET A2 7B 20202020 7A7A7A7A 20202020 # Symbols + Numeric + Literal&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''BFSTOP'''&lt;br /&gt;
Use command BFSTOP to stop brute-force process. You could continue from this point using command BFSTART.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''BFSTART'''&lt;br /&gt;
Use command BFSTART to continue brute-force progress from last point.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''? BFPASS'''&lt;br /&gt;
Use command '''? BFPASS''' to get know current password in brute-force progress.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''BFCWADR'''&lt;br /&gt;
Set device address of entering check word. Fo example, BFCWADR=A0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; '''BFCWOFT'''&lt;br /&gt;
Set offset parameter for entering check word. For default, BFCWOFT=14.&lt;br /&gt;
&lt;br /&gt;
Note: for XFP and QSFP transceivers use BFCWOFT=94.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''How to start brute-force for SFP+ transceiver?'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
BFCWADR=A0&lt;br /&gt;
BFCWOFT=14&lt;br /&gt;
BFSET A2 7B 20202020 7A7A7A7A 20202020&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''How to start brute-force for XFP transceiver?'''&lt;br /&gt;
&lt;br /&gt;
Set jumper on P20 contact on programming board.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
BFCWADR=A0&lt;br /&gt;
BFCWOFT=94&lt;br /&gt;
BFSET A0 7B 20202020 7A7A7A7A 20202020&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sfptotal</name></author>	</entry>

	<entry>
		<id>http://wiki.sfptotal.com/index.php?title=SFPTotal_Plus_X&amp;diff=810</id>
		<title>SFPTotal Plus X</title>
		<link rel="alternate" type="text/html" href="http://wiki.sfptotal.com/index.php?title=SFPTotal_Plus_X&amp;diff=810"/>
				<updated>2020-10-16T07:42:45Z</updated>
		
		<summary type="html">&lt;p&gt;Sfptotal: Created page with &amp;quot;SFPTotal Plus X is modification of basic model SFPTotal Plus with added support QSFP-DD trnsceivers.&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;SFPTotal Plus X is modification of basic model SFPTotal Plus with added support QSFP-DD trnsceivers.&lt;/div&gt;</summary>
		<author><name>Sfptotal</name></author>	</entry>

	<entry>
		<id>http://wiki.sfptotal.com/index.php?title=SFPTotal_Whistle&amp;diff=809</id>
		<title>SFPTotal Whistle</title>
		<link rel="alternate" type="text/html" href="http://wiki.sfptotal.com/index.php?title=SFPTotal_Whistle&amp;diff=809"/>
				<updated>2019-09-18T09:32:41Z</updated>
		
		<summary type="html">&lt;p&gt;Sfptotal: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:SFPTotal-Whistle.jpg|350px|thumb|right|Programmer SFPTotal Whistle]]&lt;br /&gt;
&lt;br /&gt;
'''SFPTotal Whistle''' is a coding board designed for programming  fiber optic and copper transceivers SFP form factor, including 10/100/1000BASE SFP, SFP RJ45, 10GBASE SFP+, SFP DAC and AOC.&lt;br /&gt;
&lt;br /&gt;
In contrast in another similar products the device supports coding write-protected MSA transceivers in accordance with SFF-8472. User interface for entry a password field provides by a software.&lt;br /&gt;
&lt;br /&gt;
The device full compatible with a software SFPTotal Wizard which provides user friendly interface for exploring the code parameters, reading the memory and writing changes into transceivers memory. Drivers and software are provided free.&lt;br /&gt;
&lt;br /&gt;
'''The package includes:'''&lt;br /&gt;
* SFPTotal Whistle coding board&lt;br /&gt;
* Activation key which required for working with a software SFPTotal Wizard&lt;br /&gt;
* Quick start guide&lt;br /&gt;
&lt;br /&gt;
The activation key is already uploaded in the device. You don't need to do any actions for device activation.&lt;br /&gt;
The board doesn't require any usb cable for connection to PC. It  connects directly to USB port.&lt;br /&gt;
&lt;br /&gt;
On the bottom side is placed a green LED indicates a power supply and USB port connection statuses.&lt;br /&gt;
&lt;br /&gt;
===Application===&lt;br /&gt;
* Programming SFP and SFP+ fiber optical transceivers&lt;br /&gt;
* Improving of compatibility between network equipment of different manufacturers&lt;br /&gt;
* Uploading changes to write-protected transceivers&lt;br /&gt;
* Reading DDM interface&lt;/div&gt;</summary>
		<author><name>Sfptotal</name></author>	</entry>

	<entry>
		<id>http://wiki.sfptotal.com/index.php?title=SFPTotal_Whistle&amp;diff=808</id>
		<title>SFPTotal Whistle</title>
		<link rel="alternate" type="text/html" href="http://wiki.sfptotal.com/index.php?title=SFPTotal_Whistle&amp;diff=808"/>
				<updated>2019-09-18T09:31:25Z</updated>
		
		<summary type="html">&lt;p&gt;Sfptotal: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:SFPTotal-Whistle.jpg|350px|thumb|right|Programmer SFPTotal Whistle]]&lt;br /&gt;
&lt;br /&gt;
'''SFPTotal Whistle''' is a coding board designed for programming  fiber optic and copper transceivers SFP form factor, including 10/100/1000BASE SFP, SFP RJ45, 10GBASE SFP+, SFP DAC and AOC.&lt;br /&gt;
&lt;br /&gt;
In contrast in another similar products the device supports coding write-protected MSA transceivers in accordance with SFF-8472. User interface for entry a password field provides by a software.&lt;br /&gt;
&lt;br /&gt;
The device full compatible with a software SFPTotal Wizard which provides user friendly interface for exploring the code parameters, reading the memory and writing changes into transceivers memory. Drivers and software are provided free.&lt;br /&gt;
&lt;br /&gt;
'''The package includes:'''&lt;br /&gt;
* SFPTotal Whistle coding board&lt;br /&gt;
* Activation key which required for working with a software SFPTotal Wizard&lt;br /&gt;
* Quick start guide&lt;br /&gt;
&lt;br /&gt;
The activation key is already uploaded in the device. You don't need to do any actions for device activation.&lt;br /&gt;
The board doesn't require any usb cable for connection to PC. It  connects directly to USB port.&lt;br /&gt;
&lt;br /&gt;
On the bottom side is placed a green LED indicates a power supply status and USB port connection.&lt;br /&gt;
&lt;br /&gt;
===Application===&lt;br /&gt;
* Programming SFP and SFP+ fiber optical transceivers&lt;br /&gt;
* Improving of compatibility between network equipment of different manufacturers&lt;br /&gt;
* Uploading changes to write-protected transceivers&lt;br /&gt;
* Reading DDM interface&lt;/div&gt;</summary>
		<author><name>Sfptotal</name></author>	</entry>

	<entry>
		<id>http://wiki.sfptotal.com/index.php?title=SFPTotal_Whistle&amp;diff=807</id>
		<title>SFPTotal Whistle</title>
		<link rel="alternate" type="text/html" href="http://wiki.sfptotal.com/index.php?title=SFPTotal_Whistle&amp;diff=807"/>
				<updated>2019-09-18T09:31:13Z</updated>
		
		<summary type="html">&lt;p&gt;Sfptotal: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:SFPTotal-Whistle.jpg|350px|thumb|right|Programmer SFPTotal Whistle]]&lt;br /&gt;
&lt;br /&gt;
'''SFPTotal Whistle''' is a coding board designed for programming  fiber optic and copper transceivers SFP form factor, including 10/100/1000BASE SFP, SFP RJ45, 10G SFP+, SFP DAC and AOC.&lt;br /&gt;
&lt;br /&gt;
In contrast in another similar products the device supports coding write-protected MSA transceivers in accordance with SFF-8472. User interface for entry a password field provides by a software.&lt;br /&gt;
&lt;br /&gt;
The device full compatible with a software SFPTotal Wizard which provides user friendly interface for exploring the code parameters, reading the memory and writing changes into transceivers memory. Drivers and software are provided free.&lt;br /&gt;
&lt;br /&gt;
'''The package includes:'''&lt;br /&gt;
* SFPTotal Whistle coding board&lt;br /&gt;
* Activation key which required for working with a software SFPTotal Wizard&lt;br /&gt;
* Quick start guide&lt;br /&gt;
&lt;br /&gt;
The activation key is already uploaded in the device. You don't need to do any actions for device activation.&lt;br /&gt;
The board doesn't require any usb cable for connection to PC. It  connects directly to USB port.&lt;br /&gt;
&lt;br /&gt;
On the bottom side is placed a green LED indicates a power supply status and USB port connection.&lt;br /&gt;
&lt;br /&gt;
===Application===&lt;br /&gt;
* Programming SFP and SFP+ fiber optical transceivers&lt;br /&gt;
* Improving of compatibility between network equipment of different manufacturers&lt;br /&gt;
* Uploading changes to write-protected transceivers&lt;br /&gt;
* Reading DDM interface&lt;/div&gt;</summary>
		<author><name>Sfptotal</name></author>	</entry>

	<entry>
		<id>http://wiki.sfptotal.com/index.php?title=SFPTotal_Whistle&amp;diff=806</id>
		<title>SFPTotal Whistle</title>
		<link rel="alternate" type="text/html" href="http://wiki.sfptotal.com/index.php?title=SFPTotal_Whistle&amp;diff=806"/>
				<updated>2019-09-18T09:28:45Z</updated>
		
		<summary type="html">&lt;p&gt;Sfptotal: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:SFPTotal-Whistle.jpg|350px|thumb|right|Programmer SFPTotal Whistle]]&lt;br /&gt;
&lt;br /&gt;
'''SFPTotal Whistle''' is a coding board designed for programming  fiber optic and copper transceivers SFP form factor, including 100M/1G SFP, SFP RJ45, 10G SFP+, SFP DAC and AOC.&lt;br /&gt;
&lt;br /&gt;
In contrast in another similar products the device supports coding write-protected MSA transceivers in accordance with SFF-8472. User interface for entry a password field provides by a software.&lt;br /&gt;
&lt;br /&gt;
The device full compatible with a software SFPTotal Wizard which provides user friendly interface for exploring the code parameters, reading the memory and writing changes into transceivers memory. Drivers and software are provided free.&lt;br /&gt;
&lt;br /&gt;
'''The package includes:'''&lt;br /&gt;
* SFPTotal Whistle coding board&lt;br /&gt;
* Activation key which required for working with a software SFPTotal Wizard&lt;br /&gt;
* Quick start guide&lt;br /&gt;
&lt;br /&gt;
The activation key is already uploaded in the device. You don't need to do any actions for device activation.&lt;br /&gt;
The board doesn't require any usb cable for connection to PC. It  connects directly to USB port.&lt;br /&gt;
&lt;br /&gt;
On the bottom side is placed a green LED indicates a power supply status and USB port connection.&lt;br /&gt;
&lt;br /&gt;
===Application===&lt;br /&gt;
* Programming SFP and SFP+ fiber optical transceivers&lt;br /&gt;
* Improving of compatibility between network equipment of different manufacturers&lt;br /&gt;
* Uploading changes to write-protected transceivers&lt;br /&gt;
* Reading DDM interface&lt;/div&gt;</summary>
		<author><name>Sfptotal</name></author>	</entry>

	<entry>
		<id>http://wiki.sfptotal.com/index.php?title=SFPTotal_Whistle&amp;diff=805</id>
		<title>SFPTotal Whistle</title>
		<link rel="alternate" type="text/html" href="http://wiki.sfptotal.com/index.php?title=SFPTotal_Whistle&amp;diff=805"/>
				<updated>2019-09-18T09:28:30Z</updated>
		
		<summary type="html">&lt;p&gt;Sfptotal: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:SFPTotal-Whistle.jpg|350px|thumb|right|Programmer SFPTotal Whistle]]&lt;br /&gt;
&lt;br /&gt;
'''SFPTotal Whistle''' is a coding board designed for programming  fiber optic and copper transceivers SFP form factor, including 100M/1G SFP, SFP RJ45, 10G SFP+, SFP DAC and AOC.&lt;br /&gt;
&lt;br /&gt;
In contrast in another similar products the device supports coding write-protected MSA transceivers in accordance with SFF-8472. User interface for entry a password field provides by a software.&lt;br /&gt;
&lt;br /&gt;
The device full compatible with a software SFPTotal Wizard which provides user friendly interface for exploring the code parameters, reading the memory and writing changes into transceivers memory. Drivers and software are provided free.&lt;br /&gt;
&lt;br /&gt;
'''The package includes:'''&lt;br /&gt;
* SFPTotal Whistle coding board&lt;br /&gt;
* Activation key which required for working with a software SFPTotal Wizard&lt;br /&gt;
* Quick start guide&lt;br /&gt;
&lt;br /&gt;
The activation key is already uploaded in the device. You don't need to do any actions for device activation.&lt;br /&gt;
The board doesn't require any usb cable for connection to PC. It  connects directly to USB port.&lt;br /&gt;
&lt;br /&gt;
On the bottom side is placed a green LED indicates a power supply status and USB port connection.&lt;br /&gt;
&lt;br /&gt;
### Application&lt;br /&gt;
&lt;br /&gt;
* Programming SFP and SFP+ fiber optical transceivers&lt;br /&gt;
* Improving of compatibility between network equipment of different manufacturers&lt;br /&gt;
* Uploading changes to write-protected transceivers&lt;br /&gt;
* Reading DDM interface&lt;/div&gt;</summary>
		<author><name>Sfptotal</name></author>	</entry>

	<entry>
		<id>http://wiki.sfptotal.com/index.php?title=SFPTotal_Whistle&amp;diff=804</id>
		<title>SFPTotal Whistle</title>
		<link rel="alternate" type="text/html" href="http://wiki.sfptotal.com/index.php?title=SFPTotal_Whistle&amp;diff=804"/>
				<updated>2019-09-18T09:27:44Z</updated>
		
		<summary type="html">&lt;p&gt;Sfptotal: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:SFPTotal-Whistle.jpg|350px|thumb|right|Programmer SFPTotal Whistle]]&lt;br /&gt;
&lt;br /&gt;
'''SFPTotal Whistle''' is a coding board designed for programming  fiber optic and copper transceivers SFP form factor, including 100M/1G SFP, SFP RJ45, 10G SFP+, SFP DAC and AOC.&lt;br /&gt;
&lt;br /&gt;
In contrast in another similar products the device supports coding write-protected MSA transceivers in accordance with SFF-8472. User interface for entry a password field provides by a software.&lt;br /&gt;
&lt;br /&gt;
The device full compatible with a software SFPTotal Wizard which provides user friendly interface for exploring the code parameters, reading the memory and writing changes into transceivers memory. Drivers and software are provided free.&lt;br /&gt;
&lt;br /&gt;
'''The package includes:'''&lt;br /&gt;
* SFPTotal Whistle coding board&lt;br /&gt;
* Activation key which required for working with a software SFPTotal Wizard&lt;br /&gt;
* Quick start guide&lt;br /&gt;
&lt;br /&gt;
The activation key is already uploaded in the device. You don't need to do any actions for device activation.&lt;br /&gt;
The board doesn't require any usb cable for connection to PC. It  connects directly to USB port.&lt;br /&gt;
&lt;br /&gt;
On the bottom side is placed a green LED indicates a power supply status and USB port connection.&lt;/div&gt;</summary>
		<author><name>Sfptotal</name></author>	</entry>

	<entry>
		<id>http://wiki.sfptotal.com/index.php?title=SFPTotal_Whistle&amp;diff=803</id>
		<title>SFPTotal Whistle</title>
		<link rel="alternate" type="text/html" href="http://wiki.sfptotal.com/index.php?title=SFPTotal_Whistle&amp;diff=803"/>
				<updated>2019-09-18T09:27:23Z</updated>
		
		<summary type="html">&lt;p&gt;Sfptotal: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:SFPTotal-Whistle.jpg|350px|thumb|right|Programmer SFPTotal Whistle]]&lt;br /&gt;
&lt;br /&gt;
'''SFPTotal Whistle''' is a coding board designed for programming  fiber optic and copper transceivers SFP form factor including 100M/1G SFP, SFP RJ45, 10G SFP+, SFP DAC and AOC.&lt;br /&gt;
&lt;br /&gt;
In contrast in another similar products the device supports coding write-protected MSA transceivers in accordance with SFF-8472. User interface for entry a password field provides by a software.&lt;br /&gt;
&lt;br /&gt;
The device full compatible with a software SFPTotal Wizard which provides user friendly interface for exploring the code parameters, reading the memory and writing changes into transceivers memory. Drivers and software are provided free.&lt;br /&gt;
&lt;br /&gt;
'''The package includes:'''&lt;br /&gt;
* SFPTotal Whistle coding board&lt;br /&gt;
* Activation key which required for working with a software SFPTotal Wizard&lt;br /&gt;
* Quick start guide&lt;br /&gt;
&lt;br /&gt;
The activation key is already uploaded in the device. You don't need to do any actions for device activation.&lt;br /&gt;
The board doesn't require any usb cable for connection to PC. It  connects directly to USB port.&lt;br /&gt;
&lt;br /&gt;
On the bottom side is placed a green LED indicates a power supply status and USB port connection.&lt;/div&gt;</summary>
		<author><name>Sfptotal</name></author>	</entry>

	<entry>
		<id>http://wiki.sfptotal.com/index.php?title=SFPTotal_Whistle&amp;diff=802</id>
		<title>SFPTotal Whistle</title>
		<link rel="alternate" type="text/html" href="http://wiki.sfptotal.com/index.php?title=SFPTotal_Whistle&amp;diff=802"/>
				<updated>2019-09-18T09:26:53Z</updated>
		
		<summary type="html">&lt;p&gt;Sfptotal: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:SFPTotal-Whistle.jpg|350px|thumb|right|Programmer SFPTotal Whistle]]&lt;br /&gt;
&lt;br /&gt;
'''SFPTotal Whistle''' is a coding board designed for programming  fiber optic and copper transceivers SFP form factor including 100M/1G SFP, SFP RJ45, 10G SFP+, SFP DAC and AOC.&lt;br /&gt;
&lt;br /&gt;
In contrast in another similar products the device supports coding write-protected MSA transceivers in accordance with SFF-8472. User interface for entry a password field provides by a software.&lt;br /&gt;
&lt;br /&gt;
The device full compatible with a software SFPTotal Wizard which provides user friendly interface for exploring the code parameters, reading the memory and writing changes into transceivers memory. Drivers and software are provided free.&lt;br /&gt;
&lt;br /&gt;
'''The package includes:'''&lt;br /&gt;
* SFPTotal Whistle coding board&lt;br /&gt;
* Activation key which required for working with a software SFPTotal Wizard&lt;br /&gt;
* Quick start guide&lt;/div&gt;</summary>
		<author><name>Sfptotal</name></author>	</entry>

	<entry>
		<id>http://wiki.sfptotal.com/index.php?title=SFPTotal_Whistle&amp;diff=801</id>
		<title>SFPTotal Whistle</title>
		<link rel="alternate" type="text/html" href="http://wiki.sfptotal.com/index.php?title=SFPTotal_Whistle&amp;diff=801"/>
				<updated>2019-09-18T09:26:41Z</updated>
		
		<summary type="html">&lt;p&gt;Sfptotal: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:SFPTotal-Whistle.jpg|350px|thumb|right|Programmer SFPTotal Whistle]]&lt;br /&gt;
&lt;br /&gt;
'''SFPTotal Whistle''' is a coding board designed for programming  fiber optic and copper transceivers SFP form factor including 100M/1G SFP, SFP RJ45, 10G SFP+, SFP DAC and AOC.&lt;br /&gt;
&lt;br /&gt;
In contrast in another similar products the device supports coding write-protected MSA transceivers in accordance with SFF-8472. User interface for entry a password field provides by a software.&lt;br /&gt;
&lt;br /&gt;
The device full compatible with a software SFPTotal Wizard which provides user friendly interface for exploring the code parameters, reading the memory and writing changes into transceivers memory. Drivers and software are provided free.&lt;br /&gt;
&lt;br /&gt;
'''The package includes:'''&lt;br /&gt;
* SFPTotal Whistle coding board x 1 pc&lt;br /&gt;
* Activation key which required for working with a software SFPTotal Wizard&lt;br /&gt;
* Quick start guide&lt;/div&gt;</summary>
		<author><name>Sfptotal</name></author>	</entry>

	<entry>
		<id>http://wiki.sfptotal.com/index.php?title=SFPTotal_Whistle&amp;diff=800</id>
		<title>SFPTotal Whistle</title>
		<link rel="alternate" type="text/html" href="http://wiki.sfptotal.com/index.php?title=SFPTotal_Whistle&amp;diff=800"/>
				<updated>2019-09-18T09:25:58Z</updated>
		
		<summary type="html">&lt;p&gt;Sfptotal: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:SFPTotal-Whistle.jpg|350px|thumb|right|Programmer SFPTotal Whistle]]&lt;br /&gt;
&lt;br /&gt;
'''SFPTotal Whistle''' is a coding board designed for programming  fiber optic and copper transceivers SFP form factor including 100M/1G SFP, SFP RJ45, 10G SFP+, SFP DAC and AOC.&lt;br /&gt;
&lt;br /&gt;
In contrast in another similar products the device supports coding write-protected MSA transceivers in accordance with SFF-8472. User interface for entry a password field provides by a software.&lt;br /&gt;
&lt;br /&gt;
The device full compatible with a software SFPTotal Wizard which provides user friendly interface for exploring the code parameters, reading the memory and writing changes into transceivers memory. Drivers and software are provided free.&lt;/div&gt;</summary>
		<author><name>Sfptotal</name></author>	</entry>

	<entry>
		<id>http://wiki.sfptotal.com/index.php?title=SFPTotal_Whistle&amp;diff=799</id>
		<title>SFPTotal Whistle</title>
		<link rel="alternate" type="text/html" href="http://wiki.sfptotal.com/index.php?title=SFPTotal_Whistle&amp;diff=799"/>
				<updated>2019-09-18T09:25:50Z</updated>
		
		<summary type="html">&lt;p&gt;Sfptotal: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:SFPTotal-Whistle.jpg|350px|thumb|right|Programmer SFPTotal Whistle]]&lt;br /&gt;
&lt;br /&gt;
SFPTotal Whistle is a coding board designed for programming  fiber optic and copper transceivers SFP form factor including 100M/1G SFP, SFP RJ45, 10G SFP+, SFP DAC and AOC.&lt;br /&gt;
&lt;br /&gt;
In contrast in another similar products the device supports coding write-protected MSA transceivers in accordance with SFF-8472. User interface for entry a password field provides by a software.&lt;br /&gt;
&lt;br /&gt;
The device full compatible with a software SFPTotal Wizard which provides user friendly interface for exploring the code parameters, reading the memory and writing changes into transceivers memory. Drivers and software are provided free.&lt;/div&gt;</summary>
		<author><name>Sfptotal</name></author>	</entry>

	<entry>
		<id>http://wiki.sfptotal.com/index.php?title=File:Sfptotal-wizard-1046-connection-settings.png&amp;diff=798</id>
		<title>File:Sfptotal-wizard-1046-connection-settings.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.sfptotal.com/index.php?title=File:Sfptotal-wizard-1046-connection-settings.png&amp;diff=798"/>
				<updated>2019-05-30T14:35:20Z</updated>
		
		<summary type="html">&lt;p&gt;Sfptotal: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Sfptotal</name></author>	</entry>

	<entry>
		<id>http://wiki.sfptotal.com/index.php?title=SFPTotal_Documentation&amp;diff=797</id>
		<title>SFPTotal Documentation</title>
		<link rel="alternate" type="text/html" href="http://wiki.sfptotal.com/index.php?title=SFPTotal_Documentation&amp;diff=797"/>
				<updated>2019-05-30T14:31:00Z</updated>
		
		<summary type="html">&lt;p&gt;Sfptotal: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt; &lt;br /&gt;
'''SFPTotal Team''' research issues about compatibility between fiber optical transceivers and network switching equipment. Our engineers develop tools, devices and software for programming fiber-optic transceievers including ethernet transceivers, passive and active optical cables of popular form-factors GBIC, SFP, SFP+, SFP28,  XFP, QSFP, QSFP+, QSFP28. Programming boards are designed to solve the main problems that arise in the practice of Internet service providers, suppliers of network equipment and system integrators on the process of working with optical transceivers and switching equipment, and requiring reprogramming of transceivers.&lt;br /&gt;
&lt;br /&gt;
SFPTotal devices support a special protocol that allows access to all address spaces of transceivers and implements instructions for programming write-protected transceivers.&lt;br /&gt;
&lt;br /&gt;
== Programming boards ==&lt;br /&gt;
&lt;br /&gt;
# [[SFPTotal PG]]&lt;br /&gt;
# [[SFPTotal Mini]]&lt;br /&gt;
# [[SFPTotal Plus]]&lt;br /&gt;
# [[SFPTotal Whistle]]&lt;br /&gt;
&lt;br /&gt;
== Application ==&lt;br /&gt;
&lt;br /&gt;
SFPTotal programmers can be used to solve the following tasks:&lt;br /&gt;
&lt;br /&gt;
* Programming transceiver's EEPROM/Flash through I2C databus&lt;br /&gt;
* Ensuring compatibility between network equipment of different manufacturers&lt;br /&gt;
* Programming write-protected transceivers using passwords or scripts&lt;br /&gt;
* Programming write-protected transceivers using brute-force mode&lt;br /&gt;
* Changing PHY controller settings&lt;br /&gt;
* Rebranding OEM transceivers&lt;br /&gt;
* Reading DDM (Digital Diagnostics Monitoring) information&lt;br /&gt;
&lt;br /&gt;
== User Guide ==&lt;br /&gt;
&lt;br /&gt;
It was relocated on Github&lt;br /&gt;
https://github.com/sfptotal/SFPTotal-Wizard/wiki&lt;br /&gt;
&lt;br /&gt;
== Our resources ==&lt;br /&gt;
&lt;br /&gt;
* [https://sfptotal.com www.sfptotal.com]&lt;/div&gt;</summary>
		<author><name>Sfptotal</name></author>	</entry>

	<entry>
		<id>http://wiki.sfptotal.com/index.php?title=File:Sfptotal-wizard-1046-password-settings.png&amp;diff=796</id>
		<title>File:Sfptotal-wizard-1046-password-settings.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.sfptotal.com/index.php?title=File:Sfptotal-wizard-1046-password-settings.png&amp;diff=796"/>
				<updated>2019-05-30T12:47:08Z</updated>
		
		<summary type="html">&lt;p&gt;Sfptotal: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Sfptotal</name></author>	</entry>

	<entry>
		<id>http://wiki.sfptotal.com/index.php?title=File:Sfptotal-wizard-1046-set-password.png&amp;diff=795</id>
		<title>File:Sfptotal-wizard-1046-set-password.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.sfptotal.com/index.php?title=File:Sfptotal-wizard-1046-set-password.png&amp;diff=795"/>
				<updated>2019-05-30T12:46:27Z</updated>
		
		<summary type="html">&lt;p&gt;Sfptotal: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Sfptotal</name></author>	</entry>

	<entry>
		<id>http://wiki.sfptotal.com/index.php?title=File:Sfptotal-wizard-1046-auto-write-menu.png&amp;diff=794</id>
		<title>File:Sfptotal-wizard-1046-auto-write-menu.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.sfptotal.com/index.php?title=File:Sfptotal-wizard-1046-auto-write-menu.png&amp;diff=794"/>
				<updated>2019-05-30T12:09:48Z</updated>
		
		<summary type="html">&lt;p&gt;Sfptotal: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Sfptotal</name></author>	</entry>

	<entry>
		<id>http://wiki.sfptotal.com/index.php?title=File:Sfptotal-wizard-1046-checksum-wrong.png&amp;diff=793</id>
		<title>File:Sfptotal-wizard-1046-checksum-wrong.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.sfptotal.com/index.php?title=File:Sfptotal-wizard-1046-checksum-wrong.png&amp;diff=793"/>
				<updated>2019-05-30T11:57:17Z</updated>
		
		<summary type="html">&lt;p&gt;Sfptotal: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Sfptotal</name></author>	</entry>

	<entry>
		<id>http://wiki.sfptotal.com/index.php?title=File:Sfptotal-wizard-1046-checksum-menu.png&amp;diff=792</id>
		<title>File:Sfptotal-wizard-1046-checksum-menu.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.sfptotal.com/index.php?title=File:Sfptotal-wizard-1046-checksum-menu.png&amp;diff=792"/>
				<updated>2019-05-30T11:51:35Z</updated>
		
		<summary type="html">&lt;p&gt;Sfptotal: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Sfptotal</name></author>	</entry>

	<entry>
		<id>http://wiki.sfptotal.com/index.php?title=File:Sfptotal-wizard-1046-code-details.png&amp;diff=791</id>
		<title>File:Sfptotal-wizard-1046-code-details.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.sfptotal.com/index.php?title=File:Sfptotal-wizard-1046-code-details.png&amp;diff=791"/>
				<updated>2019-05-30T10:05:36Z</updated>
		
		<summary type="html">&lt;p&gt;Sfptotal: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Sfptotal</name></author>	</entry>

	<entry>
		<id>http://wiki.sfptotal.com/index.php?title=File:Sfptotal-wizard-1046-editor.png&amp;diff=790</id>
		<title>File:Sfptotal-wizard-1046-editor.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.sfptotal.com/index.php?title=File:Sfptotal-wizard-1046-editor.png&amp;diff=790"/>
				<updated>2019-05-30T10:04:50Z</updated>
		
		<summary type="html">&lt;p&gt;Sfptotal: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Sfptotal</name></author>	</entry>

	<entry>
		<id>http://wiki.sfptotal.com/index.php?title=File:Sfptotal-wizard-1046-select-table.png&amp;diff=789</id>
		<title>File:Sfptotal-wizard-1046-select-table.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.sfptotal.com/index.php?title=File:Sfptotal-wizard-1046-select-table.png&amp;diff=789"/>
				<updated>2019-05-30T10:04:21Z</updated>
		
		<summary type="html">&lt;p&gt;Sfptotal: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Sfptotal</name></author>	</entry>

	</feed>