Merge branch 'upstream' of git://lost.foo-projects.org/~ahkok/git/netdev-2.6 into...
[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      in the driver packages from http://sourceforge.net/projects/gigaset307x/.
129      Please note that the USB drivers are not able to change the state of the
130      control lines (the M105 driver can be configured to use some undocumented
131      control requests, if you really need the control lines, though). This means
132      you must use "Stupid Mode" if you are using wvdial or you should use the
133      nocrtscts option of pppd.
134      You must also assure that the ppp_async module is loaded with the parameter
135      flag_time=0. You can do this e.g. by adding a line like
136
137         options ppp_async flag_time=0
138
139      to /etc/modprobe.conf. If your distribution has some local module
140      configuration file like /etc/modprobe.conf.local,
141      using that should be preferred.
142
143 2.5. Call-ID (CID) mode
144      ------------------
145      Call-IDs are numbers used to tag commands to, and responses from, the
146      Gigaset base in order to support the simultaneous handling of multiple
147      ISDN calls. Their use can be enabled ("CID mode") or disabled ("Unimodem
148      mode"). Without Call-IDs (in Unimodem mode), only a very limited set of
149      functions is available. It allows outgoing data connections only, but
150      does not signal incoming calls or other base events.
151
152      DECT cordless data devices (M10x) permanently occupy the cordless
153      connection to the base while Call-IDs are activated. As the Gigaset
154      bases only support one DECT data connection at a time, this prevents
155      other DECT cordless data devices from accessing the base.
156
157      During active operation, the driver switches to the necessary mode
158      automatically. However, for the reasons above, the mode chosen when
159      the device is not in use (idle) can be selected by the user.
160      - If you want to receive incoming calls, you can use the default
161        settings (CID mode).
162      - If you have several DECT data devices (M10x) which you want to use
163        in turn, select Unimodem mode by passing the parameter "cidmode=0" to
164        the driver ("modprobe usb_gigaset cidmode=0" or modprobe.conf).
165
166      If you want both of these at once, you are out of luck.
167
168      You can also use /sys/class/tty/ttyGxy/cidmode for changing the CID mode
169      setting (ttyGxy is ttyGU0 or ttyGB0).
170
171
172 3.   Troubleshooting
173      ---------------
174 3.1. Solutions to frequently reported problems
175      -----------------------------------------
176      Problem:
177         You have a slow provider and isdn4linux gives up dialing too early.
178      Solution:
179         Load the isdn module using the dialtimeout option. You can do this e.g.
180         by adding a line like
181
182            options isdn dialtimeout=15
183
184         to /etc/modprobe.conf. If your distribution has some local module
185         configuration file like /etc/modprobe.conf.local,
186         using that should be preferred.
187
188      Problem:
189         Your isdn script aborts with a message about isdnlog.
190      Solution:
191         Try deactivating (or commenting out) isdnlog. This driver does not
192         support it.
193
194      Problem:
195         You have two or more DECT data adapters (M101/M105) and only the
196         first one you turn on works.
197      Solution:
198         Select Unimodem mode for all DECT data adapters. (see section 2.4.)
199
200 3.2. Telling the driver to provide more information
201      ----------------------------------------------
202      Building the driver with the "Gigaset debugging" kernel configuration
203      option (CONFIG_GIGASET_DEBUG) gives it the ability to produce additional
204      information useful for debugging.
205
206      You can control the amount of debugging information the driver produces by
207      writing an appropriate value to /sys/module/gigaset/parameters/debug, e.g.
208         echo 0 > /sys/module/gigaset/parameters/debug
209      switches off debugging output completely,
210         echo 0x10a020 > /sys/module/gigaset/parameters/debug
211      enables the standard set of debugging output messages. These values are
212      bit patterns where every bit controls a certain type of debugging output.
213      See the constants DEBUG_* in the source file gigaset.h for details.
214
215      The initial value can be set using the debug parameter when loading the
216      module "gigaset", e.g. by adding a line
217         options gigaset debug=0
218      to /etc/modprobe.conf, ...
219
220      Generated debugging information can be found
221      - as output of the command
222          dmesg
223      - in system log files written by your syslog daemon, usually
224        in /var/log/, e.g. /var/log/messages.
225
226 3.3. Reporting problems and bugs
227      ---------------------------
228      If you can't solve problems with the driver on your own, feel free to
229      use one of the forums, bug trackers, or mailing lists on
230          http://sourceforge.net/projects/gigaset307x
231      or write an electronic mail to the maintainers.
232
233      Try to provide as much information as possible, such as
234      - distribution
235      - kernel version (uname -r)
236      - gcc version (gcc --version)
237      - hardware architecture (uname -m, ...)
238      - type and firmware version of your device (base and wireless module,
239        if any)
240      - output of "lsusb -v" (if using an USB device)
241      - error messages
242      - relevant system log messages (it would help if you activate debug
243        output as described in 3.2.)
244
245      For help with general configuration problems not specific to our driver,
246      such as isdn4linux and network configuration issues, please refer to the
247      appropriate forums and newsgroups.
248
249 3.4. Reporting problem solutions
250      ---------------------------
251      If you solved a problem with our drivers, wrote startup scripts for your
252      distribution, ... feel free to contact us (using one of the places
253      mentioned in 3.3.). We'd like to add scripts, hints, documentation
254      to the driver and/or the project web page.
255
256
257 4.   Links, other software
258      ---------------------
259      - Sourceforge project developing this driver and associated tools
260          http://sourceforge.net/projects/gigaset307x
261      - Yahoo! Group on the Siemens Gigaset family of devices
262          http://de.groups.yahoo.com/group/Siemens-Gigaset
263      - Siemens Gigaset/T-Sinus compatibility table
264          http://www.erbze.info/sinus_gigaset.htm
265
266
267 5.   Credits
268      -------
269      Thanks to
270
271      Karsten Keil
272         for his help with isdn4linux
273      Deti Fliegl
274         for his base driver code
275      Dennis Dietrich
276         for his kernel 2.6 patches
277      Andreas Rummel
278         for his work and logs to get unimodem mode working
279      Andreas Degert
280         for his logs and patches to get cx 100 working
281      Dietrich Feist
282         for his generous donation of one M105 and two M101 cordless adapters
283      Christoph Schweers
284         for his generous donation of a M34 device
285
286      and all the other people who sent logs and other information.
287