Okay. I think I’m steps away from solving everything:
To get wifi working, I had to
-
Plug in a HDMI display and use the GUI to connect (this created a /etc/network/interfaces file)
-
add a line at the end to /etc/network/interfaces
# Stop connecting with wlan0. It doesn't work
iface wlan0 inet manual
-
Reboot
-
Delete all known Wifi Connections via the GUI
-
Connect to the one true Wifi Connection via wlan1
-
Reboot
AND now Wifi works.
The new problem being: The OLED shows “No Internet” when the DHCP table shows an IP leased to the Jetson Nano, and the Jetson Nano will accept SSH connections.
sudo find / -iname utils.py 2>/dev/null | grep jetbot/utils
/usr/local/lib/python3.6/dist-packages/jetbot-0.4.0-py3.6.egg/jetbot/utils/utils.py
/usr/local/lib/python2.7/dist-packages/jetbot-0.4.0-py2.7.egg/jetbot/utils/utils.py
/home/jetbot/jetbot/build/lib.linux-aarch64-2.7/jetbot/utils/utils.py
/home/jetbot/jetbot/build/lib/jetbot/utils/utils.py
/home/jetbot/jetbot/jetbot/utils/utils.py
and I’m just going one by one, replacing them with the file you linked at https://github.com/NVIDIA-AI-IOT/jetbot … 9b0a420bd9
EDIT:
Looks like the one that matters is /usr/local/lib/python3.6/dist-packages/jetbot-0.4.0-py3.6.egg/jetbot/utils/utils.py
Checking the diff between the copy on the image and the one linked shows
28c28,29
< if get_network_interface_state(interface) == 'down':
---
> state = get_network_interface_state(interface)
> if state == 'down' or state == None:
29a31
>
35c37,48
< return subprocess.check_output('cat /sys/class/net/%s/operstate' % interface, shell=True).decode('ascii')[:-1]
---
> if not os.path.exists('/sys/class/net/%s/operstate' % interface):
> #print("%s file does NOT exist" % interface)
> return None
>
> try:
> status = subprocess.check_output('cat /sys/class/net/%s/operstate' % interface, shell=True).decode('ascii')[:-1]
> except Exception as err:
> print("Exception: {0}".format(err))
> return None
> else:
> return status
>
Rebooted… still shows no internet on the OLED.
As I’m connecting to it via SSH without an ethernet cable.
that solved… one problem. and created another. Par for the course.
Have you got any other ideas, Santa_Impersonator? I think this has drifted away from the dark arts of Linux-Fu but I appreciate your helping me out this long.
From what I can tell, the OLED is being updated by a service? Created by create_stats_service.py? But I’m unsure what starts it.