diff --git a/module_usb_aud_shared/endpoint0/descriptors_2.h b/module_usb_aud_shared/endpoint0/descriptors_2.h index c1b86fee..0931cb03 100644 --- a/module_usb_aud_shared/endpoint0/descriptors_2.h +++ b/module_usb_aud_shared/endpoint0/descriptors_2.h @@ -233,7 +233,7 @@ unsigned char cfgDesc_Audio2[] = 0x00, /* 6 iConfiguration */ #ifdef SELF_POWERED 192, /* 7 bmAttributes */ - 5, /* 8 bMaxPower */ + 0, /* 8 bMaxPower */ #else 128, /* 7 bmAttributes */ 250, /* 8 bMaxPower */ @@ -1299,7 +1299,7 @@ unsigned char cfgDesc_Audio1[] = 0x00, /* Unused */ #ifdef SELF_POWERED 192, /* 7 bmAttributes */ - 5, /* 8 bMaxPower */ + 0, /* 8 bMaxPower */ #else 128, /* 7 bmAttributes */ 250, /* 8 bMaxPower */ diff --git a/module_usb_aud_shared/endpoint0/endpoint0.xc b/module_usb_aud_shared/endpoint0/endpoint0.xc index 393d670e..9343e7a6 100755 --- a/module_usb_aud_shared/endpoint0/endpoint0.xc +++ b/module_usb_aud_shared/endpoint0/endpoint0.xc @@ -584,7 +584,11 @@ void Endpoint0( chanend c_ep0_out, chanend c_ep0_in, chanend c_audioControl, /* Get Status request */ case GET_STATUS: +#ifdef SELF_POWERED + buffer[0] = 1; // self powered +#else buffer[0] = 0; // bus powered +#endif buffer[1] = 0; // remote wakeup not supported retVal = XUD_DoGetRequest(ep0_out, ep0_in, buffer, 2, sp.wLength);