Page 1 of 4 123 ... LastLast
Results 1 to 10 of 40

Thread: Using a USB winmodem with a Conexant driver in (K)Ubuntu 11.10 (Oneiric)

  1. #1
    Join Date
    Aug 2007
    Beans
    67

    Using a USB winmodem with a Conexant driver in (K)Ubuntu 11.10 (Oneiric)

    With the information given by Diaco, Lamp20, Shizeon, Backu, Chiaseth and the writers of http://help.ubuntu.com/community/Dia...Howto/Conexant I have used a USB winmodem with a Conexant driver in (K)Ubuntu 11.10 (Oneiric).

    Anyway, if I had any big problem with a Conexant modem, I would remember what was written, not about winmodems but about true modems, in https://help.ubuntu.com/community/Di...Howto/Conexant: "Note that in general, you can buy a Lucent or Intel (smartlink, or other brand with intel chipset) modem for less than 19.99 US".

    When I plugged a Conexant modem, I executed
    Code:
    lsusb
    and it said:
    [...]
    Bus 006 Device 002: ID 0572:1300 Conexant Systems (Rockwell), Inc. SoftK56 Data Fax Voice CARP
    [...]
    so I knew that the HSF modem was recognized by the system.

    As I had a previous internet connection, I upgraded the system
    Code:
    sudo apt-get update && sudo apt-get dist-upgrade
    I checked that I had no previous Conexant drivers installed. For example: I executed
    Code:
    ls /usr/sbin/hsfconfig
    and it said that that file did not exist; if it existed I would have thought that something was still installed.

    I made sure that I had "gcc" and "make" ready, executing
    Code:
    sudo apt-get install gcc make
    Then I executed those steps told there:
    Code:
    sudo -s
    cd /lib/modules/$(uname -r)/build/include/linux
    ln -s ../generated/utsrelease.h
    ln -s ../generated/autoconf.h
    exit
    I prepared the files for the driver compilation, executing
    Code:
    mkdir ~/conexant_modem
    cd ~/conexant_modem
    and if I had a 64-bit operating system I executed
    Code:
    wget http://linux.dell.com/files/ubuntu/hardy/modem-drivers/hsf/hsfmodem-7.68.00.09x86_64oem.tar.gz
    tar xzf hsfmodem-7.68.00.09x86_64oem.tar.gz
    wget http://www.bargweb.net/images/2009/november/hsfmodem-7.80.02.05-DiacoEdition.zip
    unzip hsfmodem-7.80.02.05-DiacoEdition.zip
    cp -a hsfmodem-7.80.02.05-DiacoEdition/modules/imported/include/framewrk.h hsfmodem-7.68.00.09x86_64oem/modules/imported/include/framewrk.h
    cp -a hsfmodem-7.80.02.05-DiacoEdition/modules/imported/include/osservices.h hsfmodem-7.68.00.09x86_64oem/modules/imported/include/osservices.h
    else, if I had a 32-bit operating system I executed
    Code:
    wget http://linux.dell.com/files/ubuntu/hardy/modem-drivers/hsf/hsfmodem-7.68.00.09oem.tar.gz
    tar xzf hsfmodem-7.68.00.09oem.tar.gz
    wget http://www.bargweb.net/images/2009/november/hsfmodem-7.80.02.05-DiacoEdition.zip
    unzip hsfmodem-7.80.02.05-DiacoEdition.zip
    cp -a hsfmodem-7.80.02.05-DiacoEdition/modules/imported/include/framewrk.h hsfmodem-7.68.00.09oem/modules/imported/include/framewrk.h
    cp -a hsfmodem-7.80.02.05-DiacoEdition/modules/imported/include/osservices.h hsfmodem-7.68.00.09oem/modules/imported/include/osservices.h
    A note for the curious ones: those "framewrk.h" and "osservices.h" files were the different ones between the directories "hsfmodem-7.68.00.09oem/modules/imported" and "hsfmodem-7.80.02.05-DiacoEdition/modules/imported".

    If I had a 64-bit operating system I executed
    Code:
    wget http://www.linuxant.com/drivers/hsf/full/archive/hsfmodem-7.80.02.06x86_64full/hsfmodem-7.80.02.06x86_64full.tar.gz
    else, if I had a 32-bit operating system I executed
    Code:
    wget http://www.linuxant.com/drivers/hsf/full/archive/hsfmodem-7.80.02.06full/hsfmodem-7.80.02.06full.tar.gz
    A note for the curious ones: that file was the newest one in http://www.linuxant.com/drivers/hsf/full/downloads.php

    And then, if I had a 64-bit operating system I executed
    Code:
    tar xzf hsfmodem-7.80.02.06x86_64full.tar.gz
    rm -r hsfmodem-7.80.02.06x86_64full/modules/imported
    cp -R hsfmodem-7.68.00.09x86_64oem/modules/imported hsfmodem-7.80.02.06x86_64full/modules/
    cp -R hsfmodem-7.68.00.09x86_64oem/modules/imported hsfmodem-7.80.02.06x86_64full/modules/
    else, if I had a 32-bit operating system I executed
    Code:
    tar xzf hsfmodem-7.80.02.06full.tar.gz
    rm -r hsfmodem-7.80.02.06full/modules/imported
    cp -R hsfmodem-7.68.00.09oem/modules/imported hsfmodem-7.80.02.06full/modules/
    cp -R hsfmodem-7.68.00.09oem/modules/imported hsfmodem-7.80.02.06full/modules/
    The next step was to clean the present directory.

    If I had a 64-bit operating system I executed
    Code:
    rm -rf hsfmodem-7.68.00.09x86_64oem
    rm -rf hsfmodem-7.80.02.05-DiacoEdition
    rm hsfmodem-7.68.00.09x86_64oem.tar.gz
    rm hsfmodem-7.80.02.05-DiacoEdition.zip
    rm hsfmodem-7.80.02.06x86_64full.tar.gz
    else, if I had a 32-bit operating system I executed
    Code:
    rm -rf hsfmodem-7.68.00.09oem
    rm -rf hsfmodem-7.80.02.05-DiacoEdition
    rm hsfmodem-7.68.00.09oem.tar.gz
    rm hsfmodem-7.80.02.05-DiacoEdition.zip
    rm hsfmodem-7.80.02.06full.tar.gz
    Then I had to change some files to adapt them to work with the 3.0.0 version of the Linux kernel.
    If I had a 64-bit operating system I executed
    Code:
    cd hsfmodem-7.80.02.06x86_64full
    xdg-open modules/GPL/serial_cnxt.c
    else, if I had a 32-bit operating system I executed
    Code:
    cd hsfmodem-7.80.02.06full
    xdg-open modules/GPL/serial_cnxt.c
    and then a text editor was launched. I searched for the string
    Code:
    #ifndef FOUND_UART_REGISTER_PORT
    and below I found the string
    Code:
    static DECLARE_MUTEX(cnxt_port_sem);
    I deleted that last string, and wrote there
    Code:
    static DEFINE_SEMAPHORE(cnxt_port_sem);
    and I saved and closed that file. I executed
    Code:
    xdg-open modules/osdiag.c
    and then a text editor was launched. I searched for the string
    Code:
    THIS_MODULE,
    and below I found the string
    Code:
    .ioctl    = diag_ioctl,
    I deleted that string, and wrote there
    Code:
    .compat_ioctl = diag_ioctl,
    and I saved and closed that file. I executed
    Code:
    xdg-open modules/osnvm.c
    and then a text editor was launched. I searched for the string
    Code:
    static LIST_HEAD(nvm_newinst_list);
    and below I found the string
    Code:
    static DECLARE_MUTEX(nvmelem_writelist_sem);
    I deleted that last string, and wrote there
    Code:
    static DEFINE_SEMAPHORE(nvmelem_writelist_sem);
    and I saved and closed that file.

    A note for the curious ones: the source of those changes in those files was http://www.openmamba.org/showfile.ht...l-2.6.37.patch

    The user named Chiaseth helped telling those steps that I followed, this way:

    1. I executed
    Code:
    xdg-open modules/osservices.c
    and then a text editor was launched. I searched for the string
    Code:
    #include <linux/smp_lock.h>
    and I deleted that string, and wrote there
    Code:
    #include <linux/mutex.h>
    DEFINE_MUTEX(os_mutex);  // Define a mutex
    In that file I searched for the strings
    Code:
    unlock_kernel()
    replacing all of them with
    Code:
    mutex_unlock(&os_mutex)
    Also, in that file I searched for the strings
    Code:
    lock_kernel()
    replacing all of them with
    Code:
    mutex_lock(&os_mutex)
    and I saved and closed that file.

    2. I executed
    Code:
    xdg-open modules/osdcp.c
    In that file I searched for the string
    Code:
    static spinlock_t dcp_lock = SPIN_LOCK_UNLOCKED;
    replacing it with
    Code:
    static DEFINE_SPINLOCK(dcp_lock);
    and I saved and closed that file.

    3. I executed
    Code:
    xdg-open modules/osdiag.c
    In that file I searched for the string
    Code:
    static spinlock_t diag_lock = SPIN_LOCK_UNLOCKED;
    replacing it with
    Code:
    static DEFINE_SPINLOCK(diag_lock);
    and I saved and closed that file.

    4. I executed
    Code:
    xdg-open modules/osfloat.c
    In that file I searched for the string
    Code:
    static spinlock_t fpstates_lock __attribute__((unused)) = SPIN_LOCK_UNLOCKED;
    replacing it with
    Code:
    static DEFINE_SPINLOCK(fpstates_lock);
    and I saved and closed that file.

    5. I executed
    Code:
    xdg-open modules/osservices.c
    In that file I searched for the string
    Code:
    static spinlock_t atomic_lock __attribute__((unused)) = SPIN_LOCK_UNLOCKED;
    replacing it with
    Code:
    static DEFINE_SPINLOCK(atomic_lock);
    and I saved and closed that file.

    6. I executed
    Code:
    xdg-open modules/GPL/oscompat.h
    In that file I searched for the string
    Code:
    static spinlock_t tqueue_lock __attribute__((unused)) = SPIN_LOCK_UNLOCKED;
    replacing it with
    Code:
    static DEFINE_SPINLOCK(tqueue_lock);
    and I saved and closed that file.


    Finally...
    If executed
    Code:
    sudo make install
    sudo hsfconfig
    It asked "Where is the linux source build directory that matches your running kernel?", then I simply pressed the return key to accept the default answer. I also accepted the default answer in other questions.

    Finally the command reported that
    Code:
    The /dev/modem alias (symlink) points to ttySHSF0
    I executed
    Code:
    dmesg
    and at the end I saw
    Code:
        [59190.782005] hsfengine: module license 'see LICENSE file distributed with driver' taints kernel.
        [59190.782011] Disabling lock debugging due to kernel taint
        [59192.564398] ttySHSF0 at MMIO 0x0 (irq = 0) is a Conexant HSF softmodem (USB-0572:1300)
        [59192.600274] usbcore: registered new interface driver hsfusbcd2
        [59194.416241] usbcore: deregistering interface driver hsfusbcd2
        [59194.600064] usb 6-1: reset full speed USB device using uhci_hcd and address 2
        [59194.811746] cnxthsf_DcpDestroy: units still active, waiting..
        [59194.811764] cnxthsf_DcpDestroy: units still active, waiting..
        [59194.811778] cnxthsf_DcpDestroy: units still active, waiting..
        [59196.967466] ttySHSF0 at MMIO 0x0 (irq = 0) is a Conexant HSF softmodem (USB-0572:1300)
        [59196.994150] usbcore: registered new interface driver hsfusbcd2
    which meant, among other things, that the USB modem was detected at /dev/ttySHSF0.

    Note: as they said in https://help.ubuntu.com/community/Di...Howto/Conexant: "do not delete or move the source tree [in our case: ~/conexant_modem] from your system after these steps, it will be required to uninstall and patch the driver."

    I launched kppp (for example) and configured a new "connection", specifying that the modem was at /dev/ttySHSF0. You could also use a program like efax-gtk to send faxes through the modem.


    Notes about maintenance:
    If a system upgrade changed the kernel version of my computer, and I could not connect to internet or I saw a general protection fault due to a hsf driver error:

    I executed
    Code:
          sudo hsfconfig --uninstall
    and rebooted the computer (just in case).

    If I had a 64-bit operating system I executed
    Code:
          cd ~/conexant_modem/hsfmodem-7.80.02.06x86_64full
    else, if I had a 32-bit operating system I executed
    Code:
          cd ~/conexant_modem/hsfmodem-7.80.02.06full
    I executed
    Code:
          sudo make clean
          sudo make install
          sudo hsfconfig
    and I accepted the default answer in the questions.


    Further information
    If you find any problem, or want to make any change to the method, please write it in this thread, so we can all have a proper final document.
    Last edited by Ganton; January 3rd, 2012 at 02:00 AM.

  2. #2
    Join Date
    Oct 2008
    Beans
    22

    Unhappy Re: Using a USB winmodem with a Conexant driver in (K)Ubuntu 11.10 (Oneiric)

    thank you! this tutorial helped me to install the driver, but the modem was not found during installation or reboot. and I suppose that the problem is that this modem, though based on Conexant chip, is Intel HDA. and when I type hsfconfig -i, it returns the following:

    Code:
    Note: HDA support not compiled in the driver
    
    Note: kernel module snd-via82xx-modem overridden by hsfmc97via
    Note: kernel module snd-intel8x0m overridden by hsfmc97ich hsfmc97sis
    Note: kernel module snd-atiixp-modem overridden by hsfmc97ati
    
    Warning: no device detected by hsf driver - HDA modems may require reboot
    
    Note: HDA support not compiled in the driver
    
    Note: kernel module snd-via82xx-modem overridden by hsfmc97via
    Note: kernel module snd-intel8x0m overridden by hsfmc97ich hsfmc97sis
    Note: kernel module snd-atiixp-modem overridden by hsfmc97ati
    I am not so advanced in linux to tell why it is so. I believe I need to compile HDA support into the driver, but I don't know whether I am right and how to do it. could you please help me with it? thank you!

    UPDATE
    hm. I visited the site of Linuxant, and it is written there that I need to install the alsa driver provided by them prior to installing the driver for the HSF modem. and of course, their alsa driver is also for linux 2.6 and on my linux kernel 3.2.1 it returns the same fatal error as the modem driver: smp_lock.h is missing =( I wish I knew how to patch that one, too.
    Last edited by altima; January 26th, 2012 at 10:09 AM.

  3. #3
    Join Date
    Nov 2010
    Beans
    103

    Re: Using a USB winmodem with a Conexant driver in (K)Ubuntu 11.10 (Oneiric)

    Thanks Ganton for the super clear and extensive guide, made the drivers patching a breeze

    I wouldn't have been able to figure all that stuff out by myself.

    However I'm facing a weird problem with the modem.

    Here are few details:
    - it was working fine in Ubuntu 10.10
    - the scanmodem script detected this, which is correct
    Code:
    Predictive  diagnostics for card in bus 00:0d.0:
    	Modem chipset  detected on
    NAME="Communication controller: Rockwell International HSF 56k Data/Fax/Voice/Spkp "
    CLASS=0780
    PCIDEV=127a:2015
    SUBSYS=127a:2015
    IRQ=3
    IDENT=hsfmodem
    Driver=hsfmodem-drivers
    
     For candidate modem in:  00:0d.0
       0780 Communication controller: Rockwell International HSF 56k Data/Fax/Voice/Spkp 
          Primary device ID:  127a:2015
     Support type needed or chipset:	hsfmodem
    - it was installed and "working" as /dev/ttySHSF0

    However the problem is that after it picks up the line, it won't do anything, no normal modem or fax handshake

    and it gets locked, or doesn't know how to reset back to normal state after it picks up the line... which will time out and the call drops, but the modem remains open as in on hook with a line that never disconnects

    the goal is was to use it with efax-gtk, these are the errors i get from it (it runs fine until it tries to answer a fax)
    Code:
    efax-0.9a: 17:50:04 opened /dev/ttySHSF0
    efax-0.9a: 17:50:05 using hsfmodem-7.68.00.09oem in class 1
    efax-0.9a: 17:50:06 waiting for activity
    efax-0.9a: Thu 26 Jan 2012 06:03:20 PM EST activity detected
    efax-0.9a: 18:03:25 fax call answered
    efax-0.9a: Thu 26 Jan 2012 06:03:38 PM EST Error: timed out after waiting
    efax-0.9a: 18:03:43 Warning: timed out after waiting
    efax-0.9a: 18:03:47 Error: timed out after command: +FTH=3
    efax-0.9a: 18:03:52 Warning: timed out after command: H
    efax-0.9a: 18:03:25 sent CSI - answering ID
    efax-0.9a: 18:03:43 received CSI - answering ID
    efax-0.9a: 18:03:58 sync: dropping DTR
    efax-0.9a: 18:04:02 sync: sending escapes
    efax-0.9a: 18:04:08 Error: sync: modem not responding
    efax-0.9a: 18:04:08 finished - invalid modem response
    the it keeps looping the error below
    Code:
    efax-0.9a: 12:34:40 sync: dropping DTR
    efax-0.9a: 12:34:45 sync: sending escapes
    efax-0.9a: 12:34:51 Error: sync: modem not responding
    efax-0.9a: 12:34:51 finished - no response from modem
    hsfconfig --info
    Code:
    Config for modem unit 0: /dev/ttySHSF0
    	Device instance: 0-PCI-127a:2015-127a:2015
    	HW revision    : Basic2 2.15 Standard DAA
    	HW profile name: hsfpcibasic2
    	Current region : USA (T.35 code: 00B5)
    
    The /dev/modem alias (symlink) points to ttySHSF0


    i have a hunch it's something to do with the drivers, but Ubuntu 11.10 is not very well supported driver wise.

    if i can't fix this i'll probably have to roll back to 10.10
    Last edited by AllGamer; January 27th, 2012 at 12:58 AM.

  4. #4
    Join Date
    May 2008
    Location
    Terrebonne, Quebec, CAN
    Beans
    12
    Distro
    Ubuntu 8.04 Hardy Heron

    Re: Using a USB winmodem with a Conexant driver in (K)Ubuntu 11.10 (Oneiric)

    Hi, I followed the steps here and I still avec a error 2!

    Here is my log error file:

    hsfconfig
    Conexant HSF softmodem driver, version 7.68.00.09x86_64oem

    If you need assistance or more information, please go to:
    http://www.linuxant.com/

    When reporting a problem for the first time, please send
    us the file generated by "hsfconfig --dumpdiag".

    No pre-built modules for: Ubuntu-11.10 linux-3.0.0-14-server x86_64-SMP

    Trying to automatically build the driver modules...
    (this requires a C compiler and proper kernel sources to be installed)

    Where is the linux source build directory that matches your running kernel?
    [/lib/modules/3.0.0-14-server/build]
    Code:
    Building modules for kernel 3.0.0-14-server, using source directory
    /lib/modules/3.0.0-14-server/build. Please wait...
    
    ERROR: Module build failed!
    Please examine the log file "/etc/hsfmodem/log/buildlog-20120127132938.txt" to determine why.
    root@DELL-SERVER-Marc:~# cat /etc/hsfmodem/log/buildlog-20120127132938.txt
    driver version 7.68.00.09x86_64oem
    (cd /lib/modules/3.0.0-14-server/build && make "CNXT_KERNELSRC=/lib/modules/3.0.0-14-server/build" "M=/usr/lib/hsfmodem/modules" "CC=gcc" clean)
    make[1]: Entering directory `/usr/src/linux-headers-3.0.0-14-server'
    make[1]: Leaving directory `/usr/src/linux-headers-3.0.0-14-server'
    (cd /lib/modules/3.0.0-14-server/build && make "CNXT_KERNELSRC=/lib/modules/3.0.0-14-server/build" "M=/usr/lib/hsfmodem/modules/GPL/hda" "CC=gcc" "HDA_CFLAGS=-DFOUND_KZALLOC  -DFOUND_TLV   -DFOUND_IRQ_HANDLER_T -DFOUND_DELAYED_WORK  -DFOUND_NO_CTL_ELEM_RW" clean)
    make[1]: Entering directory `/usr/src/linux-headers-3.0.0-14-server'
    make[1]: Leaving directory `/usr/src/linux-headers-3.0.0-14-server'
    rm -rf *.o GPL/*.o *.ko GPL/*.ko *.mod.c GPL/*.mod.c .*.cmd GPL/.*.cmd .tmp_versions .tmp_versions  /lib/modules/3.0.0-14-server/build/.tmp_versions/hsfosspec.mod  /lib/modules/3.0.0-14-server/build/.tmp_versions/hsfserial.mod  /lib/modules/3.0.0-14-server/build/.tmp_versions/hsfengine.mod  /lib/modules/3.0.0-14-server/build/.tmp_versions/hsfpcibasic2.mod  /lib/modules/3.0.0-14-server/build/.tmp_versions/hsfpcibasic3.mod  /lib/modules/3.0.0-14-server/build/.tmp_versions/hsfhda.mod  /lib/modules/3.0.0-14-server/build/.tmp_versions/hsfmc97ich.mod  /lib/modules/3.0.0-14-server/build/.tmp_versions/hsfmc97via.mod  /lib/modules/3.0.0-14-server/build/.tmp_versions/hsfmc97ali.mod  /lib/modules/3.0.0-14-server/build/.tmp_versions/hsfmc97ati.mod  /lib/modules/3.0.0-14-server/build/.tmp_versions/hsfmc97sis.mod  /lib/modules/3.0.0-14-server/build/.tmp_versions/hsfsoar.mod Modules.symvers GPL/hda/Modules.symvers Module.symvers GPL/hda/Module.symvers modules.order GPL/hda/modules.order Module.markers GPL/hda/Module.markers
    (cd /lib/modules/3.0.0-14-server/build && make "CNXT_KERNELSRC=/lib/modules/3.0.0-14-server/build" "M=/usr/lib/hsfmodem/modules" "CC=gcc" modules)
    make[1]: Entering directory `/usr/src/linux-headers-3.0.0-14-server'
      CC [M]  /usr/lib/hsfmodem/modules/mod_engine.o
      CC [M]  /usr/lib/hsfmodem/modules/mod_hda.o
      CC [M]  /usr/lib/hsfmodem/modules/mod_mc97ali.o
      CC [M]  /usr/lib/hsfmodem/modules/mod_mc97ati.o
      CC [M]  /usr/lib/hsfmodem/modules/mod_mc97ich.o
      CC [M]  /usr/lib/hsfmodem/modules/mod_mc97sis.o
      CC [M]  /usr/lib/hsfmodem/modules/mod_mc97via.o
      CC [M]  /usr/lib/hsfmodem/modules/mod_osspec.o
      CC [M]  /usr/lib/hsfmodem/modules/osservices.o
    /usr/lib/hsfmodem/modules/osservices.c: In function 'OsInit':
    /usr/lib/hsfmodem/modules/osservices.c:1288:80: warning: format '%d' expects argument of type 'int', but argument 2 has type 'long unsigned int' [-Wformat]
    /usr/lib/hsfmodem/modules/osservices.c:1288:80: warning: format '%d' expects argument of type 'int', but argument 3 has type 'long unsigned int' [-Wformat]
    /usr/lib/hsfmodem/modules/osservices.c: In function 'cnxthsf_OsRawVPrintf':
    /usr/lib/hsfmodem/modules/osservices.c:1321:1: warning: the frame size of 1040 bytes is larger than 1024 bytes [-Wframe-larger-than=]
    /usr/lib/hsfmodem/modules/osservices.c: In function 'cnxthsf_OsErrorVPrintf':
    /usr/lib/hsfmodem/modules/osservices.c:1370:1: warning: the frame size of 1040 bytes is larger than 1024 bytes [-Wframe-larger-than=]
    /usr/lib/hsfmodem/modules/osservices.c: In function 'cnxthsf_OsDebugVPrintf':
    /usr/lib/hsfmodem/modules/osservices.c:1397:1: warning: the frame size of 1040 bytes is larger than 1024 bytes [-Wframe-larger-than=]
      CC [M]  /usr/lib/hsfmodem/modules/osstdio.o
      CC [M]  /usr/lib/hsfmodem/modules/osnvm.o
    /usr/lib/hsfmodem/modules/osnvm.c:408:8: warning: type defaults to 'int' in declaration of 'DECLARE_SEMAPHORE' [-Wimplicit-int]
    /usr/lib/hsfmodem/modules/osnvm.c:408:1: warning: parameter names (without types) in function declaration [enabled by default]
    /usr/lib/hsfmodem/modules/osnvm.c: In function 'cnxthsf_NVM_WriteFlushList':
    /usr/lib/hsfmodem/modules/osnvm.c:551:11: error: 'nvmelem_writelist_sem' undeclared (first use in this function)
    /usr/lib/hsfmodem/modules/osnvm.c:551:11: note: each undeclared identifier is reported only once for each function it appears in
    /usr/lib/hsfmodem/modules/osnvm.c: In function 'NVM_WriteFile':
    /usr/lib/hsfmodem/modules/osnvm.c:612:11: error: 'nvmelem_writelist_sem' undeclared (first use in this function)
    /usr/lib/hsfmodem/modules/osnvm.c: In function 'NVM_ReadFile':
    /usr/lib/hsfmodem/modules/osnvm.c:665:11: error: 'nvmelem_writelist_sem' undeclared (first use in this function)
    /usr/lib/hsfmodem/modules/osnvm.c: In function 'cnxthsf_NVM_Open':
    /usr/lib/hsfmodem/modules/osnvm.c:1077:8: error: 'nvmelem_writelist_sem' undeclared (first use in this function)
    /usr/lib/hsfmodem/modules/osnvm.c: At top level:
    /usr/lib/hsfmodem/modules/osnvm.c:408:8: warning: 'DECLARE_SEMAPHORE' declared 'static' but never defined [-Wunused-function]
    make[2]: *** [/usr/lib/hsfmodem/modules/osnvm.o] Error 1
    make[1]: *** [_module_/usr/lib/hsfmodem/modules] Error 2
    make[1]: Leaving directory `/usr/src/linux-headers-3.0.0-14-server'
    make: *** [all] Error 2
    Last edited by uRock; February 28th, 2012 at 05:00 AM. Reason: code tags

  5. #5
    Join Date
    Aug 2007
    Beans
    67

    Re: Using a USB winmodem with a Conexant driver in (K)Ubuntu 11.10 (Oneiric)

    Quote Originally Posted by TheBuzzer View Post
    Hi, I followed the steps here and I still have a error 2!

    [...]
    /usr/lib/hsfmodem/modules/osnvm.c:551:11: error: 'nvmelem_writelist_sem' undeclared (first use in this function)
    [...]
    It looks like there was an error with that "osnvm.c" file. Can you send a message in this forum, with your "osnvm.c" attached?

  6. #6
    Join Date
    Feb 2012
    Beans
    2

    Re: Using a USB winmodem with a Conexant driver in (K)Ubuntu 11.10 (Oneiric)

    I am getting the same error. Though I have programming experience I am not seeing why it is not working. I will attach the file for you. If you need anything else, let me know too.

  7. #7
    Join Date
    Aug 2007
    Beans
    67

    Re: Using a USB winmodem with a Conexant driver in (K)Ubuntu 11.10 (Oneiric)

    Quote Originally Posted by vinuuen View Post
    I am getting the same error. Though I have programming experience I am not seeing why it is not working. I will attach the file for you. If you need anything else, let me know too.
    Vinuuen, I got your file "osnvm.c", but there, where you wrote
    Code:
    static DECLARE_SEMAPHORE(nvmelem_writelist_sem);
    it should be
    Code:
    static DEFINE_SEMAPHORE(nvmelem_writelist_sem);
    as it is stated in the steps written in this page.

    Also, in your "osdiag.c" file, you wrote
    Code:
    static DEFINE_SPINLOCK(dcp_lock);
    but it should be
    Code:
    static DEFINE_SPINLOCK(diag_lock);
    as it is stated in the steps written in this page.

    I attach my "serial_cnxt.c" file, since you wrote extra points in yours. If you wish, you could compare my file and yours.

    I also attach my "osservices.c" file, since you wrote "mutex_lock" where it should be "mutex_unlock". If you wish, you could compare my file and yours.

    At the end, you could try again the
    Code:
    sudo make install
    sudo hsfconfig
    steps and tell us how it went
    Attached Files Attached Files
    Last edited by Ganton; February 28th, 2012 at 09:42 AM.

  8. #8
    Join Date
    May 2008
    Location
    Terrebonne, Quebec, CAN
    Beans
    12
    Distro
    Ubuntu 8.04 Hardy Heron

    Re: Using a USB winmodem with a Conexant driver in (K)Ubuntu 11.10 (Oneiric)

    Quote Originally Posted by Ganton View Post
    It looks like there was an error with that "osnvm.c" file. Can you send a message in this forum, with your "osnvm.c" attached?
    I had the same problem of vinuuen and did same fix and it works now, thanks!

    Marc
    Last edited by TheBuzzer; February 28th, 2012 at 11:01 AM. Reason: Fixed!

  9. #9
    Join Date
    Feb 2012
    Beans
    2

    Re: Using a USB winmodem with a Conexant driver in (K)Ubuntu 11.10 (Oneiric)

    Thank you very much.
    I should have known it wasn't DECLARE that it was DEFINE

  10. #10
    Join Date
    Feb 2012
    Beans
    1

    Re: Using a USB winmodem with a Conexant driver in (K)Ubuntu 11.10 (Oneiric)

    Hi, I am a new user with linux and I am seeking your help in solving a problem with the installation of a modem PCI 02:03.0 Communication controller: Conexant Systems, Inc. SoftV92 Speakerphone Modem with SoftRing SmartSP (rev 01)
    I have followed various guides on the web including this post to install the driver Conexant HSF SoftModem driver, version 7.80.02.06full (hsfmodem_7.80.02.06full_i386.deb) on a linux-i686 (i686)-6.2.38-13-generic-Ubuntu SMP-11.04, before I installed the ALSA driver but when hsfconfig I run it returns the following error message:
    Code:
    Conexant HSF softmodem driver, version 7.80.02.06full
      
    If you need license keys, assistance or more information, please go to:
        http://www.linuxant.com/
      
    When reporting a problem for the first time, please send
    us the file generated by "hsfconfig --dumpdiag".
      
    Note: HDA support not compiled in the driver
      
    Note: kernel module snd-via82xx-modem overridden by hsfmc97via
    Note: kernel module snd-intel8x0m overridden by hsfmc97ich hsfmc97sis
    Note: kernel module snd-atiixp-modem overridden by hsfmc97ati
    wvdialconf is returned by executing the command the following message:
    Code:
    Editing `/etc/wvdial.conf'.
    
    Scanning your serial ports for a modem.
    
    Modem Port Scan<*1>: Scanning ttySHSF0 first, /dev/modem is a link to it.
    Modem Port Scan<*1>: SHSF0 
    ttyS0<*1>: ATQ0 V1 E1 -- failed with 2400 baud, next try: 9600 baud
    ttyS0<*1>: ATQ0 V1 E1 -- failed with 9600 baud, next try: 115200 baud
    ttyS0<*1>: ATQ0 V1 E1 -- and failed too at 115200, giving up.
    Modem Port Scan<*1>: S1   S2   S3   S4   S5   S6   S7   
    Modem Port Scan<*1>: S8   S9   S10  S11  S12  S13  S14  S15  
    Modem Port Scan<*1>: S16  S17  S18  S19  S20  S21  S22  S23  
    Modem Port Scan<*1>: S24  S25  S26  S27  S28  S29  S30  S31  
    Modem Port Scan<*1>: SHSF1 SHSF2 SHSF3 SHSF4 SHSF5 SHSF6 SHSF7 
    
    
    Sorry, no modem was detected!  Is it in use by another program?
    Did you configure it properly with setserial?
    
    Please read the FAQ at http://alumnit.ca/wiki/?WvDial
    you have any suggestions why the modem is not seen by the driver, the system will detect this and a part extracted from the file hsfdiag.txt
    Code:
    02:03.0 Communication controller: Conexant Systems, Inc. SoftRing SoftV92 Speakerphone Modem with SmartSP (rev 01)
     Subsystem: Conexant Systems, Inc. Device 205d
     Flags: medium devsel, IRQ 19
     Memory at ff9e0000 (32-bit, non-prefetchable) [size = 64K]
     I / O ports at b000 [size = 8]
     Capabilities: [40] Power Management version 2
     Kernel modules: hsfpcibasic2
    thanks in advance

Page 1 of 4 123 ... LastLast

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •