2

I've got huge trouble solving the following problem:

I attached a Waveshare 5" LCD touchscreen to a Pi 2 Model B (components and setup listed below), prepared a new SDcard with Raspbian Jessie (not NOOBS), did the normal raspbian-update stuff, installed the waveshare-drivers for jessie (from here). The display works fine - except the touch-functionallity. It shows a crystal-clear picture, but I cannot use the touch control :| Due to the evtest tool, I figured out that there is no input-information at all reaching the Pi.

So I searched the internet and did a lot of stuff. Finally, I encountered a problem that I couldn't get rid off, which makes me assume that this must be the cause for the touch-problem: the w1-gpio onewire-connection does not work.

The detailed problem looks like this:

pi@raspberrypi:~ $ dmesg | grep w1
[    3.463684] hid-generic 0003:046A:B090.0002: input,hiddev0,hidraw1: USB HID v 1.11 Device [Cherry USB keyboard] on usb-3f980000.usb-1.3/input1
[    5.364888] w1-gpio onewire@0: gpio pin 4, external pullup pin 1, parasitic power 0
[    5.364975] w1_add_master_device: set_pullup requires write_byte or touch_bi , disabling
[    7.444177] w1_master_driver w1_bus_master1: w1_search: max_slave_count 64 reached, will continue next search.
[   54.916570] w1_master_driver w1_bus_master1: Family 0 for 00.800000000000.8c is not registered.

As can be seen,

  1. the touchscreen does not get listed at all (should be listed as input2)
  2. w1_add_master_device gets an error
  3. the slave count is >64???

Unfortunately, I have absolutely no clue how to solve this. I read / tried some stuff like

  • disabling the device_tree
  • changed the gpio_pin in the config.txt (just to some values - so here might be some potential left)
  • lowered the cpu-frequency and activated a cpu-governor (doesn't make sense to me, but I read that that might help.. and I was / am desperate :D)
  • changed back to an earlier kernel frame -> Pi freezes at startup

Well, has anybody any idea how this problem could be solved (if we assume, that the gpio pins are not broken :D)? Is there maybe a chance, that the gpio_pin or the external pullup_pin has to be another one? I attached a screenshot how the display should be wired according to waveshare and how the gpio readall of my Pi looks like.

Any idea is very, very very appreciated :)

Some additional information that might help:

SPI:

pi@raspberrypi:~ $ dmesg | grep spi
[    5.754398] spi spi0.1: setting up native-CS1 as GPIO 7
[    5.922907] ads7846 spi0.1: touchscreen, irq 505
[    5.926013] input: ADS7846 Touchscreen as /devices/platform/soc/3f204000.spi spi_master/spi0/spi0.1/input/input2

config.txt (the driver set this up, already tried to lower the xohms) disable_overscan=1

hdmi_group=2
hdmi_mode=1
hdmi_mode=87
hdmi_cvt 800 480 60 6 0 0 0

arm_freq=700

start_x=1
gpu_mem=128
core_freq=250
sdram_freq=400
over_voltage=0
dtparam=spi=on
dtparam=i2c_arm=on

dtoverlay=ads7846,cs=1,penirq=25,penirq_pull=2,speed=50000,keep_vref_on=0,swapxy=0,pmax=255,xohms=150,xmin=200,xmax=3900,ymin=200,ymax=3900
dtoverlay=w1-gpio-pullup,gpiopin=4,extpullup=1

Components:

  • Raspberry Pi 2 Model B
  • Waveshare 5" LCD touchscreen (no USB, connected via HDMI and GPIOs) (http://www.waveshare.com/5inch-hdmi-lcd.htm)
  • SanDisk Ultra 32 GB micro SDcard
  • 5V / 2.4 A stable power source (not plugged into my pc)

Setup

  • Raspbian Jessie (latest version / updates) (not NOOBS!)
  • Linux raspberrypi 4.1.20-v7+ #862 SMP Sat Mar 19 20:37:37 GMT 2016 armv7l GNU/Linux
5
  • I don't see why you are blaming 1-wire. Does the touch panel work if you remove or comment out dtoverlay=w1-gpio-pullup,gpiopin=4,extpullup=1 and reboot?
    – joan
    Mar 24, 2016 at 22:35
  • Unfortunately, removing the line does not change anything regarding the touch-functionality. I blame 1-wire, because the 1-wire connection tells the pi that a touch event is taking place and, additionally, it is the only software-component I could find out that is realted to the touchscreen and gives an error
    – Markus
    Mar 24, 2016 at 22:47
  • Why do you think the screen is using 1-wire? It seems to be using SPI which is normally a 4-wire system.
    – joan
    Mar 24, 2016 at 23:10
  • Because the display-driver itself creates the w1-overlay - there is no reason for the driver to create it when it doesn't use it.
    – Markus
    Mar 25, 2016 at 0:07
  • Just because there is no reason hasn't stopped them from doing it. The w1-gpio line has nothing to do with your waveshare screen. It has been put there by mistake. The ads7846 line is for the touchscreen. It is the touchscreen controller. Look in /boot/overlays/README.
    – joan
    Mar 25, 2016 at 9:04

1 Answer 1

1

If anybody else is having the same problem - my solution to fix this was.. to get a new dispaly :D Unluckily, the former one was broken.

Despite this, in order to help others dealing with problems regarding this display, please have a look at romneys configuration on this site: Click me

The setup he posted there works with my new display, wherefore it might help others to find a solution regarding configuration problems. Thanks again to romney :)

Your Answer

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

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