Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 22 Jun 2013 20:54:44 +0200
From:      Ian FREISLICH <ianf@clue.co.za>
To:        "Daniel O'Connor" <doconnor@gsoft.com.au>
Cc:        current@freebsd.org
Subject:   Re: usb ACM device doesn't work
Message-ID:  <E1UqSxQ-0000hB-JI@clue.co.za>
In-Reply-To: <8316A74D-7816-497C-851E-9D13A658C835@gsoft.com.au>
References:  <8316A74D-7816-497C-851E-9D13A658C835@gsoft.com.au> <E1Uq6Fq-0000NI-12@clue.co.za>

next in thread | previous in thread | raw e-mail | index | archive | help
"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

-- 
Ian Freislich



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?E1UqSxQ-0000hB-JI>