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