329 lines
		
	
	
		
			13 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			329 lines
		
	
	
		
			13 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
GigaSet 307x Device Driver
 | 
						|
==========================
 | 
						|
 | 
						|
1.   Requirements
 | 
						|
     ------------
 | 
						|
1.1. Hardware
 | 
						|
     --------
 | 
						|
     This release supports the connection of the Gigaset 307x/417x family of
 | 
						|
     ISDN DECT bases via Gigaset M101 Data, Gigaset M105 Data or direct USB
 | 
						|
     connection. The following devices are reported to be compatible:
 | 
						|
 | 
						|
     Bases:
 | 
						|
        Siemens Gigaset 3070/3075 isdn
 | 
						|
        Siemens Gigaset 4170/4175 isdn
 | 
						|
        Siemens Gigaset SX205/255
 | 
						|
        Siemens Gigaset SX353
 | 
						|
        T-Com Sinus 45 [AB] isdn
 | 
						|
        T-Com Sinus 721X[A] [SE]
 | 
						|
        Vox Chicago 390 ISDN (KPN Telecom)
 | 
						|
 | 
						|
     RS232 data boxes:
 | 
						|
        Siemens Gigaset M101 Data
 | 
						|
        T-Com Sinus 45 Data 1
 | 
						|
 | 
						|
     USB data boxes:
 | 
						|
        Siemens Gigaset M105 Data
 | 
						|
        Siemens Gigaset USB Adapter DECT
 | 
						|
        T-Com Sinus 45 Data 2
 | 
						|
        T-Com Sinus 721 data
 | 
						|
        Chicago 390 USB (KPN)
 | 
						|
 | 
						|
     See also http://www.erbze.info/sinus_gigaset.htm and
 | 
						|
              http://gigaset307x.sourceforge.net/
 | 
						|
 | 
						|
     We had also reports from users of Gigaset M105 who could use the drivers
 | 
						|
     with SX 100 and CX 100 ISDN bases (only in unimodem mode, see section 2.4.)
 | 
						|
     If you have another device that works with our driver, please let us know.
 | 
						|
 | 
						|
     Chances of getting an USB device to work are good if the output of
 | 
						|
        lsusb
 | 
						|
     at the command line contains one of the following:
 | 
						|
        ID 0681:0001
 | 
						|
        ID 0681:0002
 | 
						|
        ID 0681:0009
 | 
						|
        ID 0681:0021
 | 
						|
        ID 0681:0022
 | 
						|
 | 
						|
1.2. Software
 | 
						|
     --------
 | 
						|
     The driver works with ISDN4linux and so can be used with any software
 | 
						|
     which is able to use ISDN4linux for ISDN connections (voice or data).
 | 
						|
     CAPI4Linux support is planned but not yet available.
 | 
						|
 | 
						|
     There are some user space tools available at
 | 
						|
     http://sourceforge.net/projects/gigaset307x/
 | 
						|
     which provide access to additional device specific functions like SMS,
 | 
						|
     phonebook or call journal.
 | 
						|
 | 
						|
 | 
						|
2.   How to use the driver
 | 
						|
     ---------------------
 | 
						|
2.1. Modules
 | 
						|
     -------
 | 
						|
     For the devices to work, the proper kernel modules have to be loaded.
 | 
						|
     This normally happens automatically when the system detects the USB
 | 
						|
     device (base, M105) or when the line discipline is attached (M101). It
 | 
						|
     can also be triggered manually using the modprobe(8) command, for example
 | 
						|
     for troubleshooting or to pass module parameters.
 | 
						|
 | 
						|
     The module ser_gigaset provides a serial line discipline N_GIGASET_M101
 | 
						|
     which drives the device through the regular serial line driver. It must
 | 
						|
     be attached to the serial line to which the M101 is connected with the
 | 
						|
     ldattach(8) command (requires util-linux-ng release 2.14 or later), for
 | 
						|
     example:
 | 
						|
	 ldattach GIGASET_M101 /dev/ttyS1
 | 
						|
     This will open the device file, attach the line discipline to it, and
 | 
						|
     then sleep in the background, keeping the device open so that the line
 | 
						|
     discipline remains active. To deactivate it, kill the daemon, for example
 | 
						|
     with
 | 
						|
	 killall ldattach
 | 
						|
     before disconnecting the device. To have this happen automatically at
 | 
						|
     system startup/shutdown on an LSB compatible system, create and activate
 | 
						|
     an appropriate LSB startup script /etc/init.d/gigaset. (The init name
 | 
						|
     'gigaset' is officially assigned to this project by LANANA.)
 | 
						|
     Alternatively, just add the 'ldattach' command line to /etc/rc.local.
 | 
						|
 | 
						|
