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]"