On Tue, 2004-12-07 at 22:53 +1300, Volker Kuhlmann wrote: > Here some explanation and possible solutions with modem trouble after > kernel updates. > > Symptom: Dial-up stops working after kernel upgrade. More precisely, > pppd terminates immediately because it can't open /dev/modem. > > Applies to: SuSE 9.1 + 9.2 > > Modem driver: kernel module slamr, user-space driver program slmodemd > > Modem hardware: Acer Incorporated [ALI] AC'97 Modem Controller > PCI ID 1039:7013 > (Acer Aspire 1703 laptop) > > Problem: > 1) The slamr module loads, but syslog shows an error about a not > found interupt. The module is in fact non-functional. > > 2) Loading slmodemd too soon after slamr, like in a service init > script containing > modprobe slamr > /usr/sbin/slmodemd > causes slmodemd to exit immediately with some non-zero exit code. > > Solution: > 1) Boot with pci=noacpi > 2) Insert a sleep 2 (a sleep 1 isn't enough) after modprobe slamr > See patch below.
Yes I had this problem on vatsala's laptop. I fixed it with a "sleep 3" somewhere in the /etc/init.d/slmodemd debian script (we were on ubuntu at that stage. of course he didn't like ubuntu because it didn't wipe his nose, so we switched to suse, which he didn't like cos it didn't wipe his ass...etc etc.). I didn't try anything lower than 3 as it worked and I had to leave the office. Come to think of it, I was under the impression that SuSE set up the system to load the slamr.ko modules at boot, ie when other modules are loaded, whereas the debian system loaded the slamr.ko module from the slmodemd init script. Looking at it closer, the smartlink-softmodem-2.9.6-79.i586.rpm installs a file /etc/modprobe.d/slmodem which contains : # slmodem support alias char-major-212 slamr alias char-major-213 slusb I'm not sure if this is enough to trigger kernel loading on boot without an explicit modprobe, i think it is. also there is no modprobe line in the suse /etc/init.d/slmodem script to load the slamr module. (however there is a modprobe -r in the stop part of the script - did this lead to a problem where if you restarted the slmodemd initscript, that the slamr module would be removed but not reloaded?) If you are saying that the suse /etc/init.d/slmodemd script now _does_ modprobe slamr (a la debian), then this has been a change from 9.1. It might explain a few teething problems. anyway just a few random thoughts. without seeing the newer smartlink-softmodem rpm its difficult to say what has changed. I tried to find it, but suse doesn't seem to have published 9.2 to the mirrors yet (or even on ftp.suse.com) > > Notes: > > The driver set uses the usual symlink /dev/modem pointing to > ttySL0. ttySL0 is a symlink created by the driver module pointing to a > pseudo-terminal, and is removed when the module exits. Also needed is > /dev/slamr0, which slmodemd creates automatically (or run > mknod /dev/slamr0 c 212 0). > actually strictly speaking the module (slamr.ko) only makes /dev/slamr[0,1..]. the slmodemd program makes /dev/ttySL0 when it is started (seemingly at least 2 secs after slamr.ko is modprobed. > Booting with noacpi causes at least the laptop's fan control to fail, > the fan goes nonstop (making a hell of a racket). Not acceptable. > acpi *shudder* - I am dreading getting a newer laptop where I will have to get to grips with it...(then again pIII 700M is wearing a bit thin....) > The hardware works out of the 9.1 box with the shipped kernel. It > doesn't work with the updated kernel-default-2.6.5-7.111.5 (there is no > smartlink-softmodem update). Solutions above not tested on 9.1. > as the slamr.ko module is distributed (by suse) in the kernel rpm, updating the kernel updates slamr.ko to one that was compiled with the new kernel. Strictly there is no need to update the smartmodem-softmodem package unless the support tools have changed enough to make it necessary. I am guessing that the active development is going on in the module itself, but thats a guess only. One thing that is not obvious is which particular version of the slmodem source code is being included in the kernel rpm. the fact that the support programs rpm smartlink-softmodem is 2.9.6-? means they are using slmodem-2.9.6, and presumably at least in the original 9.1 kernel they used the same version. I guess the SPEC file for the kernel-source rpm would tell us. Not starting a distro war, but I do like the fact that on gentoo i would know these things. although it would be a bitch to install without having the modem going :-) > It doesn't work out of the 9.2 box, but above two solutions with the > updated kernel-default-2.6.8-24.5 and smartlink-softmodem-2.9.10-3.2 fix > it. > HA! and i just did a google on "smartlink-softmodem-2.9.10-3.2" and located this: http://distro.ibiblio.org/pub/linux/distributions/suse/suse/i386/update/9.2/rpm/i586/smartlink-softmodem-2.9.10-3.2.i586_en.info "Description: The slamr module does not get loaded automatically, so slmodemd fails. This update gets the slamr module loaded on startup." OK its late now and I have been rambling about this topic for a while now. later Nick > The PCI ID 1039:7013 is incorrectly identified by many versions of lspci > as "Intel 537". With SubVendorID=1025, SubDeviceID=0028 it's an AC97. > > At a guess, the acpi handling in the kernel changed, causing some > losemodem drivers to fail on some hardware. The problem is likely not > restricted to this particular hardware, and possibly not restricted to > the slamr/slmodemd driver set. It might not be restricted to SuSE > either. > > Thanks Nick for helping out with some details - they helped pin the > problem down. > > Volker > -- Nick Rout <[EMAIL PROTECTED]>
