|

楼主 |
发表于 2003-4-29 14:22:07
|
显示全部楼层
pctel modem驱动安装??
[roothost1 pectel-0.9.6]#./configure --with-hal=pct789 --with-kernel-includes=/usr/src/linux-2.4.18-14
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for gawk... gawk
checking whether make sets ${MAKE}... yes
checking build driver for... HAL_PCT789
checking for gcc... gcc
checking for C compiler default output... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for style of include used by make... GNU
checking dependency style of gcc... none
checking whether make sets ${MAKE}... (cached) yes
checking for a BSD-compatible install... /usr/bin/install -c
checking whether ln -s works... yes
checking for gawk... (cached) gawk
checking how to run the C preprocessor... gcc -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking /usr/src/linux-2.4.18-14/linux/modversions.h usability... no
checking /usr/src/linux-2.4.18-14/linux/modversions.h presence... no
checking for /usr/src/linux-2.4.18-14/linux/modversions.h... no
configure: error: modversions.h is missing - you should configure your kernel first!
[root@localhost1 pctel-0.9.6]# make
Making all in src
make[1]: Entering directory `/tmp/pctel-0.9.6/src'
Making all in module
make[2]: Entering directory `/tmp/pctel-0.9.6/src/module'
rm -f *~ \#* .*~ .\#*
rm -f ptmodule.o
rm -f ptmodule.o
rm -f ../../modules/pctel.o
gcc -D__KERNEL__ -Werror -Wno-trigraphs -fno-common -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -fno-strict-aliasing -pipe -fno-strength-reduce -DMODULE -DMODVERSIONS -DEXPORT_SYMTAB -DHAL_PCT789 -I../../include -I/usr/src/linux-2.4.18-14/include -include /usr/src/linux-2.4.18-14/include/linux/modversions.h -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"pctel\" -DVERSION=\"0.9.5\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -c -o ptmodule.o ptmodule.c
In file included from /usr/src/linux-2.4.18-14/include/linux/prefetch.h:13,
from /usr/src/linux-2.4.18-14/include/linux/list.h:6,
from /usr/src/linux-2.4.18-14/include/linux/module.h:12,
from ptmodule.c:8:
/usr/src/linux-2.4.18-14/include/asm/processor.h:258:1: "EISA_bus" redefined
In file included from /usr/src/linux-2.4.18-14/include/linux/modversions.h:128,
from <command line>:1:
/usr/src/linux-2.4.18-14/include/linux/modules/i386_ksyms.ver:88:1: this is the location of the previous definition
make[2]: *** [ptmodule.o] Error 1
make[2]: Leaving directory `/tmp/pctel-0.9.6/src/module'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/tmp/pctel-0.9.6/src'
make: *** [all-recursive] Error 1
[root@localhost1 pctel-0.9.6]# make install
Making install in src
make[1]: Entering directory `/tmp/pctel-0.9.6/src'
Making install in module
make[2]: Entering directory `/tmp/pctel-0.9.6/src/module'
make[3]: Entering directory `/tmp/pctel-0.9.6/src/module'
make[3]: Nothing to be done for `install-exec-am'.
make[3]: Nothing to be done for `install-data-am'.
make[3]: Leaving directory `/tmp/pctel-0.9.6/src/module'
make[2]: Leaving directory `/tmp/pctel-0.9.6/src/module'
Making install in ptserial
make[2]: Entering directory `/tmp/pctel-0.9.6/src/ptserial'
make[3]: Entering directory `/tmp/pctel-0.9.6/src/ptserial'
make[3]: Nothing to be done for `install-exec-am'.
make[3]: Nothing to be done for `install-data-am'.
make[3]: Leaving directory `/tmp/pctel-0.9.6/src/ptserial'
make[2]: Leaving directory `/tmp/pctel-0.9.6/src/ptserial'
make[2]: Entering directory `/tmp/pctel-0.9.6/src'
make[3]: Entering directory `/tmp/pctel-0.9.6/src'
make[3]: Nothing to be done for `install-exec-am'.
make[3]: Nothing to be done for `install-data-am'.
make[3]: Leaving directory `/tmp/pctel-0.9.6/src'
make[2]: Leaving directory `/tmp/pctel-0.9.6/src'
make[1]: Leaving directory `/tmp/pctel-0.9.6/src'
Making install in lib
make[1]: Entering directory `/tmp/pctel-0.9.6/lib'
make[2]: Entering directory `/tmp/pctel-0.9.6/lib'
make[2]: Nothing to be done for `install-exec-am'.
make[2]: Nothing to be done for `install-data-am'.
make[2]: Leaving directory `/tmp/pctel-0.9.6/lib'
make[1]: Leaving directory `/tmp/pctel-0.9.6/lib'
Making install in modules
make[1]: Entering directory `/tmp/pctel-0.9.6/modules'
make[2]: Entering directory `/tmp/pctel-0.9.6/modules'
if ! test -f pctel.o; then \
cd ../src/module && make; \
fi
make[3]: Entering directory `/tmp/pctel-0.9.6/src/module'
rm -f *~ \#* .*~ .\#*
rm -f ptmodule.o
rm -f ptmodule.o
rm -f ../../modules/pctel.o
gcc -D__KERNEL__ -Werror -Wno-trigraphs -fno-common -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -fno-strict-aliasing -pipe -fno-strength-reduce -DMODULE -DMODVERSIONS -DEXPORT_SYMTAB -DHAL_PCT789 -I../../include -I/usr/src/linux-2.4.18-14/include -include /usr/src/linux-2.4.18-14/include/linux/modversions.h -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"pctel\" -DVERSION=\"0.9.5\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -c -o ptmodule.o ptmodule.c
In file included from /usr/src/linux-2.4.18-14/include/linux/prefetch.h:13,
from /usr/src/linux-2.4.18-14/include/linux/list.h:6,
from /usr/src/linux-2.4.18-14/include/linux/module.h:12,
from ptmodule.c:8:
/usr/src/linux-2.4.18-14/include/asm/processor.h:258:1: "EISA_bus" redefined
In file included from /usr/src/linux-2.4.18-14/include/linux/modversions.h:128,
from <command line>:1:
/usr/src/linux-2.4.18-14/include/linux/modules/i386_ksyms.ver:88:1: this is the location of the previous definition
make[3]: *** [ptmodule.o] Error 1
make[3]: Leaving directory `/tmp/pctel-0.9.6/src/module'
make[2]: *** [pctel.o] Error 2
make[2]: Leaving directory `/tmp/pctel-0.9.6/modules'
make[1]: *** [install-am] Error 2
make[1]: Leaving directory `/tmp/pctel-0.9.6/modules'
make: *** [install-recursive] Error 1
下面是 这个驱动自带的说明:
FAQ - Frequently Asked Questions
--------------------------------
Table of Contents:
------------------
1. Will my modem XXX work with this driver?
2. What is needed to compile this driver?
3. How do I install this driver?
4. How do I load the driver in the boot-up?
5. Do you work for PCTEL?
6. Module options
7. Country Code selection
8. Compile error: no modversions.h
9. Unresolved Symbols
10. Modem not responding
1. Will my modem XXX work with your driver?
-------------------------------------------
Go to "Linux/Modem Compatibility Knowledge Base" at
http://www.idir.net/~gromitkc/winmodem.html
and follow the instructions to find your modem.
If you don't know, just try it!
2. What is needed to compile this driver?
-----------------------------------------
* kernel-sources
* a working compiler (preferably gcc)
* development tools (make, awk, ...)
3. How do I install this driver?
--------------------------------
Please read the INSTALL file.
4. How do I load the driver in the boot-up?
--------------------------------------------
If you have sucessfully done "make install", the driver is located
in /lib/modules/"your-kernel-number"/misc/
The driver consists of two parts:
pctel.o
ptserial.o
You insert these drivers with the command
insmod pctel
insmod ptserial
You have to make sure, that these two commands are run every time you
reboot your machine, by adding these two commands to an init script,
according to your distribution.
If you want to enable autoloading of the modules,
the following lines in /etc/modules.conf would suffice:
# for pctel modem
alias char-major-62 ptserial
below ptserial pctel
# country code for pctel modem
options ptserial country_code=13
Make sure, you run "depmod -a" after you changed your /etc/modules.conf.
Then starting ppp would autoload the modules,
or "modprobe ptserial" will insert them.
5. Do you work for PCTEL?
-------------------------
I don't work for PCTEL, i am maintainig this driver in my free time.
6. Module options
-----------------
You can add some module parameters in you /etc/modules.conf or at
insmod/modprobe time:
For all HALs:
- country_code: Country code (see below).
- irq: Force to using irq #.
- iobase: Force to use iobase for modem detection.
Only for I8XX/VAI686A HALs:
- iobase1: Force the iobase 1
NOTE: if you want to set iobase or iobase1, you should use
irq/iobase/iobase1 at same time.
Only for CM8738/PCT789 HALs:
- vendor_id: vendor ID of the modem
- device_id: device ID of the modem.
NOTE: vendor_id and device_id should be used at the same time,
but you cannot combinate this two options with
iobase, iobase prevail to (vendor/device)_id detection.
7. Country Code selection
-------------------------
The PCTEL modem has the possibility to select a country code.
If the country code is not selected, the default country code,
which is USA, will be used and it should work for most countries.
However, there is a way that you can select the country code for
better performance.
To select the country code, instead of "insmod ptserial.o" do:
insmod ptserial.o country_code=X
Table of country codes:
country_code country_name
1 USA
2 FRANCE
3 GERMANY
4 ITALY
5 SWEDEN
6 UK
7 JAPAN
8 AUSTRALIA
9 SPAIN
10 TAIWAN
11 SINGAPORE
12 KOREA
13 SWITZERLAND
14 NORWAY
15 NETHERLANDS
16 BELGIUM
17 CANADA
18 IRELAND
19 PORTUGAL
20 POLAND
21 HUNGARY
22 FINLAND
23 DENMARK
24 AUSTRIA
25 S.AFRICA
26 CTR21 COUNTRIES
27 CHINA
28 MALAYSIA
29 LUXUMBURG
30 GREECE
31 ICELAND
32 NEW ZEALAND
33 BRAZIL
8. Compile error: no modversions.h
----------------------------------
If you see something like:
configure: error: modversions.h is missing - you should configure
your kernel first!
then, you either have:
a) not installed your kernel sources --> install them
b) your kernel sources at a different path --> specify the path with:
./configure --with-kernel-includes=DIR
c) no "modversions.h" in your kernel sources -->
create the modversions.h by running
$ cd [...] (where you have your kernel sources, default is
/usr/src/linux)
$ make dep
this should make you a modversions.h in [...]/linux/include/
If this did not work, an ugly hack is to create an empty file there:
$ mkdir -p [...]/linux/include/linux
$ touch [...]/linux/include/linux/modversions.h
9. Unresolved Symbols
---------------------
The unresolved symbols arise when there is a mismatch between the
versions of the running kernel & the kernel-headers used to compile the
driver.
These symbol differences can often be masked across flavor differences
and even some larger differences through use of Mark Speith's fixscript,
available at: www.medres.ch/~jstifter/linux/pctel.html (links section).
Of course, the robust cure (and much better)
is too use the same kernel-headers as were used
in the compile of the running kernel. Unfortunately the kernel-header
packages provided by some Linux distros are not exactly version matched
with the stock kernels.
If you do a
depmod -e pctel.o
or
depmod -e ptserial.o
you can generate an "unresolved symbols" report.
If you have unresolved symbols:
1) download fixscript.gz
2) unpack it with "gzip -d fixscript.gz"
3) make it executable with "chmod +x fixscript"
4) install all modules, needed for your system
5) run fixscript with
./fixscript old_module.o new_module.o
this will create you the new module, which you can try to insert
with "insmod new_module.o"
If fixscript reports an error like
objcopy: --redefine-sym: Symbol "" is target of more than one redefinition
then, fixscript can not help you.
In this case, you have to compile yourself a kernel. Ask the linmodems
mailing list if you have problems - it is not that hard!
10. Modem not responding
------------------------
If wvdial reports that the modem is not responding, pppd locks up, or
minicom blocks keyboard input, this could be due to a conflict with
the sound driver (this problem has been observed in an on-board sound
system involving the SiS7018 audio controller, but may affect other
systems too). Unfortunately in this situation sound and modem support
are mutually exclusive. To use the modem it is necessary to disable
the kernel sound driver. Either use a kernel without built in sound
support, or in the case of a modularised kernel, disable loading of
the sound driver module. This can be done by editing the file
/etc/modules.conf and commenting out the line associating a sound
slot with the sound driver module, ie.
#alias sound-slot-0 trident
---
Jan Stifter, 2001-10-29
j.stifter@[no-spam]medres.ch
http://www.medres.ch/~jstifter/pctel
PCTEL Linux PCI driver, version 0.9.6
-------------------------------------
Description
-----------
This package contains the PCTEL driver for various PCTEL modems for linux.
It is meant for kernel 2.4.x, up to 2.4.18 so far.
Installation
------------
0) Unpack the tarball by typing "tar zxvf pctel-0.9.6.tar.gz"
1) Go into that directory by typing "cd pctel-0.9.6"
2) Find out what chipset you have in your board:
3) ./configure
Options:
--with-hal=hal
Select one of: pct789, cm8738, i8xx, sis, via686a
--with-kernel-includes=/path/to/my/kernel-sources/include
If you don't have your kernel sources at /usr/src/linux, specifiy
your includes
4) Compile the modules by typing "make"
5) If everything went fine, get root by typing "su"
7) Install the drivers by typing "make install"
8) You are now ready to use your modules.
Type "insmod pctel" and "insmod ptserial".
You should see in your logs ("tail /var/log/messages") something like:
May 16 23:28:17 suba kernel: PCTel initialization. Country code is 2.
May 16 23:28:17 suba kernel: PCTel device[00:11.0](0x88) found " CTel Inc HSP MicroModem 56 (rev 01)" IOBASE 0xe800 IRQ 9.
May 16 23:28:17 suba kernel: PCTel driver version 0.9.6 [5.05c-4.27.215 (09-14-2001)]] (PCT789) (2001-08-18) with MANY_PORTS SHARE_IRQ SERIAL_PCI enabled.
May 16 23:28:17 suba kernel: PCTel driver built on [Linux 2.4.8 i686 unknown] with [2.95.3].
May 16 23:28:17 suba kernel: ttyS15 at 0xe800 (irq = 9) is a PCtel
Notes:
You can always uninstall the modules by typing "make uninstall". If you
need to recompile the modules, "make clean" and "make" are your friends.
Questions, Infos, Support
-------------------------
see README
---
Jan Stifter, 2002-03-04
j.stifter@[no-spam]medres.ch
http://www.medres.ch/~jstifter/pctel/
2001-08-05: Updated for Linux 2.4.7.
- Daniel Caujolle-Bert <segfault@club-internet.fr>
2001-08-08: Some bugs fixes/cleanups.
- Daniel Caujolle-Bert <segfault@club-internet.fr>
2001-10-29: some fixes/cleanups.
- JS |
|