USB Gadgets awaiting testing with <a href="http://www.navaho.co.uk/digital-signage-player.html" title="MediaCAT Digital Signage Player">MediaCAT</a> 4
We've been very busy over the last few months putting together MediaCAT 4, which sees a major revamp to our player hardware with a whole host of new features added to the player OS and web interface and scheduling software. As the release deadline looms on the horizon, the dreaded T word is being muttered in hushed tones in the technical department - TESTING!

As any techie will tell you, testing is the most tedious, but also the most essential part of the product development process. Advanced Digital Signage players like the Navaho MediaCAT are complicated beasts to test, since they rely so much on a combination of the software and the hardware even for the most basic tasks such as playing a video - what works on one player with a certain screen plugged in may not work on an identical player with a different type or size of screen.

To complicate matters further, MediaCAT has always supported external devices for providing display information (Freeview TV, Video inputs, GPS), to allow users to interact with the system (push buttons, interfaces to Taxi and Bus systems, touch screens) and to allow the MediaCAT to control external devices as part of a playlist (lights, projector screens etc).

In the past we have used a wide variety of devices connecting to the player via a number of different interface buses - PCI (Full, Mini and Express), Serial, Parallel Port, GPIO interfaces, USB and in one case even I2C via the VGA port!

One of the nice things about older style interfaces such as Serial, Parallel and GPIO is that they have been around since the dawn of modern computing, so reading/writing to simple devices plugged into them is easy and well supported on all hardware platforms. Even the higher bandwidth devices, such as TV/Video capture cards plugged into the PCI bus, have been around for many years and are very well supported under Linux.

The new MediaCAT4 hardware is part of a new breed of computing platform where the CPU and graphics chipset are combined in one package and the south bridge IO chip no longer provides any of the legacy IO interfaces. Whilst this greatly simplifies the hardware and reduces confusion for the user - any of the 6 USB ports can be used for any peripheral that needs to be plugged in - it does pose a few problems for us in terms of supporting some external hardware.

USB devices can be broadly split into two catagories - standards compliant and proprietary. As you might imagine, the standards complaint devices are easy to use and usually work 'out of the box' and the proprietary ones usually require a lot of blood, sweat and emails to the vendor to get going.

Standards compliant USB devices are, like the easy to use legacy ports, usually low-bandwidth devices which either use an emulated serial port, or the HID (Human Interface Device) specification. These kinds of devices include keyboards, remote controls, Digital I/O interfaces, GPS receivers and touch screens. Due to the way the MediaCAT works, almost all HID devices will be auto-detected and will work straight away with the MediaCAT, allowing you to use virtually any keyboard, remote control or touch screen.

Proprietary USB devices unfortunately provide the most requested features such as Freeview TV and video capture. There are hundreds of these devices on the market, using a wide variety of different video decoder and USB interface chipsets. In many cases, the manufacturers only provide basic Windows drivers and refuse to release any information that would allow Linux developers to add support for them.

Fortunately for us, with Linux becoming more widely used and accepted, some developers are now releasing information that allows drivers to be written - and the Linux kernel supports a huge variety of devices now. Once we do have a device working, tested and certified for use on the MediaCAT, we always have to keep an eye on availability, since some devices are only built for one batch run and are superseded in as little as 6 months.

MediaCAT 4 brings new hardware, a new kernel, a new operating system and whole range of new features, which means every device we support is going to have to be thoroughly re-tested and re-certified for use. With such a wide range of devices to check and test, it's no wonder the techies dread the shift from design to testing!