From owner-freebsd-current@FreeBSD.ORG Sat Jun 22 21:21:47 2013 Return-Path: Delivered-To: current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 3F5E74C4 for ; Sat, 22 Jun 2013 21:21:47 +0000 (UTC) (envelope-from hps@bitfrost.no) Received: from mta.bitpro.no (mta.bitpro.no [92.42.64.202]) by mx1.freebsd.org (Postfix) with ESMTP id C9AE61EA3 for ; Sat, 22 Jun 2013 21:21:45 +0000 (UTC) Received: from mail.bitfrost.no (mail.bitfrost.no [46.29.221.36]) by mta.bitpro.no (Postfix) with ESMTP id EBC6C7A12D; Sat, 22 Jun 2013 23:21:37 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at bitfrost.no Received: from laptop015.hselasky.homeunix.org (cm-176.74.213.204.customer.telag.net [176.74.213.204]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) (Authenticated sender: hanspetter) by mail.bitfrost.no (Postfix) with ESMTPSA id B70612026A; Sat, 22 Jun 2013 23:21:20 +0200 (CEST) Message-ID: <51C6159D.3080205@bitfrost.no> Date: Sat, 22 Jun 2013 23:22:37 +0200 From: Hans Petter Selasky Organization: Bitfrost A/S MIME-Version: 1.0 To: Ian FREISLICH Subject: Re: usb ACM device doesn't work References: <8316A74D-7816-497C-851E-9D13A658C835@gsoft.com.au> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: current@freebsd.org X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 22 Jun 2013 21:21:47 -0000 On 06/22/13 20:54, Ian FREISLICH wrote: > "Daniel O'Connor" wrote: >> >> On 22/06/2013, at 4:10, Ian FREISLICH wrote: >>> I bought a relay control board that has a USB interface. It presents >>> a serial port to Linux on /dev/ttyACMx. However when I plug it >>> into my FreeBSD host, it detects as follows: >>> >>> ugen0.2: at usbus0 >>> umodem0: on usbus0 >>> umodem0: data interface 1, has no CM over data, has no break >>> >>> and I cannot communicate with it. Any ideas how to communicate with it? >> >> Have you tried anything? >> It should create /dev/cuaUx and /dev/ttyUx (where x is 0 in your case) > > I'w sorry, I should have been more specific. > > I have a device that controls a bunch of relays with commands issued > to it over a serial port. This serial port is CDC-ACM on a USB > interface. The device uses a PIC microcontroller and PICKIT2 from > Microchip Technology Inc (vendorID 0x04d8). Linux correctly detects > the device with "CM over data" and I'm able to communicate with it > on /dev/ttyACM0 and the TX/RX LEDs on the device blink when > transferring data. > > FreeBSD on the other hand detects it as having no "CM over data" > and while I can open /dev/cuaU0 and write data to it, the RX/TX > lights on the device don't blink and reads time out. As previously > stated "I cannot communicate with it". I tried adding the quirk > UQ_ASSUME_CM_OVER_DATA, but then the terminal program locks up and > won't exit until I pull the USB cable. The same happens when I > force the CM over Data capability in the umodem driverwhen attaching > the device, so there's some issue with our CDC/ACM support or Linux > is working harder to make non-compliant usb hardware work. > > Also, our usbdevs is incorrect in listing vedor 0x04d8 as I-Tuner > Networks. It is in fact licensed to Microchip Tochnology Inc. which > then sub-licenses productIDs royalty free to third parties providing > certain conditions are met. See: > > http://ww1.microchip.com/downloads/en/DeviceDoc/APPLICATION%20FOR%20SUBLICENSE%20TO%20USB%20VID%20revised%2012110.pdf > > I don't have the knowledge to fix the FreeBSD USD driver and for > the $45 it cost me it's not worth the effort to reinstall the host > I'm using with linux. If there's no fix forthcoming I'll just get > the EIA-485 version of the device with no hard feelings. > > Ian > Hi Ian, Have you tried using usbdump to capture the USB traffic? It might be something like clear-stall which fails, and make the device broken: usbdump -i usbusX -f Y -vvv -s 65536 --HPS