Internal Card Reader

Alexander Yerenkow yerenkow at gmail.com
Tue Jun 19 17:21:00 UTC 2012


2012/6/19 Hans Petter Selasky <hselasky at c2i.net>:
> On Tuesday 19 June 2012 18:51:14 Alexander Yerenkow wrote:
>> Hello all!
>> I have here internal card reader (some cheap one), which detects as:
>>
>> ugen4.2: <product 0x5200 vendor 0x0d8c> at usbus4, cfg=0 md=HOST
>> spd=HIGH (480Mbps) pwr=ON
>>
>> What I need to produce(info/code/patches etc) to make this card reader
>> work under FreeBSD? :)
>
> Can you dump the device and configuration descriptor using usbconfig ?
>
> --HPS

# usbconfig -u 4 -a 2 dump_info
ugen4.2: <product 0x5200 vendor 0x0d8c> at usbus4, cfg=0 md=HOST
spd=HIGH (480Mbps) pwr=ON

# usbconfig -u 4 -a 2 dump_device_desc
ugen4.2: <product 0x5200 vendor 0x0d8c> at usbus4, cfg=0 md=HOST
spd=HIGH (480Mbps) pwr=ON

  bLength = 0x0012
  bDescriptorType = 0x0001
  bcdUSB = 0x0200
  bDeviceClass = 0x0000
  bDeviceSubClass = 0x0000
  bDeviceProtocol = 0x0000
  bMaxPacketSize0 = 0x0040
  idVendor = 0x0d8c
  idProduct = 0x5200
  bcdDevice = 0x0100
  iManufacturer = 0x0000  <no string>
  iProduct = 0x0000  <no string>
  iSerialNumber = 0x0000  <no string>
  bNumConfigurations = 0x0001

# usbconfig -u 4 -a 2 dump_curr_config_desc
ugen4.2: <product 0x5200 vendor 0x0d8c> at usbus4, cfg=0 md=HOST
spd=HIGH (480Mbps) pwr=ON


 Configuration index 0

    bLength = 0x0009
    bDescriptorType = 0x0002
    wTotalLength = 0x0027
    bNumInterfaces = 0x0001
    bConfigurationValue = 0x0001
    iConfiguration = 0x0000  <no string>
    bmAttributes = 0x0080
    bMaxPower = 0x00fa

    Interface 0
      bLength = 0x0009
      bDescriptorType = 0x0004
      bInterfaceNumber = 0x0000
      bAlternateSetting = 0x0000
      bNumEndpoints = 0x0003
      bInterfaceClass = 0x00ff
      bInterfaceSubClass = 0x00ff
      bInterfaceProtocol = 0x00ff
      iInterface = 0x0000  <no string>

     Endpoint 0
        bLength = 0x0007
        bDescriptorType = 0x0005
        bEndpointAddress = 0x0001  <OUT>
        bmAttributes = 0x0002  <BULK>
        wMaxPacketSize = 0x0200
        bInterval = 0x0000
        bRefresh = 0x0000
        bSynchAddress = 0x0000

     Endpoint 1
        bLength = 0x0007
        bDescriptorType = 0x0005
        bEndpointAddress = 0x0082  <IN>
        bmAttributes = 0x0002  <BULK>
        wMaxPacketSize = 0x0200
        bInterval = 0x0000
        bRefresh = 0x0000
        bSynchAddress = 0x0000

     Endpoint 2
        bLength = 0x0007
        bDescriptorType = 0x0005
        bEndpointAddress = 0x0084  <IN>
        bmAttributes = 0x0003  <INTERRUPT>
        wMaxPacketSize = 0x0004
        bInterval = 0x0009
        bRefresh = 0x0000
        bSynchAddress = 0x0000


Something like this?

-- 
Regards,
Alexander Yerenkow


More information about the freebsd-usb mailing list