Thread: Using a USB winmodem with a Conexant driver in (K)Ubuntu 11.10 (Oneiric)
with information given diaco, lamp20, shizeon, backu, chiaseth , writers of http://help.ubuntu.com/community/dia...howto/conexant have used usb winmodem conexant driver in (k)ubuntu 11.10 (oneiric).
anyway, if had big problem conexant modem, remember written, not winmodems true modems, in https://help.ubuntu.com/community/di...howto/conexant: "note in general, can buy lucent or intel (smartlink, or other brand intel chipset) modem less 19.99 us".
when plugged conexant modem, executed, said:code:lsusb
so knew hsf modem recognized system.[...]
bus 006 device 002: id 0572:1300 conexant systems (rockwell), inc. softk56 data fax voice carp
[...]
had previous internet connection, upgraded system
i checked had no previous conexant drivers installed. example: executedcode:sudo apt-get update && sudo apt-get dist-upgrade
and said that file did not exist; if existed have thought still installed.code:ls /usr/sbin/hsfconfig
made sure had "gcc" , "make" ready, executing
then executed steps told there:code:sudo apt-get install gcc make
i prepared files driver compilation, executingcode:sudo -s cd /lib/modules/$(uname -r)/build/include/linux ln -s ../generated/utsrelease.h ln -s ../generated/autoconf.h exit
and if had 64-bit operating system executedcode:mkdir ~/conexant_modem cd ~/conexant_modem
else, if had 32-bit operating system executedcode: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
a note curious ones: "framewrk.h" , "osservices.h" files different ones between directories "hsfmodem-7.68.00.09oem/modules/imported" , "hsfmodem-7.80.02.05-diacoedition/modules/imported".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
if had 64-bit operating system executed
else, if had 32-bit operating system executedcode:wget http://www.linuxant.com/drivers/hsf/full/archive/hsfmodem-7.80.02.06x86_64full/hsfmodem-7.80.02.06x86_64full.tar.gz
a note curious ones: file newest 1 in http://www.linuxant.com/drivers/hsf/full/downloads.phpcode:wget http://www.linuxant.com/drivers/hsf/full/archive/hsfmodem-7.80.02.06full/hsfmodem-7.80.02.06full.tar.gz
, then, if had 64-bit operating system executed
else, if had 32-bit operating system executedcode: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/
the next step clean present directory.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/
if had 64-bit operating system executed
else, if had 32-bit operating system executedcode: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
then had change files adapt them work 3.0.0 version of linux kernel.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
if had 64-bit operating system executed
else, if had 32-bit operating system executedcode:cd hsfmodem-7.80.02.06x86_64full xdg-open modules/gpl/serial_cnxt.c
and text editor launched. searched stringcode:cd hsfmodem-7.80.02.06full xdg-open modules/gpl/serial_cnxt.c
and below found stringcode:#ifndef found_uart_register_port
i deleted last string, , wrote therecode:static declare_mutex(cnxt_port_sem);
and saved , closed file. executedcode:static define_semaphore(cnxt_port_sem);
and text editor launched. searched stringcode:xdg-open modules/osdiag.c
and below found stringcode:this_module,
i deleted string, , wrote therecode:.ioctl = diag_ioctl,
and saved , closed file. executedcode:.compat_ioctl = diag_ioctl,
and text editor launched. searched stringcode:xdg-open modules/osnvm.c
and below found stringcode:static list_head(nvm_newinst_list);
i deleted last string, , wrote therecode:static declare_mutex(nvmelem_writelist_sem);
and saved , closed file.code:static define_semaphore(nvmelem_writelist_sem);
a note curious ones: source of changes in files http://www.openmamba.org/showfile.ht...l-2.6.37.patch
user named chiaseth helped telling steps followed, way:
1. executed
and text editor launched. searched stringcode:xdg-open modules/osservices.c
and deleted string, , wrote therecode:#include <linux/smp_lock.h>
in file searched stringscode:#include <linux/mutex.h> define_mutex(os_mutex); // define mutex
replacing of them withcode:unlock_kernel()
also, in file searched stringscode:mutex_unlock(&os_mutex)
replacing of them withcode:lock_kernel()
and saved , closed file.code:mutex_lock(&os_mutex)
2. executed
in file searched stringcode:xdg-open modules/osdcp.c
replacing withcode:static spinlock_t dcp_lock = spin_lock_unlocked;
and saved , closed file.code:static define_spinlock(dcp_lock);
3. executed
in file searched stringcode:xdg-open modules/osdiag.c
replacing withcode:static spinlock_t diag_lock = spin_lock_unlocked;
and saved , closed file.code:static define_spinlock(diag_lock);
4. executed
in file searched stringcode:xdg-open modules/osfloat.c
replacing withcode:static spinlock_t fpstates_lock __attribute__((unused)) = spin_lock_unlocked;
and saved , closed file.code:static define_spinlock(fpstates_lock);
5. executed
in file searched stringcode:xdg-open modules/osservices.c
replacing withcode:static spinlock_t atomic_lock __attribute__((unused)) = spin_lock_unlocked;
and saved , closed file.code:static define_spinlock(atomic_lock);
6. executed
in file searched stringcode:xdg-open modules/gpl/oscompat.h
replacing withcode:static spinlock_t tqueue_lock __attribute__((unused)) = spin_lock_unlocked;
and saved , closed file.code:static define_spinlock(tqueue_lock);
finally...
if executed
it asked "where linux source build directory matches running kernel?", pressed return key accept default answer. accepted default answer in other questions.code:sudo make install sudo hsfconfig
command reported that
i executedcode:the /dev/modem alias (symlink) points ttyshsf0
and @ end sawcode:dmesg
which meant, among other things, usb modem detected @ /dev/ttyshsf0.code:[59190.782005] hsfengine: module license 'see license file distributed driver' taints kernel. [59190.782011] disabling lock debugging due kernel taint [59192.564398] ttyshsf0 @ mmio 0x0 (irq = 0) 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 , 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 @ mmio 0x0 (irq = 0) conexant hsf softmodem (usb-0572:1300) [59196.994150] usbcore: registered new interface driver hsfusbcd2
note: said in https://help.ubuntu.com/community/di...howto/conexant: "do not delete or move source tree [in our case: ~/conexant_modem] from system after these steps, required uninstall , patch driver."
launched kppp (for example) , configured new "connection", specifying modem @ /dev/ttyshsf0. use program efax-gtk send faxes through modem.
notes maintenance:
if system upgrade changed kernel version of computer, , not connect internet or saw general protection fault due hsf driver error:
executed
, rebooted computer (just in case).code:sudo hsfconfig --uninstall
if had 64-bit operating system executed
else, if had 32-bit operating system executedcode:cd ~/conexant_modem/hsfmodem-7.80.02.06x86_64full
executedcode:cd ~/conexant_modem/hsfmodem-7.80.02.06full
, accepted default answer in questions.code:sudo make clean sudo make install sudo hsfconfig
further information
if find problem, or want make change method, please write in thread, can have proper final document.
thank you! tutorial helped me install driver, modem not found during installation or reboot. , suppose problem modem, though based on conexant chip, intel hda. , when type hsfconfig -i, returns following:
i not advanced in linux tell why so. believe need compile hda support driver, don't know whether right , how it. please me it? thank you!code:note: hda support not compiled in driver note: kernel module snd-via82xx-modem overridden hsfmc97via note: kernel module snd-intel8x0m overridden hsfmc97ich hsfmc97sis note: kernel module snd-atiixp-modem overridden hsfmc97ati warning: no device detected hsf driver - hda modems may require reboot note: hda support not compiled in driver note: kernel module snd-via82xx-modem overridden hsfmc97via note: kernel module snd-intel8x0m overridden hsfmc97ich hsfmc97sis note: kernel module snd-atiixp-modem overridden hsfmc97ati
update
hm. visited site of linuxant, , written there need install alsa driver provided them prior installing driver hsf modem. , of course, alsa driver linux 2.6 , on linux kernel 3.2.1 returns same fatal error modem driver: smp_lock.h missing =( wish knew how patch one, too.
Forum The Ubuntu Forum Community Ubuntu Official Flavours Support Networking & Wireless [SOLVED] Using a USB winmodem with a Conexant driver in (K)Ubuntu 11.10 (Oneiric)
Ubuntu
Comments
Post a Comment