2.2. Device nodes for user space programs
 | 
						|
     ------------------------------------
 | 
						|
     The device can be accessed from user space (eg. by the user space tools
 | 
						|
     mentioned in 1.2.) through the device nodes:
 | 
						|
 | 
						|
     - /dev/ttyGS0 for M101 (RS232 data boxes)
 | 
						|
     - /dev/ttyGU0 for M105 (USB data boxes)
 | 
						|
     - /dev/ttyGB0 for the base driver (direct USB connection)
 | 
						|
 | 
						|
     You can also select a "default device" which is used by the frontends when
 | 
						|
     no device node is given as parameter, by creating a symlink /dev/ttyG to
 | 
						|
     one of them, eg.:
 | 
						|
 | 
						|
        ln -s /dev/ttyGB0 /dev/ttyG
 | 
						|
 | 
						|
2.3. ISDN4linux
 | 
						|
     ----------
 | 
						|
     This is the "normal" mode of operation. After loading the module you can
 | 
						|
     set up the ISDN system just as you'd do with any ISDN card.
 | 
						|
     Your distribution should provide some configuration utility.
 | 
						|
     If not, you can use some HOWTOs like
 | 
						|
         http://www.linuxhaven.de/dlhp/HOWTO/DE-ISDN-HOWTO-5.html
 | 
						|
     If this doesn't work, because you have some recent device like SX100 where
 | 
						|
     debug output (see section 3.2.) shows something like this when dialing
 | 
						|
         CMD Received: ERROR
 | 
						|
         Available Params: 0
 | 
						|
         Connection State: 0, Response: -1
 | 
						|
         gigaset_process_response: resp_code -1 in ConState 0 !
 | 
						|
         Timeout occurred
 | 
						|
     you might need to use unimodem mode:
 | 
						|
 | 
						|
2.4. Unimodem mode
 | 
						|
     -------------
 | 
						|
     This is needed for some devices [e.g. SX100] as they have problems with
 | 
						|
     the "normal" commands.
 | 
						|
 | 
						|
     If you have installed the command line tool gigacontr, you can enter
 | 
						|
     unimodem mode using
 | 
						|
         gigacontr --mode unimodem
 | 
						|
     You can switch back using
 | 
						|
         gigacontr --mode isdn
 | 
						|
 | 
						|
     You can also load the driver using e.g.
 | 
						|
         modprobe usb_gigaset startmode=0
 | 
						|
     to prevent the driver from starting in "isdn4linux mode".
 | 
						|
 | 
						|
     In this mode the device works like a modem connected to a serial port
 | 
						|
     (the /dev/ttyGU0, ... mentioned above) which understands the commands
 | 
						|
         ATZ                 init, reset
 | 
						|
             => OK or ERROR
 | 
						|
         ATD
 | 
						|
         ATDT                dial
 | 
						|
             => OK, CONNECT,
 | 
						|
                BUSY,
 | 
						|
                NO DIAL TONE,
 | 
						|
                NO CARRIER,
 | 
						|
                NO ANSWER
 | 
						|
         <pause>+++<pause>   change to command mode when connected
 | 
						|
         ATH                 hangup
 | 
						|
 | 
						|
     You can use some configuration tool of your distribution to configure this
 | 
						|
     "modem" or configure pppd/wvdial manually. There are some example ppp
 | 
						|
     configuration files and chat scripts in the gigaset-VERSION/ppp directory
 | 
						|
     in the driver packages from http://sourceforge.net/projects/gigaset307x/.
 | 
						|
     Please note that the USB drivers are not able to change the state of the
 | 
						|
     control lines. This means you must use "Stupid Mode" if you are using
 | 
						|
     wvdial or you should use the nocrtscts option of pppd.
 | 
						|
     You must also assure that the ppp_async module is loaded with the parameter
 | 
						|
     flag_time=0. You can do this e.g. by adding a line like
 | 
						|
 | 
						|
        options ppp_async flag_time=0
 | 
						|
 | 
						|
     to /etc/modprobe.conf. If your distribution has some local module
 | 
						|
     configuration file like /etc/modprobe.conf.local,
 | 
						|
     using that should be preferred.
 | 
						|
 | 
						|
