unable to switch usb3 ports on
#1
Hi all,

I have a problem with the usb3 ports. I run an arch linux installation on a rock64. I followed the instructions in this thread 
https://forum.pine64.org/showthread.php?tid=5001
and that helped me to get usb2 ports working. But I can't do the same thing for the usb3 ports (toggle the right gpio to switch the regulator for usb3 on). Mostly I don't know, which gpio port belongs to the usb3 regulator.

Maybe someone can give me a hint.

Thanks in advance and

Best regards,
Christoph
  Reply
#2
(05-14-2018, 12:15 PM)cglhu Wrote: Hi all,

I have a problem with the usb3 ports. I run an arch linux installation on a rock64. I followed the instructions in this thread 
https://forum.pine64.org/showthread.php?tid=5001
and that helped me to get usb2 ports working. But I can't do the same thing for the usb3 ports (toggle the right gpio to switch the regulator for usb3 on). Mostly I don't know, which gpio port belongs to the usb3 regulator.

Maybe someone can give me a hint.

Thanks in advance and

Best regards,
Christoph

ROCK64 schematic page 15.

http://files.pine64.org/doc/rock64/ROCK6...171019.pdf
  Reply
#3
(05-14-2018, 11:20 PM)tllim Wrote:
(05-14-2018, 12:15 PM)cglhu Wrote: Hi all,

I have a problem with the usb3 ports. I run an arch linux installation on a rock64. I followed the instructions in this thread 
https://forum.pine64.org/showthread.php?tid=5001
and that helped me to get usb2 ports working. But I can't do the same thing for the usb3 ports (toggle the right gpio to switch the regulator for usb3 on). Mostly I don't know, which gpio port belongs to the usb3 regulator.

Maybe someone can give me a hint.

Thanks in advance and

Best regards,
Christoph

ROCK64 schematic page 15.

http://files.pine64.org/doc/rock64/ROCK6...171019.pdf

Hi tllim,

Thanks for your hint, but I can't read that. I tried something similar to usb3 that Mark Harris did for usb2 (thanks a lot Mark!):
Code:
#!/bin/bash
# rock64_usb_power_service.sh
#
# Mark H. Harris
# v0.1b
#
#
PWRON=0
PWROFF=1
GP=2
GPOUT="out"
GPPATH="/sys/class/gpio"
GPVALUE="value"
GPMODE="direction"

## remove gpio if already exported
if [ -d $GPPATH/gpio$GP ]
then
  echo $GP > $GPPATH/unexport
  sleep 2
fi

# export the gpio, and set if ready
echo $GP > $GPPATH/export
sleep 2
if [ -e $GPPATH/gpio$GP/$GPMODE ]
then
  echo $GPOUT > $GPPATH/gpio$GP/$GPMODE
  sleep 2
  echo $PWRON > $GPPATH/gpio$GP/$GPVALUE
fi

But I don't know, which gpio port to toggle for usb3 power.

Best regards,
Christoph
  Reply
#4
The power supply of three usb-ports (usb-2.0 x 2, usb-3.0 x 1)
is controlled by the same control signal, it is not designed to be individually controllable.
And its control signal is GPIO-2.

If you are controlling the power(V-BUS) of usb-2.0 with the script you presented here
The power(V-BUS) supply of usb-3.0 should also be controlled at the same time.

----
However, the above answers will not solve your problem.
Because you already have control over the power of usb-3.0 .

What image was used
What is the problem in doing so
I think that it is better to present your problem more concretely.
  Reply
#5
(05-15-2018, 07:20 PM)t4_4t Wrote: The power supply of three usb-ports (usb-2.0 x 2, usb-3.0 x 1)
is controlled by the same control signal, it is not designed to be individually controllable.
And its control signal is GPIO-2.

If you are controlling the power(V-BUS) of usb-2.0 with the script you presented here
The power(V-BUS) supply of usb-3.0 should also be controlled at the same time.

----
However, the above answers will not solve your problem.
Because you already have control over the power of usb-3.0 .

What image was used
What is the problem in doing so
I think that it is better to present your problem more concretely.

Hi t4_4t,

