- Philips Speech Extensions guide
- Troubleshooting G13 Philips Speech Extensions
Troubleshooting G13 Philips Speech Extensions
If you experience any issue, the best way to get help is to contact us via support.speech.com and add all details of your particular setup.
In the following sections, we describe problem solving approaches which can be followed by end-users, admins or partners without contacting our support.
Verifying installation
Target
On the Target, nothing needs to be installed since G13 target side extensions are integrated to Philips Hardware SDK components directly. However, after launching your dictation software, you can look up a process called PSPDispatcherS.exe in Task Manager:
If this process is running, you installed/copied everything properly on both the target and the client side.
If PSPDispatcherS.exe is not running, there might be an access rights issue. Depending on the way the dictation software is integrating Philips SDKs, PSPDispatcherS.exe might be located in the 32-bit system folder. The user must be allowed to start the process from there.
Note
PSPDispatcherS.exe is not supposed to run when you´re using Full USB redirection (thus not having installed any Philips extensions on the client), or when the session is disconnected.
If you find a process called PSPDispatcher.exe (without ‘S’), you have still old Philips server extensions installed and running on your system. Please uninstall these old drivers properly by downloading Philips Speech Extensions package and running \3_SDK_upgrade_patch\registered\philips_sdk_upgrade.exe
.
By running philips_sdk_upgrade.exe
a multitude of factors are checked and executed:
Old Philips Speech server extensions are removed.
All registered Philips Hardware SDK components are upgraded.
These new components inherently contain the server side control extensions (for buttons and LEDs) and auto-detect whether you´re running Citrix, VMware, WTS/RDP or locally. The local use case is detected in case no Philips client extensions are installed, which might be useful in case of full USB redirection.
Note
If other software relying on old Philips Speech server extensions is running on this machine, philips_sdk_upgrade.exe
might break Philips dictation device related remote session functionality of that software under following circumstances:
That other software is integrating Philips Hardware SDK (e.g. SpeechMike SDK) and
Philips Hardware SDK is integrated by that other software in a side-by-side fashion and
Philips Hardware SDK´s version used by that other software is lower than 4.4.441
You would notice that in such a software, button events would not arrive anymore (among other Philips dictation device related functionalities). You can fix this by following these steps:
Find the installation path of the other software. Locate folders named
Philips.SpeechMike
orPhilips.DPMControl
or both right next to the application´s executable.Copy files from
\3_SDK_upgrade_patch\sxs\[bitness]\[used SDK]
to the respective folders. The bitness must match the other software´s bitness.
For Enterprise environments, it´s possible to run philips_sdk_upgrade.exe
via command line. The following parameters are supported:
Parameter | Description |
---|---|
| Silent installation (no UI) |
| Uninstall |
| Repair |
| Log combined setup. This is path to a file. The folder must exist. |
| Log embedded setups. This is a path to a folder. The folder must exist. The embedded setup for the 32 bit components logs to "{100D881C-DF57-4F34-AD13-F7D6091B6B3B}.log" The embedded setup for the 64 bit components logs to "{700565C9-248D-46D7-AD5F-D3AC8F62D203}.log" The embedded setup for the SpeechAir SDK upgrade logs to "{7C9D3AC6-3674-4F3C-9CF4-BBABB21F57B4}.log" |
Note
If philips_sdk_upgrade.exe
run via command line does not find any Philips components to be upgraded, it will not install anything and exit.
Windows clients
Verify that Philips client extensions are installed, and the version is equal to or higher than 4.4.441.30:
Note
If you are using Full USB redirection or if you use the Device splitting method for redirecting the Philips dictation device´s control interface, you must not install Philips client extensions (see Introduction for more details).
If you´re running Citrix, you can also check whether the Philips virtual channels are properly registered. Under HKLM\SOFTWARE\WOW6432Node\Citrix\ICA Client\Engine\Configuration\Advanced\Modules\
you should find the following registry keys:
PSPA:
Philips audio channel, only used by Philips SpeechExec Enterprise and SpeechExec SDK integrationsPSPM:
Philips mixer channel, only used by Philips SpeechExec Enterprise and SpeechExec SDK integrationsPSPS:
G13 Philips control channel for redirecting buttons and LEDs, used by any Philips software supported in remote environmentsPSPN:
G12 Philips control channel for redirecting buttons and LEDs, installed by G13 client setup for backwards compatibility to target-side extensions < 4.4.441.
Linux clients running Citrix
You can verify that following Philips components are listed in module.ini
located in the base directory of Citrix ICA client:
[PSPHID] LIB_DIR=/opt/Citrix/ICAClient LIB_NAME=libCtxHIDManagaerRemote.so DriverName = VDPSPHID.dll
[PSPHID2] LIB_DIR=/opt/Citrix/ICAClient LIB_NAME= libCtxHIDManagaerRemote.so DriverName = VDPSPHID2.dll
[SpeechMikeAudio] DriverName = VDPSPAUD.dll LIB_DIR=/opt/Citrix/ICAClient LIB_NAME=libCtxSbExtAlsa.so
[SpeechMikeMixer] DriverName = VDPSPMIX.dll LIB_DIR=/opt/Citrix/ICAClient LIB_NAME=libCtxMixerAlsa.so
Virtual Drivers listed above should be also turned on in module.ini:
[ICA 3.0] VirtualDriver = PSPHID, PSPHID2, SpeechMikeAudio, SpeechMikeMixer, […other VD settings…] PSPHID=On PSPHID2=On SpeechMikeAudio=On SpeechMikeMixer=On
Following components have to be installed on Linux clients running Citrix:
Component | Description | Path |
---|---|---|
libCtxHIDManagaerRemote.so | Philips control channel lib for Citrix (responsible for buttons and LEDs) | same as LIB_DIR setting in |
libCtxMixerAlsa.so | Philips mixer channel lib for Citrix (only used by Philips SpeechExec Enterprise and SpeechExec SDK integrations) | same as LIB_DIR setting in |
libCtxSbExtAlsa.so | Philips audio channel lib for Citrix (only used by Philips SpeechExec Enterprise and SpeechExec SDK integrations) | same as LIB_DIR setting in |
libpspusb.so | Philips USB library, responsible for communication between the control channel lib and Philips dictation devices | Standard lib directory ( |
VDPSPHID.dll | G12 Philips control driver for Citrix (responsible for buttons and LEDs) – installed for backwards compatibility to target-side extensions < 4.4.441 | base directory of Citrix ICA client |
VDPSPHID2.dll | G13 Philips control driver for Citrix (responsible for buttons and LEDs) – channel 2 | base directory of Citrix ICA client |
VDPSPAUD.dll | Philips audio driver for Citrix (only used by Philips SpeechExec Enterprise and SpeechExec SDK integrations) | base directory of Citrix ICA client |
VDPSPMIX.dll | Philips mixer driver for Citrix (only used by Philips SpeechExec Enterprise and SpeechExec SDK integrations) | base directory of Citrix ICA client |
DPMMountd | Only when DPMs or SpeechAirs are used: this daemon keeps a symbolic link for attached Philips DPM or Speech Air drive mountpoint under /tmp/PhilipsDPM. These locations are configured in sessions as P and S drives. | Standard bin directory ( |
Logging
It is possible to generate logfiles of all Philips HWSDK and driver components running in remote environments as well as locally. Contact us via support.speech.com to learn which component to log when you are facing issues.
However, if you want to troubleshoot yourself, please follow the sections below, they contain further instructions on how to troubleshoot and how to enable and configure logging on both Windows and Linux platforms.
Windows
How logging for Philips HWSDK and driver components on Windows needs to be configured, depends on the version of the components to log:
Log configuration tool (Philips drivers version 4.6 or later)
Since version 4.6 we provide an UI tool to configure logging. You´ll find this tool in the Philips Speech Extensions package under \4_Logging
.
Logging can be enabled by selecting Error only or Detailed from the Log level selection. When logging is enabled, you can also further configure the tool, e.g. select the path where generated log files are saved or which components to log.
By default, all components are selected when logging is enabled. This hardly affects performance since logging is very fast since version 4.6.
The list of components might be overwhelming, which is why we describe the most important components in the components section.
When you´re done configuring the logging, you can just close the tool – the configuration is saved to a file instantly as you change it.
Note
For configuration changes to take effect, you need to restart the application(s) using the Philips Speech driver components you want to log.
Log configuration files (Philips drivers version 4.5 or earlier)
Any Philips HWSDK or driver component can be logged. You´ll find a description of the most important components in the components section.
Logging for a component is enabled by configuring an .ini
file located at the same path and carrying the same name as the component itself. Here´s the content of a sample .ini
file where logging is enabled:
[LOGInitSettings] Enable=yes File=[absolute or relative path to logfile].log MaxLines=nolimit LogParams=no LogComments=no LogVariables=no Timeout=2000 WrapAtMax=no UseOutputDebug=no FilterFunctions=no FilterVariables=no FilterComments=no
Note
The application must have write-access to the path specified in “File=”.
Please be aware that logging has an affect on the performance and might cause application freezes. Don´t forget to turn it off when finished!
Linux
Following Philips components can be logged on Linux clients running Citrix:
Component to be logged | Log file |
---|---|
Philips USB library (libpspusb) |
|
Citrix audio driver ( |
|
Citrix control driver ( |
|
Citrix mixer driver ( |
|
Here´s the content of a sample .ini
file where full logging is enabled:
# Enable or Disable Enable=y # Filename for LOG file FileName=./psphid.log # enable/disable log function entries/exits LogFunction=y # enable/disable log variables LogVariable=y # enable/disable log comments LogComment=y # enable/disable log events LogEvent=y # enable/disable log errors LogError=y
Furthermore, there are some Philips test tools installed with the drivers which can be used to analyze issues:
Test tool | Description | Path |
---|---|---|
PSPDeviceTest | Philips USB library test tool | Standard bin directory ( |
PSPDiag | Simplified Philips USB library test tool | Standard bin directory ( |
PSPDPMEventMonitor | DPMMountd test tool | Standard bin directory ( |
Components
In this section you'll find descriptions of the most important Philips SDK and driver components.
Target
Component | Description | Path |
---|---|---|
SpeechMike SDK | HWSDK for SpeechMike and Footcontrol device integration (button events, device configuration, LEDs, firmware updates...) Since v4.4.441, Philips server side extension drivers are merged into this SDK | Binary name is If the integrating software is using the SDK in a side-by-side fashion, you´ll find this dll right next to the integration´s executable in a folder called Philips.SpeechMike. If the integrating software is using the SDK registered, you´ll find this dll here:
or here
depending on the bitness of the integrating software. |
DPM SDK | HWSDK for DPM device integration (audio file operations, button events, device configuration...) Since v4.4.441, Philips server side extension drivers are merged into | Binary name is If the integrating software is using the SDK in a side-by-side fashion, you´ll find this .dll right next to the integration´s executable in a folder called Philips.DPMControl. If the integrating software is using the SDK registered, you´ll find this dll here:
or here
depending on the bitness of the integrating software. |
MCI Control | Philips Control driver (responsible for buttons and LEDs) only used by Philips SpeechExec Enterprise and SpeechExec SDK integrations. Since v4.4.441, Philips server side extension drivers are merged into |
|
Dispatcher | The dispatcher brokers communication between any of the components described above and the Philips client extensions | Binary name is It is always installed to the same folder as the Philips Hardware SDK |
Citrix audio redirection server | Target-side audio extension for Citrix only used by Philips SpeechExec Enterprise and SpeechExec SDK integrations. |
|
WTS audio redirection server | Target-side audio extension for WTS/RDP only used by Philips SpeechExec Enterprise and SpeechExec SDK integrations. |
|
VMware audio redirection server | Target-side audio and mixer extension for VMware only used by Philips SpeechExec Enterprise and SpeechExec SDK integrations. |
|
Client
Component | Description | Path |
---|---|---|
Citrix control redirection client ch2 | G13 Philips control extension driver for Citrix clients (responsible for buttons and LEDs, used by all Philips software and 3rd party software integrating Philips SDKs) |
|
Citrix control redirection client ch1 | G12 Philips control extension driver for Citrix clients (installed by G13 client setup for backwards compatibility to target-side extensions < 4.4.441) |
|
Citrix audio redirection client | Philips audio extension driver for Citrix clients, only used by Philips SpeechExec Enterprise and SpeechExec SDK integrations |
|
Citrix mixer redirection client | Philips mixer extension driver for Citrix clients, only used by Philips SpeechExec Enterprise and SpeechExec SDK integrations |
|
WTS control redirection client | Philips control extension driver for RDP/WTS and VMware clients, (responsible for buttons and LEDs, used by all Philips software and 3rd party software integrating Philips SDKs) |
|
WTS audio redirection client | Philips audio extension driver for RDP/WTS and VMware clients, only used by Philips SpeechExec Enterprise and SpeechExec SDK integrations |
|
WTS mixer redirection client | Philips mixer extension driver for RDP/WTS and VMware clients, only used by Philips SpeechExec Enterprise and SpeechExec SDK integrations |
|
DPM mounter service | Only when DPMs are used: Mounts the DPM drive to the target |
|
USB library | Philips USB library, responsible for communication between all control client extensions and Philips dictation devices | Pspusblb is not a file. It is a library statically linked to a lot of other Philips drivers. However, you can log it. Find or place the ini file (see configuration below) in the 32 or 64-bit System folder, depending on the OS bitness. |