6
Smart Link Soft Modem for Linux
7
-------------------------------
13
This is Smart Link Soft Modem for Linux version 2.9. It provides
14
full-featured 56K Voice Fax Modem.
15
This is implemented as generic application (slmodemd) and set of
16
hardware specific kernel-space drivers (slamr, slusb).
17
ALSA modem drivers may be used instead of proprietary ones (see ALSA mode).
22
Modem: V.92, V.90, V.34, V.32bis, V.32, V.23, V.22, V.21, Bell 103/212.
24
Compression: V.44, V.42bis.
26
Voice: V253 like modem.
27
Multiple modems are supported.
33
HAMR5600 based AMR/CNR/MDC/ACR modem cards on the following Southbridge
35
- Intel ICH0,ICH2, ICH3, ICH4
36
- Via 686A, 686B, 8231, 8233
39
SmartPCI56/561/562/563 based PCI modem cards.
40
SmartUSB56 based USB modem.
47
CPU: Intel Pentium II, Celron. AMD K6, Cyrix 500MHz or higher.
50
OS: Linux 2.4. You need the kernel header files at least (or full kernel
51
source tree) installed and configured.
52
Linux 2.6. You need the full kernel source tree installed and configured.
54
Note: Most Linux Distributions have 'ready to use' kernel source package -
55
be sure that this is installed.
61
1. Unpack tar.gz package file:
63
$ gzip -dc slmodem-2.9.X.tar.gz | tar xf -
65
2. 'cd' to package directory:
69
3. Review and edit 'Makefile' (if need):
71
In many cases you will need to correct path to your local kernel
74
KERNEL_DIR=/path/to/linux
76
Default KERNEL_DIR is '/lib/modules/<kerne-version>/build'. Many Linux
77
Distributions use directory '/usr/src/linux-<version>' also.
79
Note: If you are using Linux kernel 2.4, only header files should be
80
available for build in $(KERNEL_DIR)/include
82
Another way to pass right value KERNEL_DIR is to use command line
83
parameter while running 'make':
85
$ make KERNEL_DIR=/path/to/linux ...
87
4. Run 'make' command to compile package:
91
5. Install. As 'root' user run:
97
- application 'slmodemd' under '/usr/sbin' directory
99
- hardware specific drivers (kernel modules) 'slamr' and 'slusb'
100
under conventional kernel modules directory
102
- character device nodes '/dev/slamr0-3' with major number 212
103
(for pci modems) and '/dev/slusb0-3' with major number 213
106
- config modules for autoloading (by editing file '/etc/modules.conf')
107
(only with 2.4 kernels)
109
6. Config modem country.
111
Use AT+GCI=<T.35 country code> command to setup country.
113
Also you can setup default modem country by passing command line
114
parameter '--country=MY_COUNTRY' to program 'slmodemd'.
116
See output of 'slmodemd --countrylist' for a list of supported
117
country names and T.35 country codes (see also 'slmodemd --help').
119
Note: Command ATI7 shows currently installed country setting.
123
In package directory just type:
131
After successful installation and configuration:
133
1. Load modem driver.
135
Load your modem hardware specific kernel module:
139
if you are using AMR/CNR/PCI modem, or
143
if you are using SmartUSB56 Modem.
145
Note: this will be done automatically when modules were
146
configured for 'loading on demand'
148
Note: this is safe to load both 'alamr' and 'slusb' modules.
150
2. Run soft modem application.
152
# /usr/sbin/slmodemd [options] <device_name>
154
Where device name is appropriate device node for your modem
155
(look at output of 'dmesg' command).
156
Run '/usr/sbin/slmodemd --help' for details.
160
# /usr/sbin/slmodemd --country=USA /dev/slamr0
162
, or for SmartUSB56 Modems:
164
# /usr/sbin/slmodemd --country=ITALY /dev/slusb0
168
When 'slmodemd' is running this creates PTY (pseudo-terminal) to
169
emulate modem port device, also this creates symbolic link
170
like '/dev/ttySL0' (shown at startup).
172
Config your application to use this link '/dev/ttySL0' (or PTY node
173
itself) as modem port.
175
Note: Some application want 'to know' that they are working with
176
pseudo-terminal and may require additional configurations.
178
Known application notes:
180
- 'wvdial' requires option 'Carrier Check = no' in config file
182
- some versions of 'kppp' may not work properly with devices named
183
like '/dev/ttySL0'. To workaround this you may create symbolic link
184
'/dev/modem' ( # ln -s /dev/ttySL0 /dev/modem ) and use this link
185
as modem device with 'kppp'
187
4. Startup automation.
189
There are examples of startup scripts in 'scripts' directory.
195
ALSA has the built-in modem drivers included in 'alsa-driver' >= 1.0.2
196
and in Linux kernel >= 2.6.5. Currently there is 'intel8x0m' (snd-intel8x0m)
197
modem driver, which supports ICH based AC97 modems (MC97).
199
1. Configure your kernel and enable ALSA and ICH based modem support
200
( 'Device Drivers' -> 'Sound' -> 'Advanced Linux Sound Architecture' ->
201
'PCI devices' -> 'Intel i8x0/MX440; AMD768/8111 modems' ) .
203
2. Build and install kernel and modules as usual (make , make modules_install,
204
etc.). ICH modem driver modem module name is 'snd-intel8x0m'
205
(if was configured as module).
207
3. Build application 'slmodemd' with ALSA support. For this in
211
$ make SUPPORT_ALSA=1
213
This will build 'slmodemd' with ALSA support. If compilation is failed
214
review Makefile (near ALSA_SUPPORT condition) and define right library
217
4. Use option '--alsa' when running 'slmodemd' and ALSA conventional
218
device name ('hw:0' or 'hw:1' for instance). If modem support in
219
the kernel was enabled as module module 'snd-intel8x0m' should be loaded.
220
When using ALSA modem driver you don't need to load other modules ('slamr').
226
If you get an error message during installation/configuration or loading
227
the modules try to see it in FAQ file.
229
Please report the problem to your modem provider or to us
230
(linux-support@smlink.com).
236
Please send any feedbacks to Smart Link. See the Smart Link
237
web site for contact information (www.smlink.com) or to
238
linux-support@smlink.com.