Understanding the USB logger modes

The 6510USB logger can be set to use either of its two modes of operation and the logger remembers which mode it has been set to, even when powered off. It is essential that the WL software is set to look for data arriving in the same mode that the logger hardware is actually set to send. These two modes are:

  • Virtual Com Port (VCP) mode, which is actually a serial mode;
  • USBXpress (USBX) mode, which is a native USB-based mode;

Important: Both VCP and USBX modes follow the same convention as most USB devices in that their drivers are only loaded and active while the logger is plugged into a USB port on the PC. There is no point trying to troubleshoot USB logger communications if the logger is not connected to the PC. Once the drivers for the USB logger have been correctly installed and configured in an initial set-up then whenever the logger is subsequently connected to the same PC a typical USB message will pop up within a few seconds to the effect that the new USB device has been recognised and is ready for use. (The exact wording etc of this message will vary with the Windows version.)

VCP Mode

VCP mode – often referred to as Serial/VCP mode below to underline that it is a serial mode – was the only mode available until the Weatherlink v5.8 software was released and is therefore likely to be the more familiar mode for previous WL users. Serial/VCP mode has no disadvantages and is also the only mode that most third-party Davis-compatible software can use, so it’s best to resist the temptation to set the Communications Port type to ‘USB’ in the dialogue above, intuitive as it might seem to use the USB setting. (Or is it already too late?)

In Serial/VCP mode, a driver utility (which is actually a completely separate program from the WL software) intercepts data arriving from the logger on the PC’s USB port, transforms this data and then presents it to the client program (ie the WL software in this instance) as if the data were arriving on a serial port. (The terms ‘serial port’ and ‘Com port’ tend to be used interchangeably.) Clearly, this serial port is not a real physical serial port, but instead is a simulated or virtual com port (VCP). In this VCP mode the data looks to the WL program as if it is actually arriving on a com port, albeit a virtual one, and this is why the WL interface option needs to be set to Serial even though the logger type is USB.

It is vital that the VCP cannot be confused with any real com ports that the PC may already possess and so every VCP that the driver creates is given a unique com port number (eg COM5) which will not conflict with any existing com port number. Note that the driver typically generates the comport number for the new VCP automatically and the number chosen will depend on how many physical serial ports are already present on the PC and also on various other factors to do with the PC’s hardware configuration. For this reason, it is typically not possible to predict what com port number might be assigned to the WL logger on a given PC. It is usually something fairly sensible like COM3 or COM5, but can very occasionally be an unexpectedly high number like COM13.

Although the assigned com port number is not readily predictable on an individual PC, once a number has been assigned to the USB logger on a particular PC then this number will persist indefinitely, unless there are significant changes to the PC hardware. (This is just as well, else using VCP mode could be troublesome, ie if every time the PC was rebooted the logger was assigned a different port number.)

Because the VCP number is not readily predictable, software needs a way of locating the logger without the user having to try each and every potential com port number manually. Therefore ever since the 6510USB logger was introduced, which coincided roughly with the release of WL v5.6, the ‘Communications Port’ dialogue on the main Setup menu of WL has had an Autodetect button which, when clicked, runs automatically through all the possible com port numbers on that PC to see if a logger is visible on that com port. (There is another way of establishing the VCP number in use through Windows Control Panel, which is described elsewhere.)

It is worth being aware of a couple of limitations on the VCP number that can be used:

  • WL v5.6 could only see ports from COM1 to COM10; v5.7 and subsequent versions can see up to COM18;
  • When used under Windows Vista, only ports from COM1 to COM4 may work reliably. This is a driver limitation;

It’s hopefully clear from the description above that the VCP driver program plays a central role in how WL’s VCP mode works. If the VCP driver is not correctly installed or configured then VCP mode cannot work. To reiterate, the VCP driver is a completely separate program from the Weatherlink program and it is written not by Davis at all but by the company that manufactures the particular chip in the logger that generates the USB output from the logger. (In the case of the 6510USB logger this chip maker is a company called Silicon Labs.)

Davis do supply a version of the VCP driver on the Weatherlink CD and in recent WL versions this should install automatically with the main WL program install. However, VCP driver installation is not always foolproof, especially with previous WL versions, and problems with getting VCP mode working correctly are often caused by a failure of the VCP driver install. For this reason, it is always worth updating Weatherlink to the latest available version in order to ensure that the most recent driver is installed.

USBXpress Mode

USBX mode is a distinct interface mode to VCP and has one potential advantage over VCP in that theoretically it should be simpler to install. (Possibly there may also be better resistance to interference but this has never been confirmed.) The key practical difference is that the interface into the Windows software environment is as a USB-compatible USBXpress port rather than as a COM port. This difference is evident by looking at Windows Device Manager on a PC with a 6510USB logger is connected – whereas a logger in VCP mode shows up in the Ports (COM and LPT) section, a logger in USBX mode appears in the USB Controllers section.

