A USB device , comprising: a power port for receiving power from a power source; one or more device ports configured for coupling to devices , wherein the one or more device ports are coupled to the power port, wherein the one or more device ports are configured to provide at least a portion of the power from the power source to a device coupled to the one or more device ports, wherein the at least a portion of the power is usable by the device coupled to the one or more device ports to charge a battery of the device ; device logic coupled to the power port and the one or more device ports, wherein the device logic is configured to: provide a first handshake according to a first device type via a first device port of the one or more device ports to a device coupled to the first device port for charging its battery without further communication from the USB device based on the first handshake and wherein the first handshake includes information with respect to a variable maximum level of current; monitor the first device port for a second handshake according to a second device type from the device coupled to the first device port; and in response to detecting the second handshake, provide a first response to the device of the second device type for charging its battery based on the first response to the second handshake, wherein preferably the first response is suitable for a plurality of different device types. a power port for receiving power from a power source; one or more device ports configured for coupling to devices , wherein the one or more device ports are coupled to the power port, wherein the one or more device ports are configured to provide at least a portion of the power from the power source to a device coupled to the one or more device ports, wherein the at least a portion of the power is usable by the device coupled to the one or more device ports to charge a battery of the device ; device logic coupled to the power port and the one or more device ports, wherein the device logic is configured to: provide a first handshake according to a first device type via a first device port of the one or more device ports to a device coupled to the first device port for charging its battery without further communication from the USB device based on the first handshake and wherein the first handshake includes information with respect to a variable maximum level of current; monitor the first device port for a second handshake according to a second device type from the device coupled to the first device port; and in response to detecting the second handshake, provide a first response to the device of the second device type for charging its battery based on the first response to the second handshake, wherein preferably the first response is suitable for a plurality of different device types. provide a first handshake according to a first device type via a first device port of the one or more device ports to a device coupled to the first device port for charging its battery without further communication from the USB device based on the first handshake and wherein the first handshake includes information with respect to a variable maximum level of current; monitor the first device port for a second handshake according to a second device type from the device coupled to the first device port; and in response to detecting the second handshake, provide a first response to the device of the second device type for charging its battery based on the first response to the second handshake, wherein preferably the first response is suitable for a plurality of different device types. <EOS>