Dear Philippe,
I have been using your modem drivers on this computer for almost
ten years, starting from
my very first ancient Redhat-installation until my previous SUSE
10.3-distribution. They have been invaluable to me and I am much
indebted to you for your
great job! Nowadays I am using DSL to connect to the
internet, as probably most of us do, and would like to use the
modem for sending faxes and as an alternative, if DSL
is down. But not everybody in the world is in such a comfortable
position and I think it is really worthwhile to keep the drivers
up to date. After all, this is one of the great things about
Linux, that I can have the most uptodate and excellent system on
a 10 year old computer (but with good hardware...). If I tried to
put Windows7 on my computer it wouldn't make a peep... Therefore
I am happy that I can assist you in improving the code, and after
all, it's fun to solve a problem and learn a little bit more
about linux.
Having said this let us come back to our problem:
Here is the vpnclient_init script from /etc/init.d:
#!/bin/sh
##########################################################################
# Copyright (c) 2001, Cisco Systems, All Rights
Reserved
###########################################################################
#
# File: vpnclient_init
# Date: 04/23/2001
#
###########################################################################
#
# chkconfig: 345 85 85
# description: Startup script for the vpn client. Version 4.8.02
(0030)
#
###########################################################################
# Source function library.
VPNCLIENT="/opt/cisco-vpnclient/bin/vpnclient"
VPNDEV="cipsec0"
VPNMOD=cisco_ipsec
case `uname -r` in
2.[56].*)
VPNMOD_FILE="${VPNMOD}.ko"
;;
*)
VPNMOD_FILE="$VPNMOD"
;;
esac
WHOAMI=`id | sed -e 's/(.*//'`
# See how we were called.
case "$1" in
start)
echo -n "Starting ${VPNCLIENT}: "
if [ "$WHOAMI" != "uid=0" ] ; then
echo "Failed (super user access required)"
exit 1
fi
/sbin/lsmod | grep -q "${VPNMOD}"
if [ "$?" = "0" ] ; then
echo "module ${VPNMOD} is already running. Use
restart instead."
exit 1
fi
if [ -f /etc/resolv.conf.vpnbackup ]; then
echo "restoring /etc/resolv.conf"
mv /etc/resolv.conf.vpnbackup /etc/resolv.conf
fi
if [ -d /lib/modules/preferred ]; then
PC=/lib/modules/preferred/CiscoVPN
else
PC=/lib/modules/`uname -r`/CiscoVPN
fi
if [ -d $PC ] ; then
/sbin/insmod ${PC}/${VPNMOD_FILE}
if [ "$?" != "0" ] ; then
echo "Failed (insmod)"
exit 1
fi
else
echo "module directory $PC not found."
exit 1
fi
case "`uname -r`" in
2.6.*)
;;
2.5.*)
;;
2.4.*)
;;
2.2.*)
;;
2.0.*)
#
# This is only needed due to a bug in 2.0.x
kernels that affects
# arp lookups.
#
ifconfig $VPNDEV 222.222.222.222 ;
if [ "$?" != "0" ] ; then
echo "Failed (ifconfig)"
/sbin/rmmod ${VPNMOD}
exit 1
fi
;;
*)
echo "Failed (unsupported Linux version)"
/sbin/rmmod ${VPNMOD}
exit 1
;;
esac
echo "Done"
;;
stop)
echo -n "Shutting down ${VPNCLIENT}: "
if [ "$WHOAMI" != "uid=0" ] ; then
echo "Failed (super user access required)"
exit 1
fi
killall cvpnd > /dev/null 2>&1
/sbin/lsmod | grep -q "${VPNMOD}"
if [ "$?" != "0" ] ; then
echo "module ${VPNMOD} is not running."
exit 1
fi
/sbin/ifconfig $VPNDEV down
if [ "$?" != "0" ] ; then
echo "Failed (ifconfig)"
exit 1
fi
/sbin/rmmod ${VPNMOD}
if [ "$?" != "0" ] ; then
echo "Failed (rmmod)"
exit 1
fi
echo "Done"
;;
status)
/sbin/lsmod | egrep 'Module'
/sbin/lsmod | egrep "${VPNMOD}"
if [ "$?" != "0" ] ; then
echo
echo "Status Failed (lsmod ${VPNMOD}) -
The VPN module is not loaded."
fi
echo
/sbin/ifconfig $VPNDEV
if [ "$?" != "0" ] ; then
echo
echo "Status Failed (ifconfig ${VPNDEV}) - The
virtual interface is not present."
exit 1
fi
;;
restart|reload)
$0 stop
$0 start
;;
*)
echo "Usage: $0 {start|stop|restart|reload|status}"
exit 1
esac
exit 0
.....................................................................
I didn't quite understand if you also need the Intel536_boot
script from /etc/init.d. Isn't this the same as from your
tarball?
The shell output of your commands are as follows:
linux:~/Installationen/Modem-536ep/intel-536-537 # ls -l
/dev/modem
lrwxrwxrwx 1 root root 10 17. Feb 17:56 /dev/modem -> /dev/536ep
linux:~/Installationen/Modem-536ep/intel-536-537 # ls -l
/dev/536*
crw-rw-rw- 1 root dialout 240, 1 17. Feb 17:56 /dev/536ep
crw------- 1 root root 240, 1 17. Feb 17:56 /dev/536ep0
linux:~/Installationen/Modem-536ep/intel-536-537 #
/etc/init.d/Intel536_boot status
Intel536 1079683 0
hamregistry NOT running
linux:~/Installationen/Modem-536ep/intel-536-537 #
/etc/init.d/Intel536_boot stop
hamregistry: Kein Prozess gefunden
linux:~/Installationen/Modem-536ep/intel-536-537 #
/etc/init.d/Intel536_boot start
tail -f /var/log/messages
Feb 17 20:22:01 linux su: (to root) junker on /dev/pts/0
Feb 17 20:24:54 linux kernel: [ 6462.907952] Intel 536EP card
found
Feb 17 20:24:54 linux modem-manager: (tty/536ep0): could not get
port's parent device
I'll try next the efax and Jacques' hint concerning the
device-link (thank you for that!).
All the best
Wolfgang
On Thu, 16 Feb 2012, Philippe Vouters wrote:
Dear Wolfgang,
First it does look like that the intel-536-537/Intel536_inst shell code we
have been working on needs some improvements for a SUSE distribution to avoid
the warning messages.
To improve this code, can you send me one but the Intel536_boot and
vpnclient_init scripts. Both of these two are wrong for a SUSE distribution.
You will find one in /etc/init.d/. I shall use it as a model for correct SUSE
boot script programming.
However now, the Intel536.ko driver gets correctly installed in
/lib/modules/2.6.37.1-1.2-default/kernel/drivers/char/Intel536.ko
Can you from two terminals do the following ?
From one user account terminal:
$ tail -f /var/log/messages
From a root account terminal:
ls -l /dev/modem
ls -l /dev/536*
/etc/init.d/Intel536_boot status
/etc/init.d/Intel536_boot stop
/etc/init.d/Intel536_boot start
And you send me both screen captures.
There is one message which shows something really wrong that I cannot figure
out where the fault comes from:
Feb 16 18:12:33 linux modem-manager: (tty/536ep0): could not get port's
parent device
Why tty in tty/536ep0 ???? And this message comes from linux modem-manager, a
software I have no control over and I never used on my Fedora distribution.
Anyhow and from now on, reload my
http://vouters.dyndns.org/Intel/Intel-Readme.html Print out its content and
follow carefully each step of the guide. Prior to testing with wvdial, use
efax which is either in your /usr/bin directory or that you can download from
http://vouters.dyndns.org/Intel/ in source zip format. To build the binary:
$ cd efax
$ make -f Makefile_original
If ls /usr/bin/efax says nothing, then replace efax by ./efax in the command
I document.
Philippe
Le 16/02/2012 19:47, Wolfgang Junker a écrit :
Dear Philippe,
I followed your advice by putting "set -x" into the Intel536_inst
and commenting out the three lines after "D=...". If I do
$make install
I get the following output:
make[1]: Entering directory
`/root/Installationen/Modem-536ep/intel-536-537'
rm -f /etc/hamregistry.bin
bash Intel536_inst
++ uname -r
+ KERNVER=2.6.37.1-1.2-default
+ echo 'running kernel 2.6.37.1-1.2-default'
running kernel 2.6.37.1-1.2-default
+ '[' ']'
+ CharModDir=/lib/modules/2.6.37.1-1.2-default/kernel/drivers/char
+ case $KERNVER in
+ KMS=ko
+ '[' '!' -d /lib/modules/2.6.37.1-1.2-default/kernel/drivers/char ']'
+ '[' -a ./hamregistry.bin ']'
+ rm -f /etc/hamregistry.bin
+ echo 'installing hamregistry, used for persistant storage'
installing hamregistry, used for persistant storage
+ install -o root -g root -m 110 hamregistry /usr/sbin
+ echo 'installing Intel536 driver'
installing Intel536 driver
+ install -o root -g root -m 744 Intel536.ko
/lib/modules/2.6.37.1-1.2-default/kernel/drivers/char/Intel536.ko
++ tr '[:upper:]' '[:lower:]'
++ ls /etc/lsb-release /etc/SuSE-release
+ D='/etc/lsb-release
/etc/suse-release'
+ case $D in
+ DISTRIB_ID=SUSE
+ case $DISTRIB_ID in
++ cut -f3 '-d '
++ grep VERSION /etc/SuSE-release
+ DISTVER=11.4
+ echo 'SuSE version 11.4'
SuSE version 11.4
+ case $DISTVER in
+ echo 'SuSE boot scripts'
SuSE boot scripts
+ INITDIR=/etc/init.d
+ echo 'SuSE rc3.d and rc5.d scripts'
SuSE rc3.d and rc5.d scripts
+ [[ 11.4 < 10. ]]
+ echo '#!/bin/sh >' /etc/init.d/536EP
#!/bin/sh > /etc/init.d/536EP
+ echo '### BEGIN INIT INFO >>' /etc/init.d/536EP
### BEGIN INIT INFO >> /etc/init.d/536EP
+ echo '# Provides: Intel536_boot'
+ echo '# Required-Start: $syslog'
+ echo '# Required-Stop: $syslog'
+ echo '# Default-Start: 3 5'
+ echo '# Default-Stop: 1 2'
+ echo '# Description: Start Intel 536EP driver'
+ echo '### END INIT INFO'
+ cat /etc/init.d/536EP Intel536_boot
+ chown root.root /etc/init.d/Intel536_boot
+ chmod 755 /etc/init.d/Intel536_boot
+ insserv /etc/init.d/Intel536_boot
insserv: warning: script 'K01vpnclient_init' missing LSB tags and overrides
insserv: warning: script 'Intel536_boot' missing LSB tags and overrides
insserv: warning: script 'Intel536_boot' missing LSB tags and overrides
insserv: Default-Start undefined, assuming default start runlevel(s) for
script `Intel536_boot'
insserv: warning: script 'vpnclient_init' missing LSB tags and overrides
+ rm /etc/init.d/536EP
+ echo 'starting module and utilities'
starting module and utilities
+ /sbin/depmod -A
+ /bin/bash Intel536_boot restart
hamregistry: Kein Prozess gefunden
+ echo done
done
make[1]: Leaving directory `/root/Installationen/Modem-536ep/intel-536-537'
The module Intel536.ko is being loaded, the devices /dev/536ep and
/dev/536ep0 are created and the device /dev/modem as a link to
/dev/536ep. The Intel536_boot-script goes into /etc/init.d,
/etc/init.d/rc3.d and /etc/init.d/rc5.d. All seems to be fine, but when
I try $wvdialconf I still get the answer
Sorry, no modem was detected!
I did a reboot of the machine to look for boot-messages, and in fact I get
Feb 16 18:12:33 linux kernel: [ 4277.001953] Intel 536EP card found
Feb 16 18:12:33 linux modem-manager: (tty/536ep0): could not get port's
parent device
Also, in the IRQ-list the modem does not show up. What might be the
reason for this?
Many thanks for your help!
Wolfgang
On Wed, 15 Feb 2012, Philippe Vouters wrote:
Dear Wolfgang,
Outside subject and first, I am very surprised nm outputs a bunch of
thousand symbols as one of the shell instructions which composes the $
make 536 is to strip the symbols. I surely missed something here.
Back to your concern, an installable Intel536.ko by $ sudo make
install. As far as I understand what is happening on your side, the
first D=`ls /etc/*-release 2>/dev/null | tr [:upper:] [:lower:]`
assignment in intel536-537/Intel536_inst sounds correct. It returns
"/etc/lsb-release /etc/suse-release" with the "suse" substring being
exploitable.
However as it also returns the substring "lsb", the second D=`sed -r
's/DISTRIB_ID=(\w+)/\1/' /etc/lsb-release | tr [:upper:]
[:lower:]` leads to an unexploitable result.
As you are the very first one reporting me this bug despite me
maintaining this Intel code for many years, before I do change
anything in it, I must be aware how all the other handled Linux
distributions return the first D assignment. If none of them return an
lsb substring, I shall comment out this second D assignment. If anyone
of them displays lsb, then I must be aware on what is returned by the
second D assignment.
On my Linux Fedora 16 ,here is what tells the first D assignment:
[philippe@victor intel-536-537]$ echo $D
/etc/fedora-release /etc/redhat-release /etc/system-release
So no lsb substring and the redhat substring being exploitable for the
rest of the code.
As a first and temporary conclusion for us to progress toward your
satisfaction, edit with the editor of your choice the file
intel536-537/Intel536_inst and manage to have the lines:
# determine distribution:
D=`ls /etc/*-release 2>/dev/null | tr [:upper:] [:lower:]`;
case $D in
*lsb*) D=`sed -r 's/DISTRIB_ID=(\w+)/\1/' /etc/lsb-release | tr
[:upper:] [:lower:]`;;
esac
look like:
# determine distribution:
D=`ls /etc/*-release 2>/dev/null | tr [:upper:] [:lower:]`;
# case $D in
# *lsb*) D=`sed -r 's/DISTRIB_ID=(\w+)/\1/' /etc/lsb-release | tr #
[:upper:] [:lower:]`;;
# esac
This way the second "case $D" just after should correctly recognize
your distribution as being a SUSE distribution.
As you are a very trustful collaborator, I suggest you also temporary
add in this file a "set -x" without the double quotes on top of it so
that it looks like:
#***********************************************************************************
set -x
KERNVER=`uname -r`
echo "running kernel $KERNVER"
This way everyone will be able to control how well this shell code
executes.
Best regards,
Philippe
Le 15/02/2012 22:35, Wolfgang Junker a écrit :
Dear Philippe,
I am happy to assist you in solving the problem!
First of all, $nm Intel536.ko outputs a bunch of several thousand
symbols.
For your first D, $ echo $D gives the output
"/etc/lsb-release /etc/suse-release"
and for the second D
lsb_version="core-2.0-noarch:core-3.2-noarch:core-4.0-noarch:core-2.0-ia32:
core-3.2-ia32:core-4.0-ia32"
Sincerely
Wolfgang
On Tue, 14 Feb 2012, Philippe Vouters wrote:
Dear Wolfgang,
I notice you are clever and it's pretty enjoyable to work with you. I
thought my find command was correct. However I neglected to test it
before submitting it to you and this is my fault.
The $ make 536 warning you read is quite expected and has always
existed since the very beginning I inheird this code from Intel Corp.
The fact is that Intel did not provide all necessary files for a clean
make with no warning. Just for your curiosity : if you perform the
command
$ ls -la coredrv/
that there are two *core.lib files with no *core.lib.cmd unlike the
other files when you will build them with make 536 and if you do the
command:
$ file <on each of these two *core.lib>
you'll see they are 32-bits ELF binary files. This is because of these
two binary files, I claim Linux 32 bits support only in my
Intel-Readme.html on my Web site.
Now back to something you are expecting : a working correctly
installed 536EP driver which you can use to connect to Internet via
wvdial.
First and to check everything is indeed correct you should now have an
Intel536.ko file in your intel-536-537/ directory. To even make it
surer, a:
$ nm Intel536.ko
ought to say no symbols
If the above is quite correct, let us figure out why $ sudo make
install fails on your computer returning the string:
unknown distribution - no boot scripts have been installed
The answer should be in intel536-537/Intel536_inst on the shell code
line you may test outside the burden of the $ make install
First:
$ D=`ls /etc/*-release 2>/dev/null | tr [:upper:] [:lower:]`
$ echo $D
Next if echo $D display lsb
D=`sed -r 's/DISTRIB_ID=(\w+)/\1/' /etc/lsb-release | tr [:upper:]
[:lower:]`
echo $D should contain on you side the string "suse" as you say you
run a SUSE distribution. As it seems and as a fact from your cut'n
paste, echo $D should contain no "suse" string, nor any of the other
recognized and dealt with distributions:
mandrake, redhat, redflag, conectiva, ubuntu, debian,
slackware,gentoo, knoppix.
So please mail us what tells each echo $D above. With this
information, I shall be able to guide you aiming at your full
satisfaction.
However, more mail exchanges and work need to be performed in close
collaboration with you. Currently I am on a totally dark land with
your Linux distribution. Two items to be known with your actual
distribution : where should the init scripts be installed ? Next what
is its common method to activate them at boot time ?
With my warmest regards,
Philippe
Le 14/02/2012 22:47, Wolfgang Junker a écrit :
Dear Philippe,
your find-command does not give any output on my computer. I
nevertheless tried your suggestion, to change the occurances of
(2,6,38)
to (2,6,37) in coredrv.c, locks.c and softserial_io.c .
And in fact, the $ make 536 goes through then with only a warning
WARNING: could not find
/root/Installationen/Modem-536ep/intel-536-537/coredrv/.536core.lib.cmd
for /root/Installationen/Modem-536ep/intel-536-537/coredrv/536core.lib
and the $ make install goes through with the warning
unknown distribution - no boot scripts have been installed
However, if I follow your advices in the readme.txt, to make the
modem work
$ insmod -f Intel536.ko
$ mknod /dev/536ep c 240 1
$ ln -s /dev/536ep /dev/modem
then no modem is detected, e.g. $ wvdialconf replies
Sorry, no modem was detected!
or if I start kppp and scan for the modem, then the computer
freezes. So
at the moment I do not understand what exactly happens.
Sincerely,
Wolfgang
On Mon, 13 Feb 2012, Philippe Vouters wrote:
Wolfgang,
In coredrv/coredrv.c which fails to compile at line 779 on your side,
I do the following:
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,38)
#define DECLARE_MUTEX DEFINE_SEMAPHORE
#endif
DECLARE_MUTEX(exec_reg_sem);
DECLARE_WAIT_QUEUE_HEAD(persistWriteQ);
DECLARE_WAIT_QUEUE_HEAD(persistReadQ);
DECLARE_WAIT_QUEUE_HEAD(persistShutdownQ);
The above means that if kernel is 2.6.38 or higher, the
DECLARE_MUTEX(exec_reg_sem) reads as DEFINE_SEMAPHORE(exec_reg_sem)
I might perhaps have missed that kernel 2.6.37 (your kernel version)
also needs DEFINE_SEMAPHORE.
To make sure, may I ask you to do the following on your computer:
$ find /lib/modules/`uname -r`/build/include \
-exec grep DEFINE_SEMAPHORE {} \; -print
At fist glance, this find command should return matches on your
system.
If I refer to your experience, all
LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,38) must be changed to
LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37)
The changes to be brought are in files coredrv/coredrv.c,
coredrv/locks.c and coredrv/softserial_io.c
If the find command displays DEFINE_SEMAPHORE, you may change the
code
yourself. You just edit those three files searching for 2,6,38 and
replace every occurence by 2,6,37. Then you tell us whether a $ make
536
now builds just as fine under your kernel version.
Thank you in advance to keep us informed.
Philippe
Le 13/02/2012 19:56, Wolfgang Junker a écrit :
Dear Philippe,
it's only now that I come back to my computer. Here are the
results of
your shell-commands:
$ uname -r|grep "2.6" --> 2.6.37.1-1.2-default
$ make INTEL_MODEM=536EP 536core_26
make -C /lib/modules/2.6.37.1-1.2-default/build
M=/root/Installationen/Modem-536ep/intel-536-537/coredrv modules
make[1]: Entering directory
`/usr/src/linux-2.6.37.1-1.2-obj/i386/default'
make -C ../../../linux-2.6.37.1-1.2
O=/usr/src/linux-2.6.37.1-1.2-obj/i386/default/. modules
CC [M]
/root/Installationen/Modem-536ep/intel-536-537/coredrv/coredrv.o
/root/Installationen/Modem-536ep/intel-536-537/coredrv/coredrv.c:779:4:
warning: data definition has no type or storage class
/root/Installationen/Modem-536ep/intel-536-537/coredrv/coredrv.c:779:4:
warning: type defaults to ‘int’ in declaration of ‘DECLARE_MUTEX’
/root/Installationen/Modem-536ep/intel-536-537/coredrv/coredrv.c:779:4:
warning: parameter names (without types) in function declaration
CC [M]
/root/Installationen/Modem-536ep/intel-536-537/coredrv/clmmain.o
CC [M] /root/Installationen/Modem-536ep/intel-536-537/coredrv/rts.o
CC [M] /root/Installationen/Modem-536ep/intel-536-537/coredrv/task.o
CC [M] /root/Installationen/Modem-536ep/intel-536-537/coredrv/uart.o
CC [M]
/root/Installationen/Modem-536ep/intel-536-537/coredrv/wwh_dflt.o
CC [M]
/root/Installationen/Modem-536ep/intel-536-537/coredrv/locks.o
/root/Installationen/Modem-536ep/intel-536-537/coredrv/locks.c:176:1:
warning: data definition has no type or storage class
/root/Installationen/Modem-536ep/intel-536-537/coredrv/locks.c:176:1:
warning: type defaults to ‘int’ in declaration of ‘DECLARE_MUTEX’
/root/Installationen/Modem-536ep/intel-536-537/coredrv/locks.c:176:1:
warning: parameter names (without types) in function declaration
/root/Installationen/Modem-536ep/intel-536-537/coredrv/locks.c:177:1:
warning: data definition has no type or storage class
/root/Installationen/Modem-536ep/intel-536-537/coredrv/locks.c:177:1:
warning: type defaults to ‘int’ in declaration of ‘DECLARE_MUTEX’
/root/Installationen/Modem-536ep/intel-536-537/coredrv/locks.c:177:1:
warning: parameter names (without types) in function declaration
/root/Installationen/Modem-536ep/intel-536-537/coredrv/locks.c:178:1:
warning: data definition has no type or storage class
/root/Installationen/Modem-536ep/intel-536-537/coredrv/locks.c:178:1:
warning: type defaults to ‘int’ in declaration of ‘DECLARE_MUTEX’
/root/Installationen/Modem-536ep/intel-536-537/coredrv/locks.c:178:1:
warning: parameter names (without types) in function declaration
/root/Installationen/Modem-536ep/intel-536-537/coredrv/locks.c:179:1:
warning: data definition has no type or storage class
/root/Installationen/Modem-536ep/intel-536-537/coredrv/locks.c:179:1:
warning: type defaults to ‘int’ in declaration of ‘DECLARE_MUTEX’
/root/Installationen/Modem-536ep/intel-536-537/coredrv/locks.c:179:1:
warning: parameter names (without types) in function declaration
/root/Installationen/Modem-536ep/intel-536-537/coredrv/locks.c:180:1:
warning: data definition has no type or storage class
/root/Installationen/Modem-536ep/intel-536-537/coredrv/locks.c:180:1:
warning: type defaults to ‘int’ in declaration of ‘DECLARE_MUTEX’
/root/Installationen/Modem-536ep/intel-536-537/coredrv/locks.c:180:1:
warning: parameter names (without types) in function declaration
/root/Installationen/Modem-536ep/intel-536-537/coredrv/locks.c:181:1:
warning: data definition has no type or storage class
/root/Installationen/Modem-536ep/intel-536-537/coredrv/locks.c:181:1:
warning: type defaults to ‘int’ in declaration of ‘DECLARE_MUTEX’
/root/Installationen/Modem-536ep/intel-536-537/coredrv/locks.c:181:1:
warning: parameter names (without types) in function declaration
/root/Installationen/Modem-536ep/intel-536-537/coredrv/locks.c:182:1:
warning: data definition has no type or storage class
/root/Installationen/Modem-536ep/intel-536-537/coredrv/locks.c:182:1:
warning: type defaults to ‘int’ in declaration of ‘DECLARE_MUTEX’
/root/Installationen/Modem-536ep/intel-536-537/coredrv/locks.c:182:1:
warning: parameter names (without types) in function declaration
/root/Installationen/Modem-536ep/intel-536-537/coredrv/locks.c:183:1:
warning: data definition has no type or storage class
/root/Installationen/Modem-536ep/intel-536-537/coredrv/locks.c:183:1:
warning: type defaults to ‘int’ in declaration of ‘DECLARE_MUTEX’
/root/Installationen/Modem-536ep/intel-536-537/coredrv/locks.c:183:1:
warning: parameter names (without types) in function declaration
/root/Installationen/Modem-536ep/intel-536-537/coredrv/locks.c:184:1:
warning: data definition has no type or storage class
/root/Installationen/Modem-536ep/intel-536-537/coredrv/locks.c:184:1:
warning: type defaults to ‘int’ in declaration of ‘DECLARE_MUTEX’
/root/Installationen/Modem-536ep/intel-536-537/coredrv/locks.c:184:1:
warning: parameter names (without types) in function declaration
/root/Installationen/Modem-536ep/intel-536-537/coredrv/locks.c: In
function ‘linux_RSAGetExclusive’:
/root/Installationen/Modem-536ep/intel-536-537/coredrv/locks.c:192:24:
error: ‘sem0’ undeclared (first use in this function)
/root/Installationen/Modem-536ep/intel-536-537/coredrv/locks.c:192:24:
note: each undeclared identifier is reported only once for each
function
it appears in
/root/Installationen/Modem-536ep/intel-536-537/coredrv/locks.c:196:24:
error: ‘sem1’ undeclared (first use in this function)
/root/Installationen/Modem-536ep/intel-536-537/coredrv/locks.c:200:24:
error: ‘sem2’ undeclared (first use in this function)
/root/Installationen/Modem-536ep/intel-536-537/coredrv/locks.c:204:24:
error: ‘sem3’ undeclared (first use in this function)
/root/Installationen/Modem-536ep/intel-536-537/coredrv/locks.c:208:24:
error: ‘sem4’ undeclared (first use in this function)
/root/Installationen/Modem-536ep/intel-536-537/coredrv/locks.c:212:24:
error: ‘sem5’ undeclared (first use in this function)
/root/Installationen/Modem-536ep/intel-536-537/coredrv/locks.c:216:24:
error: ‘sem6’ undeclared (first use in this function)
/root/Installationen/Modem-536ep/intel-536-537/coredrv/locks.c:220:24:
error: ‘sem7’ undeclared (first use in this function)
/root/Installationen/Modem-536ep/intel-536-537/coredrv/locks.c:224:24:
error: ‘sem8’ undeclared (first use in this function)
/root/Installationen/Modem-536ep/intel-536-537/coredrv/locks.c: In
function ‘linux_RSAFreeExclusive’:
/root/Installationen/Modem-536ep/intel-536-537/coredrv/locks.c:242:11:
error: ‘sem0’ undeclared (first use in this function)
/root/Installationen/Modem-536ep/intel-536-537/coredrv/locks.c:245:11:
error: ‘sem1’ undeclared (first use in this function)
/root/Installationen/Modem-536ep/intel-536-537/coredrv/locks.c:248:11:
error: ‘sem2’ undeclared (first use in this function)
/root/Installationen/Modem-536ep/intel-536-537/coredrv/locks.c:251:11:
error: ‘sem3’ undeclared (first use in this function)
/root/Installationen/Modem-536ep/intel-536-537/coredrv/locks.c:254:11:
error: ‘sem4’ undeclared (first use in this function)
/root/Installationen/Modem-536ep/intel-536-537/coredrv/locks.c:257:11:
error: ‘sem5’ undeclared (first use in this function)
/root/Installationen/Modem-536ep/intel-536-537/coredrv/locks.c:260:11:
error: ‘sem6’ undeclared (first use in this function)
/root/Installationen/Modem-536ep/intel-536-537/coredrv/locks.c:263:11:
error: ‘sem7’ undeclared (first use in this function)
/root/Installationen/Modem-536ep/intel-536-537/coredrv/locks.c:266:11:
error: ‘sem8’ undeclared (first use in this function)
make[4]: ***
[/root/Installationen/Modem-536ep/intel-536-537/coredrv/locks.o]
Fehler 1
make[3]: ***
[_module_/root/Installationen/Modem-536ep/intel-536-537/coredrv]
Fehler 2
make[2]: *** [sub-make] Fehler 2
make[1]: *** [all] Fehler 2
make[1]: Leaving directory
`/usr/src/linux-2.6.37.1-1.2-obj/i386/default'
make: *** [536core_26] Fehler 2
cp Intel536.ko .. --> file couldn't be found
Wolfgang
On Sun, 12 Feb 2012, Philippe Vouters wrote:
Dear Wolfgang,
I do not know what can be wrong.
Try the following:
$ cd intel-536-537
$ uname -r|grep "2.6" && \ cd coredrv && make INTEL_MODEM=536EP
536core_26 && \
cp Intel536.ko .. && cd .. && \
strip --strip-debug Intel536.ko
If the above does not output CC and LD strings, try
$ cd coredrv
$ make INTEL_MODEM=536EP 536core_26
and reply to everyone with the cut and paste of what your read on
your
terminal screen.
Thanks in advance.
Philippe
Le 12/02/2012 18:31, Wolfgang Junker a écrit :
Philippe,
I may be misinterpreting your words, but you write
"If you run a 2.6.x kernel, then you will need
../Intel/intel-536EP-537EP_2011_12_03.tar.bz2"
Since I am running the kernel 2.6.37.1-1.2-default of SUSE 11.4 I
downloaded the intel-536EP-537EP_2011_12_03.tar.bz2, but obtain
after
"make 536" the following output, reported in my previous message:
Module precompile check
Current running kernel is: 2.6.37.1-1.2-default
/lib/modules... autoconf.h exists
diff: /boot/vmlinuz.autoconf.h: Datei oder Verzeichnis nicht
gefunden
autoconf.h matches running kernel
diff: /boot/vmlinuz.version.h: Datei oder Verzeichnis nicht
gefunden
version.h matches running kernel
make[1]: Entering directory
`/root/Installationen/Modem-536ep/intel-536-537'
2.6.37.1-1.2-default
Failed to build driver
(the german text in lines 4 and 6 means "couldn't find file or
directory")
Sincerely
Wolfgang
On Sun, 12 Feb 2012, Philippe Vouters wrote:
Wolfgang,
You did not pay enough attention to what I write in the TARBALLS
KERNEL COMPATIBILITY: chapter of my
http://vouters.dyndns.org/Intel/Intel-Readme.html document.
Download
the correct tarball suited for a 2.6.x Linux kernel which your
SUSE
11.4 runs as per your indications.
Philippe
Le 12/02/2012 16:41, Antonio Olivares a écrit :
Wolfgang,
This is a new problem that has arised since files were changed.
Phillipe has made some changes to the code to accomodate them.
However, they were for newer kernels. Adding CC to Phillipe
so he
can
make some recommendations.
Phillipe,
Wolfgang has Intel-536ep-Modem in his Notebook and want for
it to
run
under SUSE 11.4 with kernel 2.6.37.1-1.2-default. I recommended
the
latest driver from your site, but he appears to be having
problems.
http://vouters.dyndns.org/Intel/intel-536EP-537EP_2012_01_04.tar.bz2
http://vouters.dyndns.org/Intel/
Thanks for your hard work and improvements to Intel 536/Intel
537
family of modems and other contributions to the community.
Regards,
Antonio
On Sun, Feb 12, 2012 at 9:34 AM, Wolfgang Junker
<junker@xxxxxxxxxxxxxxxxxxx> wrote:
Antonio,
thank you for pointing the way to the newest releases.
Unforntunately, I
have still no success:
If I try the intel-536EP-537EP_2012_01_04.tar.bz2 I get the
same
error log
as described in my previous message.
If I try the intel-536EP-537EP_2011_12_03.tar.bz2 I obtain the
follwing
output:
Module precompile check
Current running kernel is: 2.6.37.1-1.2-default
/lib/modules... autoconf.h exists
diff: /boot/vmlinuz.autoconf.h: Datei oder Verzeichnis nicht
gefunden
autoconf.h matches running kernel
diff: /boot/vmlinuz.version.h: Datei oder Verzeichnis nicht
gefunden
version.h matches running kernel
make[1]: Entering directory
`/root/Installationen/Modem-536ep/intel-536-537'
2.6.37.1-1.2-default
Failed to build driver
Wolfgang
On Sat, 11 Feb 2012, Antonio Olivares wrote:
Wolfgang,
Phillipe Vouters has released newer releases, but they are not
present
in linmodems Intel tree. Check here:
http://vouters.dyndns.org/Intel/intel-536EP-537EP_2012_01_04.tar.bz2
for a newer release. Also you may visit the following page to
check
for other packages
http://vouters.dyndns.org/Intel/
and Phillipe's great readme.
http://vouters.dyndns.org/Intel/Intel-Readme.html
Should you encounter any difficulties, please let us know.
Regards,
Antonio
2012/2/11 Wolfgang Junker<junker@xxxxxxxxxxxxxxxxxxx>:
Hi all,
I have an Intel-536ep-Modem in my Notebook and want to run it
under SUSE
11.4 with kernel 2.6.37.1-1.2-default. So I downloaded the
intel-536EP-537EP_2011_07_03.tar from
http://linmodems.technion.ac.il/packages/intel/Philippe.Vouters
and tried to compile it, but with no success. When I do "make
536"
I get
the
following error messages:
/root/Installationen/Modem-536ep/intel-536-537/coredrv/coredrv.c:779:4:
warning: data definition has no type or storage class
/root/Installationen/Modem-536ep/intel-536-537/coredrv/coredrv.c:779:4:
warning: type defaults to ‘int’ in declaration of
‘DECLARE_MUTEX’
/root/Installationen/Modem-536ep/intel-536-537/coredrv/coredrv.c:779:4:
warning: parameter names (without types) in function
declaration
...
/root/Installationen/Modem-536ep/intel-536-537/coredrv/locks.c:148:1:
warning: data definition has no type or storage class
/root/Installationen/Modem-536ep/intel-536-537/coredrv/locks.c:148:1:
warning: type defaults to ‘int’ in declaration of
‘DECLARE_MUTEX’
/root/Installationen/Modem-536ep/intel-536-537/coredrv/locks.c:148:1:
warning: parameter names (without types) in function
declaration
...
/root/Installationen/Modem-536ep/intel-536-537/coredrv/locks.c:
In
function
‘linux_RSAGetExclusive’:
/root/Installationen/Modem-536ep/intel-536-537/coredrv/locks.c:164:24:
error: ‘sem0’ undeclared (first use in this function)
/root/Installationen/Modem-536ep/intel-536-537/coredrv/locks.c:164:24:
note:
each undeclared identifier is reported only once for each
function it
appears in
/root/Installationen/Modem-536ep/intel-536-537/coredrv/locks.c:168:24:
error: ‘sem1’ undeclared (first use in this function)
...
/root/Installationen/Modem-536ep/intel-536-537/coredrv/locks.c:
In
function
‘linux_RSAFreeExclusive’:
/root/Installationen/Modem-536ep/intel-536-537/coredrv/locks.c:214:11:
error: ‘sem0’ undeclared (first use in this function)
...
Failed to build driver
Does anyone understand, what is happening and can help me?
Many thanks in advance
Wolfgang
--
Philippe Vouters (Fontainebleau/France)
URL: http://vouters.dyndns.org/