BulkUSB Deskriptoren

OP #477120
Lesenswert?
• ▲
▼
Hallo zusammen,

ich versuche grad mein funktionierendes USB Device (HID auf KeilBoard) 
in ein funktioniernes Bulk Device umzubauen (in Verbindung mit 
bulkusb.sys). Nur hab ich Probleme die Descriptoren umzubauen. Mein 
Versuch war dieser:

const BYTE USB_DeviceDescriptor[] _attribute_ ((_aligned_ (4))) = {
  USB_DEVICE_DESC_SIZE,              /* bLength */
  USB_DEVICE_DESCRIPTOR_TYPE,        /* bDescriptorType */
  WBVAL(0x0110), /* 1.10 */          /* bcdUSB */
  0xFF,                              /* bDeviceClass */
  0xFF,                              /* bDeviceSubClass */
  0x00,                              /* bDeviceProtocol */
};


aber wie ich die 2 bulk (in/out) entdpointzs hinbekomm hab ich keine 
ahnung :(

vielleicht hat hier jamand so etwas in diese richting schon gemacht.

grüße nils
OP #477155
Lesenswert?
• ▲
▼
Soooo, das hier schein zu klappen, zumindest erkennt er das Gerät.

const BYTE USB_ConfigDescriptor[]  _attribute_ ((_aligned_ (4))) = {
/* Configuration 1 */
  USB_CONFIGURATION_DESC_SIZE,       /* bLength */
  USB_CONFIGURATION_DESCRIPTOR_TYPE, /* bDescriptorType */
  WBVAL(                             /* wTotalLength */
    USB_CONFIGURATION_DESC_SIZE +
    USB_INTERFACE_DESC_SIZE     /*+
    HID_DESC_SIZE               +
    USB_ENDPOINT_DESC_SIZE*/
  ),
  0x01,                              /* bNumInterfaces */
  0x01,                              /* bConfigurationValue */
  0x00,                              /* iConfiguration */
  USB_CONFIG_BUS_POWERED |           /* bmAttributes */
  USB_CONFIG_REMOTE_WAKEUP,
  USB_CONFIG_POWER_MA(100),          /* bMaxPower */


/* Interface 0, Alternate Setting 0, HID Class */
  USB_INTERFACE_DESC_SIZE,           /* bLength */
  USB_INTERFACE_DESCRIPTOR_TYPE,     /* bDescriptorType */
  0x00,                              /* bInterfaceNumber */
  0x00,                              /* bAlternateSetting */
  0x02,                              /* bNumEndpoints */
  USB_DEVICE_CLASS_VENDOR_SPECIFIC,  /* bInterfaceClass */
  USB_DEVICE_CLASS_VENDOR_SPECIFIC,  /* bInterfaceSubClass */
  0x00,                              /* bInterfaceProtocol */
  0x64                               /* iInterface */

};

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.