Fedora Linux Support Community & Resources Center
  #1  
Old 21st December 2011, 02:03 PM
mathboy314 Offline
Registered User
 
Join Date: Nov 2005
Posts: 30
windows_7ie
conexant hcf or hsf drivers on kernel 3.1.4

Hello,

It seems that with FC16, the linuxant hsf and hcf chipset drivers (for a 56k modem) have broken. Dev at Linuxant says it is common but have not offered any solution other than to downgrade my kernel.

Here is the error that hcfpciconfig:

> + cat -v /etc/hcfpcimodem/log/buildlog-20111206092415.txt
>
> driver version 1.21full
>
> (cd /lib/modules/3.1.2-1.fc16.i686/build && make
> "CNXT_KERNELSRC=/lib/modules/3.1.2-1.fc16.i686/build"
> "M=/usr/lib/hcfpcimodem/modules" "CC=gcc" clean)
>
> make[1]: Entering directory `/usr/src/kernels/3.1.2-1.fc16.i686'
>
> make[1]: Leaving directory `/usr/src/kernels/3.1.2-1.fc16.i686'
>
> rm -rf *.o GPL/*.o *.ko GPL/*.ko *.mod.c GPL/*.mod.c .*.cmd GPL/.*.cmd
> .tmp_versions .tmp_versions
> /lib/modules/3.1.2-1.fc16.i686/build/.tmp_versions/hcfpciosspec.mod
> /lib/modules/3.1.2-1.fc16.i686/build/.tmp_versions/hcfpciserial.mod
> /lib/modules/3.1.2-1.fc16.i686/build/.tmp_versions/hcfpciengine.mod
> /lib/modules/3.1.2-1.fc16.i686/build/.tmp_versions/hcfpcihw.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.1.2-1.fc16.i686/build && make
> "CNXT_KERNELSRC=/lib/modules/3.1.2-1.fc16.i686/build"
> "M=/usr/lib/hcfpcimodem/modules" "CC=gcc" modules)
>
> make[1]: Entering directory `/usr/src/kernels/3.1.2-1.fc16.i686'
>
> CC [M] /usr/lib/hcfpcimodem/modules/mod_engine.o
>
> CC [M] /usr/lib/hcfpcimodem/modules/mod_hcfpci.o
>
> CC [M] /usr/lib/hcfpcimodem/modules/mod_osspec.o
>
> In file included from /usr/lib/hcfpcimodem/modules/mod_osspec.c:323:0:
>
> /usr/lib/hcfpcimodem/modules/imported/include/testdebug.h:181:2:
> warning: #warning FILEIDNUM not defined [-Wcpp]
>
> CC [M] /usr/lib/hcfpcimodem/modules/osservices.o
>
> In file included from /usr/lib/hcfpcimodem/modules/osservices.c:20:0:
>
> /usr/lib/hcfpcimodem/modules/GPL/oscompat.h:201:57: error:
> 'SPIN_LOCK_UNLOCKED' undeclared here (not in a function)
>
> In file included from /usr/lib/hcfpcimodem/modules/osservices.c:44:0:
>
> /usr/lib/hcfpcimodem/modules/imported/include/testdebug.h:181:2:
> warning: #warning FILEIDNUM not defined [-Wcpp]
>
> /usr/lib/hcfpcimodem/modules/osservices.c:51:28: fatal error:
> linux/smp_lock.h: No such file or directory
>
> compilation terminated.
>
> make[2]: *** [/usr/lib/hcfpcimodem/modules/osservices.o] Error 1
>
> make[1]: *** [_module_/usr/lib/hcfpcimodem/modules] Error 2
>
> make[1]: Leaving directory `/usr/src/kernels/3.1.2-1.fc16.i686'
>
> make: *** [all] Error 2



This is pretty much my last ditch effort to ask for a fix for this driver - anyone? anyone at all?
Reply With Quote
  #2  
Old 21st December 2011, 02:38 PM
leigh123linux Online
Retired Administrator
 
Join Date: Oct 2006
Posts: 22,376
linuxfirefox
Re: conexant hcf or hsf drivers on kernel 3.1.4

Try removing the line

Code:
#include <linux/spinlock.h>
From oscompat.h and osservices.c
Reply With Quote
  #3  
Old 21st December 2011, 02:46 PM
PabloTwo Online
"Registered User" T-Shirt Winner
 
Join Date: Mar 2007
Location: Seville, FL
Posts: 6,058
linuxfirefox
Re: conexant hcf or hsf drivers on kernel 3.1.4

I don't really know, but maybe "yum install kcbench-data" if it's not already installed.
Code:
BASH:~/-> yum provides */smp_lock.h
Loaded plugins: langpacks, presto, refresh-packagekit
   ----<snip>----
arm-gp2x-linux-kernel-headers-2.6.12.0-5.fc15.noarch : Kernel headers for Cross Compiling to arm-gp2x-linux
Repo        : fedora
Matched from:
Filename    : /usr/arm-gp2x-linux/include/linux/smp_lock.h



kcbench-data-2.6.38-0.1-8.fc15.noarch : Kernel sources from 2.6.38 to be used by kcbench
Repo        : fedora
Matched from:
Filename    : /usr/share/kcbench-data/linux-2.6.38/include/linux/smp_lock.h
Reply With Quote
  #4  
Old 21st December 2011, 04:52 PM
mathboy314 Offline
Registered User
 
