# Can´t find my PCI Agere SoftModem in /dev/modem

## opensas

Hi!

I'm about to finish my first gentoo install, the only thing missing (so far now) is to configure the modem.

I have an Asus a7n8x Deluxe, with an integrated Algere PCI modem.

My Xp box gives me the following info

```

Bus PCI 1, device 7 function 0

port com3

max speed 115200

ATI3 Agere SoftModem Version 2.1.41.10

ATI5 2.1.41.10,PCI,Perseus, 33

ATI7 PCI

Recursos

Intervalo de Memoria    ED001000 - ED0010FF

Intervalo de E/S   A000 - A007

Intervalo de E/S   A400 - A4FF

IRQ         19

```

I tried to boot with knoppix 3.6, and then configure the dial-up connection with kpppp, but knoppix finds no /dev/modem device. 

On the other hand, the gentoo 2004.2 livecd recognizes does find a /dev/modem, but I don´t know what modules are being used.

Therefore I have two questions:

1. How can I tell which modules are being used by a specific device, or, to be more specific, how can I know what options should I enable in make menuconfig?

2. How should I configure my gentoo-dev-sources-2.6.7-r11 sources to recognize my modem?

Thanks a lot.

----------

## NeddySeagoon

opensas,

Linux drivers care more about the chip in your modem than the supplier. Please run

```
 lspci -v
```

and post the lines that relate to you modem.

/dev/modem is a symbolic link, it probably points to nothing since winmodem drivers are usually not a part of the kernel. You probably need another package specific to your modem chip.

----------

## opensas

Thanks Neddy

As soon as I get home I´ll post the lspci output

----------

## opensas

Well, this is what lspci -v, after booting with the gentoo 2004.2 livecd, tells me about my modem

```

0000:01:07.0 Communication controller: Lucent Microelectronics V.92 56K WinModem (rev 02)

   Subsystem: Lucent Microelectronics: Unknown device 044c

   Flags: bus master, medium devsel, latency 32, IRQ 11

   Memory at ed001000 (32-bit, non-prefetchable)

   I/O ports at a000 [size=8]

   I/O ports at a400 [size=256]

   Capabilities: [f8] Power Management version 2

```

and this is what cat /proc/pci thinks about it

```

  Bus  1, device   7, function  0:

    Communication controller: Lucent Microelectronics V.92 56K WinModem (rev 2).

      IRQ 11.

      Master Capable.  Latency=32.  Min Gnt=252.Max Lat=14.

      Non-prefetchable 32 bit memory at 0xed001000 [0xed0010ff].

      I/O at 0xa000 [0xa007].

      I/O at 0xa400 [0xa4ff].

```

and here you have what lsmod thinks about it all

```

Module                  Size  Used by

nls_iso8859_1           4080  1 

nls_cp437               5744  1 

vfat                   13520  1 

fat                    42976  1 vfat

floppy                 56560  1 

uhci_hcd               29600  0 

usblp                  11984  0 

ohci_hcd               19828  0 

sd_mod                 18879  2 

evdev                   9152  0 

tsdev                   7104  0 

sata_sil                7636  1 

libata                 37652  1 sata_sil

snd_intel8x0           33484  0 

snd_ac97_codec         60052  1 snd_intel8x0

snd_pcm                89156  1 snd_intel8x0

snd_timer              23860  1 snd_pcm

snd_page_alloc         11064  2 snd_intel8x0,snd_pcm

gameport                4624  1 snd_intel8x0

snd_mpu401_uart         7152  1 snd_intel8x0

snd_rawmidi            23524  1 snd_mpu401_uart

snd_seq_device          7800  1 snd_rawmidi

snd                    51268  7 snd_intel8x0,snd_ac97_codec,snd_pcm,snd_timer,snd_mpu401_uart,snd_rawmidi,snd_seq_device

soundcore               9504  1 snd

nvidia_agp              7340  1 

agpgart                31564  1 nvidia_agp

3c59x                  36952  0 

parport_pc             23680  0 

parport                37960  1 parport_pc

rtc                    12232  0 

sbp2                   22136  0 

ohci1394               31732  0 

ieee1394              302232  2 sbp2,ohci1394

usb_storage            59648  0 

ehci_hcd               26516  0 

```

Oh, yes and this is where /dev/modem was pointing to

```

ls -al /dev/modem

/dev/modem -> ttySL0

```

Well, I hope all this might be helpfull

Saludos (greetings)

Sas

P.S. If you think it might be usefull, I could post the contents of /proc/config.gz[/i]

----------

## desertstalker

Check out some of these links for info on the lucent chipset (this is what your modem uses)

