Re: Driver for 536ep-Modem does not compile

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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/

[Index of Archives]     [Linux Media Development]     [Asterisk]     [DCCP]     [Netdev]     [X.org]     [Xfree86]     [Fedora Women]     [Linux USB]

  Powered by Linux