USB Hub not working
Hi,
this is more of an information thread I guess, but maybe there also might be a solution.
I just got a USB 3.0 Hub and connected it to my Mini. I want to use an USB stick for printing and draw some power for an arduino nano controlled humidity sensor. The hub gets power indicated by an LED and also the arduino is working, but when connecting the USB stick nothing happens and in the Mini menu it says 'no USB'. Even the stick alone does not work.
My second USB port on the mini is blocked by octoprint, so I cant use that one (+ the hub is easier to reach for plugging a stick in).
I also opened a github issue for this, maybe the devs can fix it. I assume it's something about the USB driver, bot don't know. https://github.com/prusa3d/Original-Prusa-MINI/issues/48
Did anyone of you get a USB hub working?
Cheers
Octo
RE: USB Hub not working
Does the usb stick read/write ok when connected to a computer via the new hub?
Cheerio,
RE: USB Hub not working
@diem
Yeah, on my PC out shows all the content on the stick.
RE: USB Hub not working
and it can transfer files both ways via the hub?
The hub gets power indicated by an LED and also the arduino is working,
This is a powered hub, yes? You are not trying to power three devices from the printer?
What voltage are you getting on the power line?
Cheerio,
RE: USB Hub not working
@diem
Yes, I can transfer both ways on my computer.
The hub is not powered, though I measured 5.07 V on the hub usb ports.
The only thing I really power from the USB is the arduino nano. The USB stick is neglectable I think sand on the micro usb port of the Mini is my Raspberry Pi 4 connected, which is powered by an wall plug.
And also, when I only plug in the USB stick into the hub and nothing else, it's not working.
Since the hub is USB 3.0 I tried another stick which has also usb 3.0, but again not recognized.
Personally, I think it's something about the internal usb drivers of the mini board, because I think I read a fix in the firmware for some usb sticks lately.
RE: USB Hub not working
Hubs (especially cheap ones) can cause odd problems. Best to use powered hubs. Don't forget USB 2.0 is limited to 100mA so if hubs not powered hub can only deliver 100mA spread across all active ports.
RE: USB Hub not working
@towlerg
The printer's USB is not designed to be a power source.
Cheerio,
RE: USB Hub not working
However, it doesn't work with the USB stick only on the hub. This can't be a power draw issue. And the hub is working on my PC (+ I can power the arduino and that one is drawing more power than a single USB stick).
I don't know the exact differences between a hub and a simple cable extension, but there must be some wiring difference.
RE: USB Hub not working
I would take a wild guess that the mini firmware doesn't have support for USB hubs. It's probably designed to directly talk to USB thumbdrives and virtual serial over USB for things like octoprint.
That said with the Pi3 or newer you can backfeed power into the Pi though it's USB port. However the mini's microusb port does not supply power by default, you have to take out your buddy board and use a solder blob to bridge JP1 on the bottom of the board and then you will get power out of the microusb. However I would not attempt to power a Pi4 with this, very likely the port cannot supply the current that the Pi4 needs. I have been running a Pi3 A+ with this power backfeed method for about 4-5months now with no issue. but the Pi3 A+ draws significantly less power since it doesn't have things like the onboard usb hub and ethernet controller.
You can backfeed power into the older Pis as well, however they have one issue, they will only boot with power supplied though the normal method though the Pi's microusb, once booted you can remove this power and backfeed though the USB port. Pi3 and newer can boot off backfed power.
I have not found any information about how much power the microusb port can supply with this method. I actually haven't been able to find anything officially about this JP1, other than finding it myself on the schematic, taking a chance and putting a solder blob on it and then I had 5v coming out of the microusb port. So if you attempt this, you are doing it at your own risk.
Probably the two things that could happen if you put something requiring too much current on the port. You brownout the 5v bus on the buddy board and cause it to crash, or in an extreme case you turn the board traces going to the microusb into a fuse and burn them out.
RE: USB Hub not working
USB hub is its own device in the chain, It could be that there is no support (= no driver) for "generic USB hub" type of device. Or there is, but processes responsible for reading from USB are not permitted to use this type of device.
RE: USB Hub not working
@octo
"However, it doesn't work with the USB stick only on the hub. This can't be a power draw issue." True.
RE: USB Hub not working
@d0ug
"I would take a wild guess that the mini firmware doesn't have support for USB hubs." It's part of USB spec.
RE: USB Hub not working
@diem
"The printer's USB is not designed to be a power source." Certainly a true statement but I don't see anything to suggest that it is?
RE: USB Hub not working
@towlerg
It's part of the USB spec, but that doesn't mean the mini implements the full USB spec. there is only so much flash memory for the firmware and due to space reasons they may have only implemented the very specific uses cases of the USB spec that the mini required to work as advertised, aka ability to read a FAT formatted USB stick and to emulate a serial port over USB. If you have ever done any programming on microcontroller platforms you will know just how hacky this kind of support for USB/SD devices are, essentially bitbanging out what the specific USB/SD device expects off general GPIO pins rather than using a full fledged USB stack and USB PHY.
RE: USB Hub not working
@d0ug
Not wishing to be argumentative but there is no subset of USB 2. A device that does fulfill all the requirements is not a USB 2 device. I may be on thin ground here but I doubt is Prusa did anything like the hack you describe.
BTW As most people implement USB in hardware the whole discussion is pretty academic.
If a set of devices work without a hub but fail with a hub then it's a flying certainty that it's the hub.
RE: USB Hub not working
@towlerg
I won't argue, I am not a programmer to evaluate implementation. They provide documentation if you are nerdy, this is USB Host section: https://prusa3d.github.io/Prusa-Firmware-Buddy-Doc/d4/d57/class_u_s_b.html 😀