Skip to content
View in the app

A better way to browse. Learn more.

Armbian Community Forums

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

OrangePi PC+ and 7inch HDMI LCD (C) from Waveshare

Featured Replies

Hi all,

I have the Orange Pi PC+ with installed latest armbian. system installed on eMMC.

When I connect the LCD 7" ( http://www.waveshare.com/wiki/7inch_HDMI_LCD_(C) ) via hdmi to Orange Pi PC+ I only have a white screen. I do not know where I could change the settings in Armbian so that I can see the normal image on this display just like on a computer monitor. For RPi3 I knew what to do and where because it is described on wiki page for this display.  Unfortunately I do not know linux well.

Hello, I've tried anything but finally found a solution in this topic.

 

1. find your device at /boot/bin directory

2. install Sunxi-tools http://linux-sunxi.org/Sunxi-tools

3. convert binary configuration to fex format (bin2fex /boot/bin/yourdevice.bin /boot/bin/yourdevice.fex)

4. change display resolution in following sections:

[disp_init]
disp_init_enable = 1
disp_mode = 0
screen0_output_type = 3
screen0_output_mode = 5
screen1_output_type = 3
screen1_output_mode = 5
fb0_width = 800
fb0_height = 480
fb1_width = 800
fb1_height = 480
 
[hdmi_para]
hdmi_used = 1
hdmi_x = 800
hdmi_y = 480
hdmi_power = "vcc-hdmi-18"
hdmi_cts_compatibility = 1

5. convert fex to binary format to apply the changes (fex2bin /boot/bin/yourdevice.fex /boot/bin/yourdevice.bin)

 

Boot&Enjoy!

On 9/6/2017 at 10:57 PM, tiptop said:

Hello, I've tried anything but finally found a solution in this topic.

 

1. find your device at /boot/bin directory

2. install Sunxi-tools http://linux-sunxi.org/Sunxi-tools

3. convert binary configuration to fex format (bin2fex /boot/bin/yourdevice.bin /boot/bin/yourdevice.fex)

4. change display resolution in following sections:


[disp_init]
disp_init_enable = 1
disp_mode = 0
screen0_output_type = 3
screen0_output_mode = 5
screen1_output_type = 3
screen1_output_mode = 5
fb0_width = 800
fb0_height = 480
fb1_width = 800
fb1_height = 480
 
[hdmi_para]
hdmi_used = 1
hdmi_x = 800
hdmi_y = 480
hdmi_power = "vcc-hdmi-18"
hdmi_cts_compatibility = 1

5. convert fex to binary format to apply the changes (fex2bin /boot/bin/yourdevice.fex /boot/bin/yourdevice.bin)

 

Boot&Enjoy!

 

Hello,

 

Sorry for my bad English.

 

I have Orange Pi PC+ and Waveshare 7" Touch Screen (C) like Wojtek.

 

I run latest ARMBIAN 5.30 stable Ubuntu 16.04.2 LTS 3.4.113-sun8i

 

When I use screen with RPi 3 (latest Raspbian), it fit. But when I connect screen to OPi PC+ I get only display (with tiptop's solution 1024*600).

 

I was research how to enable touch and I found lsusb command. When I use lsusb command I got this :

 

root@orangepipcplus/:# lsusb
Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 002: ID 0eef:0005 D-WAV Scientific Co., Ltd
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

 

I cant find this Bus 006 Device 002: ID 0eef:0005 D-WAV Scientific Co., Ltd Vendor ID and Device ID in hid-multitouch (or etc. didnt remember) files.

 

And evtest command :

 

root@orangepipcplus:/# evtest
No device specified, trying to scan all of /dev/input/event*
Available devices:
/dev/input/event0:      vmouse
/dev/input/event1:      sunxi-gpiokey
/dev/input/event2:      sunxi-ths
/dev/input/event3:      WaveShare WaveShare Touchscreen
Select the device event number [0-3]: 3
Input driver version is 1.0.1
Input device ID: bus 0x3 vendor 0xeef product 0x5 version 0x111
Input device name: "WaveShare WaveShare Touchscreen"
Supported events:
  Event type 0 (EV_SYN)
  Event type 1 (EV_KEY)
    Event code 330 (BTN_TOUCH)
  Event type 3 (EV_ABS)
    Event code 0 (ABS_X)
      Value      0
      Min        0
      Max     1024
    Event code 1 (ABS_Y)
      Value      0
      Min        0
      Max      600
    Event code 24 (ABS_PRESSURE)
      Value      0
      Min        0
      Max      255
    Event code 47 (ABS_MT_SLOT)
      Value      0
      Min        0
      Max        9
    Event code 53 (ABS_MT_POSITION_X)
      Value      0
      Min        0
      Max     1024
    Event code 54 (ABS_MT_POSITION_Y)
      Value      0
      Min        0
      Max      600
    Event code 57 (ABS_MT_TRACKING_ID)
      Value      0
      Min        0
      Max    65535
    Event code 58 (ABS_MT_PRESSURE)
      Value      0
      Min        0
      Max      255
Properties:
  Property type 1 (INPUT_PROP_DIRECT)
Testing ... (interrupt to exit)
 

Doesnt give any output when I touch screen.

 

I can only see output with

 

root@orangepipcplus:/# xxd -c 25 /dev/hidraw0
00000000: 0101 0005 7401 7501 71f5 0101 0100 0674 0175 017f f501 0101 00  ....t.u.q......t.u.......
00000019: 0576 0175 018d f501 0101 0005 7901 7501 9bf5 0101 0100 057e 01  .v.u........y.u........~.
00000032: 7601 a8f5 0101 0100 0581 0176 01b6 f501 0101 0005 8301 7601 c4  v..........v..........v..
0000004b: f501 0101 0005 8501 7601 d2f5 0101 0100 0688 0176 01e0 f501 01  ........v..........v.....
00000064: 0100 068c 0176 01ee f501 0101 0006 9101 7601 fcf5 0101 0100 05  .....v..........v........
0000007d: 9601 7701 09f6 0101 0100 059e 0178 0117 f601 0101 0006 a601 79  ..w..........x..........y
00000096: 0125 f601 0101 0005 af01 7901 33f6 0101 0100 05b7 017a 0141 f6  .%........y.3........z.A.
000000af: 0101 0100 03c0 017b 014e f601 0101 0003 c901 7d01 5cf6 0101 01  .......{.N........}.\....
000000c8: 0003 d201 7d01 6af6 0101 0100 03da 017e 0177 f601 0101 0005 e4  ....}.j........~.w.......
000000e1: 0181 0185 f601 0101 0005 eb01 8301 93f6 0101 0100 01ef 0185 01  .........................

 

