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.
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.