How can I use SATA power for PCI-E boad ?

Hi,

I’ve tried to use PCI-E USB3.0 board by using SATA extention cord,
but I could not power on the TX1.
Can I use SATA power for PCI-E bard ?

Thanks in advance,

I’ve not heard of an externally powered PCIe USB board. Does this require an external power similar to a high end video card?

Thank you for your reply.

I’m trying to use Kinect V2 via PCIe USB3.0 (Runesas PD720202) board according to Jetson TX1 Installation · OpenPTrack/open_ptrack Wiki · GitHub (N.B.).

But when I connect Kinect V2 to PCIe USB3.0 without external power, Kinect V2 does not appear int the list of ‘lsusb’.
So, I think that PCIe USB3.0 for Kinect V2 needs external power, then I tried to use SATA power because that the power connecter is same as SATA power connector.

I’m using AREA —エアリア— |ルネサスD720202コントローラ搭載のUSB3.0ポート増設ボード||SD-PEU3R-2EL (sorry for japanese site).

How do I supply the power for PCIe USB3.0 board ?

I don’t have a board to try, but it looks like a SATA power connector should work. I don’t know if Jetson’s SATA power out delivers the amount of power the USB3 card requires, but seems to otherwise be compatible. If Jetson’s SATA power out is not sufficient I could easily see this interfering with boot.

Do other lower power USB devices work on the card when no SATA power is applied? Does the card work in another computer?

As an experiment, if you have a desktop computer running which has a spare SATA power out cable you might try using that external power source and see what happens.

Thank you for proposing some experiments.

I’ve tried to use spare SATA power of the desktop computer.
The PCIe USB board has been recognized by ‘lspci’ and Kinect V2 has been recogonized by ‘lsusb’.

So I need SATA power of Jetson.

According to the document 'Jetson TX1 Developper Kit Carrier Board Specification",
SATA power supplies 5V and 12V. It’s enough for external power for PCIe board.

If I connect SATA HDD with a branching cable of SATA Power and a SATA cable,
can I boot Jetson TX1 and use external SATA power ?

This does not answer your question, but may help if all you are trying to do is get the Kinect V2 work with the TX1.

The Kinect V2 will run off the Jetson TX1 USB port with a patch recently supplied by NVIDIA. See:

Dear Kangalow, thanks for you reply.

I know your great job and have successfully traced your job according to the URL.
However, I’ve not been able to apply to OpenPTrack yet.

I think it caused by the difference of OpenPTrack/libfreenect2 with original libfreenect2.

Now, I’m trying to solve the problem of SATA power supply,
and also to apply your patch solution to OpenPTrack.

If you have the solution for OpenPTrack, please teach me.

Thanks in avdvance.

Were you able to get the Kinect V2 working with the Protonect example on libfreenect2?

I was able to get the Kinect V2 connected to onboard USB3.0 working with the Protonect example on your patched libfreenect2.

However I was not able to apply OpenPTrack with it, so I reinstalled Jetpack and OpenPTrack.

Now I was able to get the Kinect V2 connected to PCI-E USB3.0 supplied the power of the desktop computer working with the Protonect example OpenPTrack libfreenect2.

Then I’m tring to solve each problem.

I do not understand what you mean by ‘SATA power supply’. Here’s the background:

In the past, the Kinect V2 did not work with the USB 3.0 port on the Jetson TX1 due to USB driver issues. As a workaround, people were using PCIe USB 3.0 cards, such as the one recommended in the OpenPTrack install page:

The card is powered by the PCIe bus.

With NVIDIA supplying a patch to fix the USB driver issue, the built-in USB 3.0 can be used without the need for an extra PCIe card. As you noted, libfreenect2 works now as demonstrated by the Protonect example.

From the OpenPTrack installation page:

you should be able to get through Step 13 successfully.

Were you able to complete Step 14?

I think the confusion is that the particular PCIe card is supplying USB3 ports which demand more power than what a PCIe bus can support (future PCIe gen. 4 changes this, but Jetson is gen. 2…even if this PCIe bus supported gen. 4 the power regulator would still need to be redesigned for increased current delivery).

In terms of the SATA power connector on the Jetson I would not use it to supply anything more than a single SATA hard drive. I would not expect this to be sufficient for the external power connector on a PCIe card which supports powering multiple USB3 ports. In no case should external power be applied to that connector (external power applied to the cable at best would not be delivered to the Jetson, and at worst would destroy components).

I’ve tried to use two PCIe cards (based on Runesas PD720201 and PD720202) according to the OpenPTrack installation page.
I was not able to buy Rosewill RC-508 shown in linked page.

After getting your patched libfreenect2, I tried to do Step 14 in the OpenPTrack installation page.
But I was not able to install OpenPTrack/iai-kinect2, so I installed code-iai/iai-kinect2.
Although I went through Step 15 (install OpenPTrack) successfully, I was not able to do network calibration command:
‘roslaunch opt_calibration listener.launch’ because of something different from OpenPTrack iai-kinect2.

Thank you for your information about SATA.
I think that using USB3 on board is better than using USB3 on PCIe.
I will concentrate on applying your patch to OpenPTrack libfreenect2.

