Cannot obtain IP Address when flashing jetson

I am not sure how to get the IP address. I typed $ifconfig into my host’s terminal but the download window keeps saying I’m incorrect.

Also, when it says to hard reboot my device, does that mean just pressing reset?

When Jetson arrives, it uses the common DHCP scheme to get its IP address. This means your router (or host, if working on a private network) needs to respond to the DHCP and assign an address. So the router might have an interface to see what addresses it has assigned.

Otherwise, you probably have to log in directly to Jetson to run ifconfig from Jetson itself to find the address. If you do not have a mouse/keyboard/monitor setup, the serial port can be read from your host just like a text terminal (and can run ifconfig from that). Serial port is very very important if you are developing, as it works even when all else fails.

Hard boot will cause corruption, possibly handled by the journalling of the file system, perhaps not. The exception being of course when flashing, as flash does not run the operating system (it runs a 3pserver, but that’s a different story). Holding the power button down hard resets; the reset button can do this as well. The question is: At what stage is the system when you are wondering about hard reboot?

I ended up setting up a keyboard, mouse and monitor. The board is not connected to a network, though. I am not sure how to connect it to the network so that I can obtain the IP address

In general, Jetson is no different than any other Linux system. L4T is just a customized Ubuntu 14.04 LTS. Much of what you see here applies, including network information:
https://help.ubuntu.com/14.04/index.html

As it arrives, Jetson does not need any special network setup (other than set a new password for user ubuntu if the network is going to be reachable from outside…default passwords cause issues very fast when someone malicious sees it…being behind a router tends to help). The DHCP protocol simply depends on plugging the cable in to a router or anything which responds to network address requests. If you do not connect to a router, or if your router needs some special setup (like a MAC address), then there is a bit more involved (not much).

An unchanging static address can be assigned if no router is involved and you are on a private network.

Where is your ethernet cable connected? A router? direct to a linux host without a router? Knowing how it is connected changes the answer.

the ethernet cable is connected to my host pc

This means you have a few of choices.

If you have a router, and both PC and Jetson can be plugged into the router, then DHCP from the router could assign the address to the Jetson and the pair could talk to each other through the router. You’d simply move the cable on Jetson to the router instead of directly to the PC, then you’d query the router to find out what address it assigned.

Or, you can set up your linux host PC as a DHCP server (there is some complexity involved in this), making sure it responds to the MAC address of the Jetson.

Or, you can set Jetson to have a fixed, static address. If the network connecting the Jetson to the PC is private, this is simple. If the network is shared with a public interface, this is not advised (reworded, some address ranges are routable over the internet, and should not be statically assigned…other addresses, e.g., 192.168.x.x or 10.x.x.x, are not routable over the internet and won’t have issues with static assignment).

Do you have a router? If so, just plug Jetson into this, boot it up, and check your router for the address that the router assigned.

If not, what is the nature of the network that the PC uses to connect to Jetson? Is it behind a router? Is the PC’s address block something like 192.168.x.x or 10.x.x.x?

Right now I have it set up with another Ethernet cable plugged into the wall, and the other end right into the Ethernet spot on the jetson. I need to reflash the device though because i messed up some settings (im hoping reflashing will fix this.)
Do you think it will work how it is set up now?

Actually I just tried what I posted in the above comment. It says disconnected, and wont connect to the network

It all depends on what is behind the wall. The wall might connect to a router (e.g., many universities have an enormous router assigning otherwise non-routable IPs…or the wall could have DHCP directly to a routable IP…in which case the login needs the password changed before connecting it). The wall could also be just a switch with no DHCP touching it. It’s hard to overstate the importance that in the case of a publicly visible routable IP address you must change the password before connecting (once again, if the wall goes to a router, you’re probably safe).

To know what’s going on, you really need the serial port connected, or else run “ifconfig” from a console. This is a key point and it is nearly impossible to advise anything without knowing the output of “ifconfig”. Can you run that and paste the output here?

Flash itself does not use the network. Software updates and optional package install probably does, but only the micro-B USB cable (comes with Jetson) is used for actual flash, and update of other software is only attempted after actual flash is complete. The Jetson arrives with L4T R19.2, which is not recommended for long term use; the more recent L4T R21.3 is highly recommended. However, if networking was failing before, there is no reason to believe flash will provide a working configuration for the network…all L4T versions are set to use DHCP exactly the same way.

I am giving up on trying to use jetpack to install CUDA. Now that my device is flashed, I just want to get on the network and download it from the device. However, I plugged in the ethernet cable that is connected to my router and it still says disconnected.