But, whatever the potential advantages of USBX, crucially it provides a different interface type into the WL program and if the logger output mode is USBX then the WL program input mode must also be set to USB. Conversely, if the logger output mode is VCP then the WL program must be set to look for serial data. Using mismatched logger output and program input modes is guaranteed to cause communication problems.

It seems that USBX operates in broad terms in an analogous way to VCP in that it installs a device driver to receive the USB data stream from the logger and to present it to the WL program via a USBX interface.The difference is simply that USBX mode requires a USBX driver to be active while VCP mode requires a matching VCP driver.

Checking which logger mode is active

There are three basic ways to try to check which mode the logger is currently set to:

  • Select the ‘Serial’ option in the Communication Port dialogue and click the AutoDetect button. If serial is active then AutoDetect should return a valid Com Port number. If no Com Port is found then USBX mode may be active (or there may be another issue).
  • Try running the ‘CP210X USB to Serial Converter’ utility (see next main section below). If this runs successfully then it may confirm that the logger is already in serial mode or, alternatively, may correctly switch it to serial mode.
  • Inspect the ports and USB devices in Windows Device Manager – see next subsection below.

Using Device Manager to confirm the loaded USB driver

Windows Device Manager is accessed by drilling down within Windows Control Panel, but the exact steps will vary with the version of Windows in use, although it should be fairly straightforward to find. If this sounds too unfamiliar then try to get help from someone who might know.

There are three scenarios:

1. If the logger is trying to use Serial/VCP mode then an entry will be visible under the Ports (COM and LPT) sections of the Windows Device Manager, which will look something like this:

The line beginning ‘Silicon Labs’ indicates that the logger’s Serial/VCP driver is loaded and hence implies that the logger is outputting in this mode. (NB The exact appearance of this Ports section will vary with the PC’s hardware specification and with any other VCP drivers that may be loaded. Also, the COM port number – COM3 – will vary with the individual PC, but the port number displayed here is the same port number that the WL program should be using to contact the logger. The program should pick up this port number automatically when the ‘Auto Detect’ button is clicked, but may be entered manually if required.)

2. If there’s no sign of the Silicon Labs entry in the Ports section then look instead at the ‘Universal Serial Bus controllers’ section of Device Manager, which is typically the last one of all the Device Manager sections. On modern PCs this section will have a lot of different entries, but – again typically right at the bottom – you may be able to see an entry for ‘USBXpress Device’ as in the example right:

If this USBXpress entry is present then this indicates that the logger is set to use USBX mode and the WL ‘Communications Port’ type should be set to ‘USB’.

Comment: Generally speaking, once the WL software has been installed and the USB logger connnected, you should be able to see an entry either as in [1] or as in [2] above. Then provided the WL ‘Communications Port’ type has been selected appropriately, ie Serial for [1] or USB for [2], you should be able to achieve communications with the logger. If not then look at scenario [3] below.

NB It’s very unlikely that you will see entries for both [1] and [2] simultaneously. As you switch the logger between VCP and USBX output modes (see below) so the deactivated driver unloads and its entry disappears from Device Manager and the new mode’s driver loads automatically and its entry is inserted in the appropriate place in an updated Device Manager view.

Remember: The driver is only loaded (and hence visible within Device Manager) when the USB logger is plugged into the PC. As the logger is plugged and unplugged, so the driver entry will appear and disappear from the Device Manage listing (allow 10-20 seconds for the change to be recognised and the listing updated).

Also, if one or other of the drivers can be seen but has a yellow exclamation mark beside it then it suggests that the driver has been installed correctly but something in that particular PC’s configuration is preventing it from functioning normally – perhaps another USB device has been installed on the same PC that uses a similar driver, for instance, or maybe it’s a permissions issue.

3. But if neither of the entries in [1] or [2] can be seen, then neither driver has loaded and this will be the reason why logger communications have failed. It’s then theoretically a question of whether the relevant driver has never been properly installed (maybe because that step in the WL program installation did not complete successfully) or perhaps the driver did install but is not functioning or not configured correctly. But in practice what’s likely to be needed is a reinstall of the relevant driver.

An an added check on whether or not the relevant driver has been installed, you can look in Windows Control Panel in the Add/Remove software section (or the corresponding place in different Windows versions, eg ‘Programs and Features’ in Vista). The image below shows a PC where both drivers are present. (Silicon Laboratories being the company that actually writes and supplies the drivers). Be careful just to look at these entries and not to click on them, which will start the process of uninstalling the drivers.

