LinuxQuestions.org
Download your favorite Linux distribution at LQ ISO.
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Hardware
User Name
Password
Linux - Hardware This forum is for Hardware issues.
Having trouble installing a piece of hardware? Want to know if that peripheral is compatible with Linux?

Notices


Reply
  Search this Thread
Old 07-19-2005, 11:08 PM   #1
IMFire3605
LQ Newbie
 
Registered: Feb 2005
Location: Phoenix, Arizona USA
Distribution: Fedora Core 3
Posts: 9

Rep: Reputation: 0
Question Fedora Core 3 LTModem Prob with kernel-2.6.12-1.1372_FC3.i686


Have tried upgrading my fedora 3/xp box to the latest kernel available from redhat, the kernel-2.6.12-1.1372_FC3.i686. Under other kernel-2.6.x's (presently running under the 2.6.11-1.35 kernel) so I do have a modem connection, yet under the redhat vanilla 2.6.12 kernel and compiling a 2.6.12 from the kernel.org archives, the ltmodem-8.31a10.tar.gz modem module sources compile fine yet kernel refuses to load lt_modem and lt_serial.

(dmesg is as follows)
lt_modem: module license 'Proprietary' taints kernel.
lt_modem: Unknown symbol inter_module_get
lt_serial: Unknown symbol inter_module_get
lt_serial: Unknown symbol ltmodemDependency

(lspci is as follows)
00:00.0 Host bridge: VIA Technologies, Inc. VT8378 [KM400/A] Chipset Host Bridge
00:01.0 PCI bridge: VIA Technologies, Inc. VT8237 PCI Bridge
00:09.0 Communication controller: Agere Systems (former Lucent Microelectronics) 56k WinModem (rev 01)
00:10.0 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 80)
00:10.1 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 80)
00:10.2 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 80)
00:10.3 USB Controller: VIA Technologies, Inc. USB 2.0 (rev 82)
00:11.0 ISA bridge: VIA Technologies, Inc. VT8235 ISA Bridge
00:11.1 IDE interface: VIA Technologies, Inc. VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (rev 06)
00:11.5 Multimedia audio controller: VIA Technologies, Inc. VT8233/A/8235/8237 AC97 Audio Controller (rev 50)
00:12.0 Ethernet controller: VIA Technologies, Inc. VT6102 [Rhine-II] (rev 74)
01:00.0 VGA compatible controller: nVidia Corporation NV11 [GeForce2 MX/MX 400] (rev b2)


Soyo Dragon MOBO
AMD AthlonXP 2400+
384MB RAM
(Modem) ActionTec v.90 56k LT Venus (or Mars) chip

Don't know what problem is, but, if someone can verify, have seen that Redhat/Fedora compile newer kernels with gcc 4.0 and could explain kernel taint message, however, tried compiling fresh source code of the 2.6.12 kernel (from kernel.org) before update avail from redhat and same issue.

Sorry for lengthy description, but thought more info better for those trying to help

JD Pack
 
Old 07-23-2005, 11:04 PM   #2
dhaz
LQ Newbie
 
Registered: Jul 2005
Posts: 4

Rep: Reputation: 0
Problems installing LTModem drivers in kernel 2.6.10+ systems

I've run into this problem myself. From the changelogs kept at kernel.org I was able to find out that the 'inter_module_*' functions have been deprecated and that all usage of 'inter_module_get' in the main source tree outside of the file where its defined was removed by 2.6.10's release. Since that happened, the function was removed from the kernel exports.

However, the oddest part is that re-enabling it (adding the prototype back to include/linux/module.h), fixing it to be a non-static function and exporting it doesn't solve anything. I've done this myself (just looked up the patch in the kernel dev mailing list and reversed what it had done) and all attempts to dial-in to my ISP fail with a lots of wait (where in 2.4.29 I have next to none) and pppd being unable to negotiate protocols. As well, when I have setup a dialer for debugging output I find that I also get the message 'Couldn't find interface ppp0: No such device' when pppd attempts to bring the interface up. Since I have compiled ppp support directly into my kernel, I'm now at a loss as to what to do to fix the problems.

the use of the 'inter_module_*' functions is so prevalent in the code for the LT Modem drivers that it would take a while and knowledge of how the 'symbol_get'/'symbol_put' interface that is replacing the 'inter_module_*' functions. Truthfully, it is probably beyond my reach ATM, as I've got three big projects consuming my time and thoughts, and Lucent (or whoever keeps updating the driver) should probably re-write the source anyway.

(It might be that my problem after restoring the inter_module_get function to full operation is related to another option in the kernel - possibly something to do with flagging it pre-emptable. I'm going to try switching that off but I'm doubtful that that is the problem.)

