USB CDC-ACM device under FreeBSD and HPS stack

Xiaofan Chen xiaofanc at
Mon Apr 28 13:35:04 UTC 2008

On Mon, Apr 28, 2008 at 4:52 PM, Hans Petter Selasky <hselasky at> wrote:
>  I found it:
>  Edit /sys/dev/usb/ucycom.c and change:
>  --- src/sys/dev/usb/ucycom.c    (revision 711)
>  +++ src/sys/dev/usb/ucycom.c    (working copy)
>  @@ -167,8 +167,8 @@
>   };
>   DRIVER_MODULE(ucycom, uhub, ucycom_driver, ucycom_devclass, usbd_driver_load,
>  0);
>  -MODULE_VERSION(ucycom, 1);
>   MODULE_DEPEND(ucycom, usb, 1, 1, 1);
>  Then recompile the ucycom module.

Thanks, this works for ucycom.

I also just learned how to build the module only
thanks to the help from a list member:
cd /sys/modules/ucycom (or ugen); make; make install.

But as I said, ucycom is actually not what I wanted. I'd like to
use Silabs CP210x (which is only supported by 8-Current)
and generic cdc-acm.

For example, even if I load ucom and umodem, the generic
CDC device (LPC-P2148 example from
still show up as ugen device.

[mcuee at freebsd7 ~]$ sudo kldload ucom
[mcuee at freebsd7 ~]$ sudo kldload umodem
[mcuee at freebsd7 ~]$ dmesg
ugen2: <LPCUSB USBSerial, class 2/0, rev 2.00/1.00, addr 3> on usb0

The same steps seem to work under NetBSD 4.0. The Silicon Labs
CP2101 device I have seems to work under NetBSD 4.0 as well.
But PICkit 2 and PICDEM FS USB demo work under FreeBSD 7.0-Release
and HPS USB stack Revision 711 but not NetBSD 4.0 (libusb related
problem). So I might want to try out the HPS stack with NetBSD 4.0
but I am too new to NetBSD.


More information about the freebsd-usb mailing list