Announcement

Collapse
No announcement yet.

Need help installing my winmodem...

Collapse
This topic is closed.
X
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Need help installing my winmodem...

    Hi all...

    I need some help installing my laptop's winmodem, which is a chipset from Motorola. I've done some research online but am not exactly sure how to proceed. Here is the output from the scanmodem utility...

    Code:
     Only plain text email is forwarded by the  Discuss@Linmodems.org List Server,
     as HTML can contain viruses. Use as the email Subject Line:
               YourName, YourCountry  kernel 2.6.32-38-generic 
     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@Linmodems.org 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=x86_64,  Ubuntu ,  ALSA_version=1.0.21
    Linux version 2.6.32-38-generic (buildd@allspice) (gcc version 4.4.3 (Ubuntu 4.4.3-4ubuntu5) ) #83-Ubuntu SMP Wed Jan 4 11:12:07 UTC 2012
     scanModem update of:  2011_08_08
    
    Distrib_ID=Ubuntu
    DistribCodeName=lucid
    AptRepositoryStem=http://us.archive.ubuntu.com/ubuntu/
    
    
    The dkms driver upgrade utilities are installed,
    
    
    Some modem drivers can only be used in 32 bit modem on x86_64 systems,
    while some others are competent on x86_64 Systems.  Cases are:
    1) http://linmodems.technion.ac.il/bigarch/archive-seventh/msg03119.html 
    for the snd-hda-intel audio+modem driver. Also applicable to AC97 modem controllers.
    In both cases, 32 bit libraries must be installed to support the slmodemd helper having a precompiled 32 bit component.
    2) For USB modems using the slusb.ko driver. 32 bit libraries must be installed to support the slmodemd helper having a precompiled 32 bit component
    3) The hsfmodem and hcfpcimodem drivers for Conexant chipsest modes are x86_64 competent.
    4) agrsm packages for LSI/AgereSystems softmodems are not competent on x86_64 systems.
    
     There are no blacklisted modem drivers in /etc/modprobe*  files 
    
     Potentially useful modem drivers now loaded are:
      snd_atiixp_modem snd_via82xx_modem snd_intel8x0m   snd_hda_intel           
    
    Attached USB devices are:
     ID 046d:c019 Logitech, Inc. Optical Tilt Wheel Mouse
     ID 04f2:b023 Chicony Electronics Co., Ltd Gateway USB 2.0 Webcam
    If a cellphone is not detected, see http://ubuntuforums.org/archive/index.php/t-878554.html
    A sample report is:  http://linmodems.technion.ac.il/bigarch/archive-nineth/msg00578.html
    
    If a USB modem or cellphone is attached and was not detected, please
    provide available information in your request to discuss@linmodems.org
    
    Candidate PCI devices with modem chips are:
    00:1b.0 Audio device: Intel Corporation 82801H (ICH8 Family) HD Audio Controller (rev 03)
    High Definition Audio cards can host modem chips.
    
    For candidate card in slot 00:1b.0, firmware information and bootup diagnostics are:
     PCI slot	PCI ID		SubsystemID	Name
     ----------	---------	---------	--------------
     00:1b.0	8086:284b	103c:30cc	Audio device: Intel Corporation 82801H 
    
     Modem interrupt assignment and sharing: 
     22:        571       2221   IO-APIC-fasteoi   HDA Intel
     --- Bootup diagnostics for card in PCI slot 00:1b.0 ----
    [    0.343077] pci 0000:00:1b.0: reg 10 64bit mmio: [0xf8400000-0xf8403fff]
    [    0.343077] pci 0000:00:1b.0: PME# supported from D0 D3hot D3cold
    [    0.343077] pci 0000:00:1b.0: PME# disabled
    [   18.689898] HDA Intel 0000:00:1b.0: PCI INT A -> GSI 22 (level, low) -> IRQ 22
    [   18.690030] HDA Intel 0000:00:1b.0: setting latency timer to 64
    [   18.862589] input: HDA Digital PCBeep as /devices/pci0000:00/0000:00:1b.0/input/input9
    
     The PCI slot 00:1b.0 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@linmodems.org
     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 modem cards detected by "aplay -l"  are: 
    card 0: Intel [HDA Intel], device 6: Si3054 Modem [Si3054 Modem]
    
    The /proc/asound/pcm file reports:
    -----------------------
    00-00: ALC268 Analog : ALC268 Analog : playback 1 : capture 1
    00-01: ALC268 Digital : ALC268 Digital : playback 1
    00-06: Si3054 Modem : Si3054 Modem : playback 1 : capture 1
    
    about /proc/asound/cards:
    ------------------------
     0 [Intel          ]: HDA-Intel - HDA Intel
                          HDA Intel at 0xf8400000 irq 22
    
     PCI slot 00:1b.0 has a High Definition Audio Card
     The drivers are in the kernel modules tree at:
     /lib/modules/2.6.32-38-generic/kernel/sound/pci/hda/snd-hda-intel.ko
     The modem codec file for the HDA card is: /proc/asound/card0/codec#1
    --------------------------------------------------------
    Codec: Motorola Si3054
    Address: 1
    Function Id: 0x2
    Vendor Id: 0x10573055
    Subsystem Id: 0x10573055
    Revision Id: 0x100700
    Modem Function Group: 0x1
    
     The audio card hosts a softmodem chip:  0x10573055
    
    The softmodem chip 0x10573055 is in principle supported by the COMM support of slmodemd 
    and the joint snd-hda-intel audio+modem driver, begun with ALSA version 1.0.13.  
    For HDA cards with ALC883 chips, an upgrade to ALSA verions 1.0.15 way be necessary. 
    Instructions for Upgrading snd-hda-intel and its dependent driver set are at:
    http://linmodems.technion.ac.il/bigarch/archive-eighth/msg00838.html
    
    If not a Conexant modem, the driver snd-hda-intel with its dependent drivers:
    snd_hda_intel          25805  4 
    snd_hda_codec          85759  3 snd_hda_codec_si3054,snd_hda_codec_realtek,snd_hda_intel
    snd_pcm                87946  9 snd_hda_codec_si3054,snd_atiixp_modem,snd_via82xx_modem,snd_intel8x0m,snd_ac97_codec,snd_hda_intel,snd_hda_codec,snd_pcm_oss
    snd                    71283  24 snd_hda_codec_si3054,snd_hda_codec_realtek,snd_atiixp_modem,snd_via82xx_modem,snd_intel8x0m,snd_ac97_codec,snd_hda_intel,snd_hda_codec,snd_hwdep,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_seq_oss,snd_rawmidi,snd_seq,snd_timer,snd_seq_device
    snd_page_alloc          8500  5 snd_atiixp_modem,snd_via82xx_modem,snd_intel8x0m,snd_hda_intel,snd_pcm
    ----------
    provide audio + modem support with the modem chip residing on the subsystem.
    Any particular card can host any one of several soft modem chips. 
    
    === Finished firmware and bootup diagnostics, next deducing cogent software. ===
    
    Predictive  diagnostics for card in bus 00:1b.0:
    	Modem chipset  detected on
    NAME="Audio device: Intel Corporation 82801H "
    CLASS=0403
    PCIDEV=8086:284b
    SUBSYS=103c:30cc
    IRQ=22
    HDA2=00:1b.0
    SOFT=8086:284b.HDA
    HDAchipVendorID=1057
    CHIP=0x10573055
    IDENT=slmodemd
    SLMODEMD_DEVICE=hw:0,6
    Driver=snd-hda-intel
    
     For candidate modem in:  00:1b.0
       0403 Audio device: Intel Corporation 82801H 
          Primary device ID:  8086:284b
        Subsystem PCI_id  103c:30cc 
        Softmodem codec or chipset from diagnostics: 0x10573055
                                   from    Archives: 
                            The HDA card softmodem chip is 0x10573055
          
    
    Support type needed or chipset:	slmodemd supporting the snd-hda-intel audio+modem driver
    
     An ALSA (Advanced Linux Sound Architecture) modem driver:  snd-hda-intel
     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.4_alsa1.0.21.tar.gz having a compiled slmodemd. Unpack under Linux with:
     	$ tar zxf SLMODEMD_gcc4.4_alsa1.0.21.tar.gz
     and read instructions therein. But briefly, the modem is setup with command:
     	sudo slmodemd -c YOUR_COUNTRY --alsa hw:0,6
     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.4.3
                 and the compiler used in kernel assembly: 4.4.3
    
    
     
     Minimal compiling resources appear complete:
       make utility - /usr/bin/make
       Compiler version 4.4
       linuc_headers base folder /lib/modules/2.6.32-38-generic/build
    
     However some compilations and executable functions may need additional files,
     in the FileNames.h (so called kernel "h"eaders) collection installed in  /usr/include/ .
     For martian_modem, additional required packages are needed. The also required headers of package libc6 are commonly installed by default. 
     Compiling hsfmodem drivers does require linux-libc-dev and libc6-dev packages, for kernels 2.6.24 and later versions.
     In not included on your install CD, search for them at http://packages.ubuntu.com
     or comparable Repository for other Linux distros.
     When compiling ALSA drivers, the utility "patch" will also be needed.
    
    
    
    
    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 settings of:	/etc/ppp/options
    asyncmap 0
    noauth
    crtscts
    lock
    hide-password
    modem
    proxyarp
    lcp-echo-interval 30
    lcp-echo-failure 4
    noipx
    
    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
    
    For guidance on FAX usage, get from http://linmodems.technion.ac.il/packages/  get faxing.tar.gz
    It has samples for a modem using port /dev/ttySL0, which must be changed to match your modem's port.
    
    Read Modem/DOCs/YourSystem.txt concerning other COMM channels: eth0 wlan0
    Which can interfere with Browser naviagation.
    
     Don't worry about the following, it is for experts should trouble shooting be necessary.
    ==========================================================
    
     Checking for modem support lines:
     --------------------------------------
         /device/modem symbolic link:   
    slmodemd created symbolic link /dev/ttySL0:  
         Within /etc/udev/ files:
    
         Within /etc/modprobe.conf files:
    /etc/modprobe.d/blacklist-modem.conf:# Uncomment these entries in order to blacklist unwanted modem drivers
    /etc/modprobe.d/blacklist-modem.conf:# blacklist snd-atiixp-modem
    /etc/modprobe.d/blacklist-modem.conf:# blacklist snd-via82xx-modem
    /etc/modprobe.d/sl-modem.conf:install slamr /sbin/modprobe -qb ungrab-winmodem; /sbin/modprobe --ignore-install slamr; test -e /dev/slamr0 && (chmod 660 /dev/slamr0 && chgrp dialout /dev/slamr0) || (/bin/mknod -m 660 /dev/slamr0 c 242 0 2>/dev/null && chgrp dialout /dev/slamr0)
    /etc/modprobe.d/sl-modem.conf:install slusb /sbin/modprobe -qb ungrab-winmodem; /sbin/modprobe --ignore-install slusb; test -e /dev/slusb0 && (chmod 660 /dev/slusb0 && chgrp dialout /dev/slusb0) || (/bin/mknod -m 660 /dev/slusb0 c 243 0 2>/dev/null && chgrp dialout /dev/slusb0)
    /etc/modprobe.d/alsa-base.conf:options snd-atiixp-modem index=-2
    /etc/modprobe.d/alsa-base.conf:options snd-via82xx-modem index=-2
         Within any ancient /etc/devfs files:
    
         Within ancient kernel 2.4.n /etc/module.conf files:
    
    --------- end modem support lines --------
    Here is my lspci readout if anyone needs it. Let me know if you need a readout from a more specific command....

    Code:
    00:00.0 Host bridge: Intel Corporation Mobile PM965/GM965/GL960 Memory Controller Hub (rev 0c)
    00:01.0 PCI bridge: Intel Corporation Mobile PM965/GM965/GL960 PCI Express Root Port (rev 0c)
    00:1a.0 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #4 (rev 03)
    00:1a.1 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #5 (rev 03)
    00:1a.7 USB Controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI Controller #2 (rev 03)
    00:1b.0 Audio device: Intel Corporation 82801H (ICH8 Family) HD Audio Controller (rev 03)
    00:1c.0 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 1 (rev 03)
    00:1c.1 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 2 (rev 03)
    00:1c.5 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 6 (rev 03)
    00:1d.0 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #1 (rev 03)
    00:1d.1 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #2 (rev 03)
    00:1d.2 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #3 (rev 03)
    00:1d.7 USB Controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI Controller #1 (rev 03)
    00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev f3)
    00:1f.0 ISA bridge: Intel Corporation 82801HEM (ICH8M) LPC Interface Controller (rev 03)
    00:1f.1 IDE interface: Intel Corporation 82801HBM/HEM (ICH8M/ICH8M-E) IDE Controller (rev 03)
    00:1f.2 SATA controller: Intel Corporation 82801HBM/HEM (ICH8M/ICH8M-E) SATA AHCI Controller (rev 03)
    00:1f.3 SMBus: Intel Corporation 82801H (ICH8 Family) SMBus Controller (rev 03)
    01:00.0 VGA compatible controller: nVidia Corporation G86 [GeForce 8600M GS] (rev a1)
    02:00.0 Network controller: Intel Corporation PRO/Wireless 4965 AG or AGN [Kedron] Network Connection (rev 61)
    08:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 01)
    09:09.0 FireWire (IEEE 1394): Ricoh Co Ltd R5C832 IEEE 1394 Controller (rev 05)
    09:09.1 SD Host controller: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 22)
    09:09.2 System peripheral: Ricoh Co Ltd R5C843 MMC Host Controller (rev 12)
    09:09.3 System peripheral: Ricoh Co Ltd R5C592 Memory Stick Bus Host Adapter (rev 12)
    09:09.4 System peripheral: Ricoh Co Ltd xD-Picture Card Controller (rev ff)
    I have seen seen two sets of instructions, here and here, plus some instructions from here. I would like to get this right without messing anything up so I would like to get more advice from those who know more about this than I do. I would appreciate the help...

    Regards...
    Our Lord and Savior Jesus Christ loves and cares about you most of all! http://peacewithgod.jesus.net/
    How do I know this personally? Please read here: https://www.linuxquestions.org/quest...hn-8-12-36442/
    PLEASE LISTEN TO THIS PODCAST! You don't have to end up here: https://soulchoiceministries.org/pod...i-see-in-hell/

    #2
    Anyone? I really could use the help. :neutral:

    After some additional reading of the scanmodem readout and this page, it's possible that I need the sl-modem-daemon (which I already have) and the sl-modem-source packages to get the modem to work. However, there is no amd64 version of the source package. How do I get around this?

    Regards...
    Last edited by ardvark71; May 10, 2012, 11:51 AM. Reason: Additions
    Our Lord and Savior Jesus Christ loves and cares about you most of all! http://peacewithgod.jesus.net/
    How do I know this personally? Please read here: https://www.linuxquestions.org/quest...hn-8-12-36442/
    PLEASE LISTEN TO THIS PODCAST! You don't have to end up here: https://soulchoiceministries.org/pod...i-see-in-hell/

    Comment


      #3
      Ok, I figured out how to set up the modem using the instructions here. GnomePPP is able to detect the modem after I run the command...

      Code:
      sudo /etc/init.d/sl-modem-daemon restart
      After doing so, I receive this...

      Code:
      Shutting down SmartLink Modem driver normally ... no slmodemd daemon running.
      Unloading modem driver from kernel ... snd_atiixp_modem.
      Starting SmartLink Modem driver for: hw:0,6.
      Creating /dev/modem symlink, pointing to: /dev/ttySL0.
      However, if I restart the computer, these settings are lost and I have to run the command again which reloads the module. Is there any way to have the OS load the module at boot so the modem is ready to go without entering any commands?

      Thanks
      Our Lord and Savior Jesus Christ loves and cares about you most of all! http://peacewithgod.jesus.net/
      How do I know this personally? Please read here: https://www.linuxquestions.org/quest...hn-8-12-36442/
      PLEASE LISTEN TO THIS PODCAST! You don't have to end up here: https://soulchoiceministries.org/pod...i-see-in-hell/

      Comment


        #4
        Originally posted by ardvark71 View Post
        Is there any way to have the OS load the module at boot so the modem is ready to go without entering any commands?
        There's an option in SystemSettings > Startup/Shutdown to add scripts to load either at startup or pre-KDE startup. I don't know if this is a solution for you or not though...
        Kubuntu 12.04 - Acer Aspire 5750G

        "I don't make a great deal of money, but I'm ok with that 'cause I don't hurt a lot of people in the process either"

        Comment


          #5
          Originally posted by bra|10n View Post
          There's an option in SystemSettings > Startup/Shutdown to add scripts to load either at startup or pre-KDE startup. I don't know if this is a solution for you or not though...
          Thanks....but I run Ubuntu 10.04, not Kubuntu. What script would I run for this?

          Regards...
          Our Lord and Savior Jesus Christ loves and cares about you most of all! http://peacewithgod.jesus.net/
          How do I know this personally? Please read here: https://www.linuxquestions.org/quest...hn-8-12-36442/
          PLEASE LISTEN TO THIS PODCAST! You don't have to end up here: https://soulchoiceministries.org/pod...i-see-in-hell/

          Comment


            #6
            Hi ardvark71,

            Let me make it clear I'm NO scripter, but this seems to fit your example...

            You already have a working script sl-modem-daemon in /etc/init.d and now need to make it start at boot and stop at logoff.

            Because you are able to run the script from a terminal then it must already be executable.

            The update-rc.d command seems to be the one you need to execute the script at bootup and shutdown* so I assume for your purpose it would be,
            Code:
            sudo update-rc.d sl-modem-daemon defaults
            * From what I understand this depends on whether 'stop' instructions are included in your script.

            I found all this info here.

            Surely someone knowlegeable in this can correct/confirm this info for you...

            HTH
            Kubuntu 12.04 - Acer Aspire 5750G

            "I don't make a great deal of money, but I'm ok with that 'cause I don't hurt a lot of people in the process either"

            Comment


              #7
              Hi bra|10n...

              This part of it is a little beyond me. What is "stop" in this case and would I need to write something like what was mentioned in the link you provided?

              Code:
              case "$1" in
                start)
                  modprobe ueagle-atm ;
                  sleep 60 ;
                  modprobe pppoatm ;
                  pppd call ueagle-atm    
                  ;;
                stop)
                  true
                ;;
                *)
                  echo "Usage: $0 {start|stop}" >&2
                  exit 3
                  ;;
              esac
              If so, I would have absolutely no idea how to write one for my modem.

              By the way, I didn't know you're a SWAG now, whatever that means.

              Regards...
              Last edited by ardvark71; May 11, 2012, 02:28 PM. Reason: Addition
              Our Lord and Savior Jesus Christ loves and cares about you most of all! http://peacewithgod.jesus.net/
              How do I know this personally? Please read here: https://www.linuxquestions.org/quest...hn-8-12-36442/
              PLEASE LISTEN TO THIS PODCAST! You don't have to end up here: https://soulchoiceministries.org/pod...i-see-in-hell/

              Comment


                #8
                Perhaps you should post the contents of script sl-modem-daemon here. It won't help me answer your question but it may help others...

                Originally posted by ardvark71 View Post
                By the way, I didn't know you're a SWAG now, whatever that means.
                This I can answer lol. Take a look at some online definitions, there are many and I suggest most apply
                Kubuntu 12.04 - Acer Aspire 5750G

                "I don't make a great deal of money, but I'm ok with that 'cause I don't hurt a lot of people in the process either"

                Comment


                  #9
                  Originally posted by bra|10n View Post
                  Perhaps you should post the contents of script sl-modem-daemon here. It won't help me answer your question but it may help others...
                  Ok, here we go....

                  Code:
                  #!/bin/sh
                  #
                  ### BEGIN INIT INFO
                  # Provides:          softmodem sl-modem-daemon
                  # Default-Start:     2 3 4 5
                  # Default-Stop:      0 1 6
                  # Required-Start:    $local_fs $remote_fs
                  # Required-Stop:     $local_fs $remote_fs
                  # Short-Description: Setup the SmartLink modem daemon
                  # Description:       Starts the modem daemon emulating a serial device and
                  #                    links the result to /dev/modem.
                  ### END INIT INFO
                  
                  
                  PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
                  DAEMON=/usr/sbin/slmodemd
                  NAME=slmodemd
                  PIDFILE=/var/run/$NAME.pid
                  DESC="SmartLink modem daemon"
                  modprobe="$(cat /proc/sys/kernel/modprobe 2>/dev/null || echo modprobe)"
                  
                  test -x $DAEMON || exit 0
                  
                  # there may be old options there...
                  test -r /etc/default/slmodemd && . /etc/default/slmodemd
                  
                  # but most likely they are here
                  test -r /etc/default/sl-modem-daemon && . /etc/default/sl-modem-daemon
                  
                  ALSADEVPREFIX=modem
                  driverlist="snd-intel8x0m snd-via82xx-modem snd-atiixp-modem"
                  
                  # must match the names in /proc/modules with the underscores etc., includes slamr too
                  unloadllist="snd_intel8x0m snd_via82xx_modem snd_atiixp_modem slamr"
                  
                  alsaload() {
                  
                      unset aplay_grep_line;
                      unset proc_grep;
                  
                      # first check for situation when there is modem subdevice (aplay -l output have "(M|m)odem" string, and /proc/asound/cards doesn't).
                      # this one doesn't need modprobe (modem is part of sound card chip)
                  
                      if ! proc_grep=$(grep -i "\[Modem   " /proc/asound/cards) ; then
                      # if there is aplay output, get card and device numbers and form SLMODEMD_DEVICE as hw:a,b
                          if aplay_grep=$(aplay -l | egrep '^card [0-9].*(M|m)odem') ; then
                              aplay_grep_line=$(echo "$aplay_grep" | sed -r 's/^card ([[:digit:]]+).*device ([[:digit:]]+).*$/\1 \2/')
                  
                              # Let's configure subdevice
                              if [ -n "$aplay_grep_line" ] ; then
                                  set $aplay_grep_line
                                  # This one needs hw as prefix
                                  ALSADEVPREFIX="hw"
                                  SLMODEMD_DEVICE="$ALSADEVPREFIX:$1,$2"
                                  ALSA=yes
                                  return 0
                              fi
                         # if there is no aplay and proc output, try to modprobe and then check for modem cards again
                          else
                              # first check to not do unneccessary modprobe calls. Some people even put
                              # it into the kernel image
                  
                              for x in $driverlist ; do $modprobe $x 2>/dev/null ; done
                  
                              for start_reps in `seq 100` ; do
                                  test -e /proc/asound/cards && proc_grep=$(grep -i "\[Modem   " -i /proc/asound/cards) && (aplay -l | egrep '^card [0-9]*\: Modem ' >/dev/null) && break
                                  sleep 0.1
                              done
                  
                          fi
                      fi
                  	
                      # if we got proc_grep (already existed or from previous if), let's use it to form SLMODEMD_DEVICE as modem:a
                      if [ -n "$proc_grep" ] ; then
                          # ALSA driver is loaded, use it
                          set $proc_grep
                          SLMODEMD_DEVICE=$ALSADEVPREFIX:$1
                          ALSA=yes
                          return 0
                      fi
                  
                      return 1
                  }
                  
                  config() {
                     if test "$DONTSTART" = 1 ; then
                        test "$BEQUIET" = 1 || echo "Not starting $DESC (options not set in /etc/default/slmodemd)"
                        exit 0
                     fi
                  
                     if test "$SLMODEMD_COUNTRY" ; then
                        OPTS="$OPTS -c $SLMODEMD_COUNTRY"
                     fi
                  
                     ALSA=`echo $SLMODEMD_DEVICE | grep :`
                     
                     if [ "`echo $SLMODEMD_DEVICE | grep auto`" ] ; then
                  
                         # carefully look for signs of loaded drivers
                         if grep -i "\[Modem   " -i /proc/asound/cards ; then
                             # already loaded, just pick up the device there
                             alsaload;
                         else
                             # ALSA not loaded yet, try the smartlink driver first, then try ALSA
                             # though (forced loading)
                             if grep -q 'slamr\..*o' /lib/modules/`uname -r`/modules.dep ;
                             then
                                 if $modprobe slamr 2>&1 | grep -q not.found ; then
                                     alsaload;
                                 else
                                     SLMODEMD_DEVICE=slamr0
                                 fi
                             else
                                 alsaload;
                             fi
                         fi
                     fi
                  
                     if [ "$ALSA" ] ; then
                         # either detected or choosed by user, the driver must already be loaded
                         # and the device name be picked up before
                  
                         OPTS=" --alsa $OPTS $SLMODEMD_DEVICE"
                  
                     else
                  
                        if test "$SLMODEMD_DEVICE" ; then
                           OPTS="$OPTS /dev/$SLMODEMD_DEVICE"
                        fi
                        
                        if uname -a | grep -q x86_64 ; then
                           echo "Only access through ALSA is available on amd64 but slamr driver was chosen!"
                           echo "Make sure that an ALSA driver for your chipset is available and is loaded"
                           echo "and that access to SmartLink modem components is supported by it."
                           exit 1
                        fi
                  
                        # installed as module so just load it or bail out
                        if MODPROBE_OPTIONS="" $modprobe slamr 2>&1 | grep -q not.found ; then
                            echo "SmartLink modem driver not available for this Kernel. Please read README.Debian"
                            echo "or try to install the package sl-modem-source. Exiting..."
                            exit 1
                        fi
                     fi
                  }
                  
                  start() {
                  
                      echo -n "Starting SmartLink Modem driver for: $SLMODEMD_DEVICE"
                      ulimit -Hl unlimited; ulimit -Sl unlimited
                      start-stop-daemon --start --pidfile $PIDFILE --exec $DAEMON --make-pidfile --background --quiet -- $OPTS
                      RETVAL=$?
                      if [ "$RETVAL" = 0 ] && [ "$NOSYMLINK" != 1 ] ; then
                          echo "."
                          echo "Creating /dev/modem symlink, pointing to: /dev/ttySL0."
                          ln -sf ttySL0 /dev/modem
                      fi
                  }
                  
                  stop() {
                      echo -n "Shutting down SmartLink Modem driver normally"
                      RETVAL=0
                      if [ "`pidof $NAME`" ] ; then 
                          if start-stop-daemon --stop --quiet --pidfile $PIDFILE --exec $DAEMON --retry 1 ; then
                              echo .
                          else
                              echo " probably failed."
                              echo "Trying it the hard way (send SIGKILL all $NAME processes): " 
                              killall -KILL $NAME || RETVAL=1
                          fi
                      else
                          echo " ... no $NAME daemon running."
                      fi
                      test "$RETVAL" -ne 0 || rm -f "$PIDFILE"
                      echo -n "Unloading modem driver from kernel ... " 
                      msg="none found."
                      for x in $unloadllist ; do 
                          if grep -l -q "^$x " /proc/modules ; then
                              $modprobe -r $x 2>/dev/null && msg="$x." || msg="failed."
                          fi
                      done
                      echo $msg
                  }
                  
                  status() {
                      echo -n "Status of $DESC: "
                      if [ ! -r "$PIDFILE" ]; then
                          echo "$NAME is not running."
                          exit 3
                      fi
                      if read pid < "$PIDFILE" && ps -p "$pid" > /dev/null 2>&1; then
                          echo "$NAME is running."
                          exit 0
                      else
                          echo "$NAME is not running but $PIDFILE exists."
                          exit 1
                      fi
                  }
                  
                  # See how we were called. Consider udev action too.
                  case "$1$ACTION" in
                      
                      start)
                      config
                      start
                      ;;
                  
                      add)
                      ALSA=""
                      # slusb via udev part
                      if [ "$DEVICE" ] ; then 
                         SLMODEMD_DEVICE="$DEVICE"
                      else
                         SLMODEMD_DEVICE="$DEVNAME"
                      fi
                  
                      if [ -r "$SLMODEMD_DEVICE" ]
                      then
                         # check if $GROUP really exists
                         if getent group $GROUP > /dev/null; then
                            chmod 660 "$SLMODEMD_DEVICE"
                            chown root:$GROUP "$SLMODEMD_DEVICE"
                         fi
                      else
                         exit 1
                      fi
                      start
                      ;;
                  
                      stop|remove)
                      stop
                      ;;
                      
                      restart|reload|force-reload)
                      stop
                      config
                      start
                      ;;
                      
                      status)
                      status
                      ;;
                  
                      *)
                      echo "Usage: /etc/init.d/sl-modem-daemon {start|stop|restart|status}"
                      exit 1
                  esac
                  Regards...
                  Our Lord and Savior Jesus Christ loves and cares about you most of all! http://peacewithgod.jesus.net/
                  How do I know this personally? Please read here: https://www.linuxquestions.org/quest...hn-8-12-36442/
                  PLEASE LISTEN TO THIS PODCAST! You don't have to end up here: https://soulchoiceministries.org/pod...i-see-in-hell/

                  Comment


                    #10
                    Code:
                    #!/bin/sh
                    #
                    ### BEGIN INIT INFO
                    # Provides:          softmodem sl-modem-daemon
                    # Default-Start:     2 3 4 5
                    # Default-Stop:      0 1 6
                    # Required-Start:    $local_fs $remote_fs
                    # Required-Stop:     $local_fs $remote_fs
                    # Short-Description: Setup the SmartLink modem daemon
                    # Description:       Starts the modem daemon emulating a serial device and
                    #                    links the result to /dev/modem.
                    ### END INIT INFO
                    
                    
                    PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
                    DAEMON=/usr/sbin/slmodemd
                    NAME=slmodemd
                    PIDFILE=/var/run/$NAME.pid
                    DESC="SmartLink modem daemon"
                    modprobe="$(cat /proc/sys/kernel/modprobe 2>/dev/null || echo modprobe)"
                    
                    test -x $DAEMON || exit 0
                    
                    # there may be old options there...
                    test -r /etc/default/slmodemd && . /etc/default/slmodemd
                    
                    # but most likely they are here
                    test -r /etc/default/sl-modem-daemon && . /etc/default/sl-modem-daemon
                    
                    ALSADEVPREFIX=modem
                    driverlist="snd-intel8x0m snd-via82xx-modem snd-atiixp-modem"
                    
                    # must match the names in /proc/modules with the underscores etc., includes slamr too
                    unloadllist="snd_intel8x0m snd_via82xx_modem snd_atiixp_modem slamr"
                    
                    alsaload() {
                    
                        unset aplay_grep_line;
                        unset proc_grep;
                    
                        # first check for situation when there is modem subdevice (aplay -l output have "(M|m)odem" string, and /proc/asound/cards doesn't).
                        # this one doesn't need modprobe (modem is part of sound card chip)
                    
                        if ! proc_grep=$(grep -i "\[Modem   " /proc/asound/cards) ; then
                        # if there is aplay output, get card and device numbers and form SLMODEMD_DEVICE as hw:a,b
                            if aplay_grep=$(aplay -l | egrep '^card [0-9].*(M|m)odem') ; then
                                aplay_grep_line=$(echo "$aplay_grep" | sed -r 's/^card ([[:digit:]]+).*device ([[:digit:]]+).*$/\1 \2/')
                    
                                # Let's configure subdevice
                                if [ -n "$aplay_grep_line" ] ; then
                                    set $aplay_grep_line
                                    # This one needs hw as prefix
                                    ALSADEVPREFIX="hw"
                                    SLMODEMD_DEVICE="$ALSADEVPREFIX:$1,$2"
                                    ALSA=yes
                                    return 0
                                fi
                           # if there is no aplay and proc output, try to modprobe and then check for modem cards again
                            else
                                # first check to not do unneccessary modprobe calls. Some people even put
                                # it into the kernel image
                    
                                for x in $driverlist ; do $modprobe $x 2>/dev/null ; done
                    
                                for start_reps in `seq 100` ; do
                                    test -e /proc/asound/cards && proc_grep=$(grep -i "\[Modem   " -i /proc/asound/cards) && (aplay -l | egrep '^card [0-9]*\: Modem ' >/dev/null) && break
                                    sleep 0.1
                                done
                    
                            fi
                        fi
                    	
                        # if we got proc_grep (already existed or from previous if), let's use it to form SLMODEMD_DEVICE as modem:a
                        if [ -n "$proc_grep" ] ; then
                            # ALSA driver is loaded, use it
                            set $proc_grep
                            SLMODEMD_DEVICE=$ALSADEVPREFIX:$1
                            ALSA=yes
                            return 0
                        fi
                    
                        return 1
                    }
                    
                    config() {
                       if test "$DONTSTART" = 1 ; then
                          test "$BEQUIET" = 1 || echo "Not starting $DESC (options not set in /etc/default/slmodemd)"
                          exit 0
                       fi
                    
                       if test "$SLMODEMD_COUNTRY" ; then
                          OPTS="$OPTS -c $SLMODEMD_COUNTRY"
                       fi
                    
                       ALSA=`echo $SLMODEMD_DEVICE | grep :`
                       
                       if [ "`echo $SLMODEMD_DEVICE | grep auto`" ] ; then
                    
                           # carefully look for signs of loaded drivers
                           if grep -i "\[Modem   " -i /proc/asound/cards ; then
                               # already loaded, just pick up the device there
                               alsaload;
                           else
                               # ALSA not loaded yet, try the smartlink driver first, then try ALSA
                               # though (forced loading)
                               if grep -q 'slamr\..*o' /lib/modules/`uname -r`/modules.dep ;
                               then
                                   if $modprobe slamr 2>&1 | grep -q not.found ; then
                                       alsaload;
                                   else
                                       SLMODEMD_DEVICE=slamr0
                                   fi
                               else
                                   alsaload;
                               fi
                           fi
                       fi
                    
                       if [ "$ALSA" ] ; then
                           # either detected or choosed by user, the driver must already be loaded
                           # and the device name be picked up before
                    
                           OPTS=" --alsa $OPTS $SLMODEMD_DEVICE"
                    
                       else
                    
                          if test "$SLMODEMD_DEVICE" ; then
                             OPTS="$OPTS /dev/$SLMODEMD_DEVICE"
                          fi
                          
                          if uname -a | grep -q x86_64 ; then
                             echo "Only access through ALSA is available on amd64 but slamr driver was chosen!"
                             echo "Make sure that an ALSA driver for your chipset is available and is loaded"
                             echo "and that access to SmartLink modem components is supported by it."
                             exit 1
                          fi
                    
                          # installed as module so just load it or bail out
                          if MODPROBE_OPTIONS="" $modprobe slamr 2>&1 | grep -q not.found ; then
                              echo "SmartLink modem driver not available for this Kernel. Please read README.Debian"
                              echo "or try to install the package sl-modem-source. Exiting..."
                              exit 1
                          fi
                       fi
                    }
                    
                    start() {
                    
                        echo -n "Starting SmartLink Modem driver for: $SLMODEMD_DEVICE"
                        ulimit -Hl unlimited; ulimit -Sl unlimited
                        start-stop-daemon --start --pidfile $PIDFILE --exec $DAEMON --make-pidfile --background --quiet -- $OPTS
                        RETVAL=$?
                        if [ "$RETVAL" = 0 ] && [ "$NOSYMLINK" != 1 ] ; then
                            echo "."
                            echo "Creating /dev/modem symlink, pointing to: /dev/ttySL0."
                            ln -sf ttySL0 /dev/modem
                        fi
                    }
                    
                    [COLOR="#FF0000"]stop() {[/COLOR]
                        echo -n "Shutting down SmartLink Modem driver normally"
                        RETVAL=0
                        if [ "`pidof $NAME`" ] ; then 
                            if start-stop-daemon --stop --quiet --pidfile $PIDFILE --exec $DAEMON --retry 1 ; then
                                echo .
                            else
                                echo " probably failed."
                                echo "Trying it the hard way (send SIGKILL all $NAME processes): " 
                                killall -KILL $NAME || RETVAL=1
                            fi
                        else
                            echo " ... no $NAME daemon running."
                        fi
                        test "$RETVAL" -ne 0 || rm -f "$PIDFILE"
                        echo -n "Unloading modem driver from kernel ... " 
                        msg="none found."
                        for x in $unloadllist ; do 
                            if grep -l -q "^$x " /proc/modules ; then
                                $modprobe -r $x 2>/dev/null && msg="$x." || msg="failed."
                            fi
                        done
                        echo $msg
                    }
                    
                    status() {
                        echo -n "Status of $DESC: "
                        if [ ! -r "$PIDFILE" ]; then
                            echo "$NAME is not running."
                            exit 3
                        fi
                        if read pid < "$PIDFILE" && ps -p "$pid" > /dev/null 2>&1; then
                            echo "$NAME is running."
                            exit 0
                        else
                            echo "$NAME is not running but $PIDFILE exists."
                            exit 1
                        fi
                    }
                    
                    # See how we were called. Consider udev action too.
                    case "$1$ACTION" in
                        
                        start)
                        config
                        start
                        ;;
                    
                        add)
                        ALSA=""
                        # slusb via udev part
                        if [ "$DEVICE" ] ; then 
                           SLMODEMD_DEVICE="$DEVICE"
                        else
                           SLMODEMD_DEVICE="$DEVNAME"
                        fi
                    
                        if [ -r "$SLMODEMD_DEVICE" ]
                        then
                           # check if $GROUP really exists
                           if getent group $GROUP > /dev/null; then
                              chmod 660 "$SLMODEMD_DEVICE"
                              chown root:$GROUP "$SLMODEMD_DEVICE"
                           fi
                        else
                           exit 1
                        fi
                        start
                        ;;
                    
                        stop|remove)
                        stop
                        ;;
                        
                        restart|reload|force-reload)
                        stop
                        config
                        start
                        ;;
                        
                        status)
                        status
                        ;;
                    
                        *)
                        echo "Usage: /etc/init.d/sl-modem-daemon {start|stop|restart|status}"
                        exit 1
                    esac
                    Well to me it looks like you already have a stop function included in the script. Just a matter of getting it to start at boot time.

                    Purely based on the assumption that your script looks very similar to the advice in the link that I posted above, you might want to try the start code I posted to see if it in fact works...
                    I don't know that it could do any real damage.
                    Just note exactly what you do in case of any undesired effects but you may want to give it a shot. If not you could wait for someone else to chime in with some knowlegeable guidance...
                    Kubuntu 12.04 - Acer Aspire 5750G

                    "I don't make a great deal of money, but I'm ok with that 'cause I don't hurt a lot of people in the process either"

                    Comment


                      #11
                      Originally posted by bra|10n View Post

                      Well to me it looks like you already have a stop function included in the script. Just a matter of getting it to start at boot time.

                      Purely based on the assumption that your script looks very similar to the advice in the link that I posted above, you might want to try the start code I posted to see if it in fact works...
                      I don't know that it could do any real damage.
                      Just note exactly what you do in case of any undesired effects but you may want to give it a shot. If not you could wait for someone else to chime in with some knowlegeable guidance...
                      Hi...

                      I appreciate your help with this. I might give it a shot but I want to make sure the code doesn't cause any problems...

                      Regards...
                      Our Lord and Savior Jesus Christ loves and cares about you most of all! http://peacewithgod.jesus.net/
                      How do I know this personally? Please read here: https://www.linuxquestions.org/quest...hn-8-12-36442/
                      PLEASE LISTEN TO THIS PODCAST! You don't have to end up here: https://soulchoiceministries.org/pod...i-see-in-hell/

                      Comment


                        #12
                        Hi all...

                        Interesting...as my system was shutting down and right after the purple Ubuntu screen went off, I saw for a split second the words "Modem driver." I didn't catch what the rest said but it may be referring to the same driver I installed originally using Jockey (which I configured.) The following writeup was also given...

                        Code:
                        The SmartLink modem daemon is the application part of thedriver for recent modems produced by Smart Link Ltd.
                        
                        This package replaces (along with hardware access drivers) the olddriver generation (2.7.x) which consisted of kernel modules only.
                        
                        It needs a kernel driver to access the hardware. This can be eitherrecent ALSA (shipped with a newer kernel (>=2.6.4) with ALSA supportand snd-intel8x0m module) which is sufficient for basic operation anddata/Internet connection, or the SmartLink kernel driver which isprovided by separate packages which you can build using the source fromthe sl-modem-source package.
                        
                        This driver enables the usage of many software modems, as commonly found in laptops.
                        
                        If this driver is not enabled, you will not be able to use your modem.
                        Why would the driver be running in memory but still not see my chipset unless I give the command mentioned in my previous post?

                        Regards...
                        Our Lord and Savior Jesus Christ loves and cares about you most of all! http://peacewithgod.jesus.net/
                        How do I know this personally? Please read here: https://www.linuxquestions.org/quest...hn-8-12-36442/
                        PLEASE LISTEN TO THIS PODCAST! You don't have to end up here: https://soulchoiceministries.org/pod...i-see-in-hell/

                        Comment


                          #13
                          Anyone?
                          Our Lord and Savior Jesus Christ loves and cares about you most of all! http://peacewithgod.jesus.net/
                          How do I know this personally? Please read here: https://www.linuxquestions.org/quest...hn-8-12-36442/
                          PLEASE LISTEN TO THIS PODCAST! You don't have to end up here: https://soulchoiceministries.org/pod...i-see-in-hell/

                          Comment


                            #14
                            Maybe http://linux.about.com/od/ubuntu_doc/a/ubudg19t13.htm
                            Windows no longer obstructs my view.
                            Using Kubuntu Linux since March 23, 2007.
                            "It is a capital mistake to theorize before one has data." - Sherlock Holmes

                            Comment


                              #15
                              I've noticed the text "Modem driver" appearing near the end of my Oneiric shutdown. Box has never had a modem of any variety, AFAIK.

                              Regards, John
                              Regards, John Little

                              Comment

                              Working...
                              X