diff --git a/module_usb_aud_shared/endpoint0/descriptors_2.h b/module_usb_aud_shared/endpoint0/descriptors_2.h index e8cb0a3d..17b96bd8 100644 --- a/module_usb_aud_shared/endpoint0/descriptors_2.h +++ b/module_usb_aud_shared/endpoint0/descriptors_2.h @@ -239,7 +239,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 */ @@ -1347,7 +1347,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 071dda08..601dcc6e 100755 --- a/module_usb_aud_shared/endpoint0/endpoint0.xc +++ b/module_usb_aud_shared/endpoint0/endpoint0.xc @@ -591,7 +591,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);