http://www.google.com.au/search?hl=en&q=lucent+linux&spell=1

----------

## NeddySeagoon

opensas,

http://www.modem-help.com/search.php  shows that you want a Driver for the Marr3 3 or 3.2 chip set.

This page  http://www.physcip.uni-stuttgart.de/heby/ltmodem/ says

 *Quote:*   

> Gentoo
> 
> LTModem is part of the gentoo package system, so you can just run "emerge ltmodem". This will download the source, configure,compile,and install the module. 

 

So I think I would start there.[/quote]

----------

## opensas

Hi Neddy

I've doing a little research myself, and in 

http://freewebhosting.hostdepartment.com/g/gromitkc/pci_ids.txt

I've found that my Unknown device 044c really stands for 

044C Mars 3 Perseus; data/fax only (North America and International board) 

then I tried to emerge ltmodem, but I get an error.   :Crying or Very sad: 

I'm not at home right now, but ASAP I' ll post it. 

I think it was something about not supporting 2.6 kernels. 

Right now I'm using a gentoo-dev-sources-2.6.7-r11 kernel. The fact is that the livecd, botting with the smp kernel paramenter, DO support my modem (or at least a /dev/modem shows up), so I guess I should be able to make it work with the stuff available in the 20004.2 livecd.

Well, I'll provide more details in a while

Saludos

Sas [/b]

----------

## NeddySeagoon

opensas,

The liveCD doesn't support any winmodems that I know of.

The presence of a symbolic link /dev/modem doesn't mean anything. It probably points to a real serial port, which is fine if you have a real RS-232 externel modem.

----------

## opensas

Well, here we go again

this is the output of emerging ltmodem

```

tux root # emerge ltmodem

Calculating dependencies ...done!

>>> emerge (1 of 1) net-dialup/ltmodem-8.26_alpha9-r1 to /

>>> md5 src_uri ;-) ltmodem-8.26a9.tar.gz

>>> Unpacking source...

>>> Unpacking ltmodem-8.26a9.tar.gz to /var/tmp/portage/ltmodem-8.26_alpha9-r1/work

>>> Source unpacked.

...

Checking for kernel headers

  ... in /usr/src/linux: Kernel headers found in /usr/src/linux

  ... in /usr/src/kernel-headers-2.6.7-gentoo-r11: nope

  ... in /usr/src/linux-2.6.7: nope

  ... in /usr/src/linux-2.6.7-gentoo-r11: Kernel headers found in /usr/src/linux-2.6.7-gentoo-r11

  ... in /lib/modules/2.6.7-gentoo-r11/build: Kernel headers found in /lib/modules/2.6.7-gentoo-r11/build

  using /lib/modules/2.6.7-gentoo-r11/build

Checking kernel header version

  kernel headers are version 2.6.7-gentoo-r11

configure support only for 2.2, 2.4 and 2.5 kernels

...

Next checking for the the needed header file:   modversions.h

Properly configuring your sources may be aided by for RPM using Distros

by:      utils/srcprep

for RPM using Distros

and for Debian style Distros, the resources of kernel-package.deb

Sorry, assembly of the needed header file:    modversions.h

was not specified during configuration of the kernel sources.

Withing the section LOADABLE MODULE SUPPORT:

 [*]   Set version information on all module symbols

which is necessary to specify the assembly of modeversions.h

Consequently compiling of the drivers will fail at the next step.

Next checking utilty versions,

           Version_min

 Utility    or range for kernels

   name     2.2.16       2.4.18          Actual_version

-------------------------------------------------------------------

Gnu C      2.7.2.3      2.95.3-2.9.99   3.3.3

Gnu make   3.77         3.79.1

binutils   2.8.1.0.23   2.9.1.0.25      2.14.90.0.8

-------------------------------------------------------------------

  The gcc compiler resources available are:

 ----------------------------

 -rwxr-xr-x  1 root root 6960 Jul 11 15:44 /usr/bin/gcc

-rwxr-xr-x  1 root root 9298 Jul 11 15:03 /usr/bin/gcc-config

 ----------------------------

 with your System currently using version 3.3.3

 Do NOT mix the major versions of compilers for the kernel and modem drivers

 or your System will crash! The following releases are using gcc version 3.2.x :

    Mandrake 9, Redhat 8 and SuSE 8.1 in November 2002.

 This build_module automatically adjusts its resources to the compiler version used.

 See the utils/ltrename (by Mark Spieth) called by the Makefile.

To continue:

        Enter

make: *** No targets specified and no makefile found.  Stop.

Checking for driver products:

Compilation of lt_modem.o failed,

as expected from absence of modversions.h

Read Compile_properly.txt from DOCs/.

If you cannot solve the problem, send BLDrecord.txt to: discuss@linmodems.org

!!! ERROR: net-dialup/ltmodem-8.26_alpha9-r1 failed.

!!! Function src_compile, Line 24, Exitcode 2

!!! (no error message)

```

