PICADE - X Hat- Buttons + Joystick not detecting

Solved again. I but the officil charguer and the ray and limitations dissapear.

Thanks for your help

Now I have another problem. Just put a sd card with a retropie image, perfectly installed with all type of roms , so when I configure the joysticks it came crazy, the 1up button is like hotkey. The select button convert into save and load state. Etc

Its recognized like a keyboard with the instructions of a keyboard

So its impossible to play

Also the last problem is when I turn off the pi with the button, the screen freeze with poer down, but the screen continue on. So I have to unplug the cable. It was not supoosed to do it automatically?

You’ll have to wait for somebody from Pimoroni to chime in, I don’t own a Picade. @gadgetoid

Yes the Picade controls are set up as keyboard inputs, but if you step through the control configuration in RetroPie they will function fine in the menu/games.

The HotKey button is whichever button you configure as HotKey. I changed mine around recently because I kept screen recording, and now it works pretty well.

These are how I currently have mine set up:

[LT] /--------------------------------\ [RT]
           [U]           [B] [Y] [RS]
        [L][D][R]      [A] [X] [LS]
        [START]             [SELECT]

with LT (Left Trigger) as the hotkey enable since I had trouble with it on SELECT since it kept entering recording mode.

This makes [LT] + [START] exit, and [LT] + [X] go into the emulator config menu, which are both super handy.

Since virtually no Arcade-style or classic consoles had Left/Right triggers (just left/right shoulder buttons on the SNES, GBA) it’s usually the best choice to reuse one of these.

I have the same problem, but on a Raspberry Pi 3b (not the b+). I am using the official Raspberry power cable.
Power on with the power button works, but all other buttons and the joystick cannot be detected in the Control Configuration in Retropie.
Power off does not work either. I could not verify if sound is working.
X Hat sits tightly and parallel on/to the Raspberry Bi 3b.
Could it be that the X Hat is defect?

Steps for debugging hardware:

  • drop to terminal from ES by hitting F4 (you will need a keyboard!)
  • install wiringpi for the gpio utility: sudo apt install wiringpi
  • run watch -n 0.1 gpio readall to watch your GPIO status
  • hit some buttons, twiddle the joystick (slowly, 0.1 is a tenth of a second so any action <0.1s may not be visible) and see if anything changes

It’s possible that the dtoverlay/drivers/etc for the controls aren’t loading properly, to debug the software:

  • Make sure /boot/overlays/picade.dtbo exists
  • Make sure dtoverlay=picade is in /boot/config.txt
  • Check dmesg output for any glaring errors
  • Check that /etc/udev/rules.d/10-picade.rules exists

Yes, I do that configurations but when I start a game and press por example select, it goes back to the menu screen. Also if a press start it says " recording in pi/…" . If a press RS , it says “Fast forward”.

These are my problems, I have the same configuration as you. In the menus it is perfect, but when I try a game this happens.

Maybe is a retropie problem, because it thinks I am using a keyboard no a gamepad at games

Anything I can do?

I’d say rebind your controls and make sure to skip either Left Trigger or Right Trigger and explicitly bind a hotkey. Sounds like you might have let RetroPie pick a default, which can be problematic.

Yes , rebindings keys continue the problem. All the time in all games it recognises it as a keyboard. I tried differents things but without a solution. I am desesperate because I cant play with my picade

Ok - this is the best progress i’ve made so far- thanks for posting such in-depth steps.

  • Already installed wiringpi - but re-ran and confirmed it was installed.
  • Ran the watch on GPIO status and was shocked to see all the buttons we’re being detected including joystick.
  • picade.dtbo exists in the correct directory
  • dtoverlay=picade is in the config.txt
  • 10-picade.rules exists in the correct directory.

So looking good up until there. As a last step ran dmesg and thats where im seeing an issue.

