S-Link Device Driver Download

Last Update: February 2, 2003

The Software

The device driver packages available for download below contain a linux device driver produced by Brian to utilize the parallel port to read and write S-Link (a subset of control-A1) and IR command code data to Sony consumer stereo audio/video components using the Mendelson-like encoding of the Control-A1 bus. The various distributions indicate which major kernel revisions they will function under. An effort may be made to provide some limited enhancement to the legacy 2.0 driver, however at this time the 3.0 driver and a linux 2.4.x kernel is strongly recommended for the most robust functionality. Most likely portability to other PC unix platforms is straight forward, but it has not been tested. We would be quite interested in news of any successful implementations under other (older) kernels or on other platforms.

We're distributing the driver mostly because we haven't seen anything nearly as good available for free experimentation with S-Link and Control-A1. A quick read through the headers and README will tell you everything you need to know about how to set up and use the device. If you have the luxury of working off the console, enabling the console packet log (driver versions 1.0 and 2.0) or using the logger tool (driver version 3.0 only) offers a unique insight into how the hardware communicates. It's also a great way to debug code that is behaving strangely and learn about the idiosyncracies of the various hardware.

The driver and the simple examples included are distributed under the GNU Public License. Use them at your own risk and please pass back any improvements to the source (Jeff or Brian) so they can be shared with all.

Due to the strong interest this site has generated I have long promised to post our first jukebox for the slink device driver (This is the text based version which appears on the jukebox project progress page). So, after much stalling I finally got it packaged up with some instructions. Without further delay, here it is! You may want to skim the README before trying to set things up, since there are a few quirks left in the code.

Please refer to this README for the most current copy of the ANSI jukebox instructions and installation notes. The version in the distribution packages is not updated with the troubleshooting help that gets added with each new set of email questions.

ANSI Jukebox Distribution Packages
Release
Version
Status Archive Revision Notes and Features
1.0.0 Historical jukebox-1.0.0.tgz July 31, 2002. Initial release to public.
The authors recommend downloading a newer version.
1.0.1 Historical jukebox-1.0.1.tgz September 1, 2002. Minor changes to installation scripts and fixes for other Linux distributions.
The authors recommend downloading a newer version.
1.0.2 Current jukebox-1.0.2.tgz October 27, 2002. Minor changes and fixes for still more Linux distributions.

Device Driver Distribution Packages
Release
Version
Status Supported
Kernels
Archive Revision Notes and Features
1.0 Historical 2.0.x slink-1.0.tgz Initial distribution, obsolete and superceded.
The authors recommend downloading a newer version.
2.0 Compatible 2.0.x
and
2.2.x
slink-2.0.tgz The version 2.0 driver includes the addition of IR command code support and should otherwise be a transparent replacement for the 1.0 driver.
The 2.0 driver is maintained for compatability with 2.0.x and 2.2.x kernels only. New features are not included in this version of the driver
3.0 Current 2.4.x slink-3.0.5.tar.gz
slink-3.0.5-1.src.rpm
The version 3.0 driver represents a major low level recode to work with the new interrupt control functionality in the 2.4.x kernel distribution.

As an added incentive to make the switch, the driver has been reworked in the kernel space to allow the use of CPU cycle count rather than usecond time stamps for data decoding. This is a theoretical improvement on slower machines (486 class). The end user will see this as a reliability improvement to an effective error rate of less than 0.002% (1 bit in 2,000,000 or so)

Additional core functionality changes include support for up to 8 parallel ports, multiple simultaneus access from different programs, and SMP awareness.

Important note: The 2.4.18 kernel has a known bug that disables interrupts on the parallel port. This prevents the driver from functioning. Brian has provided a patch which corrects the problem or you can just avoid the 2.4.18 and use the 2.4.19 kernel distributions.

The latest version of the driver is also available as a precompiled binary package for Red Hat 8.0's stock 2.4.18 kernel. This package slink-3.0.5-1.i386.rpm will ONLY WORK ON A STOCK, FROM THE CD, INSTALLATION OF THE WOODY 8.0 RED HAT DISTRIBUTION! If you have updated the kernel or libraries from the stock 8.0 distribution, download the source RPM and rebuild on the platform of your choice.

3.0 Beta 2.4.x slink-3.0.10-3.tgz
slink-3.0.10-3.src.rpm
This is the current development version of the driver. It's recommended you use the 3.0.5 version of the driver until this version receives more testing.

Thanks for all the support, good luck with the driver and jukebox, and keep in touch. -Jeff

Back to S-Link Main Page.