RISC OS Open
Safeguarding the past, present and future of RISC OS for everyone
ROOL
Home | News | Downloads | Bugs | Bounties | Forum | Documents | Photos | Contact us
Account
Forums → Community Support →

USB device oddities

Subscribe to USB device oddities 4 posts, 3 voices

 
Jun 21, 2022 11:25am
Avatar Thomas Milius (7848) 67 posts

I have trouble with an USB device. It is an Huawei USB surf stick.
If connecting it to Raspian/PiOS everything is fine.
The stick is identified as CDC device.

But under RISC OS the device resets until eternity.
At every reset it changes its class (USB drive, CDC device).

If connecting it to non selfpowered hub the hub resets (sometimes). At Raspian I connected it to one of the UBS ports of the RPi 2B which is “selfpowered”.

I "self"powered the hub but the problem for the device stayed. I connected it by an Y-USB-cable to the selfpowered hub but the problem stayed.

Has anyone an idea how to cope with the problem or detected similar problems?

Several variants are possible. The device could reset itself until it gets a certain USB sequence which tells it that it is the right class. Also possible is that there is an oddity in the RISC OS USB stack causing resets without end.

Many thanks in advance for any ideas/hints/experience reports.

 
Jun 21, 2022 1:48pm
Avatar Thomas Milius (7848) 67 posts

Additional hint which I forgot to mention:
The device lies about its power consumption.
It says that it is buspowered but pretends to use only 2mA which is nonsense.

The problems are occuring on old USB 1.0 hubs as also on newer USB 2.0 hubs.

 
Jun 21, 2022 3:42pm
Avatar Rick Murray (539) 11630 posts

but pretends to use only 2mA which is nonsense.

If it keeps on resetting, it is possible that enumeration isn’t working correctly. Your comment about it changing class would lead me to suspect that this is the case.

Low power devices can only request up to 100mA, while high power devices can request up to 500mA.
This is specified during the enumeration stage, in units of 2mA, which could explain the origin of that value. Perhaps ‘1’ (2mA) is some sort of default?

It may well be the RISC OS stack. It isn’t as fully developed as the one in Raspbian is going to be.

I don’t quite understand the Y cable of the self powered hub. Why not plug the hub into the Pi and the gizmo into the hub? That way, there shouldn’t be any appreciable current draw from the Pi.

Do you have a USB current meter? Perhaps the Raspbian stack has a means of negotiating extra current draw over the 500mA limit? I know there must be a way to do it, my backup DVD writer runs off a single USB port and there’s no way that runs off a mere 500mA when writing.

Alternatively, if Raspbian has the usb-devices shell script, this should provide a lot of information including the requested current draw.

 
Jun 21, 2022 4:29pm
Avatar Steffen Huber (91) 1773 posts

Perhaps the Raspbian stack has a means of negotiating extra current draw over the 500mA limit?

AFAIK, there is no way to negotiate that beyond the “Power Delivery” stuff for charging phones, and that works via higher voltages.

I am pretty sure that the CD/DVD/Blu-Ray writers just use more juice, and most PCs are happy to deliver it.

I know there must be a way to do it, my backup DVD writer runs off a single USB port and there’s no way that runs off a mere 500mA when writing.

Typically, they specify 1.5 A or more.

Reply

To post replies, please first log in.

Forums → Community Support →

Search forums

Social

Follow us on and

ROOL Store

Buy RISC OS Open merchandise here, including SD cards for Raspberry Pi and more.

Donate! Why?

Help ROOL make things happen – please consider donating!

RISC OS IPR

RISC OS is an Open Source operating system owned by RISC OS Developments Ltd and licensed primarily under the Apache 2.0 license.

Description

Community-provided support for all users of RISC OS.

Voices

  • Thomas Milius (7848)
  • Rick Murray (539)
  • Steffen Huber (91)

Options

  • Forums
  • Login
Site design © RISC OS Open Limited 2018 except where indicated
The RISC OS Open Beast theme is based on Beast's default layout

Valid XHTML 1.0  |  Valid CSS

Powered by Beast © 2006 Josh Goebel and Rick Olson
This site runs on Rails

Hosted by Arachsys