Also in this topic shahidali55's solution doesnt work for me.

I really did a lot of thing but I didnt get any solution.

 

Can anyone know how to enable touch for Waveshare 7" Touch Screen (C) ?

 

Edited by hichkas
add firmware

I'm having the same issue as you.

 

with dmesg i get the following output:

  8.031945] hid-multitouch 0003:0EEF:0005.0001: input,hidraw0: USB HID v1.11 Device [WaveShare WaveShare Touchscreen] on usb-sunxi-ohci-1/input0

 

and I can see touch-inputs when using: xxd -c 11 /dev/hidraw0:

 

00000000: 0101 0003 2900 fb00 aa33 01

                                     ------ -----  -----

                                       x       y        |    

                                                        some kind of counter, increases when i hold/touch the screen

 

each byte-double is increasing its position like this: ff02 -> 0003

 

some things i found out:

 

0101 0003 2900 fb00 aa33 01  ....)....3.

touch-start/hold

 

0100 0003 2900 fb00 aa33 01  ....)....3.

touch-end

 

00021722: 0101 0001 6701 9001 bbf3 05  ....g......
0002172d: 0101 0101 d001 1f01 bbf3 00  ...........
00021738: 0101 0203 5c02 1501 bbf3 00  ....\......
00021743: 0101 0301 ce02 0002 bbf3 00  ...........
0002174e: 0101 0401 cb02 8701 bbf3 00  ...........

multi-touch with 5 fingers

 

00021722: 0101 0001 6701 9001 bbf3 05  ....g......
0002172d: 0101 0101 d001 1f01 bbf3 00  ...........
00021738: 0101 0203 5c02 1501 bbf3 00  ....\......
00021743: 0101 0301 ce02 0002 bbf3 00  ...........
0002174e: 0101 0401 cb02 8701 bbf3 00  ...........

counts how many fingers are currently on the touch

 

Report descriptor of the touch:

printit@printit-v2:/sys/bus/usb/drivers/usbhid$ sudo lsusb -vd 0eef:0005

