Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 15 Nov 2001 23:47:15 +0900
From:      WATANABE Kiyoshi <aab10490@pop16.odn.ne.jp>
To:        Scott Lambert <lambert@lambertfam.org>
Cc:        FreeBSD-Mobile@FreeBSD.org
Subject:   Re: linmodem on freebsd
Message-ID:  <3BF33306.E5FA1162@pop16.odn.ne.jp>
References:  <3BEF1C33.ACDCABEA@pop16.odn.ne.jp> <20011113014012.A74305@laptop.lambertfam.org> <3BF11508.FD372F0@pop16.odn.ne.jp> <20011113134937.A21171@laptop.lambertfam.org> <3BF25FE2.A7A64820@pop16.odn.ne.jp> <20011114152627.A538@laptop.lambertfam.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, 14 Nov 2001 15:26:27 -0500,Scott Lambert wrote:
> On Wed, Nov 14, 2001 at 11:13:22PM +0900, WATANABE Kiyoshi wrote:
> > On Tue, 13 Nov 2001 13:49:37 -0500, Scott Lambert wrote:
> > > My problem now is that it always says NO DIALTONE when I try to make it dial.
> >
> > When you dial, can you hear DTMF tone from monitor speaker?
> 
> Not from the laptop speakers or a telephone handset.  I don't hear anything
> modem related on the laptop.
> 
> > or can you hear the sound of RELAY which is connecting to the line?
> 
> No.
> 
> > 1. If you can't, the hardware is not working.
> 
> Or the binary portion or the driver is not really telling the hardware to
> actually go off hook?
> 
> As another point of data, I ran the local loopback tests with at&t1 for analog
> and at&t3 for digital.  The digital test succeeded.  The analog test
> apparently failed.  I didn't have a loopback plug hooked in so, I'm not really
> sure if the analog test should have worked.
> 
> > 2. If you can hear DTMF and still get "NO DIAL TONE", the interrupt handler
> >    is not working properly.
> >
> >
> > Please try the followings.
> >
> > 1-1. If APM,ACPI,PNPBIOS or what is equivalent to these
> >      is enabled in BIOS setting, disable it.
> 
> In the BIOS, the only changable option is what appears to be the PNPOS YES/NO
> option.  Of course, it is named differently.
> 
> > 1-2. If "option PNPBIOS" is in your kernel configuration,
> >      remove it and rebuild the kernel.
> 
> PNPBIOS was not in my kernel config.  I added it just to test.  No change.
> 
> > 2-1. If irq is shared with too many devices, change irq assignment. (if possible)
> 
> All PCI devices, other than the IDE controllers, seem to be hard-wired to
> IRQ 11.
> 
> > 2-2. Add the following line to /boot/loader.conf. Then reboot. Then test it.
> >
> >        hw.ltmdm.intr="INTR_TYPE_NET"
> 
> This didn't make any difference either.
>

It seems that hardware is sleeping.

I think the "digital test" test the UART emulator in the ltmdmobj.o
 and it does not test hardware part.


This may be a problem caused by ACPI.
If it is true and you can not change BIOS setting, it will not work
 under FreeBSD-4.x.


I made a patch which adds call_func(1)/call_func(9)
before vxdPortOpen()/vxdPortClose().
(I'm not sure this can solve the problem though.)

Since my modem is older one, I can not reproduce the problem to test it.


BEGIN --- CUT HERE --- Cut Here --- cut here ---
--- ltmdmsio.c.orig	Mon Oct 15 20:49:15 2001
+++ ltmdmsio.c	Thu Nov 15 22:25:39 2001
@@ -444,6 +444,8 @@
 
 /* #include "bus_if.h" */
 
+#define TEST__CALL_FUNC       1
+
 #undef  LTMDM_DEBUG_MSG
 
 #define LTMDM_MAX_UNIT        1
@@ -531,6 +533,11 @@
 extern unsigned char eeprom[];
 #endif
 
+#ifdef TEST__CALL_FUNC
+extern int call_func_state;
+extern int call_func (unsigned int func);
+#endif
+
 #if LTMDMOBJ_VERSION >= 600
 static  void rs_interrupt(void);
 #endif
@@ -1216,9 +1223,14 @@
     ltmdm_intr_type = intr_type;
 
 #if LTMDMOBJ_VERSION >= 600
+#ifdef TEST__CALL_FUNC
+    eeprom_flag = 1;
+    call_func_state = 0;
+#else
     eeprom_flag = 0;
     eeprom[0] = 0;
 #endif
+#endif
 
     DPRINTF(1,("  lucent_detect_modem()\n"));
 
@@ -1238,6 +1250,13 @@
     DPRINTF(1,("  lucent_init_modem()\n"));
     lucent_init_modem();
 
+#ifdef TEST__CALL_FUNC
+    if (call_func_state == 0) {
+        call_func_state = 1;
+        DPRINTF(1,("  call_func(1)\n"));
+        call_func(1);
+    }
+#endif
     DPRINTF(1,("  vxdPortOpen()\n"));
     vxdPortOpen();
 
@@ -1404,6 +1423,12 @@
         comhardclose(com);
         ttyclose(tp);
     }
+#ifdef TEST__CALL_FUNC
+    if (call_func_state == 1) {
+        call_func_state = 0;
+        call_func(9);
+    }
+#endif
     vxdPortClose();
     siosettimeout();
     splx(s);
END --- CUT HERE --- Cut Here --- cut here ---

--



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-mobile" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3BF33306.E5FA1162>