this is an extract of my current kernel config

```

#

# Loadable module support

#

CONFIG_MODULES=y

# CONFIG_MODULE_UNLOAD is not set

CONFIG_OBSOLETE_MODPARM=y

CONFIG_MODVERSIONS=y

CONFIG_KMOD=y

```

I couldn´t find in the the section LOADABLE MODULE SUPPORT a 

"[*]   Set version information on all module symbols" option.

I guess it must be an option only available in kernel 2.4

On the other hand this is the config from /proc/config.gz of the gentoo 2004.4 livecd, booted with the smp option, wich correctly finds a modem in /dev/modem

(sorry I copied the whole stuff, but I didn´t know where to look)

 *Quote:*   

> 
> 
> #
> 
> # Automatically generated make config: don't edit
> ...

 

Oh, one thing more

I found in 

http://packages.gentoo.org/ebuilds/?ltmodem-8.31_alpha8

a new version of this driver.

The problem is I'm not conected to the web, so I have to get along with the CDs, and anyway I can´t figure out what should I do to aply this patch.

Well I hope this looooong message might help

Saludos

Sas

----------

## lunatc

I've just emerged ltmodem-8.26_alpha9-r3 and it compiles fine! (with a 2.6.9-nitro4 kernel)

Do an emerge sync to try with this version.

Hope it helps!

----------

## NeddySeagoon

opensas,

It looks like your /usr/src/linux symbolic link points to a kerenl that has never been configured. The modversions.h file that the emerge is complaining about is created when the kernel is configured.

ltmodem needs this information as it provides two (or more?) kernel modules. You kernel config fragment looks right.

The file should be found at /usr/src/linux/include/config/modversions.h

----------

## opensas

Thanks Neddy, I´ll have a look at /usr/src/linux/include/config/modversions.h

Respect to my symlink to kernel, I´ll check it up, but don´t forget that the looooong .config file I pasted above is the config of the gentoo 2004.2 LiveCD smp kernel that apparently recognizes my modem.

Well, it looks like I have homework to do...   :Wink: 

Saludos 

Sas

----------

## opensas

Hi lunatc, nice to read you again.

I´ll give a try to the alpha9-r3 driver.

Unfortunately I´m not connected to the web, so right now I´m downloading http://gentoo.osuosl.org/snapshots/portage-20041217.tar.bz2.

I´ve read some posts about people that uses the office or university connection to keep gentoo updated. 

By the way, I was thinking about building a gentoo inside VmWare to use at work (I rather not partition the hard disk that feeds me), emerge from there using the connection at work, and then copying the /usr/portage dir. Do you think it can work?   :Question:   :Question:   :Question: 

Saludos

Sas

----------

## NeddySeagoon

opensas,

That will work. 

Since you are going to the trouble of installing Gentoo at work, you could use all the setting for your home PC, providing your work PC is compatibale with your home one. If you then use the -b flag to emerge, you will get binary images of everything in /usr/portage/packages. If you move these binaries you can install directly from them with no compiling required.

----------

## opensas

Well, at work I have Pentium, but at home I have Athlon XP, so I think the best thing, in order to take advantage of gentoo´s unique optimitation

capabilities, would be to download the sources and compile at home (Hey, if I wouldn´t be willing to compile every moving thing I wouldn´t have came here in the first place   :Wink:  )

Well, I´ve just downloaded yesterday's portage snapshot, and installed it using the folowwing script 

```

cd /var/tmp/emerge-webrsync

rm -rfd ./portage

tar -xvjf portage-$1.tar.bz2

cd ./portage

rsync -av --progress --stats --delete --delete-after \

 --exclude='/distfiles' --exclude='/packages' \

 --exclude='/local' . /usr/portage

cd /var/tmp/emerge-webrsync

rm -rfd ./portage

emerge metadata

```

Now emerge is complaining about a new version of portage being available. As soon as I can I´ll download a new version and upgrade it, but first, I´d like to get my modem working.

after that I emerged -p ltmodem, and gentoo told me thath the driver lunatc told me about was waiting for me to install.

I could compile the ltmodem-8.26_alpha9-r3 driver, with my gentoo-dev-sources-2.6.7-r11.

I went thru a couple of ltmodem´s doc, and it said I had to recompile the kernel.

