Re: Automate slmodemd

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

 



Hi Antonio,

Thanks for the info and instructions to load slmodemd configuration.

All went well with the chkconfig - the listing is as it should be.
On reboot, however, a root check with:

	service slmodemd status

resulted in the following errros:

	/usr/sbin/slmodemd: line 1 ELF: command not found
	/etc/init.d/slmodemd line 83: syntax error: unexpected end of file

I checked whether elf was loaded, and added elfutils (the lib was already loaded). The second error: usually in PHP that error means an undefined variable (i.e., $missing typed as 'missing'). I looked through the file, particularily where I changed stuff, and all seems in order. It probably is linked to the first error. That would be
strange since if I run the code manually at root, it works.)

Sigh . . . the fun of debugging.

Ideas?

Thanks,
Andre





On Sat, 19 Dec 2009 12:46:32 -0500, Antonio Olivares <olivares14031@xxxxxxxxx> wrote:

Andre,

Everything appears to be correct.
/* quote */
I'm a bit concerend with two commented lines at the beginning (l.5 #
chkconfig: 345 90 10 and
 l.8 # config: /etc/sysconfig/slmodem). Since they are commented out,
they should have no effect
 on the script, correct? But a little further down, on l.17,
'CONFIG=/etc/sysconfig/$prog' might
 be causing the problem. However, I have no idea what the correct
CONFIG might be.
/* quote */

Don't worry about the comment
# chkconfig 345 90 10

This means that slmodemd will run on levels 3 4 and 5 shutdown on 90
and start at 10:

Here's a better explanation:

The chkconfig line & description line must go into
every script that is to go under the control of
chkconfig. The description line seems pretty
self-explanatory. the chkconfig line:

# chkconfig: 345 90 10
              |  |  |
              |  |  priority for kill scripts
              |  |
              |  priority for start scripts
              |
              run levels at which to start service



