I have a Jetso Nano running Fedora 33 following this guide:
I want to use it to play with home automation and I have node-red installed and have hacked together a node based on the Rpi GPIO node for the Jetson.
I have copied the udev rules into /etc/udev/rules.d but I don't see the devices, there is no /sys/class/gpio. I changed the udev loglevel to info and see:
Mar 30 07:21:29 pulseaudio[1243]: Failed to find a working profile. Mar 30 07:21:29 pulseaudio[1243]: Failed to load module "module-alsa-card" (argument: "device_id="0" name="platform-70030000.hda" card_name="alsa_card.platform-70030000.hda" namereg_fail=false tsched=yes fixed_latency_range=no ignore_dB=n> Mar 30 07:21:29 upowerd[698]: treating change event as add on /sys/devices/platform/70030000.hda/sound/card0/input1 Mar 30 07:21:29 pulseaudio[1243]: Failed to find a working profile. Mar 30 07:21:30 pulseaudio[1243]: Failed to load module "module-alsa-card" (argument: "device_id="0" name="platform-70030000.hda" card_name="alsa_card.platform-70030000.hda" namereg_fail=false tsched=yes fixed_latency_range=no ignore_dB=n> Mar 30 07:21:30 pulseaudio[1243]: Failed to find a working profile. Mar 30 07:21:30 pulseaudio[1243]: Failed to load module "module-alsa-card" (argument: "device_id="0" name="platform-70030000.hda" card_name="alsa_card.platform-70030000.hda" namereg_fail=false tsched=yes fixed_latency_range=no ignore_dB=n> Mar 30 07:21:30 upowerd[698]: treating change event as add on /sys/devices/platform/70090000.usb/usb1 Mar 30 07:21:30 upowerd[698]: treating change event as add on /sys/devices/platform/70090000.usb/usb2 Mar 30 07:21:30 upowerd[698]: treating change event as add on /sys/devices/platform/70090000.usb/usb1/1-0:1.0 Mar 30 07:21:30 upowerd[698]: treating change event as add on /sys/devices/platform/70090000.usb/usb1/1-2 Mar 30 07:21:30 upowerd[698]: treating change event as add on /sys/devices/platform/70090000.usb/usb2/2-1 Mar 30 07:21:30 upowerd[698]: treating change event as add on /sys/devices/platform/70090000.usb/usb1/1-2/1-2:1.0 Mar 30 07:21:30 upowerd[698]: treating change event as add on /sys/devices/platform/70090000.usb/usb2/2-0:1.0 Mar 30 07:21:30 upowerd[698]: treating change event as add on /sys/devices/platform/70090000.usb/usb2/2-1/2-1:1.0 Mar 30 07:21:30 /usr/libexec/gdm-x-session[1077]: (II) config/udev: Adding input device jetson-nano-hda HDMI/DP,pcm=3 (/dev/input/event1) Mar 30 07:21:30 /usr/libexec/gdm-x-session[1077]: (II) No input driver specified, ignoring this device. Mar 30 07:21:30 /usr/libexec/gdm-x-session[1077]: (II) This device may have been added with another device file. Mar 30 07:21:30 upowerd[698]: treating change event as add on /sys/devices/platform/70030000.hda/sound/card0/input1/event1 Mar 30 07:21:30 upowerd[698]: treating change event as add on /sys/devices/platform/gpio-keys/input/input0 Mar 30 07:21:30 upowerd[698]: treating change event as add on /sys/devices/virtual/input/mice Mar 30 07:21:30 /usr/libexec/gdm-x-session[1077]: (II) config/udev: removing device gpio-keys Mar 30 07:21:30 /usr/libexec/gdm-x-session[1077]: (**) Option "fd" "35" Mar 30 07:21:30 /usr/libexec/gdm-x-session[1077]: (II) event0 - gpio-keys: device removed Mar 30 07:21:30 /usr/libexec/gdm-x-session[1077]: (II) UnloadModule: "libinput" Mar 30 07:21:30 /usr/libexec/gdm-x-session[1077]: (II) systemd-logind: releasing fd for 13:64 Mar 30 07:21:30 systemd-udevd[3107]: Using default interface naming scheme 'v245'. Mar 30 07:21:30 systemd-logind[749]: Watching system buttons on /dev/input/event0 (gpio-keys) Mar 30 07:21:30 upowerd[698]: treating change event as add on /sys/devices/platform/gpio-keys/input/input0/event0 Mar 30 07:21:30 systemd-udevd[3116]: Using default interface naming scheme 'v245'. Mar 30 07:21:30 /usr/libexec/gdm-x-session[1077]: (II) config/udev: Adding input device gpio-keys (/dev/input/event0) Mar 30 07:21:30 /usr/libexec/gdm-x-session[1077]: (**) gpio-keys: Applying InputClass "evdev keyboard catchall" Mar 30 07:21:30 /usr/libexec/gdm-x-session[1077]: (**) gpio-keys: Applying InputClass "libinput keyboard catchall" Mar 30 07:21:30 /usr/libexec/gdm-x-session[1077]: (**) gpio-keys: Applying InputClass "system-keyboard" Mar 30 07:21:30 /usr/libexec/gdm-x-session[1077]: (II) Using input driver 'libinput' for 'gpio-keys' Mar 30 07:21:30 /usr/libexec/gdm-x-session[1077]: (II) systemd-logind: got fd for /dev/input/event0 13:64 fd 35 paused 0 Mar 30 07:21:30 /usr/libexec/gdm-x-session[1077]: (**) gpio-keys: always reports core events Mar 30 07:21:30 /usr/libexec/gdm-x-session[1077]: (**) Option "Device" "/dev/input/event0" Mar 30 07:21:30 /usr/libexec/gdm-x-session[1077]: (**) Option "_source" "server/udev" Mar 30 07:21:30 /usr/libexec/gdm-x-session[1077]: (II) event0 - gpio-keys: is tagged by udev as: Keyboard Mar 30 07:21:30 /usr/libexec/gdm-x-session[1077]: (II) event0 - gpio-keys: device is a keyboard Mar 30 07:21:30 /usr/libexec/gdm-x-session[1077]: (II) event0 - gpio-keys: device removed Mar 30 07:21:30 /usr/libexec/gdm-x-session[1077]: (**) Option "config_info" "udev:/sys/devices/platform/gpio-keys/input/input0/event0" Mar 30 07:21:30 /usr/libexec/gdm-x-session[1077]: (II) XINPUT: Adding extended input device "gpio-keys" (type: KEYBOARD, id 6) Mar 30 07:21:30 /usr/libexec/gdm-x-session[1077]: (**) Option "xkb_layout" "us" Mar 30 07:21:30 /usr/libexec/gdm-x-session[1077]: (II) event0 - gpio-keys: is tagged by udev as: Keyboard Mar 30 07:21:30 /usr/libexec/gdm-x-session[1077]: (II) event0 - gpio-keys: device is a keyboard Mar 30 07:21:30 /usr/libexec/gdm-x-session[3157]: The XKEYBOARD keymap compiler (xkbcomp) reports: Mar 30 07:21:30 /usr/libexec/gdm-x-session[3157]: > Internal error: Could not resolve keysym XF86FullScreen Mar 30 07:21:30 /usr/libexec/gdm-x-session[3157]: Errors from xkbcomp are not fatal to the X server Mar 30 07:21:30 pulseaudio[1243]: Failed to find a working profile. Mar 30 07:21:30 pulseaudio[1243]: Failed to load module "module-alsa-card" (argument: "device_id="0" name="platform-70030000.hda" card_name="alsa_card.platform-70030000.hda" namereg_fail=false tsched=yes fixed_latency_range=no ignore_dB=
Any tips? Or am I stuck running Nvidia's linux for it to work?
Thanks, Richard
On Tue, Mar 30, 2021 at 12:31 PM Richard Shaw hobbes1069@gmail.com wrote:
I have a Jetso Nano running Fedora 33 following this guide:
Which guide, could you provide a link?
I want to use it to play with home automation and I have node-red installed and have hacked together a node based on the Rpi GPIO node for the Jetson.
I have copied the udev rules into /etc/udev/rules.d but I don't see the devices, there is no /sys/class/gpio. I changed the udev loglevel to info and see:
<snip> please only include relevant logs.
We don't support the gpio sysfs means of accessing GPIO, it's been deprecated since around the 4.8 kernel.
Any tips? Or am I stuck running Nvidia's linux for it to work?
The replacement mechanism is the GPIO character interface where the GPIO is available via /dev/gpiochip* or through the libgpiod userspace utils and python3 bindings in the python3-libgpiod package. I've not looked but I would guess there's support for this interface on NodeRED as it's been around for some time.
Peter
On Tue, Mar 30, 2021 at 6:51 AM Peter Robinson pbrobinson@gmail.com wrote:
On Tue, Mar 30, 2021 at 12:31 PM Richard Shaw hobbes1069@gmail.com wrote:
I have a Jetso Nano running Fedora 33 following this guide:
Which guide, could you provide a link?
Whoops!
https://nullr0ute.com/2020/11/installing-fedora-on-the-nvidia-jetson-nano/
I want to use it to play with home automation and I have node-red
installed and have hacked together a node based on the Rpi GPIO node for the Jetson.
I have copied the udev rules into /etc/udev/rules.d but I don't see the
devices, there is no /sys/class/gpio. I changed the udev loglevel to info and see:
<snip> please only include relevant logs.
We don't support the gpio sysfs means of accessing GPIO, it's been deprecated since around the 4.8 kernel.
Interesting... I'm assuming that Nvidia based theirs on Debian which may still be using this method?
Any tips? Or am I stuck running Nvidia's linux for it to work?
The replacement mechanism is the GPIO character interface where the GPIO is available via /dev/gpiochip* or through the libgpiod userspace utils and python3 bindings in the python3-libgpiod package. I've not looked but I would guess there's support for this interface on NodeRED as it's been around for some time.
Yes, I do see a /dev/gpiochip{0,1}
I'll take a look. Thanks!
Richard
With your hint about the deprecation I found this:
https://fedoraproject.org/wiki/Architectures/ARM/gpio
I'll play around with it tonight.
Thanks, Richard
On Tue, Mar 30, 2021 at 12:33:00PM -0500, Richard Shaw wrote:
With your hint about the deprecation I found this: https://fedoraproject.org/wiki/Architectures/ARM/gpio I'll play around with it tonight.
I'd love to see what you come up with -- maybe the seed of a Fedora Magazine article?
On Tue, Mar 30, 2021 at 2:03 PM Matthew Miller mattdm@fedoraproject.org wrote:
On Tue, Mar 30, 2021 at 12:33:00PM -0500, Richard Shaw wrote:
With your hint about the deprecation I found this: https://fedoraproject.org/wiki/Architectures/ARM/gpio I'll play around with it tonight.
I'd love to see what you come up with -- maybe the seed of a Fedora Magazine article?
May be awhile :) Since I can't use sysfs it's not a simple change. I'm going to have to completely rewrite the python code to use the python gpiod interface.
gpiod itself is really vendor agnostic, but I like the visual layout of the GPIO header that the Rpi version has in node-red so I'm going to keep the module specific to the Jetson... The question is how? I don't see how I can tell the difference...
Thanks, Richard