I updated the firmware with command :

sudo REPO_URI=https://github.com/notro/rpi-firmware rpi-update

This install the kernel 3.18.5+

After reboot, the PiTFT is no more showing console as before (this is configured in /boot/cmdline.txt with fbcon=map:10 fbcon=font:VGA8x8)

The dmesg command report an error related to the fbtft_device module :

[   12.677434] fbtft_device:  SPI devices registered:
[   12.692614] fbtft_device:  'fb' Platform devices registered:
[   12.705285] fbtft_device:      bcm2708_fb id=-1 pdata? no
[   12.713274] fbtft_device:  spi_busnum_to_master(0) returned NULL
[   12.721724] fbtft_device: failed to register SPI device

Trying to insert (again) the module manually with the command

sudo modprobe -v fbtft_device debug=255

Reports :

insmod /lib/modules/3.18.5+/kernel/drivers/video/fbdev/fbtft/fbtft_device.ko  name=pitft rotate=270 debug=255
ERROR: could not insert 'fbtft_device': Invalid argument

The problems seems links to SPI, but even if I insert spi-bcm2708 module manually the result is the same.

How to insert (with this new kernel & firmware) the PiTFT module ?

I rollback to the previous release with

sudo REPO_URI=https://github.com/notro/rpi-firmware rpi-update 4815829b3f98e1b9c2648d9643dfe993054923ce

And PiTFT works as before the update, then dmesg reports :

[   12.758277] fbtft_device:  SPI devices registered:
[   12.765007] fbtft_device:      spidev spi0.0 500kHz 8 bits mode=0x00
[   12.776683] fbtft_device:      spidev spi0.1 500kHz 8 bits mode=0x00
[   12.785487] fbtft_device:  'fb' Platform devices registered:
[   12.793988] fbtft_device:      bcm2708_fb id=-1 pdata? no
[   12.806073] fbtft_device: Deleting spi0.0
[   12.818076] fbtft_device:  GPIOS used by 'pitft':
[   12.824597] fbtft_device:    'dc' = GPIO25
[   12.844709] fbtft_device:  SPI devices registered:
[   12.856177] fbtft_device:      spidev spi0.1 500kHz 8 bits mode=0x00
[   12.864281] fbtft_device:      fb_ili9340 spi0.0 32000kHz 8 bits mode=0x00
  • According to the insmod output you are not using the new kernel, presumably because this isn't a pi 2. The -v7 kernel will not run on anything else.
    – goldilocks
    Commented Feb 15, 2015 at 19:29
  • @goldilocks : it's a Pi B+ (CPU revision 0010), is this a Pi-2 ? The working kernel is 3.12.34+, and the 'not' working kernel is 3.18.5+.
    – mpromonet
    Commented Feb 15, 2015 at 19:41
  • 2
    May be a device tree problem. See raspberrypi.stackexchange.com/questions/27073/…
    – joan
    Commented Feb 15, 2015 at 19:49
  • @mpromonet no the B+ is not the same as the Pi 2. Pi 2 just recently came out. On my pi 2 (haven't ran rpi-update since yesterday) I'm on Linux 3.18.7-v7+ #755 SMP PREEMPT Thu Feb 12 17:20:48 GMT 2015 armv7l
    – geoffmcc
    Commented Feb 15, 2015 at 20:00
  • The B+ and the Pi 2 are not the same, no. The latter just came out a few weeks ago and uses a quad core ARMv7 processor, which is why there is the new kernel for it. That shouldn't be the cause of your problem though. I'd have a look at the question joan pointed out.
    – goldilocks
    Commented Feb 15, 2015 at 20:00

1 Answer 1


From the forum I2C, SPI, I2S, LIRC, PPS, stopped working? Read this and FBTFT wiki

This could be done in 2 ways, modifying /boot/config.txt :

  • Disabling device tree, enabling SPI and loading fbtft_device module using sudo modprobe -v fbtft_device name=pitft rotate=270


  • Enabling device tree and load pitft overlay (take care to not load fbtft_device module, it made the system hangs)


After reboot, the PiTFT display is back.

UPDATE The FBTFT drivers are now in the linux kernel, then is works also with the firmware coming from Hexxeh using simply :

sudo rpi-update

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.