If you can’t see an entry for the driver of interest (or have simply decided to reinstall the driver in the hope of fixing a problem) then you need to install it manually. If you have updated your WL installation to eg v6.0.3 (or whatever might be the latest version) as suggested above then this will have created copies of the relevant drivers within the main Weatherlink folder in the C:\Weatherlink area.

For the Serial/VCP driver then you’ll need to look in the Support\Drivers subfolder of the main WL folder and the VCP drivers will be found in the ‘USB to UART Drivers’ subfolder. There may typically be more than one such subfolder visible, corresponding to different driver versions. This can happen because a downloaded Weatherlink update will sometimes also contain a new driver version and this will typically be placed in a new driver subfolder with a different version number. In general, the latest driver version visible is obviously the one to choose if installing manually.

There may also be a still more recent version of the driver available from the originators of the drivers (Silicon Labs in this instance) who update their drivers from time to time to add new features or to fix bugs and make them available from their own SiLabs website. However, Davis only adds the latest driver version to the WL distribution after it’s taken time to thoroughly test the new driver with Weatherlink, which can sometimes take a period of months. As a result, a new driver version will typically be available from the SiLabs website before it’s approved and distributed by Davis, but there is of course no guarantee that the non-Davis-approved version will work faultlessly with Weatherlink, although it usually will.

To install a new copy of the Serial/VCP driver should simply be a matter of running the driver installation executable (using an account with Admin rights).

Switching between VCP and USBXpress Modes

The 6510USB is able to have its output mode switched between Serial/VCP and USBX modes by means of commands sent from the PC. The default logger output mode is Serial/VCP, ie requiring the VCP driver to be active on the PC and with data reaching the WL program via a virtual serial port. So when a new 6510USB logger is first connected up, it is Serial/VCP mode that will be active unless the logger is explicitly switched into USBX mode. The logger will always remember the output mode last used and will always resume in that same mode until it is explicitly switched to the alternative mode.

Because Serial/VCP is the default mode for new loggers, if the Communications Port option in the WL Setup menu is set to ‘Serial’ in a new WL installation – and also assuming that the WL program and VCP driver installed cleanly – then clicking the ‘Auto Detect’ button in the ‘Communications Port’ dialogue should automatically be able to find the VCP port number to which the WL logger has been assigned. (If not then a troubleshooting process needs to be initiated.)

However, if the USB option in the ‘Communications Port’ dialogue is selected then this will begin the process of switching the logger into USBX mode. Only select the USB option if you’re clear about the implications of doing so. Serial/VCP mode works perfectly well for most installations and is very much the best and recommended choice for new users of the USB logger.

But if you do proceed and click the USB option the next thing that happens is that a warning dialogue displays that gives you a chance to back out of the USB selection – see right.

If you OK this dialogue (ie rather than using the Cancel button) then the WL program sends a command to the USB logger assigning it a unique ID number that will be used for any subsequent USBX communications. (The implication is that this ID assignment happens only the first time that the USB command is sent and the logger remembers the number thereafter.)

A successful switch into USBX mode is signalled by the dialogue box right. For some reason, this switch into USBX does not always complete successfully (ie the success message above does not appear). It may be necessary to retry the process two or three times. Only when you have seen the success message can you be confident that the logger definitely has been set to USBX mode.

Switching back from USBX to Serial/VCP modes is a slightly more tricky task. In theory you might imagine that selecting Serial rather than USB in the WL ‘Communications Port’ dialogue ought to be able to send the necessary command to the USB logger to switch back into Serial/VCP mode. But whether or not this ought to work, in practice it doesn’t work. The only way of returning to Serial/VCP mode seems to be to use a special separate utility, which is now included by default in the standard WL v5.8.2 and later installations and is called the ‘CP210X USB to Serial Converter’. On more recent WL versions this utility will be found as a separate menu option within the main Weatherlink menu item – that’s the WL menu on the Windows Start button, not inside the WL program itself. The utility is also available as a standalone download from the Davis support website.

Running this utility should bring up a very simple DOS-type text window, which only requires a single key press to send the necessary command to the logger and which should then report the results. Provided the utility can ‘see’ the logger it will report that either the logger is already in the Serial/VCP mode or that it has now been converted to that mode. Any other result suggests that there’s a more fundamental communications problem, eg a driver not properly installed, a faulty USB port etc.

If you’re in any doubt as to whether the logger is in Serial/VCP mode or not (eg there’s a possibility that you may have inadvertently set it to USBX mode some time before) then it’s worth running this utility, first to confirm that the logger can be seen and second to place the logger unambiguously in Serial/VCP mode.

Feedback

Was this helpful?

Yes No
You indicated this topic was not helpful to you ...
Could you please leave a comment telling us why? Thank you!
Thanks for your feedback.

Post your comment on this topic.

Post Comment