thanks for your reply. I'm running a arch linux installation from https://archlinuxarm.org as a headless mail server. For backup reasons I would like to use the usb ports. With the script I mentioned, I managed to activate the usb2.0 ports, but the usb3.0 port has still no power. 
Are you quite sure, that both are handled via the same gpio? With the Android image both ports are functioning quite well, so there's no hardware fault.

Best regards,
Christoph
  Reply
#6
(05-15-2018, 07:20 PM)t4_4t Wrote: The power supply of three usb-ports (usb-2.0 x 2, usb-3.0 x 1)
is controlled by the same control signal, it is not designed to be individually controllable.
And its control signal is GPIO-2.

No, not quite. It depends on what version of board you have. Whilst all three ports (USB OTG upper, USB lower and USB3) have individual 'power switch' ICs, the two USB2 ports have their enabled pins tied together. Version 1.0 had USB20_HOST_DRV (GPIO0_A2) and the USB3 port was on GPIO0_A0. But it seems that Version 2.0 still has the USB2 ports commoned and on USB20_HOST_DRV (GPIO0_A2), the USB3 port is on PWR_LED, meaning that by rights, the USB3 port for that version should be on as soon as the power is connected.

Since I have both versions of the board, I should be able to test that easily enough...

(05-16-2018, 11:26 AM)cglhu Wrote: thanks for your reply. I'm running a arch linux installation from https://archlinuxarm.org as a headless mail server. For backup reasons I would like to use the usb ports. With the script I mentioned, I managed to activate the usb2.0 ports, but the usb3.0 port has still no power. 

With that variable in mind, can you identify which board version you have? If you haven't seen it already, it's marked on the board just next to the pinecone logo near the RAM and CPU.
  Reply
#7
(05-17-2018, 02:25 AM)pfeerick Wrote:
(05-15-2018, 07:20 PM)t4_4t Wrote: The power supply of three usb-ports (usb-2.0 x 2, usb-3.0 x 1)
is controlled by the same control signal, it is not designed to be individually controllable.
And its control signal is GPIO-2.

No, not quite. It depends on what version of board you have. Whilst all three ports (USB OTG upper, USB lower and USB3) have individual 'power switch' ICs, the two USB2 ports have their enabled pins tied together. Version 1.0 had USB20_HOST_DRV (GPIO0_A2) and the USB3 port was on GPIO0_A0. But it seems that Version 2.0 still has the USB2 ports commoned and on USB20_HOST_DRV (GPIO0_A2), the USB3 port is on PWR_LED, meaning that by rights, the USB3 port for that version should be on as soon as the power is connected.

Since I have both versions of the board, I should be able to test that easily enough...

(05-16-2018, 11:26 AM)cglhu Wrote: thanks for your reply. I'm running a arch linux installation from https://archlinuxarm.org as a headless mail server. For backup reasons I would like to use the usb ports. With the script I mentioned, I managed to activate the usb2.0 ports, but the usb3.0 port has still no power. 

With that variable in mind, can you identify which board version you have? If you haven't seen it already, it's marked on the board just next to the pinecone logo near the RAM and CPU.

Hi pfeerick,
I have a Rock64 V2.0 (2017 07/13). Does that help?
Best regards,
Christoph
  Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  USB3 SATA ReleaseTheGeese 2 2,674 04-04-2021, 12:55 PM
Last Post: ReleaseTheGeese
  USB3 to SATA cable - Firmware Eule 0 2,149 03-03-2020, 01:31 PM
Last Post: Eule
  USB3 enough to power 2,5 external HDD? va88 11 13,868 06-06-2019, 03:40 PM
Last Post: va88
  Damaged / poorly-soldered ports? kasane 0 1,689 05-15-2019, 11:14 AM
Last Post: kasane
  are the usb ports on rock64 on separate bus? shome 1 2,973 09-22-2018, 01:29 AM
Last Post: evilbunny
  Best USB3.0 to SATA bridge mikedhoore 6 14,808 10-02-2017, 07:52 AM
Last Post: mikedhoore

Forum Jump:


Users browsing this thread: 1 Guest(s)