goodtft / LCD-show

2.4" 2.8"3.2" 3.5" 5.0" 7.0" TFT LCD driver for the Raspberry PI 3B+/A/A+/B/B+/PI2/ PI3/ZERO/ZERO W
2.29k stars 781 forks source link

After driver installed on a Raspberry 3b+ with LCD35-show wont boot #219

Open thevinayaknair opened 4 years ago

thevinayaknair commented 4 years ago

After driver installed on a Raspberry 3b+ with LCD35-show wont boot, it is stuck at "Raise Network Interfaces" in case it helps. I'm also using "Raspberry Pi OS"

Raspberry Pi OS (32-bit) with desktop and recommended software Image with desktop and recommended software based on Debian Buster Version:May 2020 Release date:2020-05-27 Kernel version:4.19 Size:2523 MB 20200706_233751

pheiduck commented 4 years ago

also had this, resolved by installing xserver-xorg-input-evdev first. Also did a merge request for updating the readme: https://github.com/goodtft/LCD-show/pull/221

pheiduck commented 4 years ago

otherwise the script needs to be recoded

sagd330 commented 4 years ago

I had the same problem. Do you know if it is possible to recover the system, or access in some way to the documents from a PC?

pheiduck commented 4 years ago

In my experience I had to reimage the SD-Card or USB Device. But on Raspbian OS Lite x32 it worked for me after installing xserver-xorg-input-evdev first

elewin commented 4 years ago

I am having the same problem. I can still SSH in to the device, and if i do ctrl-alt-f2/f3 etc it will go to a new tty, but the default one is stuck. Interestingly, if i do something like type ls, it will blink in the screen for like 1 frame and go back. It's strange.

elewin commented 4 years ago

I may have found a workaround, open up /etc/rc.local and comment out the line fbcp &

OsirianOne commented 4 years ago

I may have found a workaround, open up /etc/rc.local and comment out the line fbcp &

How without a pc or other Linux to access the card how to do this.

Reimaging every time something goes wrong with an RPi makes me went to their it in the trash.

Kyllingene commented 4 years ago

I have the same problem, except xserver-xorg-input-evdev didn't work, ended up stuck just like normal.

elewin commented 3 years ago

I may have found a workaround, open up /etc/rc.local and comment out the line fbcp &

How without a pc or other Linux to access the card how to do this.

Reimaging every time something goes wrong with an RPi makes me went to their it in the trash.

You can connect to it over SSH from another device, even a smart phone. Just make sure you enable SSH when you do your initial setup

OsirianOne commented 3 years ago

It took forever to figure out. The overlay needs referenced in the boot. Txt file before running the script and the instructions so not include how to do this accurately, nor does it explain the 0, 1, 2 for the framebuffer to make it primary secondary or tertiary display.

I figured it out all myself and took months.

On Thu, Dec 3, 2020, 10:23 PM Eric notifications@github.com wrote:

I may have found a workaround, open up /etc/rc.local and comment out the line fbcp &

How without a pc or other Linux to access the card how to do this.

Reimaging every time something goes wrong with an RPi makes me went to their it in the trash.

You can connect to it over SSH from another device, even a smart phone. Just make sure you enable SSH when you do your initial setup

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/goodtft/LCD-show/issues/219#issuecomment-738540761, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABDI3YYVIYUP5CX2DNIRMHDSTBI4TANCNFSM4OR27ZJQ .

Kyllingene commented 3 years ago

Sorry, I'm a noob when it comes to Linux stuff and command line. How would one reference the overlay in the boot?

OsirianOne commented 3 years ago

Just put the name of which overlay that you want loaded in the line, position does not matter only that is is a space before and after to separate it from other variables.

On Tue, Feb 2, 2021, 10:19 PM Kyllingene notifications@github.com wrote:

Sorry, I'm a noob when it comes to Linux stuff and command line. How would one reference the overlay in the boot?

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/goodtft/LCD-show/issues/219#issuecomment-772189199, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABDI3YZXA7LR6LQP7AOD3VTS5C6C3ANCNFSM4OR27ZJQ .

Kyllingene commented 3 years ago

Ok, so when I launch the driver, I add "(0,1, or 2)" in the parameters?

OsirianOne commented 3 years ago

I do not remember what allowed me to set the fb to make the regular HDMI as the primary, your script sets the TFT as the primary. In some cases that is wanted. In others it isn',t it depends on the application for the screen and whether it is touch or just the 3.5.

I plan to eventually either integrate it into a hardshell case for a Raspberry Pi System (CyberDeck https://hackaday.com/2020/03/10/surviving-the-apocalypse-with-a-briefcase-full-of-pi/). The touchscreen will provide access and operate internal servos to open or release clamps as a script, then set the screen to display gauges and tiny tabs that have other gauges, temp, batt, interface to set the power conservation, and give output for recharge time or consumption and remaining time. But my primary 15.5" 1920x1080, to go in the lid that gets released and that script before will have a line to turn that on using a GPIO pin to trip a solenoid or a relay that opens the power to the display (not touch though).

Then of course use the RPi or the 3.5 screen and set everything to standby or sleep, etc.

1)Get the LCD-Show git hub project

