Re: Driver for 536ep-Modem does not compile

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

 



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/

--
Philippe Vouters (Fontainebleau/France)
URL: http://vouters.dyndns.org/

--
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