Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 22 Jun 2013 23:22:37 +0200
From:      Hans Petter Selasky <hps@bitfrost.no>
To:        Ian FREISLICH <ianf@clue.co.za>
Cc:        current@freebsd.org
Subject:   Re: usb ACM device doesn't work
Message-ID:  <51C6159D.3080205@bitfrost.no>
In-Reply-To: <E1UqSxQ-0000hB-JI@clue.co.za>
References:  <8316A74D-7816-497C-851E-9D13A658C835@gsoft.com.au> <E1Uq6Fq-0000NI-12@clue.co.za> <E1UqSxQ-0000hB-JI@clue.co.za>

next in thread | previous in thread | raw e-mail | index | archive | help
On 06/22/13 20:54, Ian FREISLICH wrote:
> "Daniel O'Connor" wrote:
>>
>> On 22/06/2013, at 4:10, Ian FREISLICH <ianf@clue.co.za> 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: <KMT> at usbus0
>>> umodem0: <KMT USB CDC COM, class 2/0, rev 1.10/1.00, addr 1> 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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?51C6159D.3080205>