I issued make menuconfig, but found no new option or anything of the sort.

I just recompiled the kernel, but nothing happened.

The /dev/modem doesn´t show up, and lsmod tells me I have no module loaded.

I´m sure I must have missed something.

Where do I tell the kernel to use the driver I've just compiled?

After compiling the program changed a few lines of /etc/modules.conf.

Is that all???

Saludos

Sas

One litlle question

Where can I see the modules available for modprobe? (/lib/modules ?)

How can I check if my kernel is aware of the new driver?

----------

## NeddySeagoon

opensas, 

The lt-modem package does not change the kernel and I'm unsure why it wanted you to rebuild the kernel. It uses the kernel tree pointed at by /usr/src/linux to build against, so that the modules it adds to /lib/modules are right for the kernel version.

```
modproble -l
```

will list all the modules available for the currently running kernel.

```
modinfo <module_name>
```

provides useful info about an individual module.

You will need to modprobe the ltmodme modules for testing, then add their names to /etc/modules.autoload.d/kernel-2.6 ?

so that they are loaded at boot.

----------

## opensas

Now I have a really stupid problem

When I issue

```

 emerge -f --pretend -Duav mc > emerge_list.txt

```

All the url come to screen and emerge_list.txt ends like this

```

>>> --pretend disables --ask... removing --ask from options.

Calculating dependencies  ...done!

>>> md5 src_uri ;-) gdbm-1.8.0.tar.gz

```

I also tried with

emerge -puf mc 2>&1 > emerge_list.txt

and then nothing goes to the console but the file look like 

 *Quote:*   

> 
> 
> Calculating dependencies  ...done!
> 
> 

 

Any ideas?

----------

## opensas

Thanks for the info

After posting yesterday message I realized i had to modprobe ltmodem.

I did, and it went fine.

But when I try to modprobe ltserial I get an error

```

tux root # lsmod

Module                  Size  Used by

ltmodem               534128  -

tux root # modprobe ltserial

FATAL: Error inserting ltserial (/lib/modules/2.6.7-gentoo-r11/ltmodem/ltserial.ko): No such device

tux root #

```

and this is my dmesg error

```

ltmodem: module license 'Proprietary' taints kernel.

Loading Lucent Modem Controller driver version 8.26

Detected Parameters Irq=11 BaseAddress=0xa400 ComAddress=0xa000

ttyLT0 at I/O 0xa400 (irq = 11) is a Lucent Modem

ltserial: Hm, pci device struct addr for ltmodem is 0

Detected Parameters Irq=11 BaseAddress=0xa400 ComAddress=0xa000

ttyLT0 at I/O 0xa400 (irq = 11) is a Lucent Modem

ltserial: Hm, pci device struct addr for ltmodem is 0

```

in the following thread, sog says he solved the whole thing with the slmodem drivers

https://forums.gentoo.org/viewtopic.php?t=198496&start=25&postdays=0&postorder=asc&highlight=

I´ll give it a try, but I´m sure ltmodem has to function

I´ll also try the modprobe -l and the modinfo to see what happens

Could it be that I have to create the /dev/modem symlink myself?

Saludos

Sas

ps I sense we're getting close

[/code]

----------

## NeddySeagoon

opensas,

This bit from your dmsg looks promising

```
Detected Parameters Irq=11 BaseAddress=0xa400 ComAddress=0xa000

ttyLT0 at I/O 0xa400 (irq = 11) is a Lucent Modem 
```

Have you got a device /dev/ttyLT0 now?

That looks like a serial device, in which case its your modem.

Don't get too hung uo over /dev/modem. Its just a symbolic link to the real device. It enables software to use /dev/modem, regardless of where the modem really is. You dont actually need it al all. 

If /dev/ttyLT0 exists, point minicom at it at try to talk to it like a real modem. AT should get you an ok response.

atdt<phone number> should make it tone dial <phone number>

You may need to fix the country code for that to work becsue it will listen for dial tone first, which varies between countries.

Its possible that ltserial is no longer a seperate module.

----------

## opensas

Well, I thing I´ve got bad news

I´ve been carefully reading the 1ST-READ doc of the /usr/doc/ltmodemxxx directory (I know I should have started here  :Embarassed:  ) and found the following

