Wojtek Przybycień Posted August 21, 2017 Share Posted August 21, 2017 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. Link to comment Share on other sites More sharing options...
Igor Posted August 21, 2017 Share Posted August 21, 2017 This would be a good start. https://forum.armbian.com/index.php?/search/&q=waveshare Link to comment Share on other sites More sharing options...
Wojtek Przybycień Posted August 21, 2017 Author Share Posted August 21, 2017 Thank you, I will try to read what you pointed out and find a solution. But if anyone knows the solution please inform me. Link to comment Share on other sites More sharing options...
tiptop Posted September 6, 2017 Share Posted September 6, 2017 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! Link to comment Share on other sites More sharing options...
hichkas Posted November 1, 2017 Share Posted November 1, 2017 (edited) 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 November 1, 2017 by hichkas add firmware Link to comment Share on other sites More sharing options...
aurror Posted November 10, 2017 Share Posted November 10, 2017 (edited) 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 November 11, 2017 by aurror Link to comment Share on other sites More sharing options...
freaders Posted May 16, 2018 Share Posted May 16, 2018 Did you find any solution to this? Im stuck at exactly your issue. Link to comment Share on other sites More sharing options...
Recommended Posts