history
The driver started as an out-of-tree project based on ISDN4Linux, the ISDN subsystem of the Linux kernel series 2.2 and 2.4. It was adapted to kernel 2.6 after ISDN4Linux became available there, too. Development continued out-of-tree until release 0.5.1 in 2006.
In 2006, the driver was submitted for inclusion in the official Linux kernel, and accepted for kernel release 2.6.17. Because of design issues with the ser_gigaset module for the M101 serial DECT adapter, that module was not included in the submission. This and the following kernels therefore only supported the USB connected devices (base and M105). A last out-of-tree release 0.5.2 for older kernels was published in 2007, as well as a special release 1.0.0 for adding the missing ser_gigaset module to kernels 2.6.17+.
The M101 driver module ser_gigaset was subsequently redesigned and accepted for kernel release 2.6.21. Starting with that release, all Gigaset drivers are part of the standard kernel.
So far, the Gigaset driver had been exclusively ISDN4Linux based. In 2008, prompted by the obsolescence of ISDN4Linux, work was begun to create a CAPI 2.0 interface. This was accepted as an experimental feature for Linux kernel release 2.6.33. Two releases later, in 2.6.35, it has reached a state where it is fully usable for CAPI applications and, with the help of the glue driver capidrv, for ISDN4Linux applications as well, so it can completely replace the original ISDN4Linux version. The necessary fixes have also been backported to stable release 2.6.34.2.
recent kernels
Starting with kernel release 2.6.34.2, it is recommended to use the driver with the Kernel CAPI 2.0 interface by building it with the kernel configuration option GIGASET_CAPI set to 'y'. These kernels are considered current, and not covered on this page. Refer to the recent kernel driver page for information on how to use the Gigaset driver with them.
kernel releases 2.6.21 to 2.6.34.1
These kernel releases already contain all Gigaset drivers as part of the standard kernel source tree. All major distributions ship a kernel with the Gigaset drivers compiled as modules, so you can use the device with ISDN4Linux or the front-end tools right away.
If you compile a kernel yourself, you can select the Gigaset drivers you want built, and whether you want them built as modules or linked directly into the kernel, in the drivers' kernel configuration section:
Device Drivers ---> ISDN Support ---> Old ISDN4Linux ---> Siemens Gigaset support
(Starting with kernel release 2.6.31, the section has moved up one level and is now located on the same level as "Old ISDN4Linux".) There you can also change the configuration options:
- GIGASET_CAPI to enable CAPI 2.0 support (present starting with release 2.6.33, not recommended for releases before 2.6.34.2)
- GIGASET_DEBUG to enable debug messages (recommended except for systems with very limited resources)
- GIGASET_UNDOCREQ to enable extended M105 commands not documented by Siemens (until release 2.6.30; starting with release 2.6.31, extended M105 commands are always enabled)
kernel releases 2.6.17 to 2.6.20
These releases contain only the support for the USB connected devices, ie. the direct connection to the Gigaset base (bas_gigaset) and the M105 (usb_gigaset). For these, the explanations in the preceding sections apply.
Release 1.0.0 of the Gigaset driver which provides the missing M101 driver ser_gigaset is still available for these kernels. We do however recommend that you use a newer kernel release instead which already includes that module.
kernel releases 2.6.16 and older
The last out-of-tree driver release 0.5.2 is still available for installation on older kernels. It works on Linux kernels 2.4 and 2.6.4 through 2.6.16 and at least compiles on later 2.2 kernels. We do however recommend that you use a newer kernel release instead which already includes the driver.
If you must use the devices with an older kernel, you can find matching sources, source rpm packages, and some binary packages at the project file list.
rpm packages
There are rpm packages for some older kernels in the
project's
download area.
You can only use binary packages matching your kernel version and
distribution.
I.e. use
gigaset-driver-0.5.2-1-suse90.i586.rpm
and
gigaset-modules-2.4.21-297-default-0.5.2-1-suse90.i586.rpm
iff you use SuSE 9.0 and uname -r
prints
2.4.21-297-default.
For installing an rpm package, you can type
rpm -ihv NAME.i586.rpm
,
for upgrading to a newer version, use
rpm -Uhv NAME.i586.rpm
.
Please have a look at your documentation directory (e.g.
/usr/share/doc/packages/gigaset-driver)
for information about configuration of the drivers.
Note that the packages are split into a driver package and a kernel module package, which allows installation of modules for different kernels (and avoids a dirty hack regarding the release number).
source rpm
If you want to create rpm packages from the source rpm, you should
ensure to have a file .rpmmacros
containing a suitable %_topdir
definition in your home
directory:
cd echo "%_topdir $HOME/rpm" >> .rpmmacros mkdir rpm cd rpm mkdir BUILD RPMS SOURCES SPECS SRPMS
For building the rpm packages ensure to have installed the usual development tools (as gcc and GNU make) and the kernel sources (and kernel symbols for SuSE 9.1 or later) and execute
rpmbuild --rebuild NAME.src.rpm
or if you need to configure the M105 (needed only for gigaset-driver)
rpmbuild --rebuild NAME.src.rpm --with undoc
Note that you must install the driver before you can build the front-end tools gigacontr and gigaconf (package gigaset-frontend).
You can install the rpm packages (~/rpm/RPMS/) as described above.
compiling from the sources
If you have to compile the sources, get one of the tar archives,
unpack it with
tar xzvf NAME.tar.gz
or
tar xjvf NAME.tar.bz2
and follow the instructions from the appropriate driver README file:
for kernel 2.6.16 and earlier, use
the one in the
gigaset-driver-0.5.2 directory;
for kernel 2.6.17 and later,
the one in the
gigaset-driver-1.0.0 directory.
Note that you must install the driver before you can build the front-end tools gigacontr and gigaconf (package gigaset-frontend).