USB CDC-ACM device under FreeBSD and HPS stack
Hans Petter Selasky
hselasky at c2i.net
Wed Apr 30 16:32:03 UTC 2008
Hi,
Edit "/sys/dev/usb/ugensa.c" and add the VID+PID to the "ugensa_devs"
structure. Recompile the ugensa module (/sys/module/ugensa) and load it.
--HPS
On Wednesday 30 April 2008, Xiaofan Chen wrote:
> On Wed, Apr 30, 2008 at 3:45 AM, Hans Petter Selasky <hselasky at c2i.net>
wrote:
> > > As for the generic CDC-ACM device (the Olimex LPC-P2148), I do not
> > > know how to load the necessary kernel module to get it work as a
> > > usb-serial device.
> > >
> > > Under Linux, there is a generic cdc-acm device support.
> >
> > kldload umodem
>
> I tried that and nothing happens.
>
>
> [root at freebsd7 ~]# kldload umodem
> [root at freebsd7 ~]# kldstat
> Id Refs Address Size Name
> 1 18 0xc0400000 90568c kernel
> 2 1 0xc0d06000 6f88 snd_ich.ko
> 3 2 0xc0d0d000 4a5ac sound.ko
> 4 1 0xc0d58000 6a32c acpi.ko
> 5 1 0xc4492000 22000 linux.ko
> 6 1 0xc46f7000 21000 radeon.ko
> 7 1 0xc4718000 f000 drm.ko
> 10 1 0xc4d9a000 4000 umodem.ko
> 11 1 0xc4d9f000 4000 ucom.ko
> [root at freebsd7 ~]# dmesg
> (nothing happens).
> [root at freebsd7 ~]# kldload ugen
> [root at freebsd7 ~]# dmesg
> ugen0: <vendor 0x10d6 USB 2.0(HS) Flash Disk, class 0/0, rev
> 2.00/1.00, addr 2> on usb2
> ugen1: <LPCUSB USBSerial, class 2/0, rev 2.00/1.00, addr 3> on usb0
>
> [root at freebsd7 ~]# lsusb -vvv
>
> Bus /dev/usb0 Device /dev/ugen1: ID ffff:0005
> Device Descriptor:
> bLength 18
> bDescriptorType 1
> bcdUSB 2.00
> bDeviceClass 2 Communications
> bDeviceSubClass 0
> bDeviceProtocol 0
> bMaxPacketSize0 64
> idVendor 0xffff
> idProduct 0x0005
> bcdDevice 1.00
> iManufacturer 1 LPCUSB
> iProduct 2 USBSerial
> iSerial 3 DEADC0DE
> bNumConfigurations 1
> Configuration Descriptor:
> bLength 9
> bDescriptorType 2
> wTotalLength 67
> bNumInterfaces 2
> bConfigurationValue 1
> iConfiguration 0
> bmAttributes 0xc0
> Self Powered
> MaxPower 100mA
> Interface Descriptor:
> bLength 9
> bDescriptorType 4
> bInterfaceNumber 0
> bAlternateSetting 0
> bNumEndpoints 1
> bInterfaceClass 2 Communications
> bInterfaceSubClass 2 Abstract (modem)
> bInterfaceProtocol 1 AT-commands (v.25ter)
> iInterface 0
> CDC Header:
> bcdCDC 1.10
> CDC Call Management:
> bmCapabilities 0x01
> call management
> bDataInterface 1
> CDC ACM:
> bmCapabilities 0x02
> line coding and serial state
> CDC Union:
> bMasterInterface 0
> bSlaveInterface 1
> Endpoint Descriptor:
> bLength 7
> bDescriptorType 5
> bEndpointAddress 0x81 EP 1 IN
> bmAttributes 3
> Transfer Type Interrupt
> Synch Type None
> Usage Type Data
> wMaxPacketSize 0x0008 1x 8 bytes
> bInterval 10
> Interface Descriptor:
> bLength 9
> bDescriptorType 4
> bInterfaceNumber 1
> bAlternateSetting 0
> bNumEndpoints 2
> bInterfaceClass 10 CDC Data
> bInterfaceSubClass 0 Unused
> bInterfaceProtocol 0
> iInterface 0
> Endpoint Descriptor:
> bLength 7
> bDescriptorType 5
> bEndpointAddress 0x05 EP 5 OUT
> bmAttributes 2
> Transfer Type Bulk
> Synch Type None
> Usage Type Data
> wMaxPacketSize 0x0040 1x 64 bytes
> bInterval 0
> Endpoint Descriptor:
> bLength 7
> bDescriptorType 5
> bEndpointAddress 0x82 EP 2 IN
> bmAttributes 2
> Transfer Type Bulk
> Synch Type None
> Usage Type Data
> wMaxPacketSize 0x0040 1x 64 bytes
> bInterval 0
> can't get device qualifier: Input/output error
> can't get debug descriptor: Input/output error
> Device Status: 0x0000
> (Bus Powered)
>
>
> Xiaofan
More information about the freebsd-usb
mailing list