Anyway, enough rambling. I'm going to go back to looking for a solution and seeing if making the kernel not pre-emtable works.
 
Old 07-30-2005, 10:58 PM   #3
dhaz
LQ Newbie
 
Registered: Jul 2005
Posts: 4

Rep: Reputation: 0
LTModem Drivers/ Kernel 2.6.10+

I managed to track down the problem I was having with my modem. It seems that the problems I was having were related to the kernel not properly assigning the IRQ the modem needed. After hours of changing minor settings in the kernel thinking it was a problem with the kernel being pre-emptable or a problem with the hotplug systems I fired up wvDial instead of the dialer I had been using and found that every time the modem attempted to connect the kernel would report an IRQ 10 that went unhandled. Checking the dmesg output and syslog showed me that the problem was my video-capture card being assigned IRQ 10 instead of IRQ 9 and the modem being assigned IRQ 10.

I am currently looking for documentation on the 'get_sym' and 'put_sym' interface that has apparently replaced the 'inter_module_xxx' system and will hopefully have a patch for the generic lt modem 8.31 sources not long after. I am not a kernel programmer, so I'm not sure if I'll be able to pull off the patch, but after years of using linux and relying on others for help I figure it's about time for me to get my feet wet.

As to reversing the patch that stopped 'inter_module_get' from being exported, well, that's trivial. in linux/include/linux/module.h you need to add the line 'extern const void * __deprecated inter_module_get( const char * );' in with the other inter_module_xxx functions. then in linux/kernel/intermodule.c around line 116 you'll find the function 'inter_module_get' defined as 'static const void *' remove the 'static' bit. and finally at the end of intermodule.c you'll find a bunch of 'EXPORT_SYMBOL(inter_module_xxx)' statements. Add one for 'inter_module_get' using the same format as the others.

