Link to home
Create AccountLog in
Avatar of Harisha M G
Harisha M GFlag for India

asked on

Installing Modem

Hello,
    I have recently installed ELX Linux that has 2.4 kernel.
Everything is fine.. but I can not install my HSP 56 Micromodem in that.
When I use the driver of the modem, it says that the driver has been compiled using gcc version 2 and it is currently having version 3.

Modem works fine in Windows

Can anybody please guide me to install my modem?
Avatar of makhan
makhan
Flag of India image

Hi!

How are you installing the modem. (your installation procedure)

Is it an internal modem? Also checkout this link below.

www.linmodem.org

If you have the higher version of gcc and the driver is compiled in the lower version you will need the driver source code and should compile in the driver in your gcc version. Then you will be able to probably install this.

Regards!

Regards!


Avatar of surya_prabhakar
surya_prabhakar

Tell what is the driver which you installed .
is it an rpm? or source code which can be compiled . IF it si the second you can recompile it in the new glibc .

surya
Avatar of Harisha M G

ASKER

Thanks for help.
Yes, it is an internal modem. I am new to Linux and don't know about recompiling and all.
The files in the driver cd are

HALWRAPS.H
PCTEL.H
CONTROL.A
DSP.A
HAL.A
PCTEL.O
MAKEFILE
PTSERIAL.C

I don't know whether it can be recompiled or not and also I don't know how to do it.

The readme file says..

________________________
PC-TEL HSP Modem Driver Module for Linux kernel 2.2.xxx
Serial Version 4.27.100 (7/16/99 Release)

Linux port done by William Hsu (william_hsu@pctel.com)
========================================================================

This is the release note for the PC-TEL HSP modem driver for Linux.
This file explains how to build and use the HSP modem driver.


FILE CONTENTS
========================================================================

After you unzip the distribution zip file, you should have:

src/serial/Makefile         Makefile for serial modem driver
src/serial/ptserial.c       Serial modem driver
                            (modified from Theodore Ts'o's serial.c)

lib/pctel.o                 Installable modem driver
lib/control.a               Relocatable object for Controller module
lib/dsp.a                   Relocatable object for DSP module
lib/hal.a                   Relocatable object for HAL module

include/pctel.h             Header file for ptserial.c
include/halwraps.h          Header file for interfaces to HAL module

README                      This file


WHAT HARDWARE DO YOU NEED?
========================================================================

You need an Elite/SiS mainboard with the CM8738 Audio/Modem ASIC and
PCtel Codec/DAA daughterboard.  The modem daughterboard has a RJ-11 phone
jack to hook up to a phone line.

The modem driver autodetects the correct PCI vender and device ID to
install the correct interrupt handler.


HOW TO BUILD THE MODEM DRIVER?
========================================================================

cd to src/serial and run 'make'.  If you have gcc installed
correctly, it should generate the output file in lib/pctel.o



HOW TO USE THE MODEM DRIVER?
========================================================================

If pctel.o compiles and links successfully, you can use 'insmod' to
install it.  The current driver source uses the major number 62
and minor number 79 (which maps into /dev/ttyS15).  You can change the
major number by changing the PCTEL_MAJOR #define.  To change the minor
number, you need to modify the rs_table[] array, and the corresponding
ttyS# will change.  The minor number value is 64 + port #.

Make sure you have a char device node for /dev/ttyS15.  Login as root
and use the 'mknod' command:

mknod /dev/ttyS15 c 62 79

You may want to use 'chgrp uucp /dev/ttyS15' to change its group owner
and 'chmod 666 /dev/ttyS15' to grant read/write access to other users.

/dev/ttyS15 will behave like a regular serial device.  Open the port
with a terminal application (e.g. Seyon).  Make sure it is
configured to use /dev/ttyS15.

