> 4.2 | Settings Stored in the Windows Registry

> The WinMux2k driver parameters are located in the registry path
> HKLM\System\CurrentControlSet\Enum\Root\winmux\000X\Device Parameters.
> X is the number of the device instance.
> All values listed below will be created during the installation of the WinMux2k driver. The settings are provided by the winmux2k.inf file. If you want to write your own preferences to the Registry you can edit the inf file before installing the driver.

> Table 6: | Registry values

> Value | Data (Example) | Properties
> BasePort | COM1 | The physical serial port that connects the module to the PC.
> BaudRate | 115200 | Baud rate used on the physical port.
> BaudRateString | AT+IPR=115200 | This string is used to set the module to the given baud rate. Note: This string must contain the same value as the BaudRate value. If you select a higher baud rate be sure it is supported by the module. For details see [3].
> ModemInit | AT AT&S0 AT\Q3 AT+ICF=3 AT+CMUX=0 | This multi-string value contains several AT commands which are used to switch the module to multiplexer mode. Possible ERROR codes resulting from unsupported commands are ignored by the WinMux2k initialization sequence.
> RequestTimeout | 2000 | Timeout value used only during the initialization of the module. 2000 is the maximum number of milliseconds the module can take to respond to AT requests.
> VirtPort1 | COM10 | Name of the first virtual port. Each virtual port must have a unique name. Otherwise the driver will fail to start up.
> VirtPort2 | COM11 | See VirtPort1
> VirtPort3 | COM12 | See VirtPort1
> VirtualChannels | 3 | Number of Virtual Channels visible as COM ports. The WinMux2k driver supports up to 3 virtual ports. The number of VirtualChannels must be less or equal to TotalChannels.
> TotalChannels | 3 | If the number of TotalChannels is greater than VirtualChannels and no VirtPortX value for additional channels is defined, these additional ports are not visible as COM ports. They can be accessed by the link named SERMUX_CONTROL_PREFIX defined in sermux_i.h. This allows to hide virtual ports to the user. Each physical port can have one hidden port.
> WakeUpTime | 4000 | Timeout during module initialization. The timeout takes effect only when the driver tries to restart the module from Power Down or to wake it up from SLEEP mode AT+CFUN=0. The time is given in milliseconds.
> PowerCmdPort | 3 | This virtual channel is used to send the power down commands to the module. The data state on this channel may be disturbed during power down and cannot be reconstructed by the driver.
> ReinitOnDSR | 1 | 0 Default for XC18 The driver does not try to reconnect to the module if DSR changes. This feature can be switched off if an application controls the DSR line with AT&S. 1 Default for all modules except XC18 The driver tries to reconnect to the module if DSR changes. The driver can detect if the module was disconnected and reinitializes it before the first data errors occur.
> ClosePort (not applicable to TC45 and XC18) | AT+IPR=0 AT^SMSO | A multi-string sent to the module if the last port is closed.
> ClosePort (TC45, XC18 only) | AT+IPR=0 | A multi-string sent to the module if the last port is closed.
> PowerDown | AT+CFUN=0 | A multi-string sent to the module if the PC goes to suspend mode or hibernate state. The command AT+CFUN=0 has been chosen as factory default for compatibility with older Siemens products. If you prefer to use one of the more efficient CYCLIC SLEEP modes it can be replaced with AT+CFUN=5 or 6 or 7 or 8 or 9. See [3] and [4] to verify the SLEEP mode types supported by your product. To avoid editing the Windows Registry you can alter the corresponding parameter in the winmux2k.inf file and then reinstall the driver.
> ShutDown | AT+IPR=0 AT^SMSO | A multi-string sent to the module if the PC is shut down or rebooted. Note: Some PCs generate a DTR spike during turn off and the module wakes up again.
> WaitForDSR | 1 | 0 Default for TC45 and XC18 The driver does not wait for the DSR signal to go low when the module is shut down. Instead, the parameter RecoverTime (see below) is used. 1 Default for all modules except TC45 and XC18 The driver waits for the DSR signal to go low when the module is shut down. In this case the parameter RecoverTime is not used. If the module is not switched off with the AT commands defined in the parameter ClosePort this parameter must be set to 0.
> RecoverTime | 2000 | Minimum number of milliseconds between close and the next open call.
> PowerDownFrame | 2 | From version 3 onwards, the Multiplexer Protocol supports power saving control with a special multiplex control frame. This provides the possibility of sending power down commands to the module without accessing any data channel. If the connected module only supports the Multiplexer Protocol version 2 this value is not used. If the supported Multiplexer Protocol version is 3 or higher, the multiplex power control is used instead of the values “PowerCmdPort” and “PowerDown”. In this case this value corresponds to the power down command of the multiplex power down frame described in [5]. If the value is greater than 255 there is no power down frame sent for Multiplexer Protocol 3.
> Optional values supported as of Multiplexer Protocol version 4, i.e. supported by the WinMux2k driver version 3.000 or later. The following optional values can be manually added to the Registry when needed.
> MaxMuxVersion | 3 | This registry value provides the possibility to force the driver to use a lower multiplex protocol version than the maximum supported. The multiplex protocol has been improved continuously by adding several features. The multiplex protocol version is negotiated with the connected module during multiplex startup. It is used to ensure compatibility between different multiplex driver and module generations. The registry value isn’t mandatory, by default the WinMux driver uses always the latest protocol implementation with all available features. If for some reason an older multiplex protocol shall be used it can be controlled with that registry value. For further information about the multiplex protocol versions refer to the “Multiplexer User’s Guide”.
> HdlcWindowSize | 4 | Modules with multiplex protocol version 4 and above use a kind of HDLC framing to secure the data transmission on the virtual ports and avoid data loss at high transfer rates and much data traffic. This registry value provides the possibility to adjust the size of the HDLC window which defines the maximal number of outstanding HDLC packets. It can be between 2 and 7. This Registry value is not mandatory. If it is not added to the Registry the value 4 will be assumed by default. Please note that the value is negotiated with the module.

> The following Registry values in the path
> HKLM \System\CurrentControlSet\Services\winmux2k\Parameters
> are used to configure the TRACE outputs. These values are only valid for the debug version of the device driver.

> Table 7: | Registry values for trace outputs

> Values | Data (Example) | Properties
> DebugBaud | 57600 | Baud rate: used if DebugPort is different from 0.
> DebugMask | 0x0000003 | DebugMask determine, which reports from the device driver are printed to the DebugPort. Masks: 0x0000001 Errors 0x0000002 Warnings 0x0000004 Information’s 0x0000008 PnP 0x0000010 Power management 0x0000020 Data control commands 0x0000040 Open/Close/Cleanup 0x0000080 Dispatch Device Control 0x0000100 Dispatch Read/Write 0x0000200 Submit control requests 0x0004000 framed data read/write 0x0008000 frequently traces submit/wrsupport The mask 0x7 means, that all three traces are on. The next masks are only for driver checks and represent internal variables and states of the serial Multiplexer Device driver. 0x0001 0000 Frame information, send and receive 0x0002 0000 Frame information, HDLC 0x0004 0000 Status information from virtual channels 0x0008 0000 Status information from Multiplexer control channel 0x0010 0000 Output Names from WinMux2k functions 0x1000 0000 traces how and because a Request completed 0x2000 0000 traces V.24 signals and change of these signals 0x4000 0000 traces, in which state is the parser for scanning the +++ sequence 0x8000 0000 traces states for scanning a Frame
> DebugPort | 0x0 | 0 Output from the driver is redirected to the kernel debugger. (default value) 1...4: Output is redirected to a COM port