> > >
> > > The reason why it is not working is almost certainly in the driver.
> > >
> > > There are two kinds of cables used with these cards.
> > > SDL Communications, the manufacturer, supplies x.21 cables
> > > that have the input clock pin tied to the output clock pin.
> > >
> > > Normaly I should be able to use a driver option to tell the
> > > HDLC chip to pass the signal through to the output clock pin.
> 
> This is now working properly, to adapt the driver if_sr.c to my case,
> a global variable (My_Case)  has to be added in
> sr_init_msci(structsr_softc *sc):

Oops! It looks like you found the bug. It is amazing that the driver
have lived so long with this. My test setup is much too forgiving. :-/
Can you try this (untested) patch and see if it still works, please?
This is basically the same I as have it in the ar(4) driver.

Thanks.

John
-- 
John Hay -- [EMAIL PROTECTED]


--- if_sr.c.org Tue May 16 12:48:41 2000
+++ if_sr.c     Thu Feb 22 20:04:23 2001
@@ -1815,8 +1815,10 @@
                printf("sr%d: External Clock Selected.\n", portndx);
 #endif
 
-               SRC_PUT8(hc->sca_base, msci->rxs, 0);
-               SRC_PUT8(hc->sca_base, msci->txs, 0);
+               SRC_PUT8(hc->sca_base, msci->rxs,
+                        SCA_RXS_CLK_RXC0 | SCA_RXS_DIV1);
+               SRC_PUT8(hc->sca_base, msci->txs,
+                        SCA_TXS_CLK_RX | SCA_TXS_DIV1);
                break;
 
        case SR_FLAGS_EXT_SEP_CLK:
@@ -1824,20 +1826,10 @@
                printf("sr%d: Split Clocking Selected.\n", portndx);
 #endif
 
-#if    1
-               SRC_PUT8(hc->sca_base, msci->rxs, 0);
-               SRC_PUT8(hc->sca_base, msci->txs, 0);
-#else
                SRC_PUT8(hc->sca_base, msci->rxs,
                         SCA_RXS_CLK_RXC0 | SCA_RXS_DIV1);
-
-               /*
-                * We need to configure the internal bit clock for the
-                * transmitter's channel...
-                */
                SRC_PUT8(hc->sca_base, msci->txs,
-                        SCA_TXS_CLK_RX | SCA_TXS_DIV1);
-#endif
+                        SCA_TXS_CLK_TXC | SCA_TXS_DIV1);
                break;
 
        case SR_FLAGS_INT_CLK:


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-net" in the body of the message

Reply via email to