usb ACM device doesn't work

Hans Petter Selasky hps at
Sat Jun 22 21:21:47 UTC 2013

On 06/22/13 20:54, Ian FREISLICH wrote:
> "Daniel O'Connor" wrote:
>> On 22/06/2013, at 4:10, Ian FREISLICH <ianf at> 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:
> 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


More information about the freebsd-current mailing list