diff --git a/aports/device/device-xiaomi-cancro/APKBUILD b/aports/device/device-xiaomi-cancro/APKBUILD
index 751d0b373eb6fb02ee8011b31a58337f27cc9083..8437ef99e2cac787f0de67e28d0ef97e326d7fa8 100644
--- a/aports/device/device-xiaomi-cancro/APKBUILD
+++ b/aports/device/device-xiaomi-cancro/APKBUILD
@@ -19,4 +19,4 @@ package() {
 	devicepkg_package $startdir $pkgname
 }
 
-sha512sums="b40f9a03ed6dfbd5b09f80d6605fb543f9e90d658eb107c3297edcf05c92cc0a95f6d3d36c34095dabd4e814e55393763ec6f32bd5afd85e55f544a3a8581234  deviceinfo"
+sha512sums="48375b804aa1870a3a3ada4ac6967b58a0e4d30b4b432d99e6bbe82743edfb98acc19b13d828632f0fb1e306479a0dc088ba727caa46b4c214b8a95aff49121c  deviceinfo"
diff --git a/aports/device/device-xiaomi-cancro/deviceinfo b/aports/device/device-xiaomi-cancro/deviceinfo
index 4f4e20b4debb81809614ad2f23fc0c204d140561..b19e45db92062aedfc9d99206b24184fbf1bcbe3 100644
--- a/aports/device/device-xiaomi-cancro/deviceinfo
+++ b/aports/device/device-xiaomi-cancro/deviceinfo
@@ -14,7 +14,7 @@ deviceinfo_keyboard="false"
 deviceinfo_external_storage="false"
 deviceinfo_screen_width="1080"
 deviceinfo_screen_height="1920"
-deviceinfo_dev_touchscreen=""
+deviceinfo_dev_touchscreen="/dev/input/event2"
 deviceinfo_dev_touchscreen_calibration=""
 deviceinfo_dev_keyboard=""
 deviceinfo_weston_pixman_type="2"
diff --git a/aports/device/linux-xiaomi-cancro/APKBUILD b/aports/device/linux-xiaomi-cancro/APKBUILD
index 9773d893fe385dac6dc9dbb7c34da871bee90424..d785ea70d3c6b4904579c71ea92ff4f087ba31be 100644
--- a/aports/device/linux-xiaomi-cancro/APKBUILD
+++ b/aports/device/linux-xiaomi-cancro/APKBUILD
@@ -28,6 +28,7 @@ source="
 	tspdrv_2.patch
 	tspdrv_3.patch
 	tspdrv_4.patch
+	tspdrv_5.patch
 	05_q6voice.patch
 "
 builddir="$srcdir/${_repository}-${_commit}"
@@ -94,4 +95,5 @@ b16626bcf66016aee891050cade45127630062339227ce5d20862ab48eba712f92b3ab09e5e0e1bd
 c1a70619ffb7aec52b8e4b0847800ff7eeae7f1061e61f68030849e0542175c1f83ca5fa12ab78c12e4cce5900467c5c07677d45abff4bc9889d529a7dd20522  tspdrv_2.patch
 977e8b6bd17b148fea92952ea92d50c35dd94b3b585af2b30dee000c1092539139b08128494a63b7963bdd6ed4e6a2f44d5faba7e48af41e01440e41f9538b3b  tspdrv_3.patch
 4b6c12f0591302fe50617ce49eae456befd1e8b9cfcf7ec8a322cbff5f54fbfd85c1b5ea68ad5f84e63450a0972eb07e46bbeb9c5f76c9b42cc2d88e5ef295b7  tspdrv_4.patch
+a509f9fbe351fd22d3f036ed3718f9f1e0b24791b7ddb6851bc683fa5197f5856477f6b5552cd6bb6e07df1e355c2a65c228f29e896b158e369ca4c7c7e9e07b  tspdrv_5.patch
 4e7484eaa142e013c9aee12053d91a65983f7629d2b923566d4431143fa0529988dbc28b01dee21336995090ce8127b2ba79208bf61df359632bfeebae9c6618  05_q6voice.patch"
diff --git a/aports/device/linux-xiaomi-cancro/tspdrv_5.patch b/aports/device/linux-xiaomi-cancro/tspdrv_5.patch
new file mode 100644
index 0000000000000000000000000000000000000000..51f5a232d27260809d97af08f0dac50afe99f074
--- /dev/null
+++ b/aports/device/linux-xiaomi-cancro/tspdrv_5.patch
@@ -0,0 +1,54 @@
+diff --git a/drivers/tspdrv/ImmVibeSPI.c b/drivers/tspdrv/ImmVibeSPI.c
+index c28585f..57c0ffb 100644
+--- a/drivers/tspdrv/ImmVibeSPI.c
++++ b/drivers/tspdrv/ImmVibeSPI.c
+@@ -680,7 +680,6 @@ static void drv2604_write_reg_val(const unsigned char* data, unsigned int size)
+ 	if(g_hw_version == 5) {
+ 		while (i < size) {
+ 			/* From Xiaomi start */
+-			pr_debug("drv2604 x5 write 0x%02x, 0x%02x", data[i], data[i + 1]);
+ 			/* From Xiaomi end */
+ 			if(data[i] == 0x02)
+ 				i2c_smbus_write_byte_data(g_pTheClient, data[i], 0xFF);
+@@ -691,7 +690,6 @@ static void drv2604_write_reg_val(const unsigned char* data, unsigned int size)
+ 	} else {
+ 		while (i < size) {
+ 			/* From Xiaomi start */
+-			pr_debug("drv2604 write 0x%02x, 0x%02x", data[i], data[i + 1]);
+ 			/* From Xiaomi end */
+ 			i2c_smbus_write_byte_data(g_pTheClient, data[i], data[i + 1]);
+ 			i += 2;
+@@ -731,8 +729,6 @@ static unsigned char drv2604_read_reg(unsigned char reg)
+ 	msgs[1].len = 1;
+ 
+ 	res = i2c_transfer(i2c_adap, msgs, 2);
+-	pr_debug("drv2604 read addr:0x%x reg:0x%x data:0x%x res:%d",
+-		address, reg, data, res);
+ 
+ 	return data;
+ /* From Xiaomi end */
+@@ -921,14 +917,12 @@ static void drv2604_pat_work(struct work_struct *work)
+ 			if ((time == 0) || (i + 2 >= vibdata.pat_len )) { /* the end */
+ 				pwm_disable(vibdata.pwm_dev);
+ 				drv2604_change_mode(MODE_STANDBY);
+-				pr_debug("drv2604 vib len:%d time:%d", vibdata.pat_len, time);
+ 				break;
+ 			} else {
+ 				pwm_duty_enable(vibdata.pwm_dev, 0);
+ 				msleep(time);
+ 			}
+ 		}
+-		pr_debug("%s: %d vib:%d time:%d value:%u",__func__, i, vibdata.pat[i], time, value);
+ 	}
+ 	wake_unlock(&vibdata.wklock);
+ }
+@@ -942,9 +936,6 @@ static ssize_t drv2604_write_pattern(struct file *filp, struct kobject *kobj,
+ #if SUPPORT_WRITE_PAT
+ 	mutex_lock(&vibdata.lock);
+ 	wake_lock(&vibdata.wklock);
+-	pr_debug("%s count:%d [%d %d %d %d %d %d %d %d %d ]", __func__,
+-		count, buffer[0], buffer[1], buffer[2], buffer[3],
+-		buffer[4], buffer[5], buffer[6], buffer[7], buffer[8]);
+ 
+ 	vibdata.pat_len = 0;
+ 	cancel_work_sync(&vibdata.pat_work);