In message: <[EMAIL PROTECTED]>
            Nikolay Pavlov <[EMAIL PROTECTED]> writes:
: On Thursday, 31 May 2007 at  1:04:36 -0600, M. Warner Losh wrote:
: > In message: <[EMAIL PROTECTED]>
: >             Nikolay Pavlov <[EMAIL PROTECTED]> writes:
: > : On Monday, 28 May 2007 at 12:39:44 +0300, Nikolay Pavlov wrote:
: > : > Hi folks. 
: > : > I have an issue with CCU-550 CDMA modem
: > : > (http://www.cmotech.com/eproduct6-1.htm) on recent current. 
: > : > Every time i am reattaching it i see this error:
: > : > ucom0: could not set data multiplex mode 
: > : > 
: > : > So in order to work with it i have to reboot after each detache
: > : > procedure. The only known workaround for this is to delete the 
: > : > "goto bad;" code in /usr/src/sys/dev/usb/umodem.c:
: > : > 
: > : >         printf("%s: could not set data multiplex mode\n",
: > : >             devname);
: > : >         goto bad;
: > : > 
: > : > Could someone comment on this?
: > : > 
: > : > P.S. Please cc me, becuase i am not subscribe to freebsd-usb or
: > : > freebsd-mobile
: > : > 
: > : 
: > : May be i should send this to maintainer..?
: > 
: > I thought that NetBSD did something clever in this condition, but it
: > doesn't.  Try adding the device to usb_quirks.c.  You'll need an entry
: > like the following:
: > 
: >  { USB_VENDOR_METRICOM, USB_PRODUCT_METRICOM_RICOCHET_GS,
: >     0x100, { UQ_ASSUME_CM_OVER_DATA }},
: 
: Thanks for response Warner. I want to check the usb_quirks variant
: first. Could you please advise me on what this line should be if i have
: this on dmesg:
: 
: ucom0: <CMOTECH CO., LTD. CMOTECH CDMA Technologies, class 2/0, rev 
2.00/0.00, addr 2> on uhub1
: ucom0: CMOTECH CO., LTD. CMOTECH CDMA Technologies, rev 2.00/0.00, addr 2, 
iclass 2/2
: ucom0: data interface 1, has CM over data, has break
: ucom0: status change notification available

Unfortunately, there's not enough info there.

usbdevs -v

will tell us.

: > for whatever values your CCU-550 CDMA modem has.  alternatively, you
: > could try the following patch, which may be lame:
: > 
: > Index: umodem.c
: > ===================================================================
: > RCS file: /home/ncvs/src/sys/dev/usb/umodem.c,v
: > retrieving revision 1.60
: > diff -u -r1.60 umodem.c
: > --- umodem.c        7 Sep 2006 00:06:42 -0000       1.60
: > +++ umodem.c        31 May 2007 07:03:49 -0000
: > @@ -279,7 +279,6 @@
: >     usb_cdc_cm_descriptor_t *cmd;
: >     char *devinfo = NULL;
: >     const char *devname;
: > -   usbd_status err;
: >     int data_ifcno;
: >     int i;
: >     struct ucom_softc *ucom;
: > @@ -373,16 +372,8 @@
: >     } else {
: >             if (sc->sc_cm_cap & USB_CDC_CM_OVER_DATA) {
: >                     if (sc->sc_acm_cap & USB_CDC_ACM_HAS_FEATURE)
: > -                           err = umodem_set_comm_feature(sc,
: > -                               UCDC_ABSTRACT_STATE, UCDC_DATA_MULTIPLEXED);
: > -                   else
: > -                           err = 0;
: > -                   if (err) {
: > -                           printf("%s: could not set data multiplex 
mode\n",
: > -                               devname);
: > -                           goto bad;
: > -                   }
: > -                   sc->sc_cm_over_data = 1;
: > +                           umodem_set_comm_feature(sc,
: > +                               UCDC_ABSTRACT_STATE, 
UCDC_DATA_MULTIPLEXED);                        sc->sc_cm_over_data = 1;
: >             }
: >     }
: >  
: > 
: > this patch just feels wrong to me, but I suspect it will just work.

Please try this patch too :-)

Warner
_______________________________________________
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