I download linux driver slmodem-2.9.10.tar.gz from smartlink official site, copy it to my /tmp, unpack the tar, install it sucessfully following the instruction in README.
I'm new to linux, so I don't know to config modem country as mentioned in README by "Use AT+GCI=<T.35 country code> command to setup country".
So I skipped this and go on with the next command. Till now I can't use the modem yet. Here I appended outputs and some informations about my system.
At the end of this mail, I enclosed with contents of README in slmodem-2.9.10.tar.gz. I hope that you can give me some hint to solve this problem as early as possible! Thanks!
=======================================================
[root@doggy slmodem-2.9.10]# uname -a
Linux doggy 2.6.5-1.358 #1 Sat May 8 09:04:50 EDT 2004 i686 i686 i386 GNU/Linux
[root@doggy 5600hamr]# lspci -vv
00:00.0 Host bridge: Intel Corp. 82810 DC-100 GMCH [Graphics Memory Controller Hub] (rev 03)
Subsystem: Intel Corp. 82810 DC-100 GMCH [Graphics Memory Controller Hub]
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort+ >SERR- <PERR-
Latency: 0
00:01.0 VGA compatible controller: Intel Corp. 82810 DC-100 CGC [Chipset Graphics Controller] (rev 03) (prog-if 00 [VGA])
Subsystem: Intel Corp. 82810 DC-100 CGC [Chipset Graphics Controller]
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- Status: Cap+ 66Mhz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 0
Interrupt: pin A routed to IRQ 9
Region 0: Memory at d8000000 (32-bit, prefetchable)
Region 1: Memory at de000000 (32-bit, non-prefetchable) [size=512K]
Capabilities: [dc] Power Management version 1
Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
00:1e.0 PCI bridge: Intel Corp. 82801AA PCI Bridge (rev 02) (prog-if 00 [Normal decode])
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 0
Bus: primary=00, secondary=01, subordinate=01, sec-latency=32
I/O behind bridge: 0000c000-0000cfff
Memory behind bridge: dc000000-ddffffff
BridgeCtl: Parity- SERR+ NoISA+ VGA- MAbort- >Reset- FastB2B-
00:1f.0 ISA bridge: Intel Corp. 82801AA ISA Bridge (LPC) (rev 02)
Control: I/O+ Mem+ BusMaster+ SpecCycle+ MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 0
00:1f.1 IDE interface: Intel Corp. 82801AA IDE (rev 02) (prog-if 80 [Master])
Subsystem: Intel Corp. 82801AA IDE
Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 0
Region 4: I/O ports at f000 [size=16]
00:1f.2 USB Controller: Intel Corp. 82801AA USB (rev 02) (prog-if 00 [UHCI])
Subsystem: Intel Corp. 82801AA USB
Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 0
Interrupt: pin D routed to IRQ 5
Region 4: I/O ports at d000 [size=32]
00:1f.5 Multimedia audio controller: Intel Corp. 82801AA AC'97 Audio (rev 02)
Subsystem: Analog Devices SoundMAX Integrated Digital Audio
Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 0
Interrupt: pin B routed to IRQ 11
Region 0: I/O ports at d800
Region 1: I/O ports at dc00 [size=64]
01:01.0 Modem: Philips Semiconductors SmartPCI56(UCB1500) 56K Modem (rev 01) (prog-if 00 [Generic])
Subsystem: Philips Semiconductors SmartPCI56(UCB1500) 56K Modem
Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 32
Interrupt: pin A routed to IRQ 11
Region 0: I/O ports at c000
Capabilities: [80] Power Management version 1
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
01:02.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)
Subsystem: Realtek Semiconductor Co., Ltd. RT8139
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 32 (8000ns min, 16000ns max)
Interrupt: pin A routed to IRQ 9
Region 0: I/O ports at c400 [size=dc000000]
Region 1: Memory at dd000000 (32-bit, non-prefetchable) [size=256]
Expansion ROM at 00020000 [disabled]
Capabilities: [50] Power Management version 2
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=375mA PME(D0-,D1+,D2+,D3hot+,D3cold+)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
[root@doggy slmodem-2.9.10]# make
make -C modem all
make[1]: Entering directory `/tmp/slmodem-2.9.10/modem'
rebuild profile...
gcc -Wall -g -O -I. -DCONFIG_DEBUG_MODEM -o modem_main.o -c modem_main.c
gcc -Wall -g -O -I. -DCONFIG_DEBUG_MODEM -o modem_cmdline.o -c modem_cmdline.c
gcc -Wall -g -O -I. -DCONFIG_DEBUG_MODEM -o modem.o -c modem.c
gcc -Wall -g -O -I. -DCONFIG_DEBUG_MODEM -o modem_datafile.o -c modem_datafile.c
gcc -Wall -g -O -I. -DCONFIG_DEBUG_MODEM -o modem_at.o -c modem_at.c
gcc -Wall -g -O -I. -DCONFIG_DEBUG_MODEM -o modem_timer.o -c modem_timer.c
gcc -Wall -g -O -I. -DCONFIG_DEBUG_MODEM -o modem_pack.o -c modem_pack.c
gcc -Wall -g -O -I. -DCONFIG_DEBUG_MODEM -o modem_ec.o -c modem_ec.c
modem_ec.c:689: warning: `t403_timeout' defined but not used
gcc -Wall -g -O -I. -DCONFIG_DEBUG_MODEM -o modem_comp.o -c modem_comp.c
gcc -Wall -g -O -I. -DCONFIG_DEBUG_MODEM -o modem_param.o -c modem_param.c
gcc -Wall -g -O -I. -DCONFIG_DEBUG_MODEM -o modem_debug.o -c modem_debug.c
gcc -Wall -g -O -I. -DCONFIG_DEBUG_MODEM -o homolog_data.o -c homolog_data.c
gcc -Wall -g -O -I. -DCONFIG_DEBUG_MODEM -o dp_sinus.o -c dp_sinus.c
gcc -Wall -g -O -I. -DCONFIG_DEBUG_MODEM -o dp_dummy.o -c dp_dummy.c
gcc -Wall -g -O -I. -DCONFIG_DEBUG_MODEM -o sysdep_common.o -c sysdep_common.c
gcc -o slmodemd modem_main.o modem_cmdline.o modem.o modem_datafile.o modem_at.o modem_timer.o modem_pack.o modem_ec.o modem_comp.o modem_param.o modem_debug.o homolog_data.o dp_sinus.o dp_dummy.o dsplibs.o sysdep_common.o
gcc -Wall -g -O -I. -DCONFIG_DEBUG_MODEM -o modem_test.o -c modem_test.c
gcc -o modem_test modem_test.o modem_cmdline.o modem.o modem_datafile.o modem_at.o modem_timer.o modem_pack.o modem_ec.o modem_comp.o modem_param.o modem_debug.o homolog_data.o dp_sinus.o dp_dummy.o dsplibs.o sysdep_common.o
make[1]: Leaving directory `/tmp/slmodem-2.9.10/modem'
[root@doggy slmodem-2.9.10]# make install
make -C modem all
make[1]: Entering directory `/tmp/slmodem-2.9.10/modem'
make[1]: Leaving directory `/tmp/slmodem-2.9.10/modem'
make -C drivers KERNEL_DIR=/lib/modules/2.6.5-1.358/build
make[1]: Entering directory `/tmp/slmodem-2.9.10/drivers'
cc -I/lib/modules/2.6.5-1.358/build/include -o kernel-ver kernel-ver.c
make all KERNEL_VER=2.6.5-1.358
make[2]: Entering directory `/tmp/slmodem-2.9.10/drivers'
make modules -C /lib/modules/2.6.5-1.358/build SUBDIRS=/tmp/slmodem-2.9.10/drivers
make[3]: Entering directory `/lib/modules/2.6.5-1.358/build'
CC [M] /tmp/slmodem-2.9.10/drivers/amrmo_init.o
CC [M] /tmp/slmodem-2.9.10/drivers/sysdep_amr.o
CC [M] /tmp/slmodem-2.9.10/drivers/st7554.o
LD [M] /tmp/slmodem-2.9.10/drivers/slamr.o
LD [M] /tmp/slmodem-2.9.10/drivers/slusb.o
Building modules, stage 2.
MODPOST
CC /tmp/slmodem-2.9.10/drivers/slamr.mod.o
LD [M] /tmp/slmodem-2.9.10/drivers/slamr.ko
CC /tmp/slmodem-2.9.10/drivers/slusb.mod.o
LD [M] /tmp/slmodem-2.9.10/drivers/slusb.ko
make[3]: Leaving directory `/lib/modules/2.6.5-1.358/build'
make[2]: Leaving directory `/tmp/slmodem-2.9.10/drivers'
make[1]: Leaving directory `/tmp/slmodem-2.9.10/drivers'
make install -C drivers KERNEL_DIR=/lib/modules/2.6.5-1.358/build
make[1]: Entering directory `/tmp/slmodem-2.9.10/drivers'
cc -I/lib/modules/2.6.5-1.358/build/include -o kernel-ver kernel-ver.c
mkdir -p /dev
mknod -m 600 /dev/slamr0 c 212 0 ; mknod -m 600 /dev/slamr1 c 212 1 ; mknod -m 600 /dev/slamr2 c 212 2 ; mknod -m 600 /dev/slamr3 c 212 3 ; echo -n
mknod -m 600 /dev/slusb0 c 213 0 ; mknod -m 600 /dev/slusb1 c 213 1 ; mknod -m 600 /dev/slusb2 c 213 2 ; mknod -m 600 /dev/slusb3 c 213 3 ; echo -n
make install KERNEL_VER=2.6.5-1.358
make[2]: Entering directory `/tmp/slmodem-2.9.10/drivers'
install -D -m 644 slamr.ko /lib/modules/2.6.5-1.358/extra/slamr.ko
install -D -m 644 slusb.ko /lib/modules/2.6.5-1.358/extra/slusb.ko
/sbin/depmod -a
make[2]: Leaving directory `/tmp/slmodem-2.9.10/drivers'
make[1]: Leaving directory `/tmp/slmodem-2.9.10/drivers'
install -D -m 755 modem/slmodemd /usr/sbin/slmodemd
rm -f -rf /var/lib/slmodem
install -d -D -m 755 /var/lib/slmodem
[root@doggy root]#
[root@doggy root]#
[root@doggy root]#
[root@doggy root]#
[root@doggy root]#
[root@doggy root]#
[root@doggy root]#
[root@doggy root]#
[root@doggy root]#
[root@doggy root]#
[root@doggy root]# modprobe slamr
[root@doggy root]# modprobe slusb
[root@doggy root]# /usr/sbin/slmodemd --country=CHINA /dev/slamr0
error: mdm setup: cannot open dev `/dev/slamr0': No such device
error: cannot setup device `/dev/slamr0'
[root@doggy root]# dmesg
Linux version 2.6.5-1.358 (bhcompile@bugs.build.redhat.com) (gcc version 3.3.3 20040412 (Red Hat Linux 3.3.3-7)) #1 Sat May 8 09:04:50 EDT 2004
BIOS-provided physical RAM map:
BIOS-e820: 0000000000000000 - 000000000009fc00 (usable)
BIOS-e820: 000000000009fc00 - 00000000000a0000 (reserved)
BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved)
BIOS-e820: 0000000000100000 - 000000000bef0000 (usable)
BIOS-e820: 000000000bef0000 - 000000000bef3000 (ACPI NVS)
BIOS-e820: 000000000bef3000 - 000000000bf00000 (ACPI data)
BIOS-e820: 00000000ffb00000 - 0000000100000000 (reserved)
0MB HIGHMEM available.
190MB LOWMEM available.
zapping low mappings.
On node 0 totalpages: 48880
DMA zone: 4096 pages, LIFO batch:1
Normal zone: 44784 pages, LIFO batch:10
HighMem zone: 0 pages, LIFO batch:1
DMI 2.2 present.
ACPI disabled because your bios is from 99 and too old
You can enable it with acpi=force
Built 1 zonelists
Kernel command line: ro root=LABEL=/ rhgb quiet
mapped 4G/4G trampoline to ffff3000.
Initializing CPU#0
CPU 0 irqstacks, hard=02345000 soft=02344000
PID hash table entries: 1024 (order 10: 8192 bytes)
Detected 501.277 MHz processor.
Using tsc for high-res timesource
Console: colour VGA+ 80x25
Memory: 190508k/195520k available (1540k kernel code, 4392k reserved, 599k data, 144k init, 0k highmem)
Calibrating delay loop... 989.18 BogoMIPS
Security Scaffold v1.0.0 initialized
SELinux: Initializing.
SELinux: Starting in permissive mode
There is already a security framework initialized, register_security failed.
Failure registering capabilities with the kernel
selinux_register_security: Registering secondary module capability
Capability LSM initialized
Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
Mount-cache hash table entries: 512 (order: 0, 4096 bytes)
CPU: After generic identify, caps: 0383f9ff 00000000 00000000 00000000
CPU: After vendor identify, caps: 0383f9ff 00000000 00000000 00000000
CPU: L1 I cache: 16K, L1 D cache: 16K
CPU: L2 cache: 512K
CPU: After all inits, caps: 0383f1ff 00000000 00000000 00000040
Intel machine check architecture supported.
Intel machine check reporting enabled on CPU#0.
CPU: Intel Pentium III (Katmai) stepping 03
Enabling fast FPU save and restore... done.
Enabling unmasked SIMD FPU exception support... done.
Checking 'hlt' instruction... OK.
POSIX conformance testing by UNIFIX
NET: Registered protocol family 16
PCI: PCI BIOS revision 2.10 entry at 0xfb220, last bus=1
PCI: Using configuration type 1
mtrr: v2.0 (20020519)
ACPI: Subsystem revision 20040326
ACPI: Interpreter disabled.
Linux Plug and Play Support v0.97 (c) Adam Belay
usbcore: registered new driver usbfs
usbcore: registered new driver hub
ACPI: ACPI tables contain no PCI IRQ routing entries
PCI: Invalid ACPI-PCI IRQ routing table
PCI: Probing PCI hardware
PCI: Probing PCI hardware (bus 00)
Transparent bridge - 0000:00:1e.0
apm: BIOS version 1.2 Flags 0x07 (Driver version 1.16ac)
audit: initializing netlink socket (disabled)
audit(1124686635.181:0): initialized
Total HugeTLB memory allocated, 0
VFS: Disk quotas dquot_6.5.1
Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
SELinux: Registering netfilter hooks
Initializing Cryptographic API
pci_hotplug: PCI Hot Plug PCI Core version: 0.5
isapnp: Scanning for PnP cards...
isapnp: No Plug & Play device found
Real Time Clock Driver v1.12
Linux agpgart interface v0.100 (c) Dave Jones
agpgart: Detected an Intel i810 DC100 Chipset.
agpgart: Maximum main memory to use for agp memory: 148M
agpgart: detected 4MB dedicated video ram.
agpgart: AGP aperture is 64M @ 0xd8000000
Serial: 8250/16550 driver $Revision: 1.90 $ 8 ports, IRQ sharing enabled
ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
RAMDISK driver initialized: 16 RAM disks of 16384K size 1024 blocksize
divert: not allocating divert_blk for non-ethernet device lo
Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
ICH: IDE controller at PCI slot 0000:00:1f.1
ICH: chipset revision 2
ICH: not 100% native mode: will probe irqs later
ide0: BM-DMA at 0xf000-0xf007, BIOS settings: hda
MA, hdb
io
ide1: BM-DMA at 0xf008-0xf00f, BIOS settings: hdc
MA, hdd
MA
hda: Maxtor 6Y080L0, ATA DISK drive
Using cfq io scheduler
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
hdc: DVD-ROM 316E, ATAPI CD/DVD-ROM drive
hdd: Maxtor 5T020H2, ATA DISK drive
ide1 at 0x170-0x177,0x376 on irq 15
hda: max request size: 128KiB
hda: 160086528 sectors (81964 MB) w/2048KiB Cache, CHS=65535/16/63, UDMA(33)
hda: hda1 hda2 < hda5 hda6 hda7 hda8 hda9 > hda3 hda4
hdd: max request size: 128KiB
hdd: 40021632 sectors (20491 MB) w/2048KiB Cache, CHS=39704/16/63, UDMA(33)
hdd: hdd1 hdd4 < hdd5 hdd6 >
hdc: ATAPI 24X DVD-ROM drive, 512kB Cache, UDMA(33)
Uniform CD-ROM driver Revision: 3.20
ide-floppy driver 0.99.newide
usbcore: registered new driver hiddev
usbcore: registered new driver hid
drivers/usb/input/hid-core.c: v2.0:USB HID core driver
mice: PS/2 mouse device common for all mice
serio: i8042 AUX port at 0x60,0x64 irq 12
input: ImPS/2 Logitech Wheel Mouse on isa0060/serio1
serio: i8042 KBD port at 0x60,0x64 irq 1
input: AT Translated Set 2 keyboard on isa0060/serio0
md: md driver 0.90.0 MAX_MD_DEVS=256, MD_SB_DISKS=27
NET: Registered protocol family 2
IP: routing cache hash table of 1024 buckets, 8Kbytes
TCP: Hash tables configured (established 16384 bind 32768)
Initializing IPsec netlink socket
NET: Registered protocol family 1
NET: Registered protocol family 17
checking if image is initramfs...it isn't (no cpio magic); looks like an initrd
Freeing initrd memory: 185k freed
md: Autodetecting RAID arrays.
md: autorun ...
md: ... autorun DONE.
RAMDISK: Compressed image found at block 0
VFS: Mounted root (ext2 filesystem).
kjournald starting. Commit interval 5 seconds
EXT3-fs: mounted filesystem with ordered data mode.
Freeing unused kernel memory: 144k freed
SELinux: Disabled at runtime.
SELinux: Unregistering netfilter hooks
NET: Registered protocol family 10
Disabled Privacy Extensions on device 022db720(lo)
IPv6 over IPv4 tunneling driver
divert: not allocating divert_blk for non-ethernet device sit0
input: AT Translated Set 2 keyboard on isa0060/serio0
USB Universal Host Controller Interface driver v2.2
uhci_hcd 0000:00:1f.2: UHCI Host Controller
PCI: Setting latency timer of device 0000:00:1f.2 to 64
uhci_hcd 0000:00:1f.2: irq 5, io base 0000d000
uhci_hcd 0000:00:1f.2: new USB bus registered, assigned bus number 1
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 2 ports detected
EXT3 FS on hda9, internal journal
device-mapper: 4.1.0-ioctl (2003-12-10) initialised:
dm@uk.sistina.com
cdrom: open failed.
Adding 385552k swap on /dev/hda4. Priority:-1 extents:1
IA-32 Microcode Update Driver: v1.13 <tigran@veritas.com>
microcode: CPU0 updated from revision 0x7 to 0xe, date = 09101999
parport0: PC-style at 0x378 [PCSPP,TRISTATE]
SCSI subsystem initialized
inserting floppy driver for 2.6.5-1.358
FDC 0 is a post-1991 82077
8139too Fast Ethernet driver 0.9.27
divert: allocating divert_blk for eth0
eth0: RealTek RTL8139 at 0xc400, 00:e0:4c:87:45:7a, IRQ 9
eth0: Identified 8139 chip type 'RTL-8100B/8139D'
divert: freeing divert_blk for eth0
ip_tables: (C) 2000-2002 Netfilter core team
ip_conntrack version 2.1 (1527 buckets, 12216 max) - 296 bytes per conntrack
8139too Fast Ethernet driver 0.9.27
divert: allocating divert_blk for eth0
eth0: RealTek RTL8139 at 0xc400, 00:e0:4c:87:45:7a, IRQ 9
eth0: Identified 8139 chip type 'RTL-8100B/8139D'
eth0: link down
eth0: no IPv6 routers present
parport0: PC-style at 0x378 [PCSPP,TRISTATE]
lp0: using parport0 (polling).
lp0: console ready
PCI: Setting latency timer of device 0000:00:1f.5 to 64
intel8x0_measure_ac97_clock: measured 49298 usecs
intel8x0: clocking to 48000
slamr: module license 'Smart Link Ltd.' taints kernel.
slamr: SmartLink AMRMO modem.
slamr: probe 1131:3400 SL1500 card...
slamr: mc97 codec is 0
slamr: cannot init card.
=====================================================
README
=======================================================
Smart Link Ltd.
h-t-t-p://-w-w-w-.smlink.com
Sep 30, 2003
Smart Link Soft Modem for Linux
-------------------------------
Introduction
============
This is Smart Link Soft Modem for Linux version 2.9. It provides
full-featured 56K Voice Fax Modem.
This is implemented as generic application (slmodemd) and set of
hardware specific kernel-space drivers (slamr, slusb).
ALSA modem drivers may be used instead of proprietary ones (see ALSA mode).
*****omitted
Supported Hardware
==================
HAMR5600 based AMR/CNR/MDC/ACR modem cards on the following Southbridge
chips:
- Intel ICH0,ICH2, ICH3, ICH4
- Via 686A, 686B, 8231, 8233
- SiS 630
- ALI 1535.
SmartPCI56/561/562/563 based PCI modem cards.
SmartUSB56 based USB modem.
******omitted
Installation
============
1. Unpack tar.gz package file:
$ gzip -dc slmodem-2.9.X.tar.gz | tar xf -
2. 'cd' to package directory:
$ cd slmodem-2.9.X
3. Review and edit 'Makefile' (if need):
In many cases you will need to correct path to your local kernel
source tree:
KERNEL_DIR=/path/to/linux
Default KERNEL_DIR is '/lib/modules/<kerne-version>/build'. Many Linux
Distributions use directory '/usr/src/linux-<version>' also.
Note: If you are using Linux kernel 2.4, only header files should be
available for build in $(KERNEL_DIR)/include
Another way to pass right value KERNEL_DIR is to use command line
parameter while running 'make':
$ make KERNEL_DIR=/path/to/linux ...
4. Run 'make' command to compile package:
$ make
5. Install. As 'root' user run:
# make install
It will install:
- application 'slmodemd' under '/usr/sbin' directory
- hardware specific drivers (kernel modules) 'slamr' and 'slusb'
under conventional kernel modules directory
- character device nodes '/dev/slamr0-3' with major number 212
(for pci modems) and '/dev/slusb0-3' with major number 213
(for usb modems).
- config modules for autoloading (by editing file '/etc/modules.conf')
(only with 2.4 kernels)
6. Config modem country.
Use AT+GCI=<T.35 country code> command to setup country.
Also you can setup default modem country by passing command line
parameter '--country=MY_COUNTRY' to program 'slmodemd'.
See output of 'slmodemd --countrylist' for a list of supported
country names and T.35 country codes (see also 'slmodemd --help').
Note: Command ATI7 shows currently installed country setting.
8. Uninstallation.
In package directory just type:
# make uninstall
Getting Started
===============
After successful installation and configuration:
1. Load modem driver.
Load your modem hardware specific kernel module:
# modprobe slamr
if you are using AMR/CNR/PCI modem, or
# modprobe slusb
if you are using SmartUSB56 Modem.
Note: this will be done automatically when modules were
configured for 'loading on demand'
Note: this is safe to load both 'alamr' and 'slusb' modules.
2. Run soft modem application.
# /usr/sbin/slmodemd [options] <device_name>
Where device name is appropriate device node for your modem
(look at output of 'dmesg' command).
Run '/usr/sbin/slmodemd --help' for details.
Examples:
# /usr/sbin/slmodemd --country=USA /dev/slamr0
, or for SmartUSB56 Modems:
# /usr/sbin/slmodemd --country=ITALY /dev/slusb0
3. Using the modem.
When 'slmodemd' is running this creates PTY (pseudo-terminal) to
emulate modem port device, also this creates symbolic link
like '/dev/ttySL0' (shown at startup).
Config your application to use this link '/dev/ttySL0' (or PTY node
itself) as modem port.
Note: Some application want 'to know' that they are working with
pseudo-terminal and may require additional configurations.
Known application notes:
- 'wvdial' requires option 'Carrier Check = no' in config file
- some versions of 'kppp' may not work properly with devices named
like '/dev/ttySL0'. To workaround this you may create symbolic link
'/dev/modem' ( # ln -s /dev/ttySL0 /dev/modem ) and use this link
as modem device with 'kppp'
4. Startup automation.
There are examples of startup scripts in 'scripts' directory.
ALSA mode
=========
ALSA has the built-in modem drivers included in 'alsa-driver' >= 1.0.2
and in Linux kernel >= 2.6.5. Currently there is 'intel8x0m' (snd-intel8x0m)
modem driver, which supports ICH based AC97 modems (MC97).
Recent 'alsa-driver' (>=1.0.6) has also support for NVidia NForce
(snd-intel8x0m) and ATI IXP (snd-atiixp-modem) based modems.
1. Configure your kernel and enable ALSA and ICH based modem support
( 'Device Drivers' -> 'Sound' -> 'Advanced Linux Sound Architecture' ->
'PCI devices' -> 'Intel i8x0/MX440; AMD768/8111 modems' ) .
2. Build and install kernel and modules as usual (make , make modules_install,
etc.). ICH modem driver modem module name is 'snd-intel8x0m'
(if was configured as module).
3. Build application 'slmodemd' with ALSA support. For this in
slmodem-2.9.x dir:
$ cd modem
$ make SUPPORT_ALSA=1
This will build 'slmodemd' with ALSA support. If compilation is failed
review Makefile (near ALSA_SUPPORT condition) and define right library
and/or CFLAGS
4. Use option '--alsa' when running 'slmodemd' and ALSA conventional
device name ('hw:0' or 'hw:1' for instance). If modem support in
the kernel was enabled as module module 'snd-intel8x0m' should be loaded.
Note: Recent version of 'alsa-lib' (>= 1.0.6) has built-in "modem" device
name support ('modem:0', 'modem:1', etc). It is recommended to use
those names with modems (mandatory with ATI IXP modems).
Note: When using ALSA modem driver you don't need to load other
modules ('slamr').