git clone https://github.com/goodtft/LCD-show.git

cd LCD-show

2) Boot Overlays - Copy over only the 1 file that is needed for this project

Copy over boot overlays

In the original script, the same file is copied over under two different names. In the next step (“Enable interfaces”), the .dtbo file is referenced, albeit without the file extension, so only that file should be required.

The file does not exist in the /boot/overlays directory, so it's safe to copy it over.

sudo cp ./usr/tft35a-overlay.dtb /boot/overlays/tft35a.dtbo

DO NOT COPY OVER YOUR CONFIG.txt FILE nor your commandline.txt -no NO NOOOOOOO-

Enable interfaces

A particular boot config file is copied over. The changes are minimal, and to avoid making unexpected changes, the changes should be made manually.

Don't run. See notes below to make changes manually.

sudo cp ./boot/config-35.txt /boot/config.txt (THIS IS THE BIGGEST

PROBLEM, files need modified not replaced)

Using raspi-config, enable the following interfaces:

Open a Terminal and type sudo raspi-config

Edit: Reddit user farptr points out that SPI is the one used for driving the display, and the I²C interface is used for the touchscreen. https://www.reddit.com/r/raspberry_pi/comments/abb40e/i_spent_the_holidays_setting_up_my_new_lcd_screen/ed0yj07 I experimented with the interfaces, and in my case, only SPI was required for both the display and touchscreen functionality. I recommend turning these interfaces on one by one in to see which ones your display needs.

Uncomment the line that says :

uncomment if hdmi display is not detected and composite is being output

hdmi_force_hotplug=1

Finally, enable the overlay from the previous step by adding the following line at the end. I like to add a comment to remind myself of where the overlay comes from and why it needs to be applied:

Enable the TFT LCD by applying the appropriate boot overlay. This overlay

is

provided by the LCD-show project and must be copied over to the

/boot/overlay

directory.

#

See: https://github.com/goodtft/LCD-show

dtoverlay=tft35a

As a side note, the dtoverlay line can include a rotation parameter. It turns out the default value is 90°, and since I wanted to use display upside down, I changed the rotation to 270°: example 2: dtoverlay=tft35a:rotate=270

At this point, you can verify no further changes need to be made by diffing the now altered config.txt with the reference one that was supposed to be copied over: diff /boot/config.txt ./boot/config-35.txt

There will still be some differences, but they are only in the ordering of lines and in comments. (And possibly the rotation parameter if you included one.) Update cmdline.txt

This file is used to pass arguments to the kernel prior to initialization. The original script uses the presence of partition #7 on the SD card ( /dev/mmcblk0p7) to determine if we're running NOOBs or not. If we're not, we'd be copying over the standard cmdline.txt file, and if we are, the following section still applies.

Don't run. See notes below to make changes manually or update and

existing file used for the RPi installation you have (there are so many versions and new switches, this can not be overwritten) sudo cp ./usr/cmdline.txt /boot/

We don’t actually want all of the changes, so we’ll make the following changes:

In particular, we don’t want to make the following changes:

Reboot

At this point, the TFT LCD is set up. If you just want a display for the console, you can reboot. sudo reboot

On Wed, Feb 3, 2021 at 8:01 PM Kyllingene notifications@github.com wrote:

So I edit fbcp & to be fbcp & (0,1,2, or 3)?

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/goodtft/LCD-show/issues/219#issuecomment-772943682, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABDI3YYDOJ5FG2S5TROGXH3S5HWWDANCNFSM4OR27ZJQ .

-- Christopher Hollifield

Fort Lauderdale, FL 33316 http://www.linkedin.com/in/christopherhollifield Mobile: 954.999.6822 c.hollifield.prof@gmail.com

Kyllingene commented 3 years ago

That seems like a lot to do just to make a touchscreen work. I really hope that the devs fix this soon... I probably won't use it for now, since I don't need the touchscreen, it would just be nice to have.

OsirianOne commented 3 years ago

No it's not it is like 4 steps and save s diskspace.

But yes they need to build a interactive script that updated this files and does the moves for the user and then it does the steps and merges them into existing system files, instead of replace, but a lot of linux users are used to these types of step s (when they have the them correct and done have to guess)

Now the FB is in the x.org server settings, now that's confusing. LOL

On Thu, Feb 4, 2021, 8:45 PM Kyllingene notifications@github.com wrote:

That seems like a lot to do just to make a touchscreen work. I really hope that the devs fix this soon... I probably won't use it for now, since I don't need the touchscreen, it would just be nice to have.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/goodtft/LCD-show/issues/219#issuecomment-773723450, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABDI3Y4TVAQVNF2B3MEPABTS5NEVDANCNFSM4OR27ZJQ .