You probably want to create another device node named /dev/modem (or
create a symbolic link using "ln -s",as some terminal and PPP dialer
applications use that name as its default.

If you opened /dev/ttyS15 successfully with a terminal application,
you can type in AT commands to interface with the modem (please
consult PC-TEL AT Command Summary Document for more information).

Sample AT commands (type <CR> after all AT commands):

Command         What                        Response
========================================================================
AT              Attention                   OK
ATI3            Report version number       PCtel 7.64-PCC-LN100
ATZ             Reset modem                 OK
ATDT1234567     Off-hook and dial           Dials the number 1234567
ATA             Answer                      Goes off-hook and answers
ATW1            Report carrier (DCE) speed  OK


KNOWN BUGS
========================================================================


CONTACTS
========================================================================

If you have issues or questions building and running this modem driver,
please e-mail me at william_hsu@pctel.com.
HOW TO BUILD THE MODEM DRIVER?
========================================================================

cd to src/serial and run 'make'.  If you have gcc installed
correctly, it should generate the output file in lib/pctel.o

and also follow section HOW TO USE MODEM DRIVER
I had tried that, but I got many compile errors while compiling.

Thanks
This is what I did in Linux..

cd '/mnt/cdrom/CMI8X38/MODEM/LINUX'
[root@localhost root]# cd '/mnt/cdrom/CMI8X38/MODEM/LINUX'
[root@localhost LINUX]# cd src/serial
[root@localhost serial]# make
make: *** No targets specified and no makefile found.  Stop.
[root@localhost serial]# ls
MAKEFILE  PTSERIAL.C
[root@localhost serial]# makefile
bash: makefile: command not found
[root@localhost serial]#
ok letus understand what we are doing
we are trying to compile a driver - you are going into a cdrom directory and tryting to do that .cdrom is a read only media . hence you cannot  create files there hence you will get errors .
so what we do is copy those files to tmp directory .
#cp -rf /mnt/cdrom/CMI8X38   /tmp
once that is don e
# cd /tmp/CM1*
now go to src/serial directory ;
do
#ls
to make sure there is a Makefile in that directory .
remember
#make     is a commad which will search for a Makefile so you will only type make commad in the directory where there is a make file .
ok ... now please try again and update .

surya.
OK Surya.. I will give that try.. I will not be available for 4 days.. I will tell it after that

Thanks.

Comments from others are welcome.
Sorry for the delay.. I will tell you the results tomorrow...
Again the same error...


cd '/root/windows/D'
cd '/mnt/windows/C/Documents and Settings/Harish/Desktop'
[root@localhost root]# cd '/root/windows/D'
[root@localhost D]# cd '/mnt/windows/C/Documents and Settings/Harish/Desktop'
[root@localhost Desktop]# cp -rf /mnt/cdrom/CMI8X38 /tmp
[root@localhost Desktop]# cd /tmp/CMI
bash: cd: /tmp/CMI: No such file or directory
[root@localhost Desktop]# cd /tmp/CMI*
[root@localhost CMI8X38]# ls
AUDIO  AUDIO_ITE-GAME  AUDIO_LOGODRV  MODEM  README.TXT
[root@localhost CMI8X38]# cd MODEM
[root@localhost MODEM]# ls
LINUX  README.TXT  W2K  WIN9XNT4  WINME
[root@localhost MODEM]# cd LINUX
[root@localhost LINUX]# ls
INCLUDE  LIB  README.TXT  SRC
[root@localhost LINUX]# cd src/serial
bash: cd: src/serial: No such file or directory
[root@localhost LINUX]# cd SRC/
[root@localhost SRC]# ls
SERIAL
[root@localhost SRC]# cd SERIAL
[root@localhost SERIAL]# ls
MAKEFILE  PTSERIAL.C
[root@localhost SERIAL]# make
make: *** No targets specified and no makefile found.  Stop.
[root@localhost SERIAL]#
[root@localhost SERIAL]#
makhan, I went to that site and downloaded ScanModem and ran it. What should I do next?
what is the result that you got from scanmodem.?

Thanks.. here is the ModemData.TXT file generated by ScanModem.
______________________________________________________________________________
DO use the following line as the email Subject Line, to alert cogent experts:
      scanModem, Elx Linux
Kernel \r kernel 2.4.20-8elx
 Occassionally reponses are blocked by an Internet Providers mail filters.
 So do in a day also check the Archived responses at DISCUSS@linmodems.org
Code updated on:  2005_March_3
------------ --------------  System information ------------------------
Elx Linux release 4.0 (BizDesk)
Kernel
 on System with processor: i686
 currently under kernel:   2.4.20-8elx
 The kernel was assembled with compiler:  3.2.2
 with current System compiler GCC=3.2.2

Checking for kernel-headers needed for compiling.
 kernel-headers have base folder /lib/modules/2.4.20-8elx/build
 kernel-headers have base folder /usr/src/linux
 kernel-headers have base folder /usr/src/linux-2.4
 kernel-headers have base folder /usr/src/linux-2.4.20-8elx

 A /dev/modem symbolic link is not set.
 Checking for USB modems
 None found

Modem candidates are at PCI_buses:   01:0a.1
   
Providing detail for device at PCI_bus 01:0a.1
  with vendor-ID:device-ID
          ----:----
Class 0780: 13f6:0211   Communication controller: C-Media Electronics Inc CM8738 (rev 10)
  SubSystem 1019:0962   Elitegroup Computer Systems: Unknown device 0962
      Flags: medium devsel, IRQ 9
      I/O ports at c400 [size=64]
      Capabilities: [40] Power Management version 2
 
                  -----PCI_IDs-------                    --CompilerVer-
    Feature List:  Primary  Subsystem Distr  KernelVer   kernel default  CPU
 ./scanModem test 13f6:0211 1019:0962 Not_identified 2.4.20-8elx 3.2.2 3.2.2    i686

 == Checking PCI IDs through modem chip suppliers ==

 Vendor 13f6 is C-Media Electronics, which produced modem:
     13f6:0211  C-Media Electronics Inc CM8738,
     13f6:0211  subsystem HSP56 Audiomodem Riser
 supported by PCTEL software.

 Read ModemData.txt  and Pctel.txt in the new sub-folder Modem/

  ======= PCI_ID checking completed ======
 Update=2005_March_3
A PCMCIA CardBus is not detected on this System.
The following information blocks just query some ppp support items.

====================================================
   grep -rs ppp /etc/modules.conf
-------------------------------------

-------------------------------------
 PPP support module  bsd_comp.o  not found!
 Resident PPP support modules are properly uncompressed .
 COMM services are not active
Be sure to read the section about ppp related modules and aliases in Modem/General.txt
DEVPPP=crw------- 1 root root 108, 0 Jul 16 2003 /dev/ppp
A /dev/modem symbolic link is not present

 No devfsd.conf file found, indicated absense of the devfsd daemon package
 for device file system (devfs) symbolic link support.

DEVFSD=
 ---- dmesg queries -------
CPU serial number disabled.
PCI: if you experience problems, try using option 'pci=noacpi' or even 'acpi=off'
apm: BIOS version 1.2 Flags 0x07 (Driver version 1.16)
apm: overridden by ACPI.
  Not_identified is not yet providing pre-compiled drivers for WinModems
______________________________________________________________________________

What should I do? Should I post it to DISCUSS@linmodems.org ?
You have the right driver that you've copied from the CD rom drive on to your /tmp directory
the only problem that you are having is that make is expecting a filename like this

Makefile

remember linux is case sensitive. so you can do the following

cd /tmp/CMI8X38/MODEM/LINUX/SRC/SERIAL

cp PTSERIAL.C ptserial.c

make -f MAKEFILE

Now you will have the driver ready to be installed

** This is AFAIK **

use insmod to insert the module into your kernel or modify your /etc/modules.conf appropriately to load the new module

Regards!





OK I will try that and tell you what happened !
makhan,
Now it is recognizing the file :)
But I am now getting a new error :(

[root@localhost SRC]# cd SERIAL
[root@localhost SERIAL]# ls
MAKEFILE  PTSERIAL.C
[root@localhost SERIAL]# cp MAKEFILE makefile
[root@localhost SERIAL]# ls
MAKEFILE  PTSERIAL.C  makefile
[root@localhost SERIAL]# make
make: *** No rule to make target `../../lib/control.a', needed by `../../lib/pctel.o'.  Stop.
[root@localhost SERIAL]# cp MAKEFILE Makefile
[root@localhost SERIAL]# make
make: *** No rule to make target `../../lib/control.a', needed by `../../lib/pctel.o'.  Stop.
[root@localhost SERIAL]#

There may be some files missing / corrupt / not in proper case i.e. control.a or CONTROL.A will make

I suggest you download the driver from the website and then try compiling or download an already compiled version.

Regards!

OK I will try renaming all files with small case letters..
Please download from this link and try compiling.

http://linmodems.technion.ac.il/pctel-linux/pctel-2.2.tar.gz

I have just downloaded that...

But it is for 2.2 kernel. But I have 2.4 kernel
I don't know what to do :(
ASKER CERTIFIED SOLUTION
Avatar of makhan
makhan
Flag of India image

Link to home
membership
Create a free account to see this answer
Signing up is free and takes 30 seconds. No credit card required.
See answer
makhan,
    Thanks for the link..
   
    I will tell the outcome soon :)
Great makhan !!

I am awarding you the points from Linux !!!