From owner-freebsd-usb@FreeBSD.ORG Fri Jan 30 10:43:52 2009 Return-Path: Delivered-To: freebsd-usb@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 555D6106564A; Fri, 30 Jan 2009 10:43:52 +0000 (UTC) (envelope-from cejkar@fit.vutbr.cz) Received: from kazi.fit.vutbr.cz (kazi6.fit.vutbr.cz [IPv6:2001:718:802:808::93e5:80c]) by mx1.freebsd.org (Postfix) with ESMTP id D56978FC0C; Fri, 30 Jan 2009 10:43:51 +0000 (UTC) (envelope-from cejkar@fit.vutbr.cz) Received: from kazi.fit.vutbr.cz (localhost [127.0.0.1]) by kazi.fit.vutbr.cz (envelope-from cejkar@fit.vutbr.cz) (8.14.3/8.14.3) with ESMTP id n0UAhorx063985 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Fri, 30 Jan 2009 11:43:50 +0100 (CET) Received: (from cejkar@localhost) by kazi.fit.vutbr.cz (8.14.3/8.13.1/Submit) id n0UAholD063984; Fri, 30 Jan 2009 11:43:50 +0100 (CET) (envelope-from cejkar@fit.vutbr.cz) X-Authentication-Warning: kazi.fit.vutbr.cz: cejkar set sender to cejkar@fit.vutbr.cz using -f Date: Fri, 30 Jan 2009 11:43:50 +0100 From: Rudolf Cejka To: linimon@FreeBSD.org Message-ID: <20090130104349.GA60105@fit.vutbr.cz> References: <200901300701.n0U71iaa013195@freefall.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <200901300701.n0U71iaa013195@freefall.freebsd.org> User-Agent: Mutt/1.5.16 (2007-06-09) X-Scanned-By: MIMEDefang 2.64 on 147.229.8.12 Cc: freebsd-usb@FreeBSD.org Subject: Re: usb/131123: [patch] re-add UQ_ASSUME_CM_OVER_DATA USB quirk X-BeenThere: freebsd-usb@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: FreeBSD support for USB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 30 Jan 2009 10:43:52 -0000 linimon@FreeBSD.org wrote (2009/01/30): > The sc_cm_over_data flag is never checked elsewhere. Are you saying > that the umodem_set_comm_feature() causes the problem? Yes, I can imagine three possible reasons: 1) There is not any bug in umodem_set_comm_feature(), but the device would be buggy and could not accept requested settings, which I suppose are according to the specifications. 2) There is some bug in umodem_set_comm_feature(). 3) It seems, that the device does not survive two configuration settings, however I do not understand which. See Linux discussion about this device https://kerneltrap.org/mailarchive/linux-usb-devel/2007/10/27/361160/thread and Matthias Fuchs: ... I found out that the 2.4 kernels send two 'set configuration' requests to the USB modem. Either this is not allowed or the modem's firmware does not like this. After the 2nd set configuration request the device disconnects... Maybe FreeBSD had the same problem and configuration settings are performed in another place too. If you are interested, I can do any software tests you need or want to do, so that you can really understand what happens. In all events, MC75/ES75 immediately disconnects and resets. Attempts are repeated every 10 seconds (Unknown USB device is written by devd, I do not know why - but after patch it disappears): ... Jan 28 18:14:00 kernel: ucom0: detached Jan 28 18:14:09 root: Unknown USB device: vendor 0x0681 product 0x0034 bus uhub0 Jan 28 18:14:09 kernel: ucom0: on uhub0 Jan 28 18:14:09 kernel: ucom0: iclass 2/2 Jan 28 18:14:09 kernel: ucom0: data interface 1, has CM over data, has no break Jan 28 18:14:09 kernel: ucom0: status change notification available Jan 28 18:14:09 kernel: ucom0: at uhub0 port 1 (addr 2) disconnected Jan 28 18:14:09 kernel: ucom0: detached Jan 28 18:14:20 root: Unknown USB device: vendor 0x0681 product 0x0034 bus uhub0 ... -- Rudolf Cejka http://www.fit.vutbr.cz/~cejkar Brno University of Technology, Faculty of Information Technology Bozetechova 2, 612 66 Brno, Czech Republic