2.5. Call-ID (CID) mode
 | 
						|
     ------------------
 | 
						|
     Call-IDs are numbers used to tag commands to, and responses from, the
 | 
						|
     Gigaset base in order to support the simultaneous handling of multiple
 | 
						|
     ISDN calls. Their use can be enabled ("CID mode") or disabled ("Unimodem
 | 
						|
     mode"). Without Call-IDs (in Unimodem mode), only a very limited set of
 | 
						|
     functions is available. It allows outgoing data connections only, but
 | 
						|
     does not signal incoming calls or other base events.
 | 
						|
 | 
						|
     DECT cordless data devices (M10x) permanently occupy the cordless
 | 
						|
     connection to the base while Call-IDs are activated. As the Gigaset
 | 
						|
     bases only support one DECT data connection at a time, this prevents
 | 
						|
     other DECT cordless data devices from accessing the base.
 | 
						|
 | 
						|
     During active operation, the driver switches to the necessary mode
 | 
						|
     automatically. However, for the reasons above, the mode chosen when
 | 
						|
     the device is not in use (idle) can be selected by the user.
 | 
						|
     - If you want to receive incoming calls, you can use the default
 | 
						|
       settings (CID mode).
 | 
						|
     - If you have several DECT data devices (M10x) which you want to use
 | 
						|
       in turn, select Unimodem mode by passing the parameter "cidmode=0" to
 | 
						|
       the driver ("modprobe usb_gigaset cidmode=0" or modprobe.conf).
 | 
						|
 | 
						|
     If you want both of these at once, you are out of luck.
 | 
						|
 | 
						|
     You can also use /sys/class/tty/ttyGxy/cidmode for changing the CID mode
 | 
						|
     setting (ttyGxy is ttyGU0 or ttyGB0).
 | 
						|
 | 
						|
2.6. Unregistered Wireless Devices (M101/M105)
 | 
						|
     -----------------------------------------
 | 
						|
     The main purpose of the ser_gigaset and usb_gigaset drivers is to allow
 | 
						|
     the M101 and M105 wireless devices to be used as ISDN devices for ISDN
 | 
						|
     connections through a Gigaset base. Therefore they assume that the device
 | 
						|
     is registered to a DECT base.
 | 
						|
 | 
						|
     If the M101/M105 device is not registered to a base, initialization of
 | 
						|
     the device fails, and a corresponding error message is logged by the
 | 
						|
     driver. In that situation, a restricted set of functions is available
 | 
						|
     which includes, in particular, those necessary for registering the device
 | 
						|
     to a base or for switching it between Fixed Part and Portable Part
 | 
						|
     modes.
 | 
						|
 | 
						|
3.   Troubleshooting
 | 
						|
     ---------------
 | 
						|
3.1. Solutions to frequently reported problems
 | 
						|
     -----------------------------------------
 | 
						|
     Problem:
 | 
						|
        You have a slow provider and isdn4linux gives up dialing too early.
 | 
						|
     Solution:
 | 
						|
        Load the isdn module using the dialtimeout option. You can do this e.g.
 | 
						|
        by adding a line like
 | 
						|
 | 
						|
           options isdn dialtimeout=15
 | 
						|
 | 
						|
        to /etc/modprobe.conf. If your distribution has some local module
 | 
						|
        configuration file like /etc/modprobe.conf.local,
 | 
						|
        using that should be preferred.
 | 
						|
 | 
						|
     Problem:
 | 
						|
        Your isdn script aborts with a message about isdnlog.
 | 
						|
     Solution:
 | 
						|
        Try deactivating (or commenting out) isdnlog. This driver does not
 | 
						|
        support it.
 | 
						|
 | 
						|
     Problem:
 | 
						|
        You have two or more DECT data adapters (M101/M105) and only the
 | 
						|
        first one you turn on works.
 | 
						|
     Solution:
 | 
						|
        Select Unimodem mode for all DECT data adapters. (see section 2.4.)
 | 
						|
 | 
						|
     Problem:
 | 
						|
	Messages like this:
 | 
						|
	    usb_gigaset 3-2:1.0: Could not initialize the device.
 | 
						|
	appear in your syslog.
 | 
						|
     Solution:
 | 
						|
	Check whether your M10x wireless device is correctly registered to the
 | 
						|
	Gigaset base. (see section 2.6.)
 | 
						|
 | 
						|
3.2. Telling the driver to provide more information
 | 
						|
     ----------------------------------------------
 | 
						|
     Building the driver with the "Gigaset debugging" kernel configuration
 | 
						|
     option (CONFIG_GIGASET_DEBUG) gives it the ability to produce additional
 | 
						|
     information useful for debugging.
 | 
						|
 | 
						|
     You can control the amount of debugging information the driver produces by
 | 
						|
     writing an appropriate value to /sys/module/gigaset/parameters/debug, e.g.
 | 
						|
        echo 0 > /sys/module/gigaset/parameters/debug
 | 
						|
     switches off debugging output completely,
 | 
						|
        echo 0x10a020 > /sys/module/gigaset/parameters/debug
 | 
						|
     enables the standard set of debugging output messages. These values are
 | 
						|
     bit patterns where every bit controls a certain type of debugging output.
 | 
						|
     See the constants DEBUG_* in the source file gigaset.h for details.
 | 
						|
 | 
						|
     The initial value can be set using the debug parameter when loading the
 | 
						|
     module "gigaset", e.g. by adding a line
 | 
						|
        options gigaset debug=0
 | 
						|
     to /etc/modprobe.conf, ...
 | 
						|
 | 
						|
     Generated debugging information can be found
 | 
						|
     - as output of the command
 | 
						|
         dmesg
 | 
						|
     - in system log files written by your syslog daemon, usually
 | 
						|
       in /var/log/, e.g. /var/log/messages.
 | 
						|
 | 
						|
3.3. Reporting problems and bugs
 | 
						|
     ---------------------------
 | 
						|
     If you can't solve problems with the driver on your own, feel free to
 | 
						|
     use one of the forums, bug trackers, or mailing lists on
 | 
						|
         http://sourceforge.net/projects/gigaset307x
 | 
						|
     or write an electronic mail to the maintainers.
 | 
						|
 | 
						|
     Try to provide as much information as possible, such as
 | 
						|
     - distribution
 | 
						|
     - kernel version (uname -r)
 | 
						|
     - gcc version (gcc --version)
 | 
						|
     - hardware architecture (uname -m, ...)
 | 
						|
     - type and firmware version of your device (base and wireless module,
 | 
						|
       if any)
 | 
						|
     - output of "lsusb -v" (if using an USB device)
 | 
						|
     - error messages
 | 
						|
     - relevant system log messages (it would help if you activate debug
 | 
						|
       output as described in 3.2.)
 | 
						|
 | 
						|
     For help with general configuration problems not specific to our driver,
 | 
						|
     such as isdn4linux and network configuration issues, please refer to the
 | 
						|
     appropriate forums and newsgroups.
 | 
						|
 | 
						|
3.4. Reporting problem solutions
 | 
						|
     ---------------------------
 | 
						|
     If you solved a problem with our drivers, wrote startup scripts for your
 | 
						|
     distribution, ... feel free to contact us (using one of the places
 | 
						|
     mentioned in 3.3.). We'd like to add scripts, hints, documentation
 | 
						|
     to the driver and/or the project web page.
 | 
						|
 | 
						|
 | 
						|
4.   Links, other software
 | 
						|
     ---------------------
 | 
						|
     - Sourceforge project developing this driver and associated tools
 | 
						|
         http://sourceforge.net/projects/gigaset307x
 | 
						|
     - Yahoo! Group on the Siemens Gigaset family of devices
 | 
						|
         http://de.groups.yahoo.com/group/Siemens-Gigaset
 | 
						|
     - Siemens Gigaset/T-Sinus compatibility table
 | 
						|
         http://www.erbze.info/sinus_gigaset.htm
 | 
						|
 | 
						|
 | 
						|
5.   Credits
 | 
						|
     -------
 | 
						|
     Thanks to
 | 
						|
 | 
						|
     Karsten Keil
 | 
						|
        for his help with isdn4linux
 | 
						|
     Deti Fliegl
 | 
						|
        for his base driver code
 | 
						|
     Dennis Dietrich
 | 
						|
        for his kernel 2.6 patches
 | 
						|
     Andreas Rummel
 | 
						|
        for his work and logs to get unimodem mode working
 | 
						|
     Andreas Degert
 | 
						|
        for his logs and patches to get cx 100 working
 | 
						|
     Dietrich Feist
 | 
						|
        for his generous donation of one M105 and two M101 cordless adapters
 | 
						|
     Christoph Schweers
 | 
						|
        for his generous donation of a M34 device
 | 
						|
 | 
						|
     and all the other people who sent logs and other information.
 | 
						|
 |