```

Checks for modem identity

--------------------------------------------------------

SKIP this section if ./scanmodem reported a supported modem.

Hopefully there is a documentation assuring you that your

modem is of the Lucent chipset variety.  If you are 

guessing/hoping, there are some effective diagnostic tests

for the PCI class of hardware, including some modems. The supporting

software is commonly part of a "pcituils" installation package.

Diagnostics replies including "Lucent" or "Xircom" may be returned by:

#   lspci -v

00:0a.0 Communication controller: Lucent Microelectronics 56k WinModem (rev 01)

        Subsystem: Lucent Microelectronics LT WinModem 56k Data+Fax+Voice+Dsvd

        Flags: bus master, medium devsel, latency 0, IRQ 12

        Memory at da800000 (32-bit, non-prefetchable) [size=256]

        I/O ports at b800 [size=8]

        I/O ports at b400 [size=256]

        Capabilities: [f8] Power Management version 2  

Note the lead designation like " 00:0a.0 ".

Next look for the information block beginning with  00:0a.0 ,

when querying again with:

#   lspci -nv

00:0a.0 Class 0780: 11c1:0440 (rev 01)

        Subsystem: 11c1:0440

        Flags: bus master, medium devsel, latency 0, IRQ 12

        Memory at da800000 (32-bit, non-prefetchable) [size=256]

        I/O ports at b800 [size=8]

        I/O ports at b400 [size=256]

        Capabilities: [f8] Power Management version 2  

 

The modems known to be supported by the ltmodem.o driver have

ID number pairs shown in the following Table. Ignore the leading 0x. 

The id pair          11c1:0442 

is within the range: 11c1:0440-045c

and hence should (and is in this case) be supported by ltmodem.o.

Name       vendor_id   device id range

-----------------------------------------------

LUCENT      0x11c1      0x0440-0x045c   

XIRCOM      0x115d      0x0000-0x000F   

XIRCOM      0x115d      0x0440-0x045c   

XIRCOM     0x115d          0x0010-0x03ff  some/all? ids   

This information indicates that the modem has the Lucent

DSP (digital sound processing) chipset and predicts that

a driver compiled with this kit should serve well.

SKIP to the section "Utilities Versions".

```

this is the output of my lspci -v

```

0000:01:07.0 Communication controller: Lucent Microelectronics: Unknown device 048c (rev 02)

        Subsystem: Lucent Microelectronics: Unknown device 044c

        Flags: bus master, medium devsel, latency 32, IRQ 19

        Memory at ed001000 (32-bit, non-prefetchable)

        I/O ports at a000 [size=8]

        I/O ports at a400 [size=256]

        Capabilities: [f8] Power Management version 2

```

and this is lspci -nv

```

0000:01:07.0 Class 0780: 11c1:048c (rev 02)

        Subsystem: 11c1:044c

        Flags: bus master, medium devsel, latency 32, IRQ 19

        Memory at ed001000 (32-bit, non-prefetchable)

        I/O ports at a000 [size=8]

        I/O ports at a400 [size=256]

        Capabilities: [f8] Power Management version 2

```

So, if the id device stand for "0000:01:07.0 Class 0780: 11c1:048c (rev 02)", I had no luck, but if it means "Subsystem: 11c1:044c", well then I should find a way to solve this thing.

I´ll send a mail to them.

Oh, and there was no /dev/ttyLT0 device in my system...

Saludos

Sas

----------

## opensas

Hey, I´ve jus run scanmodem, and the result was even worse

see four yourself

```

Class 0780: 11c1:048c   Communication controller: Lucent Microelectronics: Unknown device 048c (rev 02)

  SubSystem 11c1:044c   Lucent Microelectronics: Unknown device 044c

   Flags: bus master, medium devsel, latency 32, IRQ 19

   Memory at ed001000 (32-bit, non-prefetchable)

   I/O ports at a000 [size=8]

  

                  -----PCI_IDs-------                    --CompilerVer- 

    Feature List:  Primary  Subsystem Distr  KernelVer   kernel default  CPU

 ./scanModem test 11c1:048c 11c1:044c gentoo 2.6.7-gentoo-r11 3.3.3 3.3.3    i686

 == Checking PCI IDs through modem chip suppliers ==

 Vendor 11c1 corresponds to Lucent Technologies or subsidiary Agere Systems, Inc.

 Information is at:  http://www.agere.com/client/modem_dsp.html. Produced are both:

   1) modems identifiable from their primary PCI IDs and 

   2) soft modem Subystem chips requiring identification through codec readouts.

 

  Class 0703:  11c1:048c is still NOT supported under Linux, as of 2004_Dec_14

  It is a "software" modem without a digital signal processing (DSP) chipset.

  The ltmodem drivers from http://ltmodem.heby.de resources for DSP modems do NOT provide support,

    A dialout terminates with "No Carrier" or a Hang if usage of the ltmodem drivers is attempted.

```

 :Sad:   :Sad:   :Sad: 

----------

