Intel 537 modem, not working after new kernel update (2.6.10-1.770_FC3)
Linux - HardwareThis forum is for Hardware issues.
Having trouble installing a piece of hardware? Want to know if that peripheral is compatible with Linux?
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Intel 537 modem, not working after new kernel update (2.6.10-1.770_FC3)
After updating kernel version 2.6.10-1.770_FC3 my modem stopped working, I tried to install the driver, it seemed to be installed (when typing make 537 it showed some errors, see below) but when I open kppp and dial it hangs on Initializing Modem, on the log window "Expecting: OK".
/dev/modem exists and has a link to /dev/537 everything seems to be fine but does not work, before updating kernel the modem was woking fine.
Here is the compilation process.
Code:
[root@localhost intel537]# make 537
Module precompile check
Current running kernel is: 2.6.10-1.770_FC3
/lib/modules... autoconf.h exists
diff: /boot/vmlinuz.autoconf.h: No such file or directory
autoconf.h matches running kernel
diff: /boot/vmlinuz.version.h: No such file or directory
version.h matches running kernel
2.6.10-1.770_FC3
make[1]: Entering directory `/usr/local/src/intel537/coredrv'
make -C /lib/modules/2.6.10-1.770_FC3/build SUBDIRS=/usr/local/src/intel537/coredrv modules
make[2]: Entering directory `/lib/modules/2.6.10-1.770_FC3/build'
CC [M] /usr/local/src/intel537/coredrv/coredrv.o
/usr/local/src/intel537/coredrv/coredrv.c: In function `softcore_init_struct':
/usr/local/src/intel537/coredrv/coredrv.c:336: warning: assignment from incompatible pointer type
/usr/local/src/intel537/coredrv/coredrv.c: In function `hamproc_write':
/usr/local/src/intel537/coredrv/coredrv.c:660: warning: ignoring return value of `copy_from_user', declared with attribute warn_unused_result
/usr/local/src/intel537/coredrv/coredrv.c: At top level:
/usr/local/src/intel537/coredrv/coredrv.c:754: warning: initialization from incompatible pointer type
/usr/local/src/intel537/coredrv/coredrv.c:755: warning: initialization from incompatible pointer type
/usr/local/src/intel537/coredrv/coredrv.c: In function `dspdrv_CommRamISR':
/usr/local/src/intel537/coredrv/coredrv.c:877: warning: function declaration isn't a prototype
CC [M] /usr/local/src/intel537/coredrv/clmmain.o
CC [M] /usr/local/src/intel537/coredrv/rts.o
/usr/local/src/intel537/coredrv/rts.c: In function `RTS_Enable':
/usr/local/src/intel537/coredrv/rts.c:118: warning: assignment from incompatible pointer type
CC [M] /usr/local/src/intel537/coredrv/task.o
/usr/local/src/intel537/coredrv/task.c: In function `RSATaskYield':
/usr/local/src/intel537/coredrv/task.c:144: warning: `interruptible_sleep_on' is deprecated (declared at include/linux/wait.h:310)
CC [M] /usr/local/src/intel537/coredrv/uart.o
/usr/local/src/intel537/coredrv/uart.c: In function `UART_msr_wait':
/usr/local/src/intel537/coredrv/uart.c:94: warning: `interruptible_sleep_on' is deprecated (declared at include/linux/wait.h:310)
CC [M] /usr/local/src/intel537/coredrv/wwh_dflt.o
CC [M] /usr/local/src/intel537/coredrv/locks.o
CC [M] /usr/local/src/intel537/coredrv/softserial_io.o
/usr/local/src/intel537/coredrv/softserial_io.c: In function `softserial_write':
/usr/local/src/intel537/coredrv/softserial_io.c:94: warning: ignoring return value of `copy_from_user', declared with attribute warn_unused_result
CC [M] /usr/local/src/intel537/coredrv/softserial_ioctl.o
CC [M] /usr/local/src/intel537/coredrv/softserial.o
/usr/local/src/intel537/coredrv/softserial.c: In function `softserial_register_tty':
/usr/local/src/intel537/coredrv/softserial.c:125: warning: assignment from incompatible pointer type
CC [M] /usr/local/src/intel537/coredrv/afedsp_int.o
/usr/local/src/intel537/coredrv/afedsp_int.c:48: warning: function declaration isn't a prototype
/usr/local/src/intel537/coredrv/afedsp_int.c:61: warning: initialization from incompatible pointer type
/usr/local/src/intel537/coredrv/afedsp_int.c:65: warning: function declaration isn't a prototype
/usr/local/src/intel537/coredrv/afedsp_int.c:113: warning: conflicting types for built-in function 'malloc'
/usr/local/src/intel537/coredrv/afedsp_int.c: In function `afe_Write':
/usr/local/src/intel537/coredrv/afedsp_int.c:417: warning: ignoring return value of `copy_from_user', declared with attribute warn_unused_result
/usr/local/src/intel537/coredrv/afedsp_int.c: In function `afe_Read':
/usr/local/src/intel537/coredrv/afedsp_int.c:437: warning: ignoring return value of `copy_to_user', declared with attribute warn_unused_result
/usr/local/src/intel537/coredrv/afedsp_int.c: At top level:
/usr/local/src/intel537/coredrv/afedsp_int.c:454: warning: initialization from incompatible pointer type
LD [M] /usr/local/src/intel537/coredrv/Intel537.o
Building modules, stage 2.
MODPOST
Warning: could not find /usr/local/src/intel537/coredrv/.537core.lib.cmd for /usr/local/src/intel537/coredrv/537core.lib
CC /usr/local/src/intel537/coredrv/Intel537.mod.o
LD [M] /usr/local/src/intel537/coredrv/Intel537.ko
make[2]: Leaving directory `/lib/modules/2.6.10-1.770_FC3/build'
make[1]: Leaving directory `/usr/local/src/intel537/coredrv'
[root@localhost intel537]# make install
rm -f /etc/hamregistry.bin
bash 537_inst
running kernel 2.6.10-1.770_FC3
installing hamregistry, used for persistant storage
installing usrsound, a soft buzzer
installing 537 module
redhat 537_boot rc2.d, rc3.d and rc5.d scripts
starting module and utilities
537_inst: line 395: depmod: command not found
error loading Intel537
537_boot: line 55: rmmod: command not found
done
[root@localhost intel537]# su -
[root@localhost ~]# cd /usr/local/src/intel537/
[root@localhost intel537]# make install
rm -f /etc/hamregistry.bin
bash 537_inst
running kernel 2.6.10-1.770_FC3
installing hamregistry, used for persistant storage
installing usrsound, a soft buzzer
installing 537 module
redhat 537_boot rc2.d, rc3.d and rc5.d scripts
starting module and utilities
done
Any help is appreciated :-)
P.S. I have tried both
intel-537ep-2.60.80.0-fc2-up.tgz and
intel-537ep-2.60.80.0-fc2-smp.tgz
drivers
I found you question yesterday, when I was also looking for an answer. After googling for almost 2 days, I realized that problem occurred between the kernel versions 2.6.9 and 2.6.10. After examine the differences between the serial drivers of both versions, I made a patch to the ep537 and it now works.
I recommend you the following steps:
- download from intel the uncompiled driver ("Modem Chipset Driver (Uncompiled) - INTEL-537EP-2.60.80.0.TGZ").
- uncompress and untar it on any directory of your preference;
- save the above text as "patch-intel-537ep-kernel2610.diff" on any directory of your preference;
- cd to the directory created when you untarred the driver;
- execute the following command:
After patching, follow the instructions of the "readme.txt"
Speaking deeply, the interface to write to serial devices was changed in kernel 2.6.10. It was eliminated one parameter of the call for a function in the proprietary part of the driver. Then, the data to be sent to the modem is out of position and the modem driver receives just garbage. This patch creates a wrapper to the function, enabling to receive 3 parameters and send the 4 expected by the driver modem.
Hey man thanks a lot
I'll try that now and let you know :-)
Edit: It works, but now the system unexpectedly hangs, I used to have that sort of things but It used to hang when I was dialing or disconnecting, not when I was already connected and surfing...
Yesterday, when testing the theory that the problem was with 2.6.10, booting with a 2.6.5 which I had on hand, after five minutes surfing, the system hung. If that was not happened, I would released the system with the old kernel.
So, we need to discover if there is some previous version which works and, if needed create another patch to fix the 2.6.10 issues.
It's me again! I came back to Intel and found a revision for the driver which I didn't see yesterday. It's the uncompiled 2.60.80.1. There are several changes on the driver which may affect the problem of system hang up. The changes invalidate my previous patch, so I wrote another. Today I have not an available machine to test it, so could you try it?
There it goes:
Hi Osvaldo
I've downloaded the 2.60.80.1 driver installed your new script but the result is the same, the system has hung after about 2 minutes connected to the internet, so there's no luck.
Today I gave access to the machine with this modem again. I visited all the warnings from the compilation with intention of eliminate it with. I work with "c" for more than 10 years and I know that if the c compiler tell you a warning, it is better to look at. My policy is to eliminate even the fool warning to maintain the compilation clean. If we have 100 warnings and after some editing we get one more, a serious one, we wouldn't see it. And, if we don't pay attention to the warnings, we can be in trouble as the first patch I wrote was indicated by one warning.
So, after this blah-blah-blah, I started to rewrite some portions of the sources to eliminate the warnings, one by one, until the last one, in the line 454 of afedsp_int.c. It's a warning like the first. Worst, it can be the responsible for the system hang-ups. This function might be useful in the kernel 2.4 series but it's dummy on 2.6. Instead of remove the warning, I disarmed the bomb inside the function. This machine is already connected to internet for 2:25h at 49333 bps. I'm downloading the kernel patch 2.4.30 for testing the connection. The patch is as follows:
So the modem compiled with some errors, worked, but still the system is hanging.
So, if it's not hard for you could you just send me the sources of the files that you have changed?
Hey man, now it works just perfect.
Now I can sit back, relax and continue coding on php while being connected to the internet.
You've helped not only me but many many Intel modem users.
I'm sorry to say this Osvaldo, but after I sent the last reply to you the system hung. At that time I waited for about 30 minutes and It didn't hang and I thought that that was it, the problem was solved, but nope I was wrong
I have noticed that when you're doing multiple queries, like opening multiple web pages at the same time at that time the system hangs, but when downloading only one file, the system may not hang.
So, after those 4 hours of surfing on the internet, have you tried to reconnect and try again, hasn't your system hung after that?
Hi Suro,
Sorry to know about it! During that four hours I tried to surf while downloading but I didn't push too hard. And, after disconnect, I didn't try to reconnect again. Now I'm trying to surf but I don't know about any heavy weight page to load.
I have several pages of New York Times, linmodem.org and I disconnected after 10 minutes and reconnected it again. The system is steady until now, after 13 minutes from reconnection.
Do you have some clue how to provoke the crash? Can you point me to some page you access? I will maintain the system up during the afternoon and evening as, at Sundays I have to pay just one impulse for each telephone call.
Waiting for your input,
Well I would say that it doesn't matter what page I load heavy or not. But the system has hung 2 times when I tried to open www.hotscripts.com website.
And as I think it doesn't matter what page I load, sooner or later it crashes.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.