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 | ------- |
Tilman Schmidt | c69c6d1 | 2009-04-05 06:39:33 +0000 | [diff] [blame] | 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. |
Tilman Schmidt | 2869b23 | 2007-02-12 00:52:34 -0800 | [diff] [blame] | 69 | |
| 70 | The module ser_gigaset provides a serial line discipline N_GIGASET_M101 |
Tilman Schmidt | c69c6d1 | 2009-04-05 06:39:33 +0000 | [diff] [blame] | 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. |
Tilman Schmidt | 27d1ac2 | 2006-04-10 22:55:15 -0700 | [diff] [blame] | 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 | |
Tilman Schmidt | 2869b23 | 2007-02-12 00:52:34 -0800 | [diff] [blame] | 92 | - /dev/ttyGS0 for M101 (RS232 data boxes) |
Tilman Schmidt | 27d1ac2 | 2006-04-10 22:55:15 -0700 | [diff] [blame] | 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 |
Hansjoerg Lipp | 3dda4e3 | 2006-04-22 18:43:00 +0200 | [diff] [blame] | 149 | configuration files and chat scripts in the gigaset-VERSION/ppp directory |
| 150 | in the driver packages from http://sourceforge.net/projects/gigaset307x/. |
Tilman Schmidt | 27d1ac2 | 2006-04-10 22:55:15 -0700 | [diff] [blame] | 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 | |
Hansjoerg Lipp | 3dda4e3 | 2006-04-22 18:43:00 +0200 | [diff] [blame] | 190 | You can also use /sys/class/tty/ttyGxy/cidmode for changing the CID mode |
| 191 | setting (ttyGxy is ttyGU0 or ttyGB0). |
Tilman Schmidt | 27d1ac2 | 2006-04-10 22:55:15 -0700 | [diff] [blame] | 192 | |
Tilman Schmidt | 2869b23 | 2007-02-12 00:52:34 -0800 | [diff] [blame] | 193 | 2.6. M105 Undocumented USB Requests |
| 194 | ------------------------------ |
Tilman Schmidt | 2869b23 | 2007-02-12 00:52:34 -0800 | [diff] [blame] | 195 | The Gigaset M105 USB data box understands a couple of useful, but |
| 196 | undocumented USB commands. These requests are not used in normal |
| 197 | operation (for wireless access to the base), but are needed for access |
| 198 | to the M105's own configuration mode (registration to the base, baudrate |
| 199 | and line format settings, device status queries) via the gigacontr |
Tilman Schmidt | c69c6d1 | 2009-04-05 06:39:33 +0000 | [diff] [blame] | 200 | utility. Their use is controlled by the kernel configuration option |
| 201 | "Support for undocumented USB requests" (CONFIG_GIGASET_UNDOCREQ). If you |
| 202 | encounter error code -ENOTTY when trying to use some features of the |
| 203 | M105, try setting that option to "y" via 'make {x,menu}config' and |
| 204 | recompiling the driver. |
Tilman Schmidt | 2869b23 | 2007-02-12 00:52:34 -0800 | [diff] [blame] | 205 | |
Tilman Schmidt | b3fcb13 | 2009-05-13 12:44:17 +0000 | [diff] [blame^] | 206 | 2.7. Unregistered Wireless Devices (M101/M105) |
| 207 | ----------------------------------------- |
| 208 | The main purpose of the ser_gigaset and usb_gigaset drivers is to allow |
| 209 | the M101 and M105 wireless devices to be used as ISDN devices for ISDN |
| 210 | connections through a Gigaset base. Therefore they assume that the device |
| 211 | is registered to a DECT base. |
| 212 | |
| 213 | If the M101/M105 device is not registered to a base, initialization of |
| 214 | the device fails, and a corresponding error message is logged by the |
| 215 | driver. In that situation, a restricted set of functions is available |
| 216 | which includes, in particular, those necessary for registering the device |
| 217 | to a base or for switching it between Fixed Part and Portable Part |
| 218 | modes. For the M105, these commands require the "Support for undocumented |
| 219 | USB requests" configuration option (see section 2.6.) to be enabled. |
Tilman Schmidt | 27d1ac2 | 2006-04-10 22:55:15 -0700 | [diff] [blame] | 220 | |
| 221 | 3. Troubleshooting |
| 222 | --------------- |
| 223 | 3.1. Solutions to frequently reported problems |
| 224 | ----------------------------------------- |
| 225 | Problem: |
| 226 | You have a slow provider and isdn4linux gives up dialing too early. |
| 227 | Solution: |
| 228 | Load the isdn module using the dialtimeout option. You can do this e.g. |
| 229 | by adding a line like |
| 230 | |
| 231 | options isdn dialtimeout=15 |
| 232 | |
| 233 | to /etc/modprobe.conf. If your distribution has some local module |
| 234 | configuration file like /etc/modprobe.conf.local, |
| 235 | using that should be preferred. |
| 236 | |
| 237 | Problem: |
| 238 | Your isdn script aborts with a message about isdnlog. |
| 239 | Solution: |
| 240 | Try deactivating (or commenting out) isdnlog. This driver does not |
| 241 | support it. |
| 242 | |
| 243 | Problem: |
| 244 | You have two or more DECT data adapters (M101/M105) and only the |
| 245 | first one you turn on works. |
| 246 | Solution: |
| 247 | Select Unimodem mode for all DECT data adapters. (see section 2.4.) |
| 248 | |
Tilman Schmidt | c69c6d1 | 2009-04-05 06:39:33 +0000 | [diff] [blame] | 249 | Problem: |
| 250 | You want to configure your USB DECT data adapter (M105) but gigacontr |
| 251 | reports an error: "/dev/ttyGU0: Inappropriate ioctl for device". |
| 252 | Solution: |
| 253 | Recompile the usb_gigaset driver with the kernel configuration option |
| 254 | CONFIG_GIGASET_UNDOCREQ set to 'y'. (see section 2.6.) |
| 255 | |
Tilman Schmidt | b3fcb13 | 2009-05-13 12:44:17 +0000 | [diff] [blame^] | 256 | Problem: |
| 257 | Messages like this: |
| 258 | usb_gigaset 3-2:1.0: Could not initialize the device. |
| 259 | appear in your syslog. |
| 260 | Solution: |
| 261 | Check whether your M10x wireless device is correctly registered to the |
| 262 | Gigaset base. (see section 2.7.) |
| 263 | |
Tilman Schmidt | 27d1ac2 | 2006-04-10 22:55:15 -0700 | [diff] [blame] | 264 | 3.2. Telling the driver to provide more information |
| 265 | ---------------------------------------------- |
| 266 | Building the driver with the "Gigaset debugging" kernel configuration |
| 267 | option (CONFIG_GIGASET_DEBUG) gives it the ability to produce additional |
| 268 | information useful for debugging. |
| 269 | |
| 270 | You can control the amount of debugging information the driver produces by |
| 271 | writing an appropriate value to /sys/module/gigaset/parameters/debug, e.g. |
| 272 | echo 0 > /sys/module/gigaset/parameters/debug |
| 273 | switches off debugging output completely, |
| 274 | echo 0x10a020 > /sys/module/gigaset/parameters/debug |
| 275 | enables the standard set of debugging output messages. These values are |
| 276 | bit patterns where every bit controls a certain type of debugging output. |
| 277 | See the constants DEBUG_* in the source file gigaset.h for details. |
| 278 | |
| 279 | The initial value can be set using the debug parameter when loading the |
| 280 | module "gigaset", e.g. by adding a line |
| 281 | options gigaset debug=0 |
| 282 | to /etc/modprobe.conf, ... |
| 283 | |
| 284 | Generated debugging information can be found |
| 285 | - as output of the command |
| 286 | dmesg |
| 287 | - in system log files written by your syslog daemon, usually |
| 288 | in /var/log/, e.g. /var/log/messages. |
| 289 | |
| 290 | 3.3. Reporting problems and bugs |
| 291 | --------------------------- |
| 292 | If you can't solve problems with the driver on your own, feel free to |
| 293 | use one of the forums, bug trackers, or mailing lists on |
| 294 | http://sourceforge.net/projects/gigaset307x |
| 295 | or write an electronic mail to the maintainers. |
| 296 | |
| 297 | Try to provide as much information as possible, such as |
| 298 | - distribution |
| 299 | - kernel version (uname -r) |
| 300 | - gcc version (gcc --version) |
| 301 | - hardware architecture (uname -m, ...) |
| 302 | - type and firmware version of your device (base and wireless module, |
| 303 | if any) |
| 304 | - output of "lsusb -v" (if using an USB device) |
| 305 | - error messages |
| 306 | - relevant system log messages (it would help if you activate debug |
| 307 | output as described in 3.2.) |
| 308 | |
| 309 | For help with general configuration problems not specific to our driver, |
| 310 | such as isdn4linux and network configuration issues, please refer to the |
| 311 | appropriate forums and newsgroups. |
| 312 | |
| 313 | 3.4. Reporting problem solutions |
| 314 | --------------------------- |
| 315 | If you solved a problem with our drivers, wrote startup scripts for your |
| 316 | distribution, ... feel free to contact us (using one of the places |
| 317 | mentioned in 3.3.). We'd like to add scripts, hints, documentation |
| 318 | to the driver and/or the project web page. |
| 319 | |
| 320 | |
| 321 | 4. Links, other software |
| 322 | --------------------- |
| 323 | - Sourceforge project developing this driver and associated tools |
| 324 | http://sourceforge.net/projects/gigaset307x |
| 325 | - Yahoo! Group on the Siemens Gigaset family of devices |
| 326 | http://de.groups.yahoo.com/group/Siemens-Gigaset |
| 327 | - Siemens Gigaset/T-Sinus compatibility table |
| 328 | http://www.erbze.info/sinus_gigaset.htm |
| 329 | |
| 330 | |
| 331 | 5. Credits |
| 332 | ------- |
| 333 | Thanks to |
| 334 | |
| 335 | Karsten Keil |
| 336 | for his help with isdn4linux |
| 337 | Deti Fliegl |
| 338 | for his base driver code |
| 339 | Dennis Dietrich |
| 340 | for his kernel 2.6 patches |
| 341 | Andreas Rummel |
| 342 | for his work and logs to get unimodem mode working |
| 343 | Andreas Degert |
| 344 | for his logs and patches to get cx 100 working |
| 345 | Dietrich Feist |
| 346 | for his generous donation of one M105 and two M101 cordless adapters |
| 347 | Christoph Schweers |
| 348 | for his generous donation of a M34 device |
| 349 | |
| 350 | and all the other people who sent logs and other information. |
| 351 | |