Last update: April the 28th, 2004
I Introduction
This project is a part of the TiLP project...
If you are searching a driver for the new TI's USB cable (aka SilverLink cable), see the LPG...
There was already a Linux kernel module for handling the link cables
such as the home-made parallel, the home-made serial cable and the
Black-link cable.
This module, named 'tidev' was available for the 2.0 & 2.2 kernel
on the ticalc.org site, Unix
section
of the file archives.
Nevertheless, this module was not very portable and is now
old/obsolete.
Then, I have decided to develop my own Linux modules from scratch and based on a different way: I do not use low-level I/O instructions for handling the protocol but I use the hardware abstraction layer (when available) for doing this.
For this, I have developed 2 kernel modules:
- one for the home-made parallel link cable: the 'tipar' kernel module,
- the other one for the home-made serial link and/or BlackLink cable:
the 'tiser' module.
These modules work on 2.4 and 2.6 kernels.
They have devfs (Device FileSystem) support, a new
management method of the /dev directory and its entries which have been
introduced
in the 2.4.x kernels.
Devfs is still experimental (even in 2.4.7 kernels) but works fine on
my machines. If you want enable it, read the documentation carefully.
Your machine may not restart...
II The home-made parallel link cable
This module is finished and has been submitted to the Linux Kernel
Mailing List for approval. It has been included in kernel 2.4.21 and
2.5.43.
It works fine with applications (such as TiLP, GtkTiEmu, ...) which use
the libticables (via the 'tidev' layer of the libticables).
tipar kernel module, version 1.19: download it here.
III The home-made serial link & the BlackLink cables
This module is finished and has been submitted to the Linux Kernel
Mailing List for approval. I think that it will not be included in the
kernel for some technical reasons.
At the time being, I do not use any hardware abstraction layer for this
module (raw access).
It works fine with applications (such as TiLP, GtkTiEmu, ...) which use
the libticables (via the 'tidev' layer of the libticables).
tiser kernel module, version 1.20: download it here.
Note: this module is not intended to be used with the GrayLink. The
GrayLink don't need a such driver (RS232).
IV Status
- All modules are finished !
- I requested official major numbers for these devices to John Cagle
and I finally got them... These majors are shared among
tipar/tiser/tiusb. As a consequence, you can only load one of these
modules at a time.
V To do...
Submit tiser to the kernel tree. This may require some amount of
work
(use line disciplines)...
V Kernel documentation
A complete tarball
which contains:
- Kernel Module Programming Guide (html)
- Linux Kernel Internals (pdf)
- Linux Kernel Module Programming (pdf)
The world famous O'Reilly press editor just released a book on
kernel programming
: 'Linux Device Drivers'.
It's available as an e-book (pdf) but it's better to buy the paper
book...
Well, it's more up-to-date than the previous tarball.
---
Romain Liévin (roms), developer, <roms@tilp.info>
Julien Blache (jb), Debian packager, <jb@jblache.org>