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