I use a Fedora host, so I can’t use JetPack. I’ve never found any problem doing manual installs; most of the work is in finding the URLs (some addresses at https://devtalk.nvidia.com/default/topic/793798/embedded-systems/some-jetson-web-links/).

Installing L4T directly never uses the internet, so although it forces knowing what other packages you want, it can also simplify things.

There should at least be some sort of link LED indicator somewhere that acknowledges a cable connected between Jetson and the router (the router might not be set up to allow assignment to Jetson at a software level, but hardware should be seen). Simply plugging the Jetson in to a network switch with LED indicators could validate that the hardware works; similar if the router has LED indicators. Even if it doesn’t show, the cable itself could be the issue, and trying a second cable would help. So for clarification, what defines “disconnected”? ifconfig? LED indicators? A web interface to the router? ping from another device? The answer to this changes how to answer other questions.

I can install CUDA without using the internet?

Well earlier I plugged the router directly into the jetson (disconnected it from my host PC). The internet worked, but then I clicked ‘delete’ under network connections. I ended up reflashing the board because I couldnt get it to reconnect after that. And now that the board is reflashed, It shows up with “Wired connection 1” under the netowrk connections, but it doesnt connect.

Also, there is no LED to tell

If you can get the CUDA package to your machine (PC or Jetson), you can install it without the internet; therein is the trick…e.g., if you can use a web browser from the PC to download the CUDA package, you could then copy it via thumb drive or SD card to Jetson, and install directly. The update URLs for all packages would unfortunately not work without the network.

Since I tend to develop under Fedora, I mostly ignore the Ubuntu graphical tools and edit configuration files directly. Sorry I can’t give much advise on network GUI tools for Jetson, but it sounds like the wired connection is correct. Routers and caching are a weak point, so it may be that you need nothing more than rebooting the router itself…the prior connect to the router may have cached something that the flashed Jetson doesn’t work with. I suggest turn off the Jetson, reboot the router, and turn the Jetson back on…it might work without more effort. Also, routers tend to have web interfaces and logs or other indicators to say what is wrong with the connection…poking around in the router might be more beneficial than poking around on Jetson.

It would still be very helpful to know the output from Jetson of “ifconfig”. This is where serial ports are very nice, the output could be mouse copied directly from your host.

hmm, well I installed the .deb file…now im not really sure what is next. I feel like I still need access to the internet

Also, I cant really show you what it says since I do not have internet on the jetson.

One of the .deb files simply adds the nVidia repository to the list of repositories for remote search. This won’t help without internet, but the .deb for actual CUDA will be available as well, this is the file you’d want…had the internet been available, the other .deb file automates finding it. Without internet, it becomes manual download and copy to Jetson.

The serial console would allow you to operate on Jetson from your host, thus allowing you to copy and paste from a machine that does have internet and thus making it possible to quote results from Jetson to the forums. A NULL-modem cable on the 9-pin serial port will do the job; if your host does not also have a 9-pin connector, or if the distance is too far, you can get a USB serial UART (DB9 connector on one end, USB on the other end), e.g.:
http://www.newegg.com/Product/Product.aspx?Item=N82E16812156039

Even if you cannot mouse copy and paste, does ifconfig show an “eth0” entry? If so, the MAC address (HWaddr) might need to be added to your router for it to allow the Jetson to get an address. Additionally, if you have the “eth0” entry, what’s the output of the “inet addr” (just give the first digits, e.g., 192.x.x.x or 10.x.x.x)?

I do not see the full download anywhere.

There is an eth0 entry, but not an IP address. It just gives the HWAddr

It looks like the repo deb is the only one shown, I’ll see if I can find somewhere to download it (would still require logging in to developer.nvidia.com).

The eth0 entry with MAC but no IP means the network hardware is there, and the hardware works…but no DHCP response was received (your router is responsible for this response). This really looks like your router just needs to be told to allow Jetson to have an address (typically via MAC address). There must be some sort of admin connection to your router, e.g., a web interface. Getting the router to respond would greatly simplify things.

Setting up a fixed/non-DHCP static address and letting your linux box forward would also work, although it would be more complicated than setting the router to respond (I use a static address on a private network). The only way you would be able to do this without a lot of difficulty though is if the PC is connected to a switch, the switch to the router, and the Jetson to the switch; plus the PC address would itself need to be non-routable. What are the first digits of your PC’s address? You’re in luck if it is something like 192.x.x.x, 10.x.x.x, or 169.x.x.x.

This is one of those ordinary Ubuntu things, and not specific to Jetson (Ubuntu admin documents apply)…I won’t guarantee it, but this is likely NetworkManager getting in the way. I remember in the past every time it thought wireless should come up (even though I don’t use it) that it thought the fixed ethernet should be disabled (pretty much every reboot wiped out my static settings). At one point I may have even removed NetworkManager to stop the behavior…I just can’t remember the details though. There should be a GUI app on the desktop which will let you disable WiFi, and then be able to set ethernet to static address. Have you looked at the applications for network administration which run from the graphical desktop?

I’ve had a chance to check some things, and adding at least part of what my setup is to keep a static address.

In the past I found some of the software config which was supposed to be automatically picked up was not always so. In “/etc/network/” I manually edited file “interfaces” to force read of an individual file which for whatever reason was not being picked up. I added this line to the file:

source interfaces.d/eth0

…this change manually added eth0 even if other software which should have read it did not.

In “/etc/network/interfaces.d/” I added file “eth0”. The content of this is:

auto eth0
iface eth0 inet static
address 192.168.1.3
netmask 255.255.255.0
gateway 192.168.1.2

(edited gateway for typo)

There may have been other changes as well which I didn’t see, but I think most of issues were caused by NetworkManager…there were some very subtle details which made this frustrating.