Merge branch 'for_paulus' of master.kernel.org:/pub/scm/linux/kernel/git/galak/powerpc
[pandora-kernel.git] / Documentation / isdn / README.gigaset
1 GigaSet 307x Device Driver
2 ==========================
3
4 1.   Requirements
5      ------------
6 1.1. Hardware
7      --------
8      This release supports the connection of the Gigaset 307x/417x family of
9      ISDN DECT bases via Gigaset M101 Data, Gigaset M105 Data or direct USB
10      connection. The following devices are reported to be compatible:
11      307x/417x:
12         Gigaset SX255isdn
13         Gigaset SX353isdn
14         Sinus 45 [AB] isdn (Deutsche Telekom)
15         Sinus 721X/XA
16         Vox Chicago 390 ISDN (KPN Telecom)
17      M101:
18         Sinus 45 Data 1 (Telekom)
19      M105:
20         Gigaset USB Adapter DECT
21         Sinus 45 Data 2 (Telekom)
22         Sinus 721 data
23         Chicago 390 USB (KPN)
24      See also http://www.erbze.info/sinus_gigaset.htm and
25               http://gigaset307x.sourceforge.net/
26
27      We had also reports from users of Gigaset M105 who could use the drivers
28      with SX 100 and CX 100 ISDN bases (only in unimodem mode, see section 2.4.)
29      If you have another device that works with our driver, please let us know.
30      For example, Gigaset SX205isdn/Sinus 721 X SE and Gigaset SX303isdn bases
31      are just versions without answering machine of models known to work, so
32      they should work just as well; but so far we are lacking positive reports
33      on these.
34
35      Chances of getting an USB device to work are good if the output of
36         lsusb
37      at the command line contains one of the following:
38         ID 0681:0001
39         ID 0681:0002
40         ID 0681:0009
41         ID 0681:0021
42         ID 0681:0022
43
44 1.2. Software
45      --------
46      The driver works with ISDN4linux and so can be used with any software
47      which is able to use ISDN4linux for ISDN connections (voice or data).
48      CAPI4Linux support is planned but not yet available.
49
50      There are some user space tools available at
51      http://sourceforge.net/projects/gigaset307x/
52      which provide access to additional device specific functions like SMS,
53      phonebook or call journal.
54
55
56 2.   How to use the driver
57      ---------------------
58 2.1. Modules
59      -------
60      To get the device working, you have to load the proper kernel module. You
61      can do this using
62          modprobe modulename
63      where modulename is usb_gigaset (M105) or bas_gigaset (direct USB
64      connection to the base).
65
66 2.2. Device nodes for user space programs
67      ------------------------------------
68      The device can be accessed from user space (eg. by the user space tools
69      mentioned in 1.2.) through the device nodes:
70
71      - /dev/ttyGU0 for M105 (USB data boxes)
72      - /dev/ttyGB0 for the base driver (direct USB connection)
73
74      You can also select a "default device" which is used by the frontends when
75      no device node is given as parameter, by creating a symlink /dev/ttyG to
76      one of them, eg.:
77
78         ln -s /dev/ttyGB0 /dev/ttyG
79
80 2.3. ISDN4linux
81      ----------
82      This is the "normal" mode of operation. After loading the module you can
83      set up the ISDN system just as you'd do with any ISDN card.
84      Your distribution should provide some configuration utility.
85      If not, you can use some HOWTOs like
86          http://www.linuxhaven.de/dlhp/HOWTO/DE-ISDN-HOWTO-5.html
87      If this doesn't work, because you have some recent device like SX100 where
88      debug output (see section 3.2.) shows something like this when dialing
89          CMD Received: ERROR
90          Available Params: 0
91          Connection State: 0, Response: -1
92          gigaset_process_response: resp_code -1 in ConState 0 !
93          Timeout occurred
94      you might need to use unimodem mode:
95
96 2.4. Unimodem mode
97      -------------
98      This is needed for some devices [e.g. SX100] as they have problems with
99      the "normal" commands.
100
101      If you have installed the command line tool gigacontr, you can enter
102      unimodem mode using
103          gigacontr --mode unimodem
104      You can switch back using
105          gigacontr --mode isdn
106
107      You can also load the driver using e.g.
108          modprobe usb_gigaset startmode=0
109      to prevent the driver from starting in "isdn4linux mode".
110
111      In this mode the device works like a modem connected to a serial port
112      (the /dev/ttyGU0, ... mentioned above) which understands the commands
113          ATZ                 init, reset
114              => OK or ERROR
115          ATD
116          ATDT                dial
117              => OK, CONNECT,
118                 BUSY,
119                 NO DIAL TONE,
120                 NO CARRIER,
121                 NO ANSWER
122          <pause>+++<pause>   change to command mode when connected
123          ATH                 hangup
124
125      You can use some configuration tool of your distribution to configure this
126      "modem" or configure pppd/wvdial manually. There are some example ppp
127      configuration files and chat scripts in the gigaset-VERSION/ppp directory.
128      Please note that the USB drivers are not able to change the state of the
129      control lines (the M105 driver can be configured to use some undocumented
130      control requests, if you really need the control lines, though). This means
131      you must use "Stupid Mode" if you are using wvdial or you should use the
132      nocrtscts option of pppd.
133      You must also assure that the ppp_async module is loaded with the parameter
134      flag_time=0. You can do this e.g. by adding a line like
135
136         options ppp_async flag_time=0
137
138      to /etc/modprobe.conf. If your distribution has some local module
139      configuration file like /etc/modprobe.conf.local,
140      using that should be preferred.
141
142 2.5. Call-ID (CID) mode
143      ------------------
144      Call-IDs are numbers used to tag commands to, and responses from, the
145      Gigaset base in order to support the simultaneous handling of multiple
146      ISDN calls. Their use can be enabled ("CID mode") or disabled ("Unimodem
147      mode"). Without Call-IDs (in Unimodem mode), only a very limited set of
148      functions is available. It allows outgoing data connections only, but
149      does not signal incoming calls or other base events.
150
151      DECT cordless data devices (M10x) permanently occupy the cordless
152      connection to the base while Call-IDs are activated. As the Gigaset
153      bases only support one DECT data connection at a time, this prevents
154      other DECT cordless data devices from accessing the base.
155
156      During active operation, the driver switches to the necessary mode
157      automatically. However, for the reasons above, the mode chosen when
158      the device is not in use (idle) can be selected by the user.
159      - If you want to receive incoming calls, you can use the default
160        settings (CID mode).
161      - If you have several DECT data devices (M10x) which you want to use
162        in turn, select Unimodem mode by passing the parameter "cidmode=0" to
163        the driver ("modprobe usb_gigaset cidmode=0" or modprobe.conf).
164
165      If you want both of these at once, you are out of luck.
166
167      You can also use /sys/module/<name>/parameters/cidmode for changing
168      the CID mode setting (<name> is usb_gigaset or bas_gigaset).
169
170
171 3.   Troubleshooting
172      ---------------
173 3.1. Solutions to frequently reported problems
174      -----------------------------------------
175      Problem:
176         You have a slow provider and isdn4linux gives up dialing too early.
177      Solution:
178         Load the isdn module using the dialtimeout option. You can do this e.g.
179         by adding a line like
180
181            options isdn dialtimeout=15
182
183         to /etc/modprobe.conf. If your distribution has some local module
184         configuration file like /etc/modprobe.conf.local,
185         using that should be preferred.
186
187      Problem:
188         Your isdn script aborts with a message about isdnlog.
189      Solution:
190         Try deactivating (or commenting out) isdnlog. This driver does not
191         support it.
192
193      Problem:
194         You have two or more DECT data adapters (M101/M105) and only the
195         first one you turn on works.
196      Solution:
197         Select Unimodem mode for all DECT data adapters. (see section 2.4.)
198
199 3.2. Telling the driver to provide more information
200      ----------------------------------------------
201      Building the driver with the "Gigaset debugging" kernel configuration
202      option (CONFIG_GIGASET_DEBUG) gives it the ability to produce additional
203      information useful for debugging.
204
205      You can control the amount of debugging information the driver produces by
206      writing an appropriate value to /sys/module/gigaset/parameters/debug, e.g.
207         echo 0 > /sys/module/gigaset/parameters/debug
208      switches off debugging output completely,
209         echo 0x10a020 > /sys/module/gigaset/parameters/debug
210      enables the standard set of debugging output messages. These values are
211      bit patterns where every bit controls a certain type of debugging output.
212      See the constants DEBUG_* in the source file gigaset.h for details.
213
214      The initial value can be set using the debug parameter when loading the
215      module "gigaset", e.g. by adding a line
216         options gigaset debug=0
217      to /etc/modprobe.conf, ...
218
219      Generated debugging information can be found
220      - as output of the command
221          dmesg
222      - in system log files written by your syslog daemon, usually
223        in /var/log/, e.g. /var/log/messages.
224
225 3.3. Reporting problems and bugs
226      ---------------------------
227      If you can't solve problems with the driver on your own, feel free to
228      use one of the forums, bug trackers, or mailing lists on
229          http://sourceforge.net/projects/gigaset307x
230      or write an electronic mail to the maintainers.
231
232      Try to provide as much information as possible, such as
233      - distribution
234      - kernel version (uname -r)
235      - gcc version (gcc --version)
236      - hardware architecture (uname -m, ...)
237      - type and firmware version of your device (base and wireless module,
238        if any)
239      - output of "lsusb -v" (if using an USB device)
240      - error messages
241      - relevant system log messages (it would help if you activate debug
242        output as described in 3.2.)
243
244      For help with general configuration problems not specific to our driver,
245      such as isdn4linux and network configuration issues, please refer to the
246      appropriate forums and newsgroups.
247
248 3.4. Reporting problem solutions
249      ---------------------------
250      If you solved a problem with our drivers, wrote startup scripts for your
251      distribution, ... feel free to contact us (using one of the places
252      mentioned in 3.3.). We'd like to add scripts, hints, documentation
253      to the driver and/or the project web page.
254
255
256 4.   Links, other software
257      ---------------------
258      - Sourceforge project developing this driver and associated tools
259          http://sourceforge.net/projects/gigaset307x
260      - Yahoo! Group on the Siemens Gigaset family of devices
261          http://de.groups.yahoo.com/group/Siemens-Gigaset
262      - Siemens Gigaset/T-Sinus compatibility table
263          http://www.erbze.info/sinus_gigaset.htm
264
265
266 5.   Credits
267      -------
268      Thanks to
269
270      Karsten Keil
271         for his help with isdn4linux
272      Deti Fliegl
273         for his base driver code
274      Dennis Dietrich
275         for his kernel 2.6 patches
276      Andreas Rummel
277         for his work and logs to get unimodem mode working
278      Andreas Degert
279         for his logs and patches to get cx 100 working
280      Dietrich Feist
281         for his generous donation of one M105 and two M101 cordless adapters
282      Christoph Schweers
283         for his generous donation of a M34 device
284
285      and all the other people who sent logs and other information.
286