Can't find the spi interface


I made a app on a pi3 with the ubuntu-core system which use the spi interface.
But I didn’t find that interface by using “snap interfaces”.
And the content that “dtparam=spi=on” already exists in the configured.txt

but i still don’t find the spi option in the “snap interfaces list”, so what should I do??


there is a not yet released stable image at:

that has a new gadget which should list all gpio interfaces, feel free to try it …


I was also trying to use the SPI interface on my RPI3 with Ubuntu Core but I do not find the interface pi3:spidev0.0 (not listed when executing snap interfaces).

If I check my versions it says:

pi2-kernel       4.4.0-1103.111        82    stable    canonical✓  kernel
pi3              16.04-0.6             27    stable    canonical✓  gadget
core             16-2.37.2             6409  stable    canonical✓  core

So I’d expect to see the interface because the pi3 gadget 16.04-0.6 contains the interfaces (compare
By the way I see a lot of pi3:bcm-gpio-7 slots but just no spi slot.

Did I miss something? Would be great if you could help here.



Update: I also checked with Ubuntu Core 18 but still I do not see the pi:spidev0.0 interface.
Compare my versions:

 core18     18              733   stable    canonical✓  base
 pi         18-0.1          2     18-pi3    canonical✓  gadget
 pi-kernel  4.15.0-1031.33  21    18-pi3    canonical✓  kernel
 snapd      2.37.2          2348  stable    canonical✓  snapd

Any idea? I slightly remember that I might have read in some forum post (I do not find it again) that the dot “.” in spidev0.0 might be a problem.


Any idea? Am I the only one who does not see the SPI interfaces on my Ubuntu Core Pi?
It would be great to get some help here because I’d really like to use the interface.



Can you please provide the output of:

snap interface


Sure, here is the output

Slot                      Plug
:account-control          -
:adb-support              -
:alsa                     -
:autopilot-introspection  -
:block-devices            -
:bluetooth-control        -
:broadcom-asic-control    -
:browser-support          -
:camera                   -
:can-bus                  -
:cifs-mount               -
:classic-support        -
:core-support             -
:cpu-control              -
:daemon-notify            -
:dcdbas-control           -
:device-buttons           -
:display-control          -
:docker-support           -
:dvb                      -
:firewall-control         -
:framebuffer              -
:fuse-support             -
:gpg-keys                 -
:gpg-public-keys          -
:gpio-memory-control      -
:greengrass-support       -
:hardware-observe         -
:hardware-random-control  -
:hardware-random-observe  -
:home                     -
:hostname-control         -
:io-ports-control         -
:joystick                 -
:kernel-module-control    -
:kernel-module-observe    -
:kubernetes-support       -
:kvm                      -
:log-observe              -
:lxd-support              -
:mount-observe            -
:netlink-audit            -
:netlink-connector        -
:network                  -
:network-bind             -
:network-control          -
:network-observe          -
:network-setup-control    -
:network-setup-observe    -
:opengl                   -
:openvswitch-support      -
:personal-files           -
:physical-memory-control  -
:physical-memory-observe  -
:ppp                     -
:process-control          -
:raw-usb                  -
:removable-media          -
:shutdown                 -
:snapd-control            -
:ssh-keys                 -
:ssh-public-keys          -
:system-files             -
:system-observe           -
:system-trace             -
:time-control             -
:timeserver-control       -
:timezone-control         -
:tpm                      -
:u2f-devices              -
:uhid                     -
network-manager:service   -
pi3:bcm-gpio-0            -
pi3:bcm-gpio-1            -
pi3:bcm-gpio-10           -
pi3:bcm-gpio-11           -
pi3:bcm-gpio-12           -
pi3:bcm-gpio-13           -
pi3:bcm-gpio-14           -
pi3:bcm-gpio-15           -
pi3:bcm-gpio-16           -
pi3:bcm-gpio-17           -
pi3:bcm-gpio-18           -
pi3:bcm-gpio-19           -
pi3:bcm-gpio-2            -
pi3:bcm-gpio-20           -
pi3:bcm-gpio-21           -
pi3:bcm-gpio-22           -
pi3:bcm-gpio-23           -
pi3:bcm-gpio-24           -
pi3:bcm-gpio-25           -
pi3:bcm-gpio-26           -
pi3:bcm-gpio-27           -
pi3:bcm-gpio-3            -
pi3:bcm-gpio-4            -
pi3:bcm-gpio-5            -
pi3:bcm-gpio-6            -
pi3:bcm-gpio-7            -
pi3:bcm-gpio-8            -
pi3:bcm-gpio-9            -
pi3:bt-serial             -
pi3:i2c-0                 -
pi3:i2c-1                 -
pi3:i2c-2                 -
wifi-ap:control         -

Thanks for the support.

One additional note: When I check /snap/pi3/current/meta/snap.yaml I see the spi interfaces

    interface: spi
    path: /dev/spidev0.0
    interface: spi
    path: /dev/spidev0.1


I think the names in the pi3 gadget snap are simply rejected by the validator. CC @ogra


After a bit of research it seems to me that the yaml keys “spidev0.1” is just not valid because of the dot and therefore not considered. I did not see that the schema validator ( and seems to be the problem. But I might have overlooked something over here.

Could we change the key names? spidev0.0 -> spidev0-0?
I also saw some notation like “[spidev0.0]”: … but not sure if this would work out.

What do you think?


CC @pedronis and @ogra

Yes. I think we should fix the gadget snap.


Can I do something to support here?


as i said on IRC yesterday, this is open since november, waiting for review/merge …

perhaps you or @sil2100 could merge it :wink:


This is now merged :slight_smile:


Great, thanks for that. I was just checking if a new build is available to test it. Though I think the build ( is not yet triggered because it is taking the source from here Though this is a github mirror of the pi3-gadget master -> which is two commits behind the master.
I hope I figured it out in the right way :wink:
Could we also update the branch so that I can test the gadget after it is build?


Any update on this? Would be fantastic if someone could support to merge this part here, so that I can test it.


i fear @sil2100 needs to pull it into CanonicalLtd/pi3-gadget from snapcore/pi3-gadget since the CanonicalLtd tree is a fork …


Thanks. @sil2100 could you or someone else help here? It would be fantastic to get the merge, so that we can test it. If I can do anything, let me know.
Best regards


the pi3 snap has been updated in the edge channel … please try a:

snap refresh --edge pi3

on your installed system and see if the spi interfaces show up after a reboot in snap interfaces.


:+1: great, thanks a lot. It is working and I can see the interface now :slight_smile: