Problems during jetson nano startup

Hello, we designed PCB for nvidia jetson nano but on our board we have only USB-A port (on jetson nano USB0 Pins 109 & 111) for USB-Wifi module to debug jetson module.
We tried to boot in force recovery mode and connect USB0 to PC and from lsusb in terminal we get:
Bus 005 Device 006: ID 0955:7f21 NVIDIA Corp. APX
So we think it boots in recovery mode, but when we put FORCE_RECOVERY* to 1.8V our Wifi-module doesn’t connects to our wifi AP (but on dev board we set up it so that we need only to connect power and wifi-module).
We tried to get uart debug logs and realized that Jetson was not sending us anything on UART-2 (we check it on oscilloscope) neither in recovery nor in normal mode.
Can you help us?

Hi, do you mean it is OK on dev kit to the wifi module but NOK on your own board? I am not sure about why you need to put jetson into recovery mode for this?

Basically if it works on devkit, you can check the design difference between your board and dev kit to find out possible root cause.

I mean that on our board with FORCE_RECOVERY* pin fully disconnected jetson boots in recovery mode but on dev board it boots normally and we don’t know why, because UART2 doesn’t send us logs. We have followed power sequence from datasheet and SYS_RESET* pin turned up to 1.8V

Is it possible to flash board following guide(https://developer.nvidia.com/embedded/dlc/Jetson_Nano_Developer_Kit_User_Guide)? It looks like some design on your board is different to dev kit, did you check and compare to dev kit to list all design difference?

We flashed sd card with .iso from jetson nano get started guide and it boots normally on dev board. We didn’t found any design difference between our board and dev board except gpio, hdmi and ethernet.
Today we still managed to launch the jetson on our board (to do this we soldered off the secondary power 5V supply LMR14050SDDA and powered jetson directly from external laboratory power supply) and in this case we get UART logs with some errors. Can you read it please.log.txt (24.7 KB)

I don’t know if this is really what I am thinking of, but if it is, then you may have issues with revision:
[0000.135] A02 Bootrom Patch rev = 1023

The carrier board for a02 and b01 are not compatible. Only the earlier kits were a02. A carrier board designed to match any recent carrier board reference would be b02. Does your dev kit carrier board have only a single CSI connector next to the heat sink at the barrel jack end? If a single CSI, then the carrier is a01; if two CSI, then the carrier is b02. If the module works with the single CSI board, and the self-developed carrier follows b02 spec, then that module is not expected to work on that carrier even if the carrier is otherwise to spec. Everything sold these days is probably b02.

Can someone confirm if this is right or wrong about the log message with “[0000.135] A02 Bootrom Patch rev = 1023”?

Hi,

Is your “some errors” the I2C error in your log file?

We have dev kit A02 with single CSI carrier board. We followed this docs to design our board:
https://forums.developer.nvidia.com/t/jetson-nano-hardware-design-documentation/76329

We tried to connect USB Wifi module on our board, but dmesg and lsusb don’t write anything about Wifi module in terminal.
But on dev board Wifi Module successfully works with the same SD-card.

Hi,

But the design guide is for production module(emmc) but not devkit module(sdcard).
Does your module have sdcard slot on it?

If you are using sdcard image/iso on your module, then you put the wrong module on your carrier board.

Don’t know if it matters, but here are some related details to keep in mind while working on this:

  • The a02 board you have works only with SD card models; eMMC modules will not work on this.
  • The b01 board works with either SD card models or eMMC models.
  • The a02 and b01 revisions are not sold separately.
  • The eMMC model would normally be used with a third party carrier board, but if you remove an SD card model from a b01 carrier board, then the eMMC model should work on that. However, the software used for flash would differ.
  • The device tree for CSI on the a02 carrier would differ from CSI for b01; a02 has only a single CSI slot, and b01 has two such slots. Device tree changes are required for this.
  • USB routing might change depending on carrier board, which in turn is device tree.
  • Some WiFi dongles require their own firmware, and so even if the driver is present, a WiFi dongle without the correct firmware will still fail. To emphasize, not all WiFi dongles need extra firmware, but a significant number do.
  • Lack of firmware for a WiFi dongle would not cause USB to fail listing the module from “lsusb”. The USB part of such devices are independent of the drivers and other software used with the actual WiFi chipset.

We have module with sd-card and A02 revision dev kit board.

If you are using sdcard image/iso on your module, then you put the wrong module on your carrier board

Is it possible to force to work our module, because we have already bought 5 dev-kit modules and also can’t buy 5 production modules anyway?
And also EMMC module have only 16 GB, but we need at least 25 GB of memory, so on our dev-kit jetson module we use 32GB SD-card.
The problem is that we design robots-footballers for competitions and we have already done PCB’s for dev-kit modules.
We need your help very much as the competitions are very near. As we do not understand why the periphery of the Jetson may not work at all, how the CSI and USB differ on the dev-kit module and the production module?
Thank you very much.

In logs we found:

[0006.869] failed to init xhci or no usb device attached

Also we tried to connect raspberry pi camera v2 to jetson, but it doesn’t work with gst-launch. Can it be because i2c initialization failed (that was also in logs)?

For any case where you have a mix of an a02 module on a b01 carrier, or for a b01 module on an a02 carrier, failure is guaranteed. The two cannot mix. I suppose someone might know about a device tree edit which could work for basics, but might have some component non-functional…but I have no idea if that would work or not.

I don’t plan to mix them. I mean that we need to put module from A02 board to our own PCB and we can design almost any needed electronics to do this.

Also, I don’t understand how production module differ to module with SD-card. Is the only difference in memory and linux flashing method? In this case I don’t know why periphery don’t work on our PCB.

From peripherial we need USB for Wifi dongle, UART for laser distance sensor, UART to communicate with microcontroller STM32 and MIPI-CSI for raspberry pi camera v2.1

As far as I understood you have a big experience of using jetson.
How do you think can it works with our sd-card jetson module? Maybe it is possible to change some JetPack settings to make it work?

Dear sirs, we have a very big problem with A02 sd-card jetson module, can you, please, send us documentation for dev-kit (sd-card) module? We found only this: Jetson Nano Hardware Design Documentation and as I understood you it is the docs for production module that can’t work with A02.

Tell me please is there any difference between sd-card jetson module that goes with B01 board and sd-card jetson module that goes with A02?

I do not know of all of the differences, but there are some differences in how wiring is routed in a02 versus b01. This mandates a change to the device tree. Otherwise, hardware may end up being located somewhere different than where drivers are looking. I have no way to know what the exact change is which is required, but I’d guess about 90% likelihood that you are running into a device tree which needs to be edited for your carrier board and module combination. The flash procedure could work 100%, and yet the boot would fail if the flashed device tree is wrong (or at least parts of boot would fail).

A02 version is for development only not for production design, it is not compatible to B01/production dev kit carrier board. And the docs of A02 are not released as A02 board is just for software development. There is user guide of dev kit in which describe some difference of A02 and B01 board: https://developer.nvidia.com/embedded/dlc/Jetson_Nano_Developer_Kit_User_Guide

1 Like

Thank you very much now everything fell into place. All the same, now we have 5 modules from A02 dev-kits on our hands, can you provide us with schematic files for the A02 devboard, something like CAD project?
We need to understand the scale of the disaster, whether we urgently need to buy 5 more production modules or can we fix the electronics on our board

did you try exploring download section of the developers portal? using forum search?


https://developer.nvidia.com/embedded/dlc/Jetson-Nano-Carrier-Board-Reference-Design-Files

Yes, I tried and found these documents, but it seems to me that this is a devboard schematic for revision B01 (. But I need A02 schematic. (As I understand it, my Jetson module from A02 dev-kit will not work with the B01 board or is it wrong? And if the module from the A02 board should work with this circuitry, then I am completely confused. Anyway in a couple of days we will have one production Jetson module and we will try to launch our designed PCB with it but before that, I want to figure out whether the connection of the production module and the module from the A02 dev-kit is very different?)

I need these documents to design PCB for a non-commercial project to participate in international competitions RoboCup. I agree not to share these files with anyone in commercial purposes and use them only for personal educational use.
Is it possible to send it to me by email?
My email: michael.gorodov@gmail.com