[root@localhost init.d]# chkconfig slmodemd --add
[root@localhost init.d]# chkconfig slmodemd on
[root@localhost init.d]# cd ..
[root@localhost rc.d]# for i in 0 1 2 3 4 5 6
do
ls rc$i.d/*slmodemd*
done
rc0.d/K10slmodemd
rc1.d/K10slmodemd
rc2.d/S90slmodemd
rc3.d/S90slmodemd
rc4.d/S90slmodemd
rc5.d/S90slmodemd
rc6.d/K10slmodemd
[root@localhost rc.d]#

[root@localhost rc.d]# chkconfig slmodemd --list
slmodemd        0:off   1:off   2:on    3:on    4:on
 5:on    6:off

Please run the above commands, ie.

# chkconfig slmodemd --add
# chkconfig slmodemd on
# cd /etc/rc.d/

type exactly as this appears.  When you get to 6 press Enter you
should see a ">" continue with the numbers and type everything there
pressing enter everytime till you get to done and press Enter you
should see what is in the above example or something similar.

# for i in 0 1 2 3 4 5 6
do
ls rc$i.d/*slmodemd*
done

If you shutdown/reboot after this is done and you want to see if
slmodemd service is running please run
# service slmodemd status

and hopefully see that it is running.  Try the above steps and see if
that helps or not.  Hope this works as it has for me for a good while.

Regards,

Antonio

On 12/19/09, kronos <kronos@xxxxxxxxxx> wrote:
On Sat, 19 Dec 2009 07:50:10 -0500, kronos <kronos@xxxxxxxxxx> wrote:

Hi Antonio,

There was no slmodemd script in the scripts folder, but I did find
another one from another attempt
to get slmodemd working. The necessary changes have been made to
SLMODEMD_DEVICE, SLMODEMD_COUNTRY,
and the first uncommented line with '$prog' (where I deleted the prefix
'/dev' before the '$SLMODEMD_DEVICE'):

I can run slmodemd manually at root, but cannot get the scriptto run at
user level. I've also
'chmod a+x slmodemd' in '/usr/sbin/slmodemd' and in
'/etc/rc.d/init.d/slmodemd'.

I'm a bit concerend with two commented lines at the beginning (l.5 #
chkconfig: 345 90 10 and
l.8 # config: /etc/sysconfig/slmodem). Since they are commented out,
they should have no effect
on the script, correct? But a little further down, on l.17,
'CONFIG=/etc/sysconfig/$prog' might
be causing the problem. However, I have no idea what the correct CONFIG
might be.


The slmodemd script I've used:

*****

#!/bin/sh
#
# slmodemd:    Starts the SmartLink Modem Daemon
#
# chkconfig: 345 90 10
# description: SmartLink Modem : Autoload slamr + slmodem
# processname: slmodemd
# config: /etc/sysconfig/slmodem

# Source function library.
. /etc/init.d/functions

prog=slmodemd
RETVAL=0

# Default configuration
SLMODEMD_DEVICE=modem:1
SLMODEMD_COUNTRY=CANADA

# Source configuration
CONFIG=/etc/sysconfig/$prog
if [ -f $CONFIG ]; then
         . $CONFIG
fi

# uncomment this if you want this feature (if necessary edit module
pattern):
# do not try to start on a kernel which does not support it
# grep -q 'slamr\.o' /lib/modules/`uname -r`/modules.dep || exit 0

start() {
	cat /proc/modules | grep 'slamr' >/dev/null || {
	  echo -n "Loading SmartLink Modem driver into kernel ... "
	  modprobe slamr && echo "done." || {
	    echo "failed."
	    exit -1
	  }
	}
	echo -n "Starting SmartLink Modem driver for $SLMODEMD_DEVICE: "
	# if you want ALSA comment next line and uncomment last
	# $prog </dev/null >/dev/null 2>/dev/null --country=$SLMODEMD_COUNTRY
/dev/$SLMODEMD_DEVICE &
	 $prog </dev/null >/dev/null 2>/dev/null --country=$SLMODEMD_COUNTRY
--alsa $SLMODEMD_DEVICE &
	RETVAL=$?
	[ $RETVAL -eq 0 ] && success $"$prog startup" || failure $"$prog
startup"
	echo
	[ $RETVAL -eq 0 ] && touch /var/lock/subsys/$prog
	return $RETVAL
}

stop() {
	echo -n "Shutting down SmartLink Modem driver: "
	killproc $prog
	RETVAL=$?
	modprobe -r slamr slusb
	echo
	[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/$prog
	return $RETVAL
}

# See how we were called.
case "$1" in
   start)
	start
	;;
   stop)
	stop
	;;
   status)
	status $prog
	RETVAL=$?
	;;
   restart|reload)
	stop
	start
	RETVAL=$?
	;;
   condrestart)
         if [ -f /var/lock/subsys/$prog ]; then
		stop
		start
		RETVAL=$?
	fi
	;;

****

I thought it might be wise to include the ModemData.txt:



****


  Only plain text email is forwarded by the  Discuss@xxxxxxxxxxxxx List
Server,
  as HTML can contain viruses. Use as the email Subject Line:
            YourName, YourCountry  kernel 2.6.24.4-desktop586-1mnb
With this Subject Line cogent experts will be alerted, and useful case
names left in the Archive.
  YourCountry will enable Country specific guidance. Linux experts in
YourCountry
  can be found through: http://www.linux.org/groups/index.html.
They will know your Country's modem code, which may be essential for
dialup service.
Responses from Discuss@xxxxxxxxxxxxx are sometimes blocked by an
Internet Provider mail filters.
  So in a day, also check the Archived responses at
http://www.linmodems.org
--------------------------  System information
----------------------------
CPU=i686,
Linux version 2.6.24.4-desktop586-1mnb (lcapitulino@xxxxxxxxxxxxxxx)
(gcc version 4.2.3 (4.2.3-6mnb1)) #1 SMP Thu Mar 27 14:20:33 CET 2008
  scanModem update of:  2009_07_02

  There are no blacklisted modem drivers in /etc/modprobe*  files
  Potentially useful modem drivers now loaded are:
     snd_intel8x0m

Attached USB devices are:
  ID 046d:c00e Logitech, Inc. M-BJ69 Optical Wheel Mouse
If a cellphone is not detected, see
http://ubuntuforums.org/archive/index.php/t-878554.html

If a USB modem or cellphone is attached and was not detected, please
provide available information in your request to discuss@xxxxxxxxxxxxx

For candidate card in slot 00:1f.6, firmware information and bootup
diagnostics are:
  PCI slot	PCI ID		SubsystemID	Name
  ----------	---------	---------	--------------
  00:1f.6	8086:24c6	1014:0524	Modem: Intel Corporation 82801DB/DBL/DBM

  Modem interrupt assignment and sharing:
  11:     160880    XT-PIC-XT        ehci_hcd:usb1, uhci_hcd:usb2,
uhci_hcd:usb3, uhci_hcd:usb4, yenta, Intel 82801DB-ICH4, Intel
82801DB-ICH4 Modem, radeon@pci:0000:01:00.0
  --- Bootup diagnostics for card in PCI slot 00:1f.6 ----
ACPI: PCI Interrupt 0000:00:1f.6[B] -> Link [LNKB] -> GSI 11 (level,
low) -> IRQ 11
ACPI: PCI interrupt for device 0000:00:1f.6 disabled
ACPI: PCI Interrupt 0000:00:1f.6[B] -> Link [LNKB] -> GSI 11 (level,
low) -> IRQ 11
PCI: Setting latency timer of device 0000:00:1f.6 to 64

  The PCI slot 00:1f.6 of the modem card may be disabled early in
  a bootup process,  but then enabled later. If modem drivers load
  but the  modem is not responsive, read DOCs/Bootup.txt about possible
fixes.
  Send dmesg.txt along with ModemData.txt to discuss@xxxxxxxxxxxxx
  if help is needed.



===== Advanced Linux Sound Architecture (ALSA) diagnostics =====
The ALSA packages provide audio support and also drivers for some modems.
ALSA diagnostics are written during bootup to /proc/asound/ folders.

The ALSA verion is 1.0.16
The modem cards detected by "aplay -l"  are:
card 1: Modem [Intel 82801DB-ICH4 Modem], device 0: Intel ICH - Modem
[Intel 82801DB-ICH4 Modem - Modem]

The /proc/asound/pcm file reports:
-----------------------
00-04: Intel ICH - IEC958 : Intel 82801DB-ICH4 - IEC958 : playback 1
00-03: Intel ICH - ADC2 : Intel 82801DB-ICH4 - ADC2 : capture 1
00-02: Intel ICH - MIC2 ADC : Intel 82801DB-ICH4 - MIC2 ADC : capture 1
00-01: Intel ICH - MIC ADC : Intel 82801DB-ICH4 - MIC ADC : capture 1
00-00: Intel ICH : Intel 82801DB-ICH4 : playback 1 : capture 1
01-00: Intel ICH - Modem : Intel 82801DB-ICH4 Modem - Modem : playback 1
: capture 1

about /proc/asound/cards:
------------------------
  0 [I82801DBICH4   ]: ICH4 - Intel 82801DB-ICH4
                       Intel 82801DB-ICH4 with AD1981B at irq 11
  1 [Modem          ]: ICH-MODEM - Intel 82801DB-ICH4 Modem
                       Intel 82801DB-ICH4 Modem at irq 11

Modem firmware information is in /proc/asound/card1/codec97#0/mc97#1-1
-----------------------------------------------
Extended modem ID: codec=1 LIN1

Lines in: /proc/asound/card1/codec97#0/mc97#1-1+regs
-------------------------------
0:7c = 5349  and  0:7e = 4c27
are translated from hexadecimal code into the modem chip identifier:
SIL27


The driver snd-intel8x0m with its dependent drivers:
snd_intel8x0m          14444  0
snd_ac97_codec         96964  2 snd_intel8x0m,snd_intel8x0
snd_pcm                66532  5
snd_pcm_oss,snd_intel8x0m,snd_intel8x0,snd_ac97_codec
snd                    44260  15
snd_seq_oss,snd_seq,snd_seq_device,snd_pcm_oss,snd_mixer_oss,snd_intel8x0m,snd_intel8x0,snd_ac97_codec,snd_pcm,snd_timer
snd_page_alloc          8456  3 snd_intel8x0m,snd_intel8x0,snd_pcm
----------
provide modem + audio support.

=== Finished firmware and bootup diagnostics, next deducing cogent
software. ===

Predictive  diagnostics for card in bus 00:1f.6:
	Modem chipset  detected on
NAME="Modem: Intel Corporation 82801DB/DBL/DBM "
CLASS=0703
PCIDEV=8086:24c6
SUBSYS=1014:0524
IRQ=11
SOFT=8086:24c6.MC97
CodecArchived=SIL27
CodecDiagnosed=SIL27
CodecClass=SIL
IDENT=slmodemd
SLMODEMD_DEVICE=modem:1
Driver=snd-intel8x0m

  For candidate modem in:  00:1f.6
    0703 Modem: Intel Corporation 82801DB/DBL/DBM
       Primary device ID:  8086:24c6
     Subsystem PCI_id  1014:0524
     Softmodem codec or chipset from diagnostics: SIL27, an
LSI/AgereSystems type
                                from    Archives: SIL27



Support type needed or chipset:	slmodemd

  An ALSA (Advanced Linux Sound Architecture) modem driver:
snd-intel8x0m
  provides Low Level support enabling contact with the modem hardware.
  For all BUT Conexant chip soft modems (using hsfmodem software)
  complementary High Level support is through a Smartlink utility:
slmodemd

  Download from http://linmodems.technion.ac.il/packages/smartlink/
  the package SLMODEMD.gcc4.2.tar.gz having a compiled slmodemd. Unpack
under Linux with:
  	$ tar zxf SLMODEMD.gcc4.2.tar.gz
  and read instructions therein. But briefly, the modem is setup with
command:
  	 slmodemd -c YOUR_COUNTRY --alsa modem:1
  reporting dynamic creation of ports:
	/dev/ttySL0 --> /dev/pts/N   , with N some number
  Read DOCs/Smartlink.txt and Modem/DOCs/YourSystem.txt for follow
through guidance.


Writing DOCs/Intel.txt
Writing DOCs/Smartlink.txt
============ end Smartlink section =====================

  Completed candidate modem analyses.

  The base of the UDEV device file system is: /dev/.udev

  Versions adequately match for the compiler installed: 4.2.3
              and the compiler used in kernel assembly: 4.2.3

  linux-headers-2.6.24.4-desktop586-1mnb resources needed for compiling
are not manifestly ready!
  The patch utility is needed and is needed for compiling ALSA drivers,
and possibly others.

  If compiling is necessary packages must be installed, providing:
	 kernel-desktop-devel-2.6.24.4-desktop586-1mnb


If a driver compilation fails, with message including some lack of some
FileName.h (stdio.h for example), then
Some additional kernel-header files need installation to /usr/include.
The minimal additional packages are libc6-dev
and any of its dependents, under Ubuntu linux-libc-dev

If an alternate ethernet connection is available,
$  apt-get update
$  apt-get -s install linux-kernel-devel
will install needed packages.
For Debian/Ubuntu related distributions, run the following command to
display the needed package list:

Otherwise packages have to be found through http://packages.ubuntu.com
Once downloaded and transferred into a Linux partition,
they can be installed alltogether with:
$ sudo dpkg -i *.deb


Checking pppd properties:
	-rwsr-xr-t 1 root root 316392 2008-04-04 13:03 /usr/sbin/pppd

In case of an "error 17" "serial loopback" problem, see:
     http://linmodems.technion.ac.il/linmodems/archive-sixth/msg02637.html

To enable dialout without Root permission do:
	$ su - root  (not for Ubuntu)
          chmod a+x /usr/sbin/pppd
or under Ubuntu related Linuxes
	 chmod a+x /usr/sbin/pppd

Checking settings of:	/etc/ppp/options


In case of a message like:
    Warning: Could not modify /etc/ppp/pap-secrets: Permission denied
see http://linmodems.technion.ac.il/bigarch/archive-sixth/msg04656.html


  Don't worry about the following, it is for experts should trouble
shooting be necessary.
==========================================================

M slamr0 c 242 0
M slamr1 c 242 1
M slusb0 c 243 0
M slusb1 c 243 1
  Checking for modem support lines:
  --------------------------------------
      /device/modem symbolic link:
slmodemd created symbolic link /dev/ttySL0:
      Within /etc/udev/ files:
/etc/udev/rules.d/50-udev-default.rules:KERNEL=="mwave",		NAME="modems/mwave",

GROUP="uucp"
/etc/udev/rules.d/00-hcfpci.rules:KERNEL=="ttySHCF0", SYMLINK="modem"
/etc/udev/rules.d/00-hsf.rules:KERNEL=="ttySHSF0", SYMLINK="modem"
      Within /etc/modprobe.conf files:
/etc/modprobe.d/martian:install martian_dev /sbin/modprobe
--ignore-install martian_dev; /usr/sbin/martian_modem
      Within any ancient /etc/devfs files:

      Within ancient kernel 2.4.n /etc/module.conf files:
/etc/modules.conf:alias /dev/modem /dev/ttySHSF
/etc/modules.conf:alias /dev/modem /dev/ttySHCF
/etc/modules.conf.mdkgisave:alias /dev/modem /dev/ttySHSF
/etc/modules.conf.mdkgisave:alias /dev/modem /dev/ttySHCF
--------- end modem support lines --------


*****


I appreciate your assistance getting this operational -- this old
laptop's new owner is a complete newbie.
She would really mess things up if she had to use root to get the modem
running.

Sincerely,
Andre




On Fri, 18 Dec 2009 22:07:24 -0500, Antonio Olivares
<olivares14031@xxxxxxxxx> wrote:

Andre,

If you are using Mandriva
<quote>
Mandriva 2008.0, and various downloads of other versions.
</quote>

Please run
$ su -
passwd:
# cd SLMODEMD.gcc4.2/

look for slmodemd script in scripts folder(if it exists) and run
# cp slmodemd /etc/rc.d/init.d/
# chkconfig slmodemd on

edit the SLMODEMD_COUNTRY to CANADA since you do a
<quote>
slmodemd -a -c CANADA modem:1
</quote>

and also change SLMODEMD_DEVICE from /dev/slamr to modem:1

Try that and report back.  If you are running Ubuntu, then there is
sl-modem-daemon, but here Marv is the expert so if you can please
send/post ModemData.txt and you can get a better more precise answer.

Regards,

Antonio

On 12/18/09, Marvin Stodolsky <marvin.stodolsky@xxxxxxxxx> wrote:
Andre,

Which Linux distro and kernel are you using.
Best send us the ModemData output scanModem, as the automation route
depends on the DIstro.

MarvS

On Fri, Dec 18, 2009 at 8:12 AM, kronos <kronos@xxxxxxxxxx> wrote:
Hi,

I finally managed to get slmodemd working on my IBM Thinkpad R40 that
has
a
Smartlink modem using SLMODEMD-gcc4.2.tar.gz.

In the files.txt, it mentions a 'script' directory, but on my
compilation,
there is none. I would like to automate the slmodemd commands
('slmodemd
-a
-c CANADA modem:1') and have it automaticaly load, in the background,
so I
can use PyWvDial without having to run manually slmodemd first. It
would
be
nice if it didn't have to be run as root.

If anyone can point me in the right direction, it would be
appreciated.
I'm
a bit brain-dead after a day's worth of fiddling with the stock
version of
slmodemd shipped with Mandriva 2008.0, and various downloads of other
versions.


Thanks,
Andre




--
Using Opera's revolutionary e-mail client: http://www.opera.com/mail/






--
Using Opera's revolutionary e-mail client: http://www.opera.com/mail/



--
Using Opera's revolutionary e-mail client: http://www.opera.com/mail/

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

  Powered by Linux