Re: bus powered hub reported as self powered

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Apr 2, 2015 at 9:10 AM, Peter Chen <peter.chen@xxxxxxxxxxxxx> wrote:
> On Wed, Apr 01, 2015 at 10:57:54AM +0800, Rong Wang wrote:
>> Hi Alan,
>>
>> Thanks for the confirmative answer, since I suspect it's the bug
>> of the hub first, but all the three hubs at my hand report the same
>> status.
>>
>> I can see why the hubs are reported as self powered, e.g. if there's
>> a device configured with max power equals to 120 mA, if the hub is
>> self powered, the configuration will be rejected by kernel. But if it's
>
> You mean bus powered?

Yes

>> reported as self powered, per port power limit is 500 mA, so the
>> device may be configured and maybe work normal.
>>
>
> I see your hub report its max power is 100 mA, so if it can report
> as self powered, then the hub's behavior is correct, and will not be
> rejected by kernel. And you should get an error message when the device
> which declares its max power larger than 100mA plugs in hub's port, right?

The external hub could be enumerated regardless of it's reported to linux as
self-powered or bus-powered.
The difference is that when it's reported as self-powered / bus-powered, driver
will set the per port power limit to 500 mA / 100 mA. When a usb device is
attached to one port of the hub, driver will compare the MaxPower of the
configuration of the device with the hub port power limit, if the MaxPower is
greater than the port power limit, the configuration will be rejected.

>> But will it cause a runtime error? Say I have a embeded usb host which
>> can supply 500 mA at most, when the hub reported as self powered and
>> attached with two devices both with max power equals to 250 mA. Both
>> device can be configured, but if they are both working at the most power
>> requirement at the same time, there should be some power problem, right?
>>
>> Regards
>> Rong
>>
>> On Tue, Mar 31, 2015 at 9:48 PM, Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> wrote:
>> > On Tue, 31 Mar 2015, Rong Wang wrote:
>> >
>> >> Hi all,
>> >>
>> >> I'm on USB certification of a vendor SoC, and there's a case called
>> >> "Bus powered hub power exceeded test" in the compliance plan defined
>> >> by the usb.org. It requires an error message when a device (Max power
>> >> descriptor >100mA) is attached to an external bus powered hub.
>> >>
>> >> But when I attached the bus powered hub to Linux (Ubuntu 14.04), I
>> >> found that it always reported as self powered
>> >
>> > ...
>> >
>> >> The hub->mA_per_port is always set as full_load (500mA for usb 2.0
>> >> hub) since reported as self powered hub.
>> >> So when I attach a usb device with ( 100mA < Max power descriptor <=
>> >> 500mA), linux won't show error messages.
>> >>
>> >> I'm wondering why the bus powered hub reported as self powered? And is
>> >> any switch to make it bus powered?
>> >
>> > The reason is simple: The hub is buggy.  It tells the computer that it
>> > is self-powered even though it isn't.
>> >
>> > No, there is no switch to fix it.
>> >
>> > Alan Stern
>> >
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-usb" in
>> the body of a message to majordomo@xxxxxxxxxxxxxxx
>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>
> --
>
> Best Regards,
> Peter Chen
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux