Some more twists to this. As I said if I kill off our program and restart it, it never sees carrier unless the module was reloaded. However, if I unplug the serial cable from the Windows box and re-plug it, carrier goes and comes back as expected but only as long as our software is running. If our software is not running and we unplug the serial cable from the Windows box, carrier does not come back when we start up our program with the cable plugged back in.

On 12/4/08 2:20 PM, Gabor wrote:
Hi Warner,

this patch did not seem to fix the issue. In fact this time after unloading the module and reloading it, and then checking the carrier doesn't raise carrier even on the first try.

On 12/4/08 1:48 PM, M. Warner Losh wrote:
In message: <[EMAIL PROTECTED]>
            Gabor <[EMAIL PROTECTED]> writes:
: Hi,
: : thanks for looking at this issue. Are you guys saying that this was not meant to work? As in I shouldn't expect to see carrier?

Ian Lepore sent me this patch a little while ago.  I've not had time
to look into it.  If you could test it and let me know, then I'll be
able to commit it more quickly.  It is against a slightly hacked
version of 6.1, but should translate right over.

Warner

Index: uftdi.c
===================================================================
RCS file: /base/FreeBSD-tsc-6/sys/dev/usb/uftdi.c,v
retrieving revision 1.2
diff -u -r1.2 uftdi.c
--- uftdi.c    24 Sep 2007 21:37:33 -0000    1.2
+++ uftdi.c    14 Nov 2008 18:17:02 -0000
@@ -457,13 +457,24 @@
 {
     struct uftdi_softc *sc = vsc;
     u_char msr, lsr;
+    u_char ftdi_msr;
DPRINTFN(15,("uftdi_read: sc=%p, port=%d count=%d\n", sc, portno,
              *count));
- msr = FTDI_GET_MSR(*ptr);
+    ftdi_msr = FTDI_GET_MSR(*ptr);
     lsr = FTDI_GET_LSR(*ptr);
+ msr = 0;
+    if (ftdi_msr & FTDI_SIO_CTS_MASK)
+        msr |= SER_CTS;
+    if (ftdi_msr & FTDI_SIO_DSR_MASK)
+        msr |= SER_DSR;
+    if (ftdi_msr & FTDI_SIO_RI_MASK)
+        msr |= SER_RI;
+    if (ftdi_msr & FTDI_SIO_RLSD_MASK)
+        msr |= SER_DCD;
+
 #ifdef USB_DEBUG
     if (*count != 2)
         DPRINTFN(10,("uftdi_read: sc=%p, port=%d count=%d data[0]="

: : On 12/4/08 1:15 PM, M. Warner Losh wrote:
: > In message: <[EMAIL PROTECTED]>
: >             Hans Petter Selasky <[EMAIL PROTECTED]> writes:
: > : On Thursday 04 December 2008, Mike Tancsa wrote:
: > : > At 02:33 PM 12/3/2008, Gabor wrote:
: > : > >everything works fine.  When we try to use a USB to serial
: > : > >converter(type doesn't matter, UFTDI or Prolific) we run into
: > : > >problems. The first time we start up our side, everything
: > : > >works. The second time we don't get carrier(DCD). The other side
: > : > >is always running. Since we have no control
: > : >
: > : > Also tried with the usb2 development stack, and we never see carrier.
: > : >
: > : > Id Refs Address    Size     Name
: > : >   1   20 0xc0400000 9f8014   kernel (/boot/kernel/kernel)
: > : >   2    1 0xc4b95000 3000     usb2_serial_ftdi.ko
: > : > (/boot/kernel/usb2_serial_ftdi.ko)
: > : > 3 5 0xc4b99000 36000 usb2_core.ko (/boot/kernel/usb2_core.ko) : > : > 4 1 0xc4c56000 4000 usb2_serial.ko (/boot/kernel/usb2_serial.ko)
: > : >   5    1 0xc4cb4000 a000     usb2_controller_uhci.ko
: > : > (/boot/kernel/usb2_controller_uhci.ko)
: > : >   6    2 0xc4cbe000 3000     usb2_controller.ko
: > : > (/boot/kernel/usb2_controller.ko)
: > : >   7    1 0xc4d50000 d000     usb2_controller_ehci.ko
: > : > (/boot/kernel/usb2_controller_ehci.ko)
: > : >
: > : : > : Hi,
: > : : > : I think this event is not implemented in the driver. Try to diff the NetBSD : > : and FreeBSD uftdi.c files.
: > : > I have some diffs in my inbox from someone that was trying to
: > implement modem control for uftdi chips.  Let me see if they make
: > sense...
: > : > Warner
: > _______________________________________________
: > freebsd-usb@freebsd.org mailing list
: > http://lists.freebsd.org/mailman/listinfo/freebsd-usb
: > To unsubscribe, send any mail to "[EMAIL PROTECTED]"
: > : : -- : Success is the result when preparation meets opportunity.
: _______________________________________________
: freebsd-usb@freebsd.org mailing list
: http://lists.freebsd.org/mailman/listinfo/freebsd-usb
: To unsubscribe, send any mail to "[EMAIL PROTECTED]"
: :


--
Success is the result when preparation meets opportunity.
_______________________________________________
freebsd-usb@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-usb
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to