Wojtek Przybycień Posted August 21, 2017 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.
Igor Posted August 21, 2017 Posted August 21, 2017 This would be a good start. https://forum.armbian.com/index.php?/search/&q=waveshare
Wojtek Przybycień Posted August 21, 2017 Author 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.
tiptop Posted September 6, 2017 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!
hichkas Posted November 1, 2017 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
aurror Posted November 10, 2017 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
freaders Posted May 16, 2018 Posted May 16, 2018 Did you find any solution to this? Im stuck at exactly your issue.
Recommended Posts