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>
