notro / fbtft

Linux Framebuffer drivers for small TFT LCD display modules. Development has moved to https://git.kernel.org/cgit/linux/kernel/git/gregkh/staging.git/tree/drivers/staging/fbtft?h=staging-testing
1.85k stars 493 forks source link

Problem with ST7735S #598

Closed tbop-R closed 11 months ago

tbop-R commented 1 year ago

I use an OrangePi zero H616. I bought the following ST7735S LCD. https://it.aliexpress.com/item/33031122936.html?spm=a2g0o.order_list.order_list_main.32.67b836960mEnKd&gatewayAdapt=glo2ita

I followed the following guide: https://www.instructables.com/Orange-Pi-Zero-Connect-TFT-SPI-ST7735/

after running the command

sudo modprobe fbtft_device name=adafruit18 gpios=reset:1,dc:0,led:3 speed=16000000 fps=25 rotate=90 busnum=1

I get the following errors:

`[ 78.218500] spidev spi0.0: dh2228fv spi0.0 16777kHz 8 bits mode=0x00 [ 78.218521] spidev spi1.1: dh2228fv spi1.1 16777kHz 8 bits mode=0x00 [ 78.218539] spi spi1.0: fb_st7735r spi1.0 16000kHz 8 bits mode=0x00 [ 78.242713] fb_st7735r: module is from the staging directory, the quality is unknown, you have been warned. [ 78.364571] sunxi_spi_xfer_setup()1021 - [spi1] sunxi_spi_check_cs failed! spi_device cs =0 ... [ 78.364594] sunxi_spi_xfer_setup()1021 - [spi1] sunxi_spi_check_cs failed! spi_device cs =0 ... [ 78.364614] fb_st7735r spi1.0: fbtft_write_reg8_bus8: write() failed and returned -22 [ 78.514732] sunxi_spi_xfer_setup()1021 - [spi1] sunxi_spi_check_cs failed! spi_device cs =0 ... [ 78.514753] sunxi_spi_xfer_setup()1021 - [spi1] sunxi_spi_check_cs failed! spi_device cs =0 ... [ 78.514775] fb_st7735r spi1.0: fbtft_write_reg8_bus8: write() failed and returned -22 [ 79.014900] sunxi_spi_xfer_setup()1021 - [spi1] sunxi_spi_check_cs failed! spi_device cs =0 ... [ 79.014920] sunxi_spi_xfer_setup()1021 - [spi1] sunxi_spi_check_cs failed! spi_device cs =0 ... [ 79.014942] fb_st7735r spi1.0: fbtft_write_reg8_bus8: write() failed and returned -22 [ 79.125906] fb_st7735r spi1.0: fbtft_write_reg8_bus8: write() failed and returned -22 [ 79.126359] graphics fb1: fb_st7735r frame buffer, 160x128, 40 KiB video memory, 4 KiB buffer memory, fps=25, spi1.0 at 16 MHz

` The display remains white with a horizontal red line at the bottom. What can I do?

Thank you all

notro commented 1 year ago
[ 78.364571] sunxi_spi_xfer_setup()1021 - [spi1] sunxi_spi_check_cs failed! spi_device cs =0 ...

I did a search for sunxi_spi_xfer_setup which gave me these:

https://github.com/allwinner-zh/linux-3.4-sunxi/blob/master/drivers/spi/spi-sunxi.c#L833-L837

(the source line 1021 doesn't match so you're using some other version of this driver)

https://github.com/allwinner-zh/linux-3.4-sunxi/blob/master/drivers/spi/spi-sunxi.c#L773-L775

It looks like for you CS0 is not in the supported cs_bitmap. I have never used sunxi so I suggest you try a sunxi forum to get help with this error.

tbop-R commented 1 year ago

Thank you for answering me. I ran modprobe changing the parameters: sudo modprobe fbtft_device custom name=fb_st7735r gpios=dc:3,reset:0 speed=16000000 rotate=90 in dmesg I find no errors and the file /dev/fb1 is created. The screen remains blank. How can I test it?

Thank you

notro commented 1 year ago

A simple way is to dump some random pixels to the display: cat /dev/urandom > /dev/fb1 (ignore the no space left error)

github-actions[bot] commented 11 months ago

This issue is stale because it has been open 60 days with no activity. Remove stale label or comment or this will be closed in 7 days.