[ 3.060885] gpio-keys gpio_keys: could not find pctldev for node /soc/interrupt-controller@7e00b200, deferring probe
[ 3.066847] gpio-keys gpio_keys: could not find pctldev for node /soc/interrupt-controller@7e00b200, deferring probe
[ 3.067918] gpio-keys gpio_keys: could not find pctldev for node /soc/interrupt-controller@7e00b200, deferring probe
[ 3.103345] gpio-keys gpio_keys: could not find pctldev for node /soc/interrupt-controller@7e00b200, deferring probe
[ 3.229713] gpio-keys gpio_keys: could not find pctldev for node /soc/interrupt-controller@7e00b200, deferring probe
[ 3.238833] gpio-keys gpio_keys: could not find pctldev for node /soc/interrupt-controller@7e00b200, deferring probe
[ 3.488704] gpio-keys gpio_keys: could not find pctldev for node /soc/interrupt-controller@7e00b200, deferring probe
[ 3.497899] gpio-keys gpio_keys: could not find pctldev for node /soc/interrupt-controller@7e00b200, deferring probe

Okay, I haven’t seen that before. Do you see a significant number of these messages? Is there anything else related to “input” or “gpio_keys” in the dmesg output?

If you dmesg | grep input you should see a line reading something like:

input: gpio_keys as /devices/platform/gpio_keys/input/input3

The next thing to check is if you have a keyboard device showing up in /dev/input/. It might be /dev/input/event3 (depending on what the line from dmesg says) and should always be available at /dev/input/by-path/platform-gpio_keys-event

So you can:

cat /dev/input/by-path/platform-gpio_keys-event

And hit a few buttons. You should see garbage appearing on the screen. This is the raw event protocol, and is normal. Hit “ctrl+c” to exit.

If you sudo apt install evtest you should also be able to:

evtest /dev/input/by-path/platform-gpio_keys-event

Which will decode that protocol into something almost human-readable.

If you don’t see a corresponding input device, or /dev/input/by-path/platform-gpio_keys-event is not showing up, then presumably those errors you’re seeing are fatal and something odd is happening at the driver level that we’ll have to delve into. In that case, could you run:

lsb_release -a
uname -a

And what might also be helpful is:

dtc -I fs /proc/device-tree -o dt.dts

Which will write out a dt.dts file that you can stick into pastebin or include here.

Another two questions I have.
1st. When I turn off the picade with the yellow power button, the screen continues ON with some letters. Do I need to power it of with the power button on the top?

2nd. Can I add a microfan to the picade hat? Where? I reach 85• degrees of temperature so I the icon of advertence appear


Ouch, 85c means the CPU and GPU are throttling back. If I was going to add a fan, I think I’d try to mount it to the side of the case, to blow / suck hot air out. Do you by chance own a dremel tool? Mine has come in very handy for making fan grills and ventilation holes etc. Or get a fan that comes with a wire grill, then just make a round hole for it. Then put some holes someplace else out of site for cool air to get in. Like a PC case is setup.

Replied inline to your instructions above -

Many thanks gadgetoid. Your proposed solution now helped me to get at least the input (all buttons & joystick) detected in emulationstation on a brand new retropie image which I burned to my SD card. As I already have another image with an older retropie version (not stretch but jessie) which I had installed when my raspberry pi 3b (not 3b+) was hooked up to my TV, I wanted to ask you whether the X Hat and thus the input controls should also work on this older retropie version. I have installed this older image on my SD card and performed all the steps for installation, including your solution for the buttons and joystick, but they are not detected in emulationstation. When pressing the buttons and moving the joystick all inputs are recognized in wiringpi. Nonetheless, they are not detected in emulationstation. I have also tried getting it to work by upgrading retropie to the newer stretch version. But that did not result in the inputs getting detected in ES either.
So finally my basic question again: Can I get the X Hat running on my old jessie version of retropie. Or do the X Hat drivers require to switch to a new, blank version of retropie (stretch) without any of my existing Roms and scraped metadata installed. Thank you for your time and support!

1 Like

Seems to be the same issue im having… It must be something with using a pre-existing image.

Now that i think of it, I never did a completely fresh install on a card but rather have been using an IMG I’ve spent a lot of time currating/customizing over the last year… that i just upgraded all the packages on.

Same as you Rob mines built on the last version of jessie vs stretch.

Tonight I’m gonna try updating to Stretch and seeing if that works, and if not trying a completely fresh install. Would hate to have to completely rebuild my image again, but if it means getting this guy to work -

