Flexport Commands for Zinwell 6x8 Multiswitches

Please reply by conversation.


SatelliteGuys Pro
Original poster
Oct 13, 2008
The Zinwell WB68 switch has four LNB inputs fairly typical of multiswitches. Each can be selected through the application of 18/13V and 22 kHz tone off/on on the eight outputs. While this is an unpowered switch, it passes 950-2150 MHz (and also 250-750 MHz) making it an excellent choice for bandstacked LNBs, universal Ku LNBs and extended C-band reception. By comparison most available multiswitches are only specified to work from 950-1450 MHz.

Some time ago I published a trivial mod in this forum that demonstrated how to provide 18V to all LNBs connected to a WB68. This piqued interest on this forum because the WB68 actually has two other inputs intended for DTV's use for what they refer to as "FlexPorts". At the time I and others scoured the Internet for any information on what commands were used to select these ports, but we turned up nothing. DTV had developed a scheme to do this, but nowhere was it published in the open. I am happy to report that through collaborative efforts, several of us figured out how this works. Thanks go to zamar23, who was the driver and organizer for getting all of the pieces put together, and to P. Smith, who scoped and decoded the commands output from a DTV receiver in the process of commanding a WB68. My contribution was small in testing these commands through Linux and determining which bits the WB68 was actually decoding.

DTV receivers send a non-standard DiSEqC-style command to select the FlexPorts. For example, to select FlexPort 1, the receiver sends the following command in hex: e1 04 00, and to select FlexPort 2, it sends: e1 05 00. The bad news is that this will only latch the switch for say 3-4 seconds, after which it will revert to port selection via voltage/tone. This was probably done to prevent the switch from latching to a FlexPort when receiving a bogus or non-intended command. However if one sends the port selection command periodically, say once per second, the switch output will continue to stay connected to the FlexPort. This is apparently how DTV receivers operate and I have verified it causes no interruption to a received signal.

Unfortunately this makes the FlexPorts rather inaccessible to FTA DTBs and PC tuners. Armed with this information a STB/PC tuner driver developer could program these commands to be periodically repeated, but for the most part users are out of luck. I wrote a little code for Linux as a test and this could be handled at the application level for that OS.

One nice thing about these commands is they do not appear to overlap normal DiSEqC switch operation. Thus one could stack DiSEqC committed and uncommitted switches to theoretically select from any one of 384 LNBs compared to 256 without the FlexPorts. If commanding these ports were to become more commonplace, it could also simplify existing FTA switch structures, and that was a goal of this exercise.

To be complete, I will list all the commands that were tested and the results they produced. One thing to note is that although the DTV receiver sent the first byte as 0xe1 and the third byte as 0x00, the WB68 only looks at the first two bytes and treats 0xe0 sent as the first byte the same. Thus below I only provide the abbreviated versions I ran through Linux:

0xe0 0x00 with tuner sending 18V -> selects port 1 - 18V output to LNB
0xe0 0x00 with tuner sending 13V -> selects port 2 - 13V output to LNB

0xe0 0x01 with tuner sending 18V -> selects port 1 - 18V output to LNB
0xe0 0x01 with tuner sending 13V -> selects port 2 - 13V output to LNB

0xe0 0x02 with tuner sending 18V -> selects port 1 - 18V output to LNB
0xe0 0x02 with tuner sending 13V -> selects port 2 - 13V output to LNB

0xe0 0x03 with tuner sending 18V -> selects port 3 - 18V output to LNB
0xe0 0x03 with tuner sending 13V -> selects port 4 - 13V output to LNB

0xe0 0x04 with tuner sending 18V -> selects port 5 - 18V output to LNB (FlexPort 1)
0xe0 0x04 with tuner sending 13V -> selects port 5 - 13V output to LNB

0xe0 0x05 with tuner sending 18V -> selects port 6 - 18V output to LNB (FlexPort 2)
0xe0 0x05 with tuner sending 13V -> selects port 6 - 13V output to LNB

Note that the first six combinations provide the same operation of the switch as if only the voltage/tone were applied. It is possible they are not actually interpreted by the switch. Also note that one does not need to use 22 kHz tones to select ports 3 & 4 as the commands shown are sufficient.
Thanks for the info, Pendragon.
I suppose some of the Linux-based receivers would be easiest to mod to use the extra inputs, or the alternate modes available (?).

However, offering 384 vs 256 combinations does seem a little overkill, regardless. - :rolleyes:

The only down side I'd like to point out, is the same as for using any queer/non-standard switch or other part (perhaps even bandstacked LNBs):
One receiver might talk to your switch matrix today, but tomorrow your next receiver probably won't.
So, I would caution against building a one-of-a-kind system for the average user.
For all the non-average users, go wild! - :D
Nice work zamar23, P Smith, and Pendragon...

I seem to recall the Broadlogic (or whatever they call the company who bought them out now, VBox or something) 2030 factory driver/app would let one insert hex strings for DiSEqC commands. Too bad the card has its limitations...

I found it interesting that WB68 seems to able repeat DiSEqC commands down the road on each LNB port including Flexports, despite those need to receive repeated each second own simplified commands to remain locked. Is the switch able to pass through 22kHz tone on regular ports (when they're switched to by own DiSEqC commands) and Flexports? If yes, that would allow to connect a Universal LNB with internal 22kHz switch to any of its ports. Is there a way to add Power Inserter(s) to power the switch and connected LNBFs independently of the receivers while maintaining intact voltage required for each selected channel and keeping the Flexports unchanged?

I hope, the way will be found down the road to bypass the need to repeat these Flexport commands to maintain the ports 5 and 6 locked. That would make WB68 a preferred multiswitch choice for many FTA applications, including bandstacking schemes, due to the switch's advanced specs and low cost. Even now some DVB Viewer package developers and Linux STB coders may be interested enough to add "Repeat Interval" Field for Raw DiSEqC commands or a Custom Code Field to cover scenarios like this of using quality equipment that was originally designed for narrow applications, but becomes available to all on cheap due to massive equipment upgrades periodically conducted by major broadcasters. That would make entrance of new riders to FTA field more affordable and also rise the demand for other FTA gear.
Last edited:
Please reply by conversation.

Users Who Are Viewing This Thread (Total: 0, Members: 0, Guests: 0)

Who Read This Thread (Total Members: 1)