# Modem on IBM Thinkpad R40 (2681-HTG)

## beejay

Does anyone have such a notebook and got the modem working. There's no real information what chipset this modem exactly has - even IBM cannot decide if it's a Lucent or an Intel.

----------

## tagswitch

Most probably, it is a Lucent (Agere) AMR Modem. Goggle for "AMR lucent modem Smart Link driver"

There are some drivers for 2.4 kernels (2.7.10) later versions dial numbers twice.

There is also a newer version with 2.6 support 

http://www.freedos.org/jhall/tp-a30/

http://www.freedos.org/jhall/tp-r40/

In short, use 2.7.10 for 2.4 kernels 

regards,

R.

----------

## beejay

Thank you, but I already worked thru this sites - actually with no success. I tried every possible (i.e. mentioned reagrding this notebook) driver. The driver for the lucent-amr modem seems to load properly. I found it here : http://linmodems.technion.ac.il/resources.html

However, I don't get my ppp0 device and startin /etc/init.d/net.ppp0 fails with an error in syslog (Chat-script failed).

So I'm not sure if the lucent driver is really correct. Of yourse it might also be possible, that this modem won't work with Linux. The only possibility for me now is to write an e-mail to IBM - hopefully they will answer (they could at least give some hints to linux-users)

----------

## jinxos

Sorry for the late post... 

I have an R40 with a Lucent (Agere) modem and by typing this I can assure you it works (since i'm connected with it  :Wink: 

Anyway, use the slmdm-2.7.10 tarball and replace the line 75 to look like line 76 in file amrmo_init.c, like this:

```
#define PCI_DEVICE_ID_ICH3                      0x24C6

#define PCI_DEVICE_ID_ICH4                      0x24C6

```

...compile and load the module as usual... ignore the taint messages and shoot  :Smile: 

It worked like that for me the first time I tried it (make sure you have a fairly recent ppp and wvdial)

I also got this patch from somewhere (sorry, lost the link):

```

===================================================================

RCS file: RCS/amrmo_init.c,v

retrieving revision 1.1

diff -c -r1.1 amrmo_init.c

*** amrmo_init.c        2003/08/22 21:01:57     1.1

--- amrmo_init.c        2003/08/22 21:03:40

***************

*** 215,222 ****

         PCI_ANY_ID, PCI_ANY_ID, 0, 0, ICH_CARD},

        {PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_ICH3,          /* 8086:2486 */

         PCI_ANY_ID, PCI_ANY_ID, 0, 0, ICH_CARD},

!       //      {PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_ICH4,

!       //       PCI_ANY_ID, PCI_ANY_ID, 0, 0, ICH4_CARD},

        {PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA,             /* 1106:3068 */

         PCI_ANY_ID, PCI_ANY_ID, 0, 0, VIA3058_CARD},

        {PCI_VENDOR_ID_SIS, PCI_DEVICE_ID_SIS630,          /* 1039:7013 */

--- 215,222 ----

         PCI_ANY_ID, PCI_ANY_ID, 0, 0, ICH_CARD},

        {PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_ICH3,          /* 8086:2486 */

         PCI_ANY_ID, PCI_ANY_ID, 0, 0, ICH_CARD},

!       {PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_ICH4,

!        PCI_ANY_ID, PCI_ANY_ID, 0, 0, ICH_CARD},

        {PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA,             /* 1106:3068 */

         PCI_ANY_ID, PCI_ANY_ID, 0, 0, VIA3058_CARD},

        {PCI_VENDOR_ID_SIS, PCI_DEVICE_ID_SIS630,          /* 1039:7013 */

```

...but I didn't see a difference (it still works)

Now... I recently upgraded to a 2.6 kernel and can't tell you much about it... Compiling 2.7.10 for a 2.6 kernel seems impossible (alas for me)...

Hope this works...

J.

----------

