From owner-freebsd-current@FreeBSD.ORG Sat Jun 22 18:54:59 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 9D000140 for ; Sat, 22 Jun 2013 18:54:59 +0000 (UTC) (envelope-from ianf@clue.co.za) Received: from zcs03.jnb1.cloudseed.co.za (zcs03.jnb1.cloudseed.co.za [41.154.0.139]) by mx1.freebsd.org (Postfix) with ESMTP id 31329194A for ; Sat, 22 Jun 2013 18:54:59 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by zcs03.jnb1.cloudseed.co.za (Postfix) with ESMTP id D8A4C2B43232; Sat, 22 Jun 2013 20:54:48 +0200 (SAST) X-Virus-Scanned: amavisd-new at zcs03.jnb1.cloudseed.co.za Received: from zcs03.jnb1.cloudseed.co.za ([127.0.0.1]) by localhost (zcs03.jnb1.cloudseed.co.za [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id WVxM8t4VuTr1; Sat, 22 Jun 2013 20:54:47 +0200 (SAST) Received: from clue.co.za (unknown [41.154.88.19]) by zcs03.jnb1.cloudseed.co.za (Postfix) with ESMTPSA id F10212B43231; Sat, 22 Jun 2013 20:54:46 +0200 (SAST) Received: from localhost ([127.0.0.1] helo=zen.clue.co.za) by clue.co.za with esmtp (Exim 4.80.1 (FreeBSD)) (envelope-from ) id 1UqSxQ-0000hB-JI; Sat, 22 Jun 2013 20:54:44 +0200 To: "Daniel O'Connor" From: Ian FREISLICH Subject: Re: usb ACM device doesn't work In-Reply-To: <8316A74D-7816-497C-851E-9D13A658C835@gsoft.com.au> References: <8316A74D-7816-497C-851E-9D13A658C835@gsoft.com.au> X-Attribution: BOFH Date: Sat, 22 Jun 2013 20:54:44 +0200 Message-Id: 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 18:54:59 -0000 "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 -- Ian Freislich