I hope you are successful in getting the inputs to work after the upgrade to stretch. Don’t forget to make a backup of the existing image before upgrading to stretch. I had some issues after the upgrade with the VLC packages not being installed, so I could no longer start emulationstation. Got that fixed by now but please don’t ask me how. I had to try various methods until I got it to work again. One more thing I wanted to add is that sound is also not working on my old image. But it did already work on the brand new stretch image. So I guess it seems to be a software or driver issue why, inputs don’t work. Correction: Sound is working on the existing image which I upgraded to stretch. Only the inputs do not work.

Hi gadgetoid,
I still did not get it to work in my existing image. Please find below the output I get when running dmesg

[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Linux version 4.14.62-v7+ (dc4@dc4-XPS13-9333) (gcc version 4.9.3 (crosstool-NG crosstool-ng-1.22.0-88-g8460611)) #1134 SMP Tue Aug 14 17:10:10 BST 2018
[ 0.000000] CPU: ARMv7 Processor [410fd034] revision 4 (ARMv7), cr=10c5383d
[ 0.000000] CPU: div instructions available: patching division code
[ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[ 0.000000] OF: fdt: Machine model: Raspberry Pi 3 Model B Rev 1.2
[ 0.000000] Memory policy: Data cache writealloc
[ 0.000000] cma: Reserved 8 MiB at 0x2f800000
[ 0.000000] On node 0 totalpages: 196608
[ 0.000000] free_area_init_node: node 0, pgdat 80c85000, node_mem_map af134000
[ 0.000000] Normal zone: 1728 pages used for memmap
[ 0.000000] Normal zone: 0 pages reserved
[ 0.000000] Normal zone: 196608 pages, LIFO batch:31
[ 0.000000] percpu: Embedded 17 pages/cpu @af0db000 s38720 r8192 d22720 u69632
[ 0.000000] pcpu-alloc: s38720 r8192 d22720 u69632 alloc=17*4096
[ 0.000000] pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3
[ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 194880
[ 0.000000] Kernel command line: 8250.nr_uarts=0 bcm2708_fb.fbwidth=640 bcm2708_fb.fbheight=480 bcm2708_fb.fbswap=1 vc_mem.mem_base=0x3ec00000 vc_mem.mem_size=0x40000000 dwc_otg.lpm_enable=0 console=ttyS0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait loglevel=3 consoleblank=0 plymouth.enable=0
[ 0.000000] PID hash table entries: 4096 (order: 2, 16384 bytes)
[ 0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
[ 0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
[ 0.000000] Memory: 757516K/786432K available (7168K kernel code, 575K rwdata, 2076K rodata, 1024K init, 706K bss, 20724K reserved, 8192K cma-reserved)
[ 0.000000] Virtual kernel memory layout:
vector : 0xffff0000 - 0xffff1000 ( 4 kB)
fixmap : 0xffc00000 - 0xfff00000 (3072 kB)
vmalloc : 0xb0800000 - 0xff800000 (1264 MB)
lowmem : 0x80000000 - 0xb0000000 ( 768 MB)
modules : 0x7f000000 - 0x80000000 ( 16 MB)
.text : 0x80008000 - 0x80800000 (8160 kB)
.init : 0x80b00000 - 0x80c00000 (1024 kB)
.data : 0x80c00000 - 0x80c8fef4 ( 576 kB)
.bss : 0x80c96f34 - 0x80d478b4 ( 707 kB)
[ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[ 0.000000] ftrace: allocating 25267 entries in 75 pages
[ 0.000000] Hierarchical RCU implementation.
[ 0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
[ 0.000000] arch_timer: cp15 timer(s) running at 19.20MHz (phys).
[ 0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x46d987e47, max_idle_ns: 440795202767 ns
[ 0.000007] sched_clock: 56 bits at 19MHz, resolution 52ns, wraps every 4398046511078ns
[ 0.000018] Switching to timer-based delay loop, resolution 52ns
[ 0.000262] Console: colour dummy device 80x30
[ 0.000281] console [tty1] enabled
[ 0.000307] Calibrating delay loop (skipped), value calculated using timer frequency… 38.40 BogoMIPS (lpj=192000)
[ 0.000322] pid_max: default: 32768 minimum: 301
[ 0.000637] Mount-cache hash table entries: 2048 (order: 1, 8192 bytes)
[ 0.000651] Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes)
[ 0.001592] Disabling memory control group subsystem
[ 0.001668] CPU: Testing write buffer coherency: ok
[ 0.002088] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
[ 0.002491] Setting up static identity map for 0x100000 - 0x10003c
[ 0.002614] Hierarchical SRCU implementation.
[ 0.003287] smp: Bringing up secondary CPUs …
[ 0.004078] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
[ 0.004923] CPU2: thread -1, cpu 2, socket 0, mpidr 80000002
[ 0.005752] CPU3: thread -1, cpu 3, socket 0, mpidr 80000003
[ 0.005856] smp: Brought up 1 node, 4 CPUs
[ 0.005867] SMP: Total of 4 processors activated (153.60 BogoMIPS).
[ 0.005872] CPU: All CPU(s) started in HYP mode.
[ 0.005876] CPU: Virtualization extensions available.
[ 0.006722] devtmpfs: initialized
[ 0.017720] random: get_random_u32 called from bucket_table_alloc+0xfc/0x24c with crng_init=0
[ 0.018462] VFP support v0.3: implementor 41 architecture 3 part 40 variant 3 rev 4
[ 0.018687] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[ 0.018704] futex hash table entries: 1024 (order: 4, 65536 bytes)
[ 0.019262] pinctrl core: initialized pinctrl subsystem
[ 0.020044] NET: Registered protocol family 16
[ 0.022710] DMA: preallocated 1024 KiB pool for atomic coherent allocations
[ 0.027604] hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers.
[ 0.027611] hw-breakpoint: maximum watchpoint size is 8 bytes.
[ 0.027842] Serial: AMBA PL011 UART driver
[ 0.029844] bcm2835-mbox 3f00b880.mailbox: mailbox enabled
[ 0.030359] uart-pl011 3f201000.serial: could not find pctldev for node /soc/gpio@7e200000/uart0_pins, deferring probe
[ 0.062373] bcm2835-dma 3f007000.dma: DMA legacy API manager at b0813000, dmachans=0x1
[ 0.063794] SCSI subsystem initialized
[ 0.064020] usbcore: registered new interface driver usbfs
[ 0.064071] usbcore: registered new interface driver hub
[ 0.064154] usbcore: registered new device driver usb
[ 0.070075] raspberrypi-firmware soc:firmware: Attached to firmware from 2018-08-16 17:30
[ 0.071464] clocksource: Switched to clocksource arch_sys_counter
[ 0.148015] VFS: Disk quotas dquot_6.6.0
[ 0.148096] VFS: Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
[ 0.148279] FS-Cache: Loaded
[ 0.148463] CacheFiles: Loaded
[ 0.156406] NET: Registered protocol family 2
[ 0.157121] TCP established hash table entries: 8192 (order: 3, 32768 bytes)
[ 0.157230] TCP bind hash table entries: 8192 (order: 4, 65536 bytes)
[ 0.157415] TCP: Hash tables configured (established 8192 bind 8192)
[ 0.157543] UDP hash table entries: 512 (order: 2, 16384 bytes)
[ 0.157588] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
[ 0.157813] NET: Registered protocol family 1
[ 0.158283] RPC: Registered named UNIX socket transport module.
[ 0.158289] RPC: Registered udp transport module.
[ 0.158294] RPC: Registered tcp transport module.
[ 0.158299] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 0.159962] hw perfevents: enabled with armv7_cortex_a7 PMU driver, 7 counters available
[ 0.162729] workingset: timestamp_bits=14 max_order=18 bucket_order=4
[ 0.170818] FS-Cache: Netfs ‘nfs’ registered for caching
[ 0.171421] NFS: Registering the id_resolver key type
[ 0.171484] Key type id_resolver registered
[ 0.171490] Key type id_legacy registered
[ 0.171505] nfs4filelayout_init: NFSv4 File Layout Driver Registering…
[ 0.173443] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 251)
[ 0.173573] io scheduler noop registered
[ 0.173579] io scheduler deadline registered (default)
[ 0.173858] io scheduler cfq registered
[ 0.173864] io scheduler mq-deadline registered
[ 0.173870] io scheduler kyber registered
[ 0.176626] BCM2708FB: allocated DMA memory ef910000
[ 0.176652] BCM2708FB: allocated DMA channel 0 @ b0813000
[ 0.186248] Console: switching to colour frame buffer device 80x30
[ 0.193007] bcm2835-rng 3f104000.rng: hwrng registered
[ 0.193139] vc-mem: phys_addr:0x00000000 mem_base=0x3ec00000 mem_size:0x40000000(1024 MiB)
[ 0.193614] vc-sm: Videocore shared memory driver
[ 0.193883] gpiomem-bcm2835 3f200000.gpiomem: Initialised: Registers at 0x3f200000
[ 0.203438] brd: module loaded
[ 0.212086] loop: module loaded
[ 0.212099] Loading iSCSI transport class v2.0-870.
[ 0.212728] libphy: Fixed MDIO Bus: probed
[ 0.212830] usbcore: registered new interface driver lan78xx
[ 0.212885] usbcore: registered new interface driver smsc95xx
[ 0.212900] dwc_otg: version 3.00a 10-AUG-2012 (platform bus)
[ 0.240807] dwc_otg 3f980000.usb: base=0xf0980000
[ 0.391459] NOHZ: local_softirq_pending 80
[ 0.401460] NOHZ: local_softirq_pending 80
[ 0.411458] NOHZ: local_softirq_pending 80
[ 0.421459] NOHZ: local_softirq_pending 80
[ 0.431458] NOHZ: local_softirq_pending 80
[ 0.441000] Core Release: 2.80a
[ 0.441009] Setting default values for core params
[ 0.441040] Finished setting default values for core params
[ 0.641296] Using Buffer DMA mode
[ 0.641302] Periodic Transfer Interrupt Enhancement - disabled
[ 0.641307] Multiprocessor Interrupt Enhancement - disabled
[ 0.641313] OTG VER PARAM: 0, OTG VER FLAG: 0
[ 0.641322] Dedicated Tx FIFOs mode
[ 0.641673] WARN::dwc_otg_hcd_init:1046: FIQ DMA bounce buffers: virt = 0xaf904000 dma = 0xef904000 len=9024
[ 0.641696] FIQ FSM acceleration enabled for :
Non-periodic Split Transactions
Periodic Split Transactions
High-Speed Isochronous Endpoints
Interrupt/Control Split Transaction hack enabled
[ 0.641716] dwc_otg: Microframe scheduler enabled
[ 0.641804] WARN::hcd_init_fiq:459: FIQ on core 1 at 0x805e8e80
[ 0.641815] WARN::hcd_init_fiq:460: FIQ ASM at 0x805e91e8 length 36
[ 0.641827] WARN::hcd_init_fiq:486: MPHI regs_base at 0xf0006000
[ 0.641883] dwc_otg 3f980000.usb: DWC OTG Controller
[ 0.641915] dwc_otg 3f980000.usb: new USB bus registered, assigned bus number 1
[ 0.641945] dwc_otg 3f980000.usb: irq 62, io mem 0x00000000
[ 0.641993] Init: Port Power? op_state=1
[ 0.641998] Init: Power Port (0)
[ 0.642197] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[ 0.642208] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 0.642216] usb usb1: Product: DWC OTG Controller
[ 0.642224] usb usb1: Manufacturer: Linux 4.14.62-v7+ dwc_otg_hcd
[ 0.642232] usb usb1: SerialNumber: 3f980000.usb
[ 0.642830] hub 1-0:1.0: USB hub found
[ 0.642870] hub 1-0:1.0: 1 port detected
[ 0.643397] dwc_otg: FIQ enabled
[ 0.643402] dwc_otg: NAK holdoff enabled
[ 0.643407] dwc_otg: FIQ split-transaction FSM enabled
[ 0.643416] Module dwc_common_port init
[ 0.643655] usbcore: registered new interface driver usb-storage
[ 0.643819] mousedev: PS/2 mouse device common for all mice
[ 0.643888] IR NEC protocol handler initialized
[ 0.643893] IR RC5(x/sz) protocol handler initialized
[ 0.643898] IR RC6 protocol handler initialized
[ 0.643903] IR JVC protocol handler initialized
[ 0.643908] IR Sony protocol handler initialized
[ 0.643913] IR SANYO protocol handler initialized
[ 0.643918] IR Sharp protocol handler initialized
[ 0.643923] IR MCE Keyboard/mouse protocol handler initialized
[ 0.643928] IR XMP protocol handler initialized
[ 0.644716] bcm2835-wdt 3f100000.watchdog: Broadcom BCM2835 watchdog timer
[ 0.644964] bcm2835-cpufreq: min=600000 max=1200000
[ 0.645328] sdhci: Secure Digital Host Controller Interface driver
[ 0.645333] sdhci: Copyright(c) Pierre Ossman
[ 0.645676] mmc-bcm2835 3f300000.mmc: could not get clk, deferring probe
[ 0.645990] sdhost-bcm2835 3f202000.mmc: could not get clk, deferring probe
[ 0.646082] sdhci-pltfm: SDHCI platform and OF driver helper
[ 0.647467] ledtrig-cpu: registered to indicate activity on CPUs
[ 0.647667] hidraw: raw HID events driver (C) Jiri Kosina
[ 0.647790] usbcore: registered new interface driver usbhid
[ 0.647794] usbhid: USB HID core driver
[ 0.648520] vchiq: vchiq_init_state: slot_zero = af980000, is_master = 0
[ 0.649894] [vc_sm_connected_init]: start
[ 0.658554] [vc_sm_connected_init]: end - returning 0
[ 0.659155] Initializing XFRM netlink socket
[ 0.659177] NET: Registered protocol family 17
[ 0.659265] Key type dns_resolver registered
[ 0.659767] Registering SWP/SWPB emulation handler
[ 0.660350] registered taskstats version 1
[ 0.666160] uart-pl011 3f201000.serial: cts_event_workaround enabled
[ 0.666227] 3f201000.serial: ttyAMA0 at MMIO 0x3f201000 (irq = 87, base_baud = 0) is a PL011 rev2
[ 0.667938] mmc-bcm2835 3f300000.mmc: mmc_debug:0 mmc_debug2:0
[ 0.667947] mmc-bcm2835 3f300000.mmc: DMA channel allocated
[ 0.722084] sdhost: log_buf @ af907000 (ef907000)
[ 0.758880] mmc1: queuing unknown CIS tuple 0x80 (2 bytes)
[ 0.760452] mmc1: queuing unknown CIS tuple 0x80 (3 bytes)
[ 0.762022] mmc1: queuing unknown CIS tuple 0x80 (3 bytes)
[ 0.764799] mmc1: queuing unknown CIS tuple 0x80 (7 bytes)
[ 0.801481] mmc0: sdhost-bcm2835 loaded - DMA enabled (>1)
[ 0.802493] of_cfs_init
[ 0.802630] of_cfs_init: OK
[ 0.803183] Waiting for root device /dev/mmcblk0p2…
[ 0.841141] random: fast init done
[ 0.861644] Indeed it is in host mode hprt0 = 00021501
[ 0.928335] mmc0: host does not support reading read-only switch, assuming write-enable
[ 0.930972] mmc0: new high speed SDHC card at address 0001
[ 0.931509] mmcblk0: mmc0:0001 00000 29.8 GiB
[ 0.932982] mmcblk0: p1 p2
[ 0.944385] mmc1: new high speed SDIO card at address 0001
[ 0.955432] NOHZ: local_softirq_pending 40
[ 0.964214] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
[ 0.964259] VFS: Mounted root (ext4 filesystem) readonly on device 179:2.
[ 0.971802] NOHZ: local_softirq_pending 40
[ 0.971895] devtmpfs: mounted
[ 0.974861] Freeing unused kernel memory: 1024K
[ 1.000556] NOHZ: local_softirq_pending 40
[ 1.007925] NOHZ: local_softirq_pending 40
[ 1.027701] NOHZ: local_softirq_pending 40
[ 1.071518] usb 1-1: new high-speed USB device number 2 using dwc_otg
[ 1.071635] Indeed it is in host mode hprt0 = 00001101
[ 1.321758] usb 1-1: New USB device found, idVendor=0424, idProduct=9514
[ 1.321772] usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[ 1.322416] hub 1-1:1.0: USB hub found
[ 1.322494] hub 1-1:1.0: 5 ports detected
[ 1.571577] systemd[1]: System time before build time, advancing clock.
[ 1.641514] usb 1-1.1: new high-speed USB device number 3 using dwc_otg
[ 1.691637] NET: Registered protocol family 10
[ 1.692787] Segment Routing with IPv6
[ 1.702304] ip_tables: (C) 2000-2006 Netfilter Core Team
[ 1.719555] random: systemd: uninitialized urandom read (16 bytes read)
[ 1.725314] systemd[1]: Detected architecture arm.
[ 1.741431] systemd[1]: Set hostname to .
[ 1.774385] random: systemd: uninitialized urandom read (16 bytes read)
[ 1.781679] usb 1-1.1: New USB device found, idVendor=0424, idProduct=ec00
[ 1.781697] usb 1-1.1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[ 1.784648] smsc95xx v1.0.6
[ 1.814910] random: systemd-cryptse: uninitialized urandom read (16 bytes read)
[ 1.885145] smsc95xx 1-1.1:1.0 eth0: register ‘smsc95xx’ at usb-3f980000.usb-1.1, smsc95xx USB 2.0 Ethernet, b8:27:eb:13:55:43
[ 2.328278] systemd[1]: Listening on RPCbind Server Activation Socket.
[ 2.329411] systemd[1]: Started Forward Password Requests to Wall Directory Watch.
[ 2.330044] systemd[1]: Listening on fsck to fsckd communication Socket.
[ 2.330576] systemd[1]: Reached target Swap.
[ 2.331763] systemd[1]: Set up automount Arbitrary Executable File Formats File System Automount Point.
[ 2.332522] systemd[1]: Listening on Syslog Socket.
[ 2.333092] systemd[1]: Listening on udev Kernel Socket.
[ 2.381554] usb 1-1.4: new full-speed USB device number 4 using dwc_otg
[ 2.528367] usb 1-1.4: New USB device found, idVendor=1997, idProduct=2433
[ 2.528380] usb 1-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 2.528533] usb 1-1.4: Product: mini keyboard
[ 2.528540] usb 1-1.4: Manufacturer:
[ 2.537740] input: mini keyboard as /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.4/1-1.4:1.0/0003:1997:2433.0001/input/input0
[ 2.602563] hid-generic 0003:1997:2433.0001: input,hidraw0: USB HID v1.01 Keyboard [ mini keyboard] on usb-3f980000.usb-1.4/input0
[ 2.613296] input: mini keyboard as /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.4/1-1.4:1.1/0003:1997:2433.0002/input/input1
[ 2.682235] hid-generic 0003:1997:2433.0002: input,hidraw1: USB HID v1.01 Mouse [ mini keyboard] on usb-3f980000.usb-1.4/input1
[ 2.743055] EXT4-fs (mmcblk0p2): re-mounted. Opts: (null)
[ 2.871148] systemd-journald[92]: Received request to flush runtime journal from PID 1
[ 3.432874] gpio-keys gpio_keys: could not find pctldev for node /soc/interrupt-controller@7e00b200, deferring probe
[ 3.454853] gpio-keys gpio_keys: could not find pctldev for node /soc/interrupt-controller@7e00b200, deferring probe
[ 3.456246] gpio-keys gpio_keys: could not find pctldev for node /soc/interrupt-controller@7e00b200, deferring probe
[ 3.573033] gpio-keys gpio_keys: could not find pctldev for node /soc/interrupt-controller@7e00b200, deferring probe
[ 3.576194] gpio-keys gpio_keys: could not find pctldev for node /soc/interrupt-controller@7e00b200, deferring probe
[ 3.734719] gpio-keys gpio_keys: could not find pctldev for node /soc/interrupt-controller@7e00b200, deferring probe
[ 3.774165] snd-hifiberry-dac soc:sound: pcm5102a-hifi ↔ 3f203000.i2s mapping ok
[ 3.783695] gpio-keys gpio_keys: could not find pctldev for node /soc/interrupt-controller@7e00b200, deferring probe
[ 3.932784] gpio-keys gpio_keys: could not find pctldev for node /soc/interrupt-controller@7e00b200, deferring probe
[ 3.936269] brcmfmac: F1 signature read @0x18000000=0x1541a9a6
[ 3.953170] brcmfmac: brcmf_fw_map_chip_to_name: using brcm/brcmfmac43430-sdio.bin for chip 0x00a9a6(43430) rev 0x000001
[ 3.953431] usbcore: registered new interface driver brcmfmac
[ 3.953831] gpio-keys gpio_keys: could not find pctldev for node /soc/interrupt-controller@7e00b200, deferring probe
[ 4.207916] brcmfmac: brcmf_c_preinit_dcmds: Firmware version = wl0: Oct 23 2017 03:55:53 version (r674442 CY) FWID 01-e58d219f
[ 4.208704] brcmfmac: brcmf_c_preinit_dcmds: CLM version = API: 12.2 Data: 7.11.15 Compiler: 1.24.2 ClmImport: 1.24.1 Creation: 2014-05-26 10:53:55 Inc Data: 9.10.39 Inc Compiler: 1.29.4 Inc ClmImport: 1.36.3 Creation: 2017-10-23 03:47:14
[ 4.915013] uart-pl011 3f201000.serial: no DMA platform data
[ 5.173039] random: crng init done
[ 5.173052] random: 7 urandom warning(s) missed due to ratelimiting
[ 5.314047] Adding 102396k swap on /var/swap. Priority:-2 extents:1 across:102396k SSFS
[ 5.448406] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
[ 5.448437] brcmfmac: power management disabled
[ 5.903715] smsc95xx 1-1.1:1.0 eth0: hardware isn’t capable of remote wakeup
[ 5.904182] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[ 6.908154] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
[ 9.366697] Bluetooth: Core ver 2.22
[ 9.366785] NET: Registered protocol family 31
[ 9.366791] Bluetooth: HCI device and connection manager initialized
[ 9.366812] Bluetooth: HCI socket layer initialized
[ 9.366825] Bluetooth: L2CAP socket layer initialized
[ 9.366858] Bluetooth: SCO socket layer initialized
[ 9.378938] Bluetooth: HCI UART driver ver 2.3
[ 9.378952] Bluetooth: HCI UART protocol H4 registered
[ 9.379012] Bluetooth: HCI UART protocol Three-wire (H5) registered
[ 9.379256] Bluetooth: HCI UART protocol Broadcom registered
[ 9.542416] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[ 9.542426] Bluetooth: BNEP filters: protocol multicast
[ 9.542444] Bluetooth: BNEP socket layer initialized

I also checked the content the /etc/udev/rules.d/ folder and content of the files in it

There are three files in the folder:


Content of 10-picade.rules

SUBSYSTEM==“input”, ATTRS{name}==“gpio_keys”, ENV{ID_INPUT_KEYBOARD}=“1”

Content of 99-com.rules

SUBSYSTEM==“input”, GROUP=“input”, MODE=“0660”
SUBSYSTEM==“i2c-dev”, GROUP=“i2c”, MODE=“0660”
SUBSYSTEM==“spidev”, GROUP=“spi”, MODE=“0660”
SUBSYSTEM==“bcm2835-gpiomem”, GROUP=“gpio”, MODE=“0660”
SUBSYSTEM==“gpio”, GROUP=“gpio”, MODE=“0660”
SUBSYSTEM==“gpio*”, PROGRAM=“/bin/sh -c ’
chown -R root:gpio /sys/class/gpio && chmod -R 770 /sys/class/gpio;
chown -R root:gpio /sys/devices/virtual/gpio && chmod -R 770 /sys/devices/virtual/gpio;
chown -R root:gpio /sys$devpath && chmod -R 770 /sys$devpath
KERNEL==“ttyAMA[01]”, PROGRAM=“/bin/sh -c ’
if cmp -s $ALIASES/uart0 $ALIASES/serial0; then
echo 0;
elif cmp -s $ALIASES/uart0 $ALIASES/serial1; then
echo 1;
exit 1;
'”, SYMLINK+=“serial%c”
KERNEL==“ttyS0”, PROGRAM=“/bin/sh -c ’
if cmp -s $ALIASES/uart1 $ALIASES/serial0; then
echo 0;
elif cmp -s $ALIASES/uart1 $ALIASES/serial1; then
echo 1;
exit 1;
'”, SYMLINK+=“serial%c”

Content of 99-input.rules:

SUBSYSTEM==“input”, GROUP=“input”, MODE=“0660”

Could it be that these 99-xxx files are interferring with the setup of the picade controls in emulationstation?

Any solution about how I can turn off the pi directly (also with the screen) with the yellow button?

The power button does that. It completely cuts power.