I applied your patch ‘firmwarePatch.sh’.
Kinect V2 connected USB3.0 on board is working with OpenPTrack/{libfreenect2, iai-kinect2}.
I mean I went through Step 15 in the installation of OpenPTrack.
Thank you so much for your great job and many kind replies.

I will go next step “network calibration” in OpenPTrack.

That’s great to hear kfuji ! I’m sure you will be able to work through the rest of the issues easily.

I have a question related with PCIe USB card…
I’ve bought the other model from Fresco Logic but didn’t work.

for Jetson (or Linux), isn’t it supposed to work automatically? or should I install some driver to use PCIe card?

if you guys have an experience without install any driver, could you share the product name?

Thank you.

There is more than one driver involved. PCIe has a driver, but this has no requirements and will always be installed. The result would be the ability to see the card with “lspci”.

Then there is the USB chipset driver. If this is installed, then you can see the card with “lsusb”. I don’t have this card, but if you see this “CONFIG_NET_VENDOR_RENESAS=y” in “zcat /proc/config.gz | grep CONFIG_NET_VENDOR_RENASAS”, then possibly that is enough.

Add to this that I saw one user on another platform say that this requires the Molex connector be powered. If this isn’t powered, then chances are fairly high that lsusb (and perhaps even lspci) will fail (depending on design a failing Molex power connector might also disable the ability to detect the hardware at either the USB chipset or the PCI chipset). Is the Molex power running? Do you see the “CONFIG_NET_VENDOR_RENESAS=y”?

first of all, I really appreciated with your considerate comment.
as you mentioned everything seems normal.(log below)
then things I can try would be two.

  1. connect power to PCI board (Molex)

    • is it possible to have some power source from Jetson Xavier? or should I need another power supplyer?
  2. buy the other PCIe card

    • If number 1. is not working then, I will buy the other card with only two USB port…
   camera-jetson:~$ lspci
    0001:00:00.0 PCI bridge: NVIDIA Corporation Device 1ad2 (rev a1)
    0001:01:00.0 SATA controller: Marvell Technology Group Ltd. Device 9171 (rev 13)
    0005:00:00.0 PCI bridge: NVIDIA Corporation Device 1ad0 (rev a1)
    0005:01:00.0 PCI bridge: PLX Technology, Inc. PEX 8608 8-lane, 8-Port PCI Express Gen 2 (5.0 GT/s) Switch (rev ba)
    0005:02:01.0 PCI bridge: PLX Technology, Inc. PEX 8608 8-lane, 8-Port PCI Express Gen 2 (5.0 GT/s) Switch (rev ba)
    0005:02:05.0 PCI bridge: PLX Technology, Inc. PEX 8608 8-lane, 8-Port PCI Express Gen 2 (5.0 GT/s) Switch (rev ba)
    0005:02:07.0 PCI bridge: PLX Technology, Inc. PEX 8608 8-lane, 8-Port PCI Express Gen 2 (5.0 GT/s) Switch (rev ba)
    0005:02:09.0 PCI bridge: PLX Technology, Inc. PEX 8608 8-lane, 8-Port PCI Express Gen 2 (5.0 GT/s) Switch (rev ba)
    0005:03:00.0 USB controller: Fresco Logic FL1100 USB 3.0 Host Controller (rev 10)
    0005:04:00.0 USB controller: Fresco Logic FL1100 USB 3.0 Host Controller (rev 10)
    0005:05:00.0 USB controller: Fresco Logic FL1100 USB 3.0 Host Controller (rev 10)
    0005:06:00.0 USB controller: Fresco Logic FL1100 USB 3.0 Host Controller (rev 10)
    camera-jetson:~$ lsusb
    Bus 009 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    Bus 010 Device 008: ID 2676:ba05 Basler AG
    Bus 010 Device 009: ID 2676:ba05 Basler AG
    Bus 010 Device 005: ID 2676:ba05 Basler AG
    Bus 010 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
    Bus 008 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
    Bus 007 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    Bus 006 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
    Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
    Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
    Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    camera-jetson:~$ zcat /proc/config.gz | grep CONFIG_NET_VENDOR_RENESAS
    CONFIG_NET_VENDOR_RENESAS=y

I just tested with powersupply.
it works well!!!
Thank you so much…!
and now, Is there any connector for power from Jetson Xaiver to Molex?

The extra Molex connector is due to the board requiring more power than the PCIe bus standards can handle. Thus this board needs external power through that connector. The Jetson itself does not have any power rails sufficient for that, so an external power source is needed. Even on a desktop PC you would end up with a separate cable from the power supply to the expansion card, and not from the motherboard, and so I think you will not find any simple way to do this directly from the Jetson.

The USB3 specification added quite a boost to the amount of power output available from any root HUB to connected devices, and for a card with multiple root HUBs, this is multiplied. Each “root hub” you see in the “lsusb” multiplies the amount of power required. Your lsusb is actually indicating requirements significantly beyond the default power supply in the development kit if each port actually has something connected, and if also whatever is on the connector truly uses that much power.

1 Like

understood.
Thank you for your comment :)