Join Date: Nov 2005
Posts: 30
windows_7ie
Re: conexant hcf or hsf drivers on kernel 3.1.4

Leigh,

I only found the include in the oscompat.h file and removing it threw a bunch of other pointer exception errors like:

/usr/lib/hcfpcimodem/modules/GPL/oscompat.h:216:28: error: dereferencing pointer to incomplete type


Paolo,

That package didn't help the build either.


I did find that "SPIN_LOCK_UNLOCKED" has been replaced by "DEFINE_SPINLOCK" but I don't think I can get the syntax right in oscompat.h here is what is says now:

static spinlock_t tqueue_lock __attribute__((unused)) = SPIN_LOCK_UNLOCKED;

and here is what I'am trying to get to work:

static DEFINE_SPINLOCK(tqueue_lock __attribute__((unused)));


...and am getting this syntax error:

In file included from /usr/lib/hcfpcimodem/modules/osservices.c:20:0:
/usr/lib/hcfpcimodem/modules/GPL/oscompat.h:201:2: error: expected identifier or '(' before 'static'


I think I'm going in way over my head fussing with code like this
Reply With Quote
  #5  
Old 26th March 2012, 02:45 PM
mathboy314 Offline
Registered User
 
Join Date: Nov 2005
Posts: 30
windows_xp_2003ie
Re: conexant hcf or hsf drivers on kernel 3.1.4 - FIXED

In case anyone is interested in this fix, I finally got it working, with much thanks to "picasso_1.2.13".

The following fix is for the HCF Linuxant modem driver, however, I see no reason why it shouldn't work for the HSF driver as well.

Download the generic driver from http://www.linuxant.com/drivers/hcf/...1.i386.rpm.zip

Unzip and install the rpm with:

Code:
rpm -i hcfpcimodem-1.21full-1.i386.rpm
The hcfpciconfig will try to execute after the rpm installs and throw an error. At this point we need to begin to modify the driver.

modify /usr/lib/hcfpcimodem/modules/GPL/oscompat.h

around line 200, replace this block of code:

Code:
#ifdef STATIC_TQUEUE_LOCK
static spinlock_t tqueue_lock __attribute__((unused)) = SPIN_LOCK_UNLOCKED;
#else
extern spinlock_t tqueue_lock;
#endif
with:

Code:
static DEFINE_SPINLOCK(tqueue_lock);
extern spinlock_t tqueue_lock;
modify /usr/lib/hcfpcimodem/modules/osservices.c

around line 51, delete this line:

Code:
#include <linux/smp_lock.h>
around line 287, replace this line:

Code:
static spinlock_t atomic_lock __attribute__((unused)) = SPIN_LOCK_UNLOCKED;
with:

Code:
static DEFINE_SPINLOCK(atomic_lock);
around line 64, after the "#endif" insert these two lines:

Code:
#include <linux/mutex.h>
DEFINE_MUTEX(vmmonMutex);
throughout the rest of this file replace all occurrences of:

Code:
lock_kernel();
with:

Code:
mutex_lock(&vmmonMutex);
and all occurrences of:

Code:
unlock_kernel();
with:

Code:
mutex_unlock(&vmmonMutex);
modify /usr/lib/hcfpcimodem/modules/osnvm.c

around line 408, replace this line:

Code:
static DECLARE_MUTEX(nvmelem_writelist_sem);
with:

Code:
static DEFINE_SEMAPHORE(nvmelem_writelist_sem);
modify /usr/lib/hcfpcimodem/modules/osdiag.c

around line 33, replace this line:

Code:
static spinlock_t diag_lock = SPIN_LOCK_UNLOCKED;
with:

Code:
static DEFINE_SPINLOCK(diag_lock);
around line 602, delete this line:

Code:
.ioctl    = diag_ioctl,
modify /usr/lib/hcfpcimodem/modules/GPL/serial_cnxt.c

around line 1066, replace this line:

Code:
static DECLARE_MUTEX(cnxt_port_sem);
with:

Code:
static DEFINE_SEMAPHORE(cnxt_port_sem);

At this point you should be able to execute hcfpciconfig as normal. At some point I'll try to compile a proper .patch and include if statements for kernel versions, but for now this should work with any 3.x kernel.

Regards,
Mathboy314
Reply With Quote
Reply

Tags
conexant, drivers, hcf, hsf, kernel

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
8K Stack kernel and kernel-devel RPMS for Fedora 7 (for ndiswrapper drivers) sideways Installation, Upgrades and Live Media 0 6th June 2007 05:39 PM
HELP: drivers for Conexant Audio & Modem sstainba Hardware & Laptops 0 29th June 2005 02:12 PM
Requires HCF Conexant modem drivers rajazeeshan Hardware & Laptops 0 8th February 2005 10:02 AM
ATI Drivers with new Kernel Viro Hardware & Laptops 15 10th July 2004 10:48 AM


Current GMT-time: 13:08 (Wednesday, 30-07-2014)

TopSubscribe to XML RSS for all Threads in all ForumsFedoraForumDotOrg Archive
logo

All trademarks, and forum posts in this site are property of their respective owner(s).
FedoraForum.org is privately owned and is not directly sponsored by the Fedora Project or Red Hat, Inc.

Privacy Policy | Term of Use | Posting Guidelines | Archive | Contact Us | Founding Members

Powered by vBulletin® Copyright ©2000 - 2012, vBulletin Solutions, Inc.

FedoraForum is Powered by RedHat