I'd provide a simple patch file, but I've done some other hacking to my kernel (adding the extended bootsplash stuff and a few other features I've come to enjoy) and since it's been a long time since I actually created a patchfile, I'm not positive on how to limit it anymore.

Well, enough rambling. I'm going to keep an eye on this thread and work on fixing the ltmodem sources to use the new system.
 
Old 08-01-2005, 04:46 PM   #4
helmut_hed
Member
 
Registered: Jul 2003
Location: San Francisco, CA, USA
Distribution: Kubuntu Hardy
Posts: 103

Rep: Reputation: 15
I just had a breakthrough with my own 2.6.11 problems that I think may apply to you, dhaz. Looks like the special 2.6 support provided by the ltmodem-2.6-alk-* series of packages fixes both the inter_module_* problems (it doesn't use them) and the IRQ assignment issues. With the 7a tarball I'm getting online through ltmodem for the first time under SuSE 9.3 (as I type this, in fact).

You can find it here:

http://linmodems.technion.ac.il/pack...em/kernel-2.6/

I installed the latest (7a) version successfully.

Regards,
Jeff
PS: the package defaults to the 8.26 version of the proprietary code (ltmdmobj), but I found the 8.31 didn't work anyway.
 
Old 08-02-2005, 12:09 AM   #5
dhaz
LQ Newbie
 
Registered: Jul 2005
Posts: 4

Rep: Reputation: 0
I'm checking out the alk line for the drivers now. As it stands it appears the interrupts might be caused by the ACPI interpretor mis-assigning the device IRQ's. Later tonight or tomorrow I plan on reinstalling my vid-cap card and seeing if adding 'pci=routeirq' to the kernel command line solves the problem. If that doesn't work I'm also going to try 'pci=acpi' to find out if the mis-routing is happening in the low-level PCI code. If I need to I'll probably wind up hacking the kernel to enable the new 'symbol_get' set of functions to look up more than just GPL flagged symbols and then apply the new system to the driver, but...

According to information I've been able to piece together from the Linux Kernel mailing list the inter_module_* functions and the replacements were added for the DRI/DRM system and might not survive into future versions of the kernel. If that does happen to be the case the entire ltmodem driver source will need to be fixed up so that there is only 1 module.

(Edit)
I've checked out the alk 7a version of the drivers and they are an almost complete rewrite of the original Lucent/Agere code. I'm going to ahve to take a long look at it, but this driver seems like it should function a lot better than the current stock version.

As to the 'No Carrier' problem - I ran into that after trying to make inter_module_get an exported function again. IIRC, the problem was that I had forgotten to make the function non-static. After I cleaned up that problem I found the problem with the mis-assigned IRQ.

Unless you happen to have the vid-cap card I do I am going to take a chance here and say that the problem is caused by the kernel mis-routing the IRQ's. Since I didn't have ACPI enabled in the 2.4 kernel I was running I'm willing to bet that the problem has something to do with a faulty ACPI IRQ routing table or the ACPI PnP subsystem not understanding when a device requires a certain IRQ and tries to assign it a different one.

Last edited by dhaz; 08-02-2005 at 12:56 AM.
 
Old 08-02-2005, 10:31 PM   #6
dhaz
LQ Newbie
 
Registered: Jul 2005
Posts: 4

Rep: Reputation: 0
Tried the alk drivers and it seems they do not function... when trying to dial-out wvdial reports that it's unable to do any setup on the port. On a side note it appears that passing either the 'pci=routeirq' or 'pci=noacpi' option on the kernels command line allows the generic 8.31a driver to function alongside my vid-cap card. It still assigned the modem and vid-cap card the same IRQ, but the modem was functional. I think the problem I have with the alk line of drivers might be related to the fact that it does not allow programs to set parameters on the port where the generic line does. Conversely it might also be a problem with the modem not being a version supported by the alk series of drivers. I am not sure about this and should check to see what the docs say.
 
Old 08-07-2005, 04:03 AM   #7
IMFire3605
LQ Newbie
 
Registered: Feb 2005
Location: Phoenix, Arizona USA
Distribution: Fedora Core 3
Posts: 9

Original Poster
Rep: Reputation: 0
Fixed the problem. The 8.31a tar ball driver I've been using was the problem. Now running my 2.6.12 kernel just fine with the ltmodem-2.6-alk-7a.tar.gz tar ball. Don't understand the problem myself and why it is such a fuss to dig through everything related to LTModem sites and mailing list, but I'm online now so thanks for the help everyone . Next buy for this comp I'm getting an old fashioned serial port external 56k so I can quit having this darned fuss over modem drivers.
 
Old 08-13-2005, 05:12 PM   #8
blueskin
LQ Newbie
 
Registered: Aug 2005
Posts: 3

Rep: Reputation: 0
Yes, it works!!!

OK, I can confirm that it works!!!

I have a TOSHIBA Tecra 8100 which comes with an internal Lucent/Agere
modem...
And I only managed to make it work after I followed the instructions on this page.
THANK YOU GUYS!

So, I'll describe what I did:

- I got the ltmodem-2.6-alk-7a tarball from http://linmodems.technion.ac.il/pack...em/kernel-2.6/

- Got a clean 2.6.12.4 kernel source tree from kernel.org

- Patched the kernel to export the inter_module_xxx functions

- Set CONFIG_SMP and CONFIG_PREEMPT to NO

- Compiled the kernel

- Followed the instructions on the ltmodem tarball that I mentioned above

And it works perfectly!
Thanks, everyone!

Last edited by blueskin; 08-13-2005 at 05:15 PM.
 
Old 08-14-2005, 12:55 AM   #9
Trio3b
Member
 
Registered: Oct 2004
Location: Texas, USA
Distribution: MDV 2008.1, PCLinuxOS,
Posts: 315

Rep: Reputation: 30
modems

Glad you guys got your modems working. I , too spent a fair amount of time on internal PCI modems, and things are getting better all the time. I have to agree though, once I got over my "phobia" of external serial hdwr modems, life got better............


1. No DRIVERS!!

2. Not always, but generally faster dialup transfer speeds than many internal PCI. ( my $30 Intel 536ep internal PCI modem transfers files at about 2.4 to 3.2 kb/s on a good day with all the best init strings, downhill with a tail wind and still stalls ocasionally, even when disableing the v92 feature. My SupraExpress from Goodwill thrift shop is solid at 4.2-4.7 kb/s transfer speeds all day long.

3. ext ser modems can be had for less than $5 ( mine was $2) at local thrift stores. You don't need v92 capability and 34k modems actually handle older phone line noise with better stability.

4. PCI modems ; 3 - 4 weeks to order, find and install drivers and configure init strings
ext ser mod ; 3-4 days

Anyway, good luck!
 
Old 08-18-2005, 09:17 AM   #10
overule
LQ Newbie
 
Registered: Aug 2005
Posts: 3

Rep: Reputation: 0
Re: Yes, it works!!!

Quote:
Originally posted by blueskin


- Patched the kernel to export the inter_module_xxx functions

- Set CONFIG_SMP and CONFIG_PREEMPT to NO

hi, i have the same problem described here

http://forums.fedoraforum.org/showth...339#post349339

by the way, how do you do that two steps ? i would like to recompile my kernel so it works with my lucent modem.

I am a newbie and cant seems to find the location of the file

thanks

Last edited by overule; 08-18-2005 at 09:41 AM.
 
Old 09-02-2005, 03:36 AM   #11
geustace
Member
 
Registered: Mar 2004
Location: Palmerston North, New Zealand
Distribution: Fedora, Red Hat
Posts: 50

Rep: Reputation: 15
I have been trying to get ltmodem-2.6-alk-7a tarball from http://linmodems.technion.ac.il/pac...dem/kernel-2.6/ but the site seems to be down.

Is there an alternate source ? Would some kind soul be prepared to put it some where I can copy from ?

Thanks in advance.
 
Old 09-02-2005, 11:14 AM   #12
helmut_hed
Member
 
Registered: Jul 2003
Location: San Francisco, CA, USA
Distribution: Kubuntu Hardy
Posts: 103

Rep: Reputation: 15
Seems to be there now... is it possible you copied the link incorrectly? The "pac..dem" bit is just how LQ shows it - there is no "..." in the real URL. Click on the earlier reply and you'll get it.

Regards,
Jeff
 
Old 09-03-2005, 11:04 PM   #13
geustace
Member
 
Registered: Mar 2004
Location: Palmerston North, New Zealand
Distribution: Fedora, Red Hat
Posts: 50

Rep: Reputation: 15
Yep, its back again.
I have retireved and built the modules and things seem to working ok.

Thanks.
 
Old 09-21-2005, 10:33 PM   #14
blueskin
LQ Newbie
 
Registered: Aug 2005
Posts: 3

Rep: Reputation: 0
Instructions with a patch

Someone wanted a patch for the kernel. I'm sending instructions and the patch:

* Go to http://linmodems.technion.ac.il/pack...em/kernel-2.6/
and get the latest ltmodem-2.6-alk package.
I tested it with ltmodem-2.6-alk-7a, but "-7b" may work too.

* Get the latest 2.6 kernel (I tested this with 2.6.12.4, will now compile for
2.6.13.2)

* Patch your kernel first (use the patch below)

* Set CONFIG_PREEMPT and CONFIG_SMP to NO:
make xconfig, and then go to:
"Processor type and features" -> "Premption Model"
and choose the option that sounds like "No Forced Preemption (server)"
(the exact text may have changed in recent kernel versions, I think)

Also, go to:
"Processor type and features" and UNselect:
"Symmetric multi-processing support"

* Compile the kernel the way you do it usually

* Use the instructions in the ltmodem-2.6-alk-7a (or 2.6-alk-7b, if it works for you --
I haven't tested) package for compiling the two modules. The documentation will
help you get the modules load automatically when you use the modem

And that should be enough. I hope it works for everybody!

The patch:

Code:
diff -Nur linux-2.6.13.2/include/linux/module.h linux-2.6.13.2-with-alk-patch/include/linux/module.h
--- linux-2.6.13.2/include/linux/module.h	2005-08-31 09:19:09.000000000 -0300
+++ linux-2.6.13.2-with-alk-patch/include/linux/module.h	2005-09-21 17:09:39.000000000 -0300
@@ -571,5 +571,6 @@
 extern const void * __deprecated inter_module_get_request(const char *,
 		const char *);
 extern void __deprecated inter_module_put(const char *);
+extern const void * __deprecated inter_module_get( const char * );
 
 #endif /* _LINUX_MODULE_H */
diff -Nur linux-2.6.13.2/kernel/intermodule.c linux-2.6.13.2-with-alk-patch/kernel/intermodule.c
--- linux-2.6.13.2/kernel/intermodule.c	2005-06-23 08:46:12.000000000 -0300
+++ linux-2.6.13.2-with-alk-patch/kernel/intermodule.c	2005-09-21 17:10:25.000000000 -0300
@@ -113,7 +113,7 @@
  * Try to increment the use count on the owning module, if that fails
  * then return NULL.  Otherwise return the userdata.
  */
-static const void *inter_module_get(const char *im_name)
+const void *inter_module_get(const char *im_name)
 {
 	struct list_head *tmp;
 	struct inter_module_entry *ime;
@@ -180,3 +180,4 @@
 EXPORT_SYMBOL(inter_module_unregister);
 EXPORT_SYMBOL(inter_module_get_request);
 EXPORT_SYMBOL(inter_module_put);
+EXPORT_SYMBOL(inter_module_get);
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

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 Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
driver prob: ATI Radeon Xpress 200 M on Fedora Core 4 amd x86_64 trouble pppoe_dude Linux - Hardware 34 04-27-2006 07:28 AM
Cannot boot from old kernel 2.6.9-1667 to new kernel 2.6.12-1.1372_FC3 Sp@rticus Linux - Software 4 08-10-2005 03:08 PM
ld lselinux prob in fedora core 2! Braveheart1980 Linux - Software 2 07-26-2004 12:11 PM
ltmodem on fedora core 2 collimate Linux - Newbie 1 07-03-2004 04:43 PM
ltmodem-kv-2.4.2_2-8.26a9-1.i686.rpm ru11617 Linux - Software 2 09-27-2003 04:04 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Hardware

All times are GMT -5. The time now is 09:55 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration