From owner-freebsd-mobile@FreeBSD.ORG Sat Jun 2 12:24:53 2007 Return-Path: X-Original-To: freebsd-mobile@freebsd.org Delivered-To: freebsd-mobile@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 081CD16A469 for ; Sat, 2 Jun 2007 12:24:53 +0000 (UTC) (envelope-from quetzal@zone3000.net) Received: from mx1.sitevalley.com (sitevalley.com [209.67.60.43]) by mx1.freebsd.org (Postfix) with SMTP id C12B213C483 for ; Sat, 2 Jun 2007 12:24:52 +0000 (UTC) (envelope-from quetzal@zone3000.net) Received: from zone3000.kharkov.ua (HELO localhost) (217.144.69.37) by 0 with SMTP; 2 Jun 2007 12:24:51 -0000 Date: Sat, 2 Jun 2007 15:24:53 +0300 From: Nikolay Pavlov To: "M. Warner Losh" Message-ID: <20070602122453.GA48237@zone3000.net> References: <20070528093944.GA12606@zone3000.net> <20070531054845.GA22380@zone3000.net> <20070531.010436.-460543608.imp@bsdimp.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20070531.010436.-460543608.imp@bsdimp.com> X-Operating-System: FreeBSD 6.2-RELEASE-p4 User-Agent: mutt-ng/devel-r804 (FreeBSD) Cc: freebsd-usb@freebsd.org, freebsd-mobile@freebsd.org Subject: Re: ucom0: could not set data multiplex mode X-BeenThere: freebsd-mobile@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Mobile computing with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 02 Jun 2007 12:24:53 -0000 On Thursday, 31 May 2007 at 1:04:36 -0600, M. Warner Losh wrote: > In message: <20070531054845.GA22380@zone3000.net> > Nikolay Pavlov 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: 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 > > 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. > > > Warner -- ====================================================================== - Best regards, Nikolay Pavlov. <<<----------------------------------- ======================================================================