Bus 007 Device 002: ID 0eef:0005 D-WAV Scientific Co., Ltd
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0        64
  idVendor           0x0eef D-WAV Scientific Co., Ltd
  idProduct          0x0005
  bcdDevice            2.00
  iManufacturer           1 WaveShare
  iProduct                2 WaveShare Touchscreen
  iSerial                 3 2016-11-06
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           34
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0
    bmAttributes         0xc0
      Self Powered
    MaxPower              500mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      0 No Subclass
      bInterfaceProtocol      0 None
      iInterface              0
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.11
          bCountryCode            9 German
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength     124
          Report Descriptor: (length is 124)
            Item(Global): Usage Page, data= [ 0x0d ] 13
                            Digitizer
            Item(Local ): Usage, data= [ 0x04 ] 4
                            Touch Screen
            Item(Main  ): Collection, data= [ 0x01 ] 1
                            Application
            Item(Global): Report ID, data= [ 0x01 ] 1
            Item(Local ): Usage, data= [ 0x22 ] 34
                            Finger
            Item(Main  ): Collection, data= [ 0x02 ] 2
                            Logical
            Item(Local ): Usage, data= [ 0x42 ] 66
                            Tip Switch
            Item(Global): Logical Minimum, data= [ 0x00 ] 0
            Item(Global): Logical Maximum, data= [ 0x01 ] 1
            Item(Global): Report Size, data= [ 0x01 ] 1
            Item(Global): Report Count, data= [ 0x01 ] 1
            Item(Main  ): Input, data= [ 0x02 ] 2
                            Data Variable Absolute No_Wrap Linear
                            Preferred_State No_Null_Position Non_Volatile Bitfield
            Item(Global): Report Count, data= [ 0x07 ] 7
            Item(Main  ): Input, data= [ 0x03 ] 3
                            Constant Variable Absolute No_Wrap Linear
                            Preferred_State No_Null_Position Non_Volatile Bitfield
            Item(Global): Logical Maximum, data= [ 0xff 0x00 ] 255
            Item(Global): Report Size, data= [ 0x08 ] 8
            Item(Global): Report Count, data= [ 0x01 ] 1
            Item(Local ): Usage, data= [ 0x51 ] 81
                            Contact ID
            Item(Main  ): Input, data= [ 0x02 ] 2
                            Data Variable Absolute No_Wrap Linear
                            Preferred_State No_Null_Position Non_Volatile Bitfield
            Item(Local ): Usage, data= [ 0x30 ] 48
                            Tip Pressure
            Item(Main  ): Input, data= [ 0x02 ] 2
                            Data Variable Absolute No_Wrap Linear
                            Preferred_State No_Null_Position Non_Volatile Bitfield
            Item(Global): Report Size, data= [ 0x10 ] 16
            Item(Global): Report Count, data= [ 0x01 ] 1
            Item(Global): Usage Page, data= [ 0x01 ] 1
                            Generic Desktop Controls
            Item(Global): Unit Exponent, data= [ 0x0f ] 15
                            Unit Exponent: 15
            Item(Global): Unit, data= [ 0x11 ] 17
                            System: SI Linear, Unit: Centimeter
            Item(Global): Logical Maximum, data= [ 0x00 0x04 ] 1024
            Item(Global): Physical Minimum, data= [ 0x00 ] 0
            Item(Global): Physical Maximum, data= [ 0xff 0xff ] 65535
            Item(Local ): Usage, data= [ 0x30 ] 48
                            Direction-X
            Item(Main  ): Input, data= [ 0x02 ] 2
                            Data Variable Absolute No_Wrap Linear
                            Preferred_State No_Null_Position Non_Volatile Bitfield
            Item(Global): Physical Maximum, data= [ 0xff 0xff ] 65535
            Item(Global): Logical Maximum, data= [ 0x58 0x02 ] 600
            Item(Local ): Usage, data= [ 0x31 ] 49
                            Direction-Y
            Item(Main  ): Input, data= [ 0x02 ] 2
                            Data Variable Absolute No_Wrap Linear
                            Preferred_State No_Null_Position Non_Volatile Bitfield
            Item(Main  ): End Collection, data=none
            Item(Global): Usage Page, data= [ 0x0d ] 13
                            Digitizer
            Item(Global): Unit Exponent, data= [ 0x0c ] 12
                            Unit Exponent: 12
            Item(Global): Unit, data= [ 0x01 0x10 ] 4097
                            System: SI Linear, Unit: Seconds
            Item(Global): Physical Maximum, data= [ 0xff 0xff 0x00 0x00 ] 65535
            Item(Global): Logical Maximum, data= [ 0xff 0xff 0x00 0x00 ] 65535
            Item(Global): Report Size, data= [ 0x10 ] 16
            Item(Global): Report Count, data= [ 0x01 ] 1
            Item(Local ): Usage, data= [ 0x56 ] 86
                            (null)
            Item(Main  ): Input, data= [ 0x02 ] 2
                            Data Variable Absolute No_Wrap Linear
                            Preferred_State No_Null_Position Non_Volatile Bitfield
            Item(Global): Usage Page, data= [ 0x0d ] 13
                            Digitizer
            Item(Local ): Usage, data= [ 0x54 ] 84
                            Contact Count
            Item(Global): Logical Maximum, data= [ 0x7f ] 127
            Item(Global): Report Count, data= [ 0x01 ] 1
            Item(Global): Report Size, data= [ 0x08 ] 8
            Item(Main  ): Input, data= [ 0x02 ] 2
                            Data Variable Absolute No_Wrap Linear
                            Preferred_State No_Null_Position Non_Volatile Bitfield
            Item(Global): Report ID, data= [ 0x02 ] 2
            Item(Local ): Usage, data= [ 0x55 ] 85
                            Maximum Contact Number
            Item(Global): Report Count, data= [ 0x01 ] 1
            Item(Global): Logical Maximum, data= [ 0x02 ] 2
            Item(Main  ): Feature, data= [ 0x02 ] 2
                            Data Variable Absolute No_Wrap Linear
                            Preferred_State No_Null_Position Non_Volatile Bitfield
            Item(Main  ): End Collection, data=none
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               1
Device Status:     0x0000
  (Bus Powered)

 

 

 

touch doesn't work in normal use.

 

I'm a noob when it comes to drivers, does someone know which files I need to modify to get it working or should I emulate mouseclicks reading the outputs from: xxd -c 11 /dev/hidraw0 ?

Edited by aurror

Guest
This topic is now closed to further replies.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.