Linux API/linux2024. 12. 4. 14:18

고통 받고 있는 ptn5110에 대해서 검색하는데

리눅스 소스상에 dtb로만 존재해서 문법을 찾아보는 중.

봐야할 부분은 source-pdos의 <PDO_FIXED()>; 인데

	ptn5110: tcpc@50 {
		compatible = "nxp,ptn5110", "tcpci";
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_typec>;
		reg = <0x50>;
		interrupt-parent = <&lsio_gpio1>;
		interrupts = <3 IRQ_TYPE_LEVEL_LOW>;

		usb_con1: connector {
			compatible = "usb-c-connector";
			label = "USB-C";
			power-role = "source";
			data-role = "dual";
			source-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;

			ports {
				#address-cells = <1>;
				#size-cells = <0>;

				port@0 {
					reg = <0>;

					typec_dr_sw: endpoint {
						remote-endpoint = <&usb3_drd_sw>;
					};
				};

				port@1 {
					reg = <1>;

					typec_con_ss: endpoint {
						remote-endpoint = <&usb3_data_ss>;
					};
				};
			};
		};
	};

 

<> 는 cell 이라고 부르고

[링크 : https://kernel.bz/boardPost/118684/3]

 

unsigned int로 된 배열인것 같은데

  • 텍스트 문자열 (널로 종료 됨)은 큰 따옴표로 표시됩니다.
    • string-property = "a string";
  • ‘셀’은 꺾쇠 괄호로 구분 된 32 비트 부호없는 정수입니다.
    • cell-property = <0xbeef 123 0xabcd1234>;
  • 이진 데이터는 대괄호로 구분됩니다.
    • binary-property = [0x01 0x23 0x45 0x67];
  • 다른 표현의 데이터는 쉼표를 사용하여 함께 연결할 수 있습니다.
    • mixed-property = "a string", [0x01 0x23 0x45 0x67], <0x12345678>;
  • 쉼표는 문자열 목록을 만드는 데에도 사용됩니다.
    • string-list = "red fish", "blue fish";

[링크 : https://jung-max.github.io/2019/10/22/Device_Tree_문법/]

 

도대체 저 매크로는 어떻게 dtb에서 인식을 하고 쓰는거지? 하고 찾아보니

아래의 경로에서 dt-bindings 라는 곳에서 정의가 되어있었다.

linux-master/scripts/dtc/include-prefixes/dt-bindings/usb

 

선언을 하도 여러군데서 하다보니 일반소스에서만 선언된 줄 알았는데..

#define PDO_FIXED(mv, ma, flags) \
    (PDO_TYPE(PDO_TYPE_FIXED) | (flags) | \
    PDO_FIXED_VOLT(mv) | PDO_FIXED_CURR(ma))

 

device tress binding 이라는 녀석이 또 추가 되었나 보다..

[링크 : https://docs.zephyrproject.org/latest/build/dts/bindings.html]

'Linux API > linux' 카테고리의 다른 글

usb hid, hidraw  (0) 2024.03.11
linux 멀티터치 프로토콜  (0) 2024.03.08
btrfs CoW  (0) 2024.02.15
statvfs() 의 f_bavail과 f_bfree 차이  (0) 2024.02.15
corrupted size vs. prev_size 에러.. part2  (0) 2023.12.15
Posted by 구차니
Linux API/linux2024. 3. 11. 15:52

hi draw로 봤는데

hid + raw.. -_-

 

The hidraw driver provides a raw interface to USB and Bluetooth Human Interface Devices (HIDs). It differs from hiddev in that reports sent and received are not parsed by the HID parser, but are sent to and received from the device unmodified.

[링크 : https://docs.kernel.org/hid/hidraw.html]

 

그런데 hidraw의 경우 HID 장비에 대한 RAW 인터페이스를 제공하고 sent, received를 지원한다는데

HID 장치로 등록된 장비에 대해서 중간에 읽어보고 대신 보낼수 있지

uinput 처럼 연결도 안된애를 흉내낼수 있는건 아닌것 같은데 나중에 찾아봐야겠다.

'Linux API > linux' 카테고리의 다른 글

linux device tree(dtb) 문법...?  (0) 2024.12.04
linux 멀티터치 프로토콜  (0) 2024.03.08
btrfs CoW  (0) 2024.02.15
statvfs() 의 f_bavail과 f_bfree 차이  (0) 2024.02.15
corrupted size vs. prev_size 에러.. part2  (0) 2023.12.15
Posted by 구차니
Linux API/linux2024. 3. 8. 20:00

uinput 쪽으로는 multi touch 관련 내용이 잘 안보여서, 뒤져보다가 커널쪽 멀티터치 프로토콜 링크를 발견하게 됨

스타일은 비슷하긴 한데 ABS_MT_POSITION_X/Y 앞뒤로 멀 쏘냐의 차이이려나?

Protocol A Protocol B
ABS_MT_POSITION_X x[0]
ABS_MT_POSITION_Y y[0]
SYN_MT_REPORT

ABS_MT_POSITION_X x[1]
ABS_MT_POSITION_Y y[1]
SYN_MT_REPORT

SYN_REPORT
ABS_MT_SLOT 0
    ABS_MT_TRACKING_ID 45
    ABS_MT_POSITION_X x[0]
    ABS_MT_POSITION_Y y[0]

ABS_MT_SLOT 1
    ABS_MT_TRACKING_ID 46
    ABS_MT_POSITION_X x[1]
    ABS_MT_POSITION_Y y[1]

SYN_REPORT

[링크 : https://docs.kernel.org/input/multi-touch-protocol.html]

 

짧게(한 2초 이내?) 줌 인/아웃 한건데 많은 이벤트가 발생한다.

ABS_MT_SLOT은 47번

ABS_MT_POSITION_X 는 53번(10진수)

ABS_MT_POSITION_Y 는 54번 이다.

#define ABS_MT_SLOT 0x2f /* MT slot being modified */
#define ABS_MT_TOUCH_MAJOR 0x30 /* Major axis of touching ellipse */
#define ABS_MT_TOUCH_MINOR 0x31 /* Minor axis (omit if circular) */
#define ABS_MT_WIDTH_MAJOR 0x32 /* Major axis of approaching ellipse */
#define ABS_MT_WIDTH_MINOR 0x33 /* Minor axis (omit if circular) */
#define ABS_MT_ORIENTATION 0x34 /* Ellipse orientation */
#define ABS_MT_POSITION_X 0x35 /* Center X touch position */
#define ABS_MT_POSITION_Y 0x36 /* Center Y touch position */
#define ABS_MT_TOOL_TYPE 0x37 /* Type of touching device */
#define ABS_MT_BLOB_ID 0x38 /* Group a set of packets as a blob */
#define ABS_MT_TRACKING_ID 0x39 /* Unique ID of initiated contact */
#define ABS_MT_PRESSURE 0x3a /* Pressure on contact area */
#define ABS_MT_DISTANCE 0x3b /* Contact hover distance */
#define ABS_MT_TOOL_X 0x3c /* Center X tool position */
#define ABS_MT_TOOL_Y 0x3d /* Center Y tool position */

 

egalax 사의 터치인데 protocol B로 구현이 된 듯.

evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 0
evbug: Event. Dev: input33, Type: 3, Code: 57, Value: 28
evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2068
evbug: Event. Dev: input33, Type: 3, Code: 54, Value: 1859
evbug: Event. Dev: input33, Type: 1, Code: 330, Value: 1
evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2068
evbug: Event. Dev: input33, Type: 3, Code: 1, Value: 1859
evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 0
evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
EV_ABS, ABS_MT_SLOT, 0
EV_ABS, ABS_MT_TRACKING_ID, 28
EV_ABS, ABS_MT_POSITION_X , 2068
EV_ABS, ABS_MT_POSITION_Y , 1859
EV_KEY, BTN_TOUCH, 1
EV_ABS, ABS_X, 2068
EV_ABS, ABS_Y, 1859
EV_MSC, ???
EV_SYN, SYN_REPORT
evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 1
evbug: Event. Dev: input33, Type: 3, Code: 57, Value: 29
evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 1980
evbug: Event. Dev: input33, Type: 3, Code: 54, Value: 1922
evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 317300
evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
EV_ABS, ABS_MT_SLOT, 1
EV_ABS, ABS_MT_TRACKING_ID, 29
EV_ABS, ABS_MT_POSITION_X , 1980
EV_ABS, ABS_MT_POSITION_Y , 1922
EV_MSC, ???
EV_SYN, SYN_REPORT

 

 

+

터치 장비 USB 연결/터치 한번/제거 시 로그

[13648.534463] usb 1-2.2: new full-speed USB device number 13 using xhci_hcd
[13648.652294] usb 1-2.2: New USB device found, idVendor=0eef, idProduct=c000, bcdDevice= 0.00
[13648.652313] usb 1-2.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[13648.652320] usb 1-2.2: Product: eGalaxTouch EXC3188-3374-08.00.00.00 LSE 19"
[13648.652326] usb 1-2.2: Manufacturer: eGalax Inc.
[13648.663085] input: eGalax Inc. eGalaxTouch EXC3188-3374-08.00.00.00 LSE 19" as /devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2.2/1-2.2:1.0/0003:0EEF:C000.000A/input/input36
[13648.722582] evbug: Connected device: input36 (eGalax Inc. eGalaxTouch EXC3188-3374-08.00.00.00 LSE 19" at usb-0000:00:14.0-2.2/input0)
[13648.722675] input: eGalax Inc. eGalaxTouch EXC3188-3374-08.00.00.00 LSE 19" UNKNOWN as /devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2.2/1-2.2:1.0/0003:0EEF:C000.000A/input/input38
[13648.723219] evbug: Connected device: input38 (eGalax Inc. eGalaxTouch EXC3188-3374-08.00.00.00 LSE 19" UNKNOWN at usb-0000:00:14.0-2.2/input0)
[13648.723669] hid-multitouch 0003:0EEF:C000.000A: input,hiddev0,hidraw6: USB HID v1.11 Pointer [eGalax Inc. eGalaxTouch EXC3188-3374-08.00.00.00 LSE 19"] on usb-0000:00:14.0-2.2/input0
[13652.953241] evbug: Event. Dev: input36, Type: 3, Code: 57, Value: 0
[13652.953256] evbug: Event. Dev: input36, Type: 3, Code: 53, Value: 1553
[13652.953261] evbug: Event. Dev: input36, Type: 3, Code: 54, Value: 1146
[13652.953266] evbug: Event. Dev: input36, Type: 1, Code: 330, Value: 1
[13652.953270] evbug: Event. Dev: input36, Type: 3, Code: 0, Value: 1553
[13652.953274] evbug: Event. Dev: input36, Type: 3, Code: 1, Value: 1146
[13652.953278] evbug: Event. Dev: input36, Type: 4, Code: 5, Value: 0
[13652.953282] evbug: Event. Dev: input36, Type: 0, Code: 0, Value: 0
[13652.957120] evbug: Event. Dev: input36, Type: 4, Code: 5, Value: 5100
[13652.957134] evbug: Event. Dev: input36, Type: 0, Code: 0, Value: 0
[13652.963170] evbug: Event. Dev: input36, Type: 4, Code: 5, Value: 10200
[13652.963188] evbug: Event. Dev: input36, Type: 0, Code: 0, Value: 0
[13652.968162] evbug: Event. Dev: input36, Type: 4, Code: 5, Value: 15300
[13652.968175] evbug: Event. Dev: input36, Type: 0, Code: 0, Value: 0
[13652.974146] evbug: Event. Dev: input36, Type: 4, Code: 5, Value: 20400
[13652.974158] evbug: Event. Dev: input36, Type: 0, Code: 0, Value: 0
[13652.978145] evbug: Event. Dev: input36, Type: 4, Code: 5, Value: 25500
[13652.978157] evbug: Event. Dev: input36, Type: 0, Code: 0, Value: 0
[13652.982082] evbug: Event. Dev: input36, Type: 4, Code: 5, Value: 30600
[13652.982090] evbug: Event. Dev: input36, Type: 0, Code: 0, Value: 0
[13652.986118] evbug: Event. Dev: input36, Type: 3, Code: 57, Value: -1
[13652.986126] evbug: Event. Dev: input36, Type: 1, Code: 330, Value: 0
[13652.986130] evbug: Event. Dev: input36, Type: 4, Code: 5, Value: 35700
[13652.986133] evbug: Event. Dev: input36, Type: 0, Code: 0, Value: 0
[13657.511515] usb 1-2.2: USB disconnect, device number 13
[13657.606251] evbug: Disconnected device: input36
[13657.734435] evbug: Disconnected device: input38

 

전체 로그

[ 4599.165022] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 0
[ 4599.165038] evbug: Event. Dev: input33, Type: 3, Code: 57, Value: 28
[ 4599.165043] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2068
[ 4599.165047] evbug: Event. Dev: input33, Type: 3, Code: 54, Value: 1859
[ 4599.165051] evbug: Event. Dev: input33, Type: 1, Code: 330, Value: 1
[ 4599.165055] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2068
[ 4599.165059] evbug: Event. Dev: input33, Type: 3, Code: 1, Value: 1859
[ 4599.165063] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 0
[ 4599.165066] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.168906] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 5600
[ 4599.168924] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.174907] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 10800
[ 4599.174923] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.179933] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 16000
[ 4599.179950] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.185912] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 21100
[ 4599.185927] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.189943] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 26200
[ 4599.189956] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.195948] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 31300
[ 4599.195962] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.200923] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 36400
[ 4599.200932] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.206908] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 41500
[ 4599.206914] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.210900] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 46600
[ 4599.210905] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.216867] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 51700
[ 4599.216873] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.220862] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 56800
[ 4599.220866] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.226904] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 62000
[ 4599.226910] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.231897] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 67200
[ 4599.231903] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.237914] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 72300
[ 4599.237919] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.241903] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 77400
[ 4599.241906] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.247863] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 82500
[ 4599.247868] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.252876] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 87600
[ 4599.252883] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.258904] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 92700
[ 4599.258910] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.262927] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 97800
[ 4599.262932] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.268913] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 102900
[ 4599.268916] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.272861] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 108000
[ 4599.272864] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.278865] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 113100
[ 4599.278871] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.283865] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 118200
[ 4599.283871] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.289928] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 123300
[ 4599.289933] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.293893] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 128400
[ 4599.293896] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.299988] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 133500
[ 4599.299992] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.303897] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 138600
[ 4599.303902] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.309866] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 143700
[ 4599.309872] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.314863] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 148800
[ 4599.314867] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.320924] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 153900
[ 4599.320929] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.324908] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 159000
[ 4599.324911] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.330909] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 164100
[ 4599.330912] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.335990] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 169200
[ 4599.335994] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.341873] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 174300
[ 4599.341879] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.345862] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 179400
[ 4599.345865] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.351897] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 184500
[ 4599.351901] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.355914] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 189600
[ 4599.355918] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.361914] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 194700
[ 4599.361918] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.366891] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 199800
[ 4599.366894] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.372859] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2049
[ 4599.372863] evbug: Event. Dev: input33, Type: 3, Code: 54, Value: 1866
[ 4599.372864] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2049
[ 4599.372865] evbug: Event. Dev: input33, Type: 3, Code: 1, Value: 1866
[ 4599.372866] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 204900
[ 4599.372867] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.376864] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 210000
[ 4599.376868] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.382852] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 215100
[ 4599.382855] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.386884] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 220200
[ 4599.386887] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.393891] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 225300
[ 4599.393895] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.397981] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 230400
[ 4599.397986] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.403860] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 235500
[ 4599.403863] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.407857] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 240600
[ 4599.407863] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.413875] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 245700
[ 4599.413882] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.418860] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 250800
[ 4599.418867] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.424864] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2064
[ 4599.424870] evbug: Event. Dev: input33, Type: 3, Code: 54, Value: 1861
[ 4599.424872] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2064
[ 4599.424874] evbug: Event. Dev: input33, Type: 3, Code: 1, Value: 1861
[ 4599.424875] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 255900
[ 4599.424877] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.428853] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 261000
[ 4599.428857] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.434852] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 266100
[ 4599.434855] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.438847] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 271200
[ 4599.438850] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.444880] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 276400
[ 4599.444891] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.449895] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 281600
[ 4599.449898] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.455917] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 286700
[ 4599.455921] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.459993] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 291800
[ 4599.459998] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.466891] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 296900
[ 4599.466895] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.470999] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2090
[ 4599.471005] evbug: Event. Dev: input33, Type: 3, Code: 54, Value: 1857
[ 4599.471006] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2090
[ 4599.471007] evbug: Event. Dev: input33, Type: 3, Code: 1, Value: 1857
[ 4599.471008] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 302000
[ 4599.471009] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.476911] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 307100
[ 4599.476919] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.480883] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2112
[ 4599.480886] evbug: Event. Dev: input33, Type: 3, Code: 54, Value: 1853
[ 4599.480888] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2112
[ 4599.480889] evbug: Event. Dev: input33, Type: 3, Code: 1, Value: 1853
[ 4599.480889] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 312200
[ 4599.480890] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.486904] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 1
[ 4599.486909] evbug: Event. Dev: input33, Type: 3, Code: 57, Value: 29
[ 4599.486910] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 1980
[ 4599.486911] evbug: Event. Dev: input33, Type: 3, Code: 54, Value: 1922
[ 4599.486912] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 317300
[ 4599.486913] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.491876] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 0
[ 4599.491881] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2128
[ 4599.491882] evbug: Event. Dev: input33, Type: 3, Code: 54, Value: 1850
[ 4599.491883] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2128
[ 4599.491884] evbug: Event. Dev: input33, Type: 3, Code: 1, Value: 1850
[ 4599.491885] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 322400
[ 4599.491886] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.497896] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 327500
[ 4599.497900] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.501987] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2140
[ 4599.501991] evbug: Event. Dev: input33, Type: 3, Code: 54, Value: 1845
[ 4599.501993] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2140
[ 4599.501994] evbug: Event. Dev: input33, Type: 3, Code: 1, Value: 1845
[ 4599.501994] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 332600
[ 4599.501995] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.507928] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2146
[ 4599.507939] evbug: Event. Dev: input33, Type: 3, Code: 54, Value: 1843
[ 4599.507940] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2146
[ 4599.507941] evbug: Event. Dev: input33, Type: 3, Code: 1, Value: 1843
[ 4599.507942] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 337700
[ 4599.507943] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.511884] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2150
[ 4599.511893] evbug: Event. Dev: input33, Type: 3, Code: 54, Value: 1841
[ 4599.511894] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2150
[ 4599.511896] evbug: Event. Dev: input33, Type: 3, Code: 1, Value: 1841
[ 4599.511897] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 342800
[ 4599.511898] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.517863] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2154
[ 4599.517867] evbug: Event. Dev: input33, Type: 3, Code: 54, Value: 1839
[ 4599.517868] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2154
[ 4599.517869] evbug: Event. Dev: input33, Type: 3, Code: 1, Value: 1839
[ 4599.517870] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 347900
[ 4599.517871] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.522920] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2157
[ 4599.522924] evbug: Event. Dev: input33, Type: 3, Code: 54, Value: 1837
[ 4599.522926] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2157
[ 4599.522927] evbug: Event. Dev: input33, Type: 3, Code: 1, Value: 1837
[ 4599.522928] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 353000
[ 4599.522929] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.528991] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2160
[ 4599.528996] evbug: Event. Dev: input33, Type: 3, Code: 54, Value: 1835
[ 4599.528998] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2160
[ 4599.528999] evbug: Event. Dev: input33, Type: 3, Code: 1, Value: 1835
[ 4599.529000] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 358200
[ 4599.529001] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.532892] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2163
[ 4599.532896] evbug: Event. Dev: input33, Type: 3, Code: 54, Value: 1833
[ 4599.532898] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2163
[ 4599.532899] evbug: Event. Dev: input33, Type: 3, Code: 1, Value: 1833
[ 4599.532900] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 363400
[ 4599.532902] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.538854] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2166
[ 4599.538859] evbug: Event. Dev: input33, Type: 3, Code: 54, Value: 1831
[ 4599.538860] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2166
[ 4599.538862] evbug: Event. Dev: input33, Type: 3, Code: 1, Value: 1831
[ 4599.538863] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 368500
[ 4599.538865] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.543895] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2168
[ 4599.543903] evbug: Event. Dev: input33, Type: 3, Code: 54, Value: 1829
[ 4599.543905] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2168
[ 4599.543907] evbug: Event. Dev: input33, Type: 3, Code: 1, Value: 1829
[ 4599.543908] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 373600
[ 4599.543910] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.549897] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2171
[ 4599.549903] evbug: Event. Dev: input33, Type: 3, Code: 54, Value: 1827
[ 4599.549906] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2171
[ 4599.549908] evbug: Event. Dev: input33, Type: 3, Code: 1, Value: 1827
[ 4599.549910] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 378700
[ 4599.549912] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.553867] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2173
[ 4599.553873] evbug: Event. Dev: input33, Type: 3, Code: 54, Value: 1826
[ 4599.553876] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2173
[ 4599.553878] evbug: Event. Dev: input33, Type: 3, Code: 1, Value: 1826
[ 4599.553879] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 383800
[ 4599.553882] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.559938] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2175
[ 4599.559945] evbug: Event. Dev: input33, Type: 3, Code: 54, Value: 1824
[ 4599.559948] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 1
[ 4599.559950] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 1965
[ 4599.559952] evbug: Event. Dev: input33, Type: 3, Code: 54, Value: 1904
[ 4599.559953] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2175
[ 4599.559955] evbug: Event. Dev: input33, Type: 3, Code: 1, Value: 1824
[ 4599.559957] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 388900
[ 4599.559959] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.564006] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 0
[ 4599.564013] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2177
[ 4599.564016] evbug: Event. Dev: input33, Type: 3, Code: 54, Value: 1823
[ 4599.564018] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2177
[ 4599.564020] evbug: Event. Dev: input33, Type: 3, Code: 1, Value: 1823
[ 4599.564022] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 394000
[ 4599.564024] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.570933] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2179
[ 4599.570939] evbug: Event. Dev: input33, Type: 3, Code: 54, Value: 1822
[ 4599.570941] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2179
[ 4599.570943] evbug: Event. Dev: input33, Type: 3, Code: 1, Value: 1822
[ 4599.570945] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 399100
[ 4599.570947] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.574910] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2181
[ 4599.574918] evbug: Event. Dev: input33, Type: 3, Code: 54, Value: 1821
[ 4599.574921] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2181
[ 4599.574923] evbug: Event. Dev: input33, Type: 3, Code: 1, Value: 1821
[ 4599.574925] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 404200
[ 4599.574927] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.580912] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2183
[ 4599.580919] evbug: Event. Dev: input33, Type: 3, Code: 54, Value: 1820
[ 4599.580922] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2183
[ 4599.580924] evbug: Event. Dev: input33, Type: 3, Code: 1, Value: 1820
[ 4599.580926] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 409300
[ 4599.580928] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.584894] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2185
[ 4599.584900] evbug: Event. Dev: input33, Type: 3, Code: 54, Value: 1819
[ 4599.584902] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2185
[ 4599.584904] evbug: Event. Dev: input33, Type: 3, Code: 1, Value: 1819
[ 4599.584906] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 414400
[ 4599.584908] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.590870] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2187
[ 4599.590877] evbug: Event. Dev: input33, Type: 3, Code: 54, Value: 1818
[ 4599.590879] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2187
[ 4599.590881] evbug: Event. Dev: input33, Type: 3, Code: 1, Value: 1818
[ 4599.590883] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 419500
[ 4599.590885] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.595905] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2189
[ 4599.595910] evbug: Event. Dev: input33, Type: 3, Code: 54, Value: 1817
[ 4599.595913] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2189
[ 4599.595915] evbug: Event. Dev: input33, Type: 3, Code: 1, Value: 1817
[ 4599.595917] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 424600
[ 4599.595919] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.601999] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2191
[ 4599.602007] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2191
[ 4599.602009] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 429700
[ 4599.602011] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.605899] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2193
[ 4599.605906] evbug: Event. Dev: input33, Type: 3, Code: 54, Value: 1816
[ 4599.605909] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 1
[ 4599.605911] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 1949
[ 4599.605912] evbug: Event. Dev: input33, Type: 3, Code: 54, Value: 1894
[ 4599.605914] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2193
[ 4599.605916] evbug: Event. Dev: input33, Type: 3, Code: 1, Value: 1816
[ 4599.605918] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 434800
[ 4599.605920] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.611922] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 0
[ 4599.611937] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2196
[ 4599.611940] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2196
[ 4599.611942] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 439900
[ 4599.611944] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.615873] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2198
[ 4599.615878] evbug: Event. Dev: input33, Type: 3, Code: 54, Value: 1815
[ 4599.615880] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2198
[ 4599.615882] evbug: Event. Dev: input33, Type: 3, Code: 1, Value: 1815
[ 4599.615884] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 445000
[ 4599.615886] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.622904] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2201
[ 4599.622911] evbug: Event. Dev: input33, Type: 3, Code: 54, Value: 1814
[ 4599.622914] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2201
[ 4599.622916] evbug: Event. Dev: input33, Type: 3, Code: 1, Value: 1814
[ 4599.622918] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 450100
[ 4599.622920] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.626870] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2204
[ 4599.626876] evbug: Event. Dev: input33, Type: 3, Code: 54, Value: 1813
[ 4599.626878] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2204
[ 4599.626880] evbug: Event. Dev: input33, Type: 3, Code: 1, Value: 1813
[ 4599.626882] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 455200
[ 4599.626884] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.633000] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2207
[ 4599.633009] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2207
[ 4599.633012] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 460300
[ 4599.633014] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.636938] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2210
[ 4599.636947] evbug: Event. Dev: input33, Type: 3, Code: 54, Value: 1812
[ 4599.636949] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 1
[ 4599.636951] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 1932
[ 4599.636953] evbug: Event. Dev: input33, Type: 3, Code: 54, Value: 1895
[ 4599.636955] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2210
[ 4599.636957] evbug: Event. Dev: input33, Type: 3, Code: 1, Value: 1812
[ 4599.636958] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 465400
[ 4599.636960] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.642935] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 0
[ 4599.642951] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2214
[ 4599.642954] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2214
[ 4599.642958] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 470500
[ 4599.642961] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.647882] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2217
[ 4599.647891] evbug: Event. Dev: input33, Type: 3, Code: 54, Value: 1811
[ 4599.647894] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2217
[ 4599.647896] evbug: Event. Dev: input33, Type: 3, Code: 1, Value: 1811
[ 4599.647898] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 475600
[ 4599.647900] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.653890] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2221
[ 4599.653896] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2221
[ 4599.653898] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 480700
[ 4599.653900] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.657898] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2224
[ 4599.657904] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2224
[ 4599.657907] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 485800
[ 4599.657909] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.663907] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2228
[ 4599.663913] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2228
[ 4599.663915] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 491000
[ 4599.663918] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.667874] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2231
[ 4599.667882] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 1
[ 4599.667886] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 1921
[ 4599.667890] evbug: Event. Dev: input33, Type: 3, Code: 54, Value: 1893
[ 4599.667893] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2231
[ 4599.667896] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 496200
[ 4599.667900] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.673961] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 0
[ 4599.673981] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2234
[ 4599.673985] evbug: Event. Dev: input33, Type: 3, Code: 54, Value: 1812
[ 4599.673988] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 1
[ 4599.673991] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 1920
[ 4599.673994] evbug: Event. Dev: input33, Type: 3, Code: 54, Value: 1892
[ 4599.673997] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2234
[ 4599.674000] evbug: Event. Dev: input33, Type: 3, Code: 1, Value: 1812
[ 4599.674003] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 501300
[ 4599.674005] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.678939] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 0
[ 4599.678959] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2237
[ 4599.678962] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 1
[ 4599.678965] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 1918
[ 4599.678967] evbug: Event. Dev: input33, Type: 3, Code: 54, Value: 1891
[ 4599.678970] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2237
[ 4599.678973] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 506400
[ 4599.678976] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.684868] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 0
[ 4599.684875] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2240
[ 4599.684878] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 1
[ 4599.684881] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 1916
[ 4599.684883] evbug: Event. Dev: input33, Type: 3, Code: 54, Value: 1889
[ 4599.684886] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2240
[ 4599.684889] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 511500
[ 4599.684892] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.688865] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 0
[ 4599.688871] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2242
[ 4599.688875] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 1
[ 4599.688878] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 1915
[ 4599.688880] evbug: Event. Dev: input33, Type: 3, Code: 54, Value: 1887
[ 4599.688883] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2242
[ 4599.688886] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 516600
[ 4599.688889] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.694890] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 0
[ 4599.694895] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2245
[ 4599.694897] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 1
[ 4599.694898] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 1913
[ 4599.694900] evbug: Event. Dev: input33, Type: 3, Code: 54, Value: 1885
[ 4599.694901] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2245
[ 4599.694903] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 521700
[ 4599.694904] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.698889] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 0
[ 4599.698894] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2247
[ 4599.698896] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 1
[ 4599.698897] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 1911
[ 4599.698899] evbug: Event. Dev: input33, Type: 3, Code: 54, Value: 1884
[ 4599.698900] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2247
[ 4599.698902] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 526800
[ 4599.698904] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.705882] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 0
[ 4599.705887] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2249
[ 4599.705889] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 1
[ 4599.705890] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 1909
[ 4599.705892] evbug: Event. Dev: input33, Type: 3, Code: 54, Value: 1883
[ 4599.705893] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2249
[ 4599.705895] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 531900
[ 4599.705897] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.709973] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 0
[ 4599.709992] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2251
[ 4599.709995] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 1
[ 4599.709999] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 1907
[ 4599.710001] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2251
[ 4599.710003] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 537000
[ 4599.710006] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.715880] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 0
[ 4599.715888] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2253
[ 4599.715892] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 1
[ 4599.715894] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 1904
[ 4599.715897] evbug: Event. Dev: input33, Type: 3, Code: 54, Value: 1882
[ 4599.715899] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2253
[ 4599.715901] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 542200
[ 4599.715903] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.719863] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 0
[ 4599.719868] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2255
[ 4599.719871] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 1
[ 4599.719874] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 1901
[ 4599.719877] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2255
[ 4599.719880] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 547400
[ 4599.719882] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.725893] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 0
[ 4599.725900] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2257
[ 4599.725902] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 1
[ 4599.725904] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 1899
[ 4599.725905] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2257
[ 4599.725907] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 552500
[ 4599.725909] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.730898] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 0
[ 4599.730905] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2259
[ 4599.730907] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 1
[ 4599.730908] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 1896
[ 4599.730910] evbug: Event. Dev: input33, Type: 3, Code: 54, Value: 1881
[ 4599.730911] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2259
[ 4599.730913] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 557600
[ 4599.730914] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.736905] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 0
[ 4599.736910] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2261
[ 4599.736912] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 1
[ 4599.736914] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 1893
[ 4599.736915] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2261
[ 4599.736917] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 562700
[ 4599.736918] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.740921] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 0
[ 4599.740939] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2262
[ 4599.740942] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 1
[ 4599.740945] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 1890
[ 4599.740947] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2262
[ 4599.740950] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 567800
[ 4599.740952] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.746869] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 0
[ 4599.746875] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2264
[ 4599.746878] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 1
[ 4599.746881] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 1887
[ 4599.746884] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2264
[ 4599.746887] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 572900
[ 4599.746890] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.751870] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 0
[ 4599.751875] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2265
[ 4599.751877] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 1
[ 4599.751879] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 1884
[ 4599.751881] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2265
[ 4599.751882] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 578000
[ 4599.751884] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.757955] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 0
[ 4599.757961] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2267
[ 4599.757963] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 1
[ 4599.757964] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 1881
[ 4599.757966] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2267
[ 4599.757967] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 583100
[ 4599.757969] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.761928] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 0
[ 4599.761938] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2268
[ 4599.761940] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 1
[ 4599.761942] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 1877
[ 4599.761944] evbug: Event. Dev: input33, Type: 3, Code: 54, Value: 1880
[ 4599.761945] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2268
[ 4599.761947] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 588200
[ 4599.761948] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.767902] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 0
[ 4599.767908] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2269
[ 4599.767911] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 1
[ 4599.767912] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 1874
[ 4599.767914] evbug: Event. Dev: input33, Type: 3, Code: 54, Value: 1879
[ 4599.767915] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2269
[ 4599.767917] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 593300
[ 4599.767918] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.772988] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 0
[ 4599.772995] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2270
[ 4599.772997] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 1
[ 4599.772999] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 1870
[ 4599.773000] evbug: Event. Dev: input33, Type: 3, Code: 54, Value: 1878
[ 4599.773001] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2270
[ 4599.773003] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 598400
[ 4599.773005] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.778911] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 0
[ 4599.778921] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2271
[ 4599.778923] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 1
[ 4599.778925] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 1867
[ 4599.778926] evbug: Event. Dev: input33, Type: 3, Code: 54, Value: 1877
[ 4599.778928] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2271
[ 4599.778929] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 603500
[ 4599.778931] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.782855] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 0
[ 4599.782859] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2272
[ 4599.782861] evbug: Event. Dev: input33, Type: 3, Code: 54, Value: 1811
[ 4599.782862] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 1
[ 4599.782864] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 1863
[ 4599.782865] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2272
[ 4599.782867] evbug: Event. Dev: input33, Type: 3, Code: 1, Value: 1811
[ 4599.782868] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 608600
[ 4599.782870] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.788867] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 0
[ 4599.788874] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2274
[ 4599.788877] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 1
[ 4599.788878] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 1860
[ 4599.788880] evbug: Event. Dev: input33, Type: 3, Code: 54, Value: 1876
[ 4599.788881] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2274
[ 4599.788883] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 613700
[ 4599.788885] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.792887] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 0
[ 4599.792892] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2275
[ 4599.792894] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 1
[ 4599.792895] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 1856
[ 4599.792897] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2275
[ 4599.792899] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 618800
[ 4599.792900] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.798865] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 0
[ 4599.798871] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2277
[ 4599.798873] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 1
[ 4599.798875] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 1853
[ 4599.798876] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2277
[ 4599.798878] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 624000
[ 4599.798879] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.804000] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 0
[ 4599.804007] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2278
[ 4599.804010] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 1
[ 4599.804012] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 1849
[ 4599.804013] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2278
[ 4599.804015] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 629200
[ 4599.804017] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.809958] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 0
[ 4599.809977] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2280
[ 4599.809980] evbug: Event. Dev: input33, Type: 3, Code: 54, Value: 1810
[ 4599.809983] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 1
[ 4599.809985] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 1846
[ 4599.809988] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2280
[ 4599.809991] evbug: Event. Dev: input33, Type: 3, Code: 1, Value: 1810
[ 4599.809993] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 634300
[ 4599.809996] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.813918] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 0
[ 4599.813926] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2282
[ 4599.813930] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 1
[ 4599.813933] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 1843
[ 4599.813936] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2282
[ 4599.813939] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 639400
[ 4599.813942] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.819909] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 0
[ 4599.819917] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2284
[ 4599.819921] evbug: Event. Dev: input33, Type: 3, Code: 54, Value: 1809
[ 4599.819924] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 1
[ 4599.819926] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 1840
[ 4599.819929] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2284
[ 4599.819932] evbug: Event. Dev: input33, Type: 3, Code: 1, Value: 1809
[ 4599.819935] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 644500
[ 4599.819937] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.823872] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 0
[ 4599.823881] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2286
[ 4599.823885] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 1
[ 4599.823888] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 1837
[ 4599.823890] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2286
[ 4599.823893] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 649600
[ 4599.823896] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.829919] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 0
[ 4599.829928] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2288
[ 4599.829932] evbug: Event. Dev: input33, Type: 3, Code: 54, Value: 1808
[ 4599.829935] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 1
[ 4599.829938] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 1834
[ 4599.829941] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2288
[ 4599.829944] evbug: Event. Dev: input33, Type: 3, Code: 1, Value: 1808
[ 4599.829947] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 654700
[ 4599.829949] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.834887] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 0
[ 4599.834897] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2291
[ 4599.834901] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 1
[ 4599.834904] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 1832
[ 4599.834907] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2291
[ 4599.834910] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 659800
[ 4599.834912] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.840903] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 0
[ 4599.840914] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2293
[ 4599.840918] evbug: Event. Dev: input33, Type: 3, Code: 54, Value: 1807
[ 4599.840921] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 1
[ 4599.840924] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 1829
[ 4599.840927] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2293
[ 4599.840930] evbug: Event. Dev: input33, Type: 3, Code: 1, Value: 1807
[ 4599.840932] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 664900
[ 4599.840935] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.844936] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 0
[ 4599.844946] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2296
[ 4599.844950] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 1
[ 4599.844953] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 1826
[ 4599.844956] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2296
[ 4599.844959] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 670000
[ 4599.844962] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.850942] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 0
[ 4599.850950] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2298
[ 4599.850954] evbug: Event. Dev: input33, Type: 3, Code: 54, Value: 1806
[ 4599.850957] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 1
[ 4599.850960] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 1824
[ 4599.850963] evbug: Event. Dev: input33, Type: 3, Code: 54, Value: 1875
[ 4599.850965] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2298
[ 4599.850968] evbug: Event. Dev: input33, Type: 3, Code: 1, Value: 1806
[ 4599.850971] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 675200
[ 4599.850973] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.854912] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 0
[ 4599.854920] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2301
[ 4599.854924] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 1
[ 4599.854927] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 1822
[ 4599.854930] evbug: Event. Dev: input33, Type: 3, Code: 54, Value: 1874
[ 4599.854932] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2301
[ 4599.854935] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 680400
[ 4599.854938] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.860913] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 0
[ 4599.860922] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2304
[ 4599.860926] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 1
[ 4599.860929] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 1820
[ 4599.860931] evbug: Event. Dev: input33, Type: 3, Code: 54, Value: 1873
[ 4599.860934] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2304
[ 4599.860937] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 685500
[ 4599.860940] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.865897] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 0
[ 4599.865909] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2307
[ 4599.865914] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 1
[ 4599.865919] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 1818
[ 4599.865923] evbug: Event. Dev: input33, Type: 3, Code: 54, Value: 1872
[ 4599.865927] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2307
[ 4599.865932] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 690600
[ 4599.865936] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.871884] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 0
[ 4599.871892] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2309
[ 4599.871895] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 1
[ 4599.871898] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 1816
[ 4599.871900] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2309
[ 4599.871903] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 695700
[ 4599.871906] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.875928] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 0
[ 4599.875939] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2312
[ 4599.875943] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 1
[ 4599.875946] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 1814
[ 4599.875949] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2312
[ 4599.875952] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 700800
[ 4599.875955] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.881950] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 0
[ 4599.881961] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2314
[ 4599.881965] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 1
[ 4599.881968] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 1813
[ 4599.881971] evbug: Event. Dev: input33, Type: 3, Code: 54, Value: 1873
[ 4599.881973] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2314
[ 4599.881976] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 705900
[ 4599.881979] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.886911] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 0
[ 4599.886920] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2316
[ 4599.886924] evbug: Event. Dev: input33, Type: 3, Code: 54, Value: 1805
[ 4599.886927] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 1
[ 4599.886930] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 1811
[ 4599.886932] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2316
[ 4599.886935] evbug: Event. Dev: input33, Type: 3, Code: 1, Value: 1805
[ 4599.886938] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 711000
[ 4599.886941] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.892874] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 0
[ 4599.892881] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2319
[ 4599.892884] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 1
[ 4599.892887] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 1809
[ 4599.892889] evbug: Event. Dev: input33, Type: 3, Code: 54, Value: 1874
[ 4599.892892] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2319
[ 4599.892894] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 716100
[ 4599.892897] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.896893] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 0
[ 4599.896905] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2321
[ 4599.896911] evbug: Event. Dev: input33, Type: 3, Code: 54, Value: 1804
[ 4599.896915] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 1
[ 4599.896919] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 1807
[ 4599.896924] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2321
[ 4599.896928] evbug: Event. Dev: input33, Type: 3, Code: 1, Value: 1804
[ 4599.896932] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 721200
[ 4599.896937] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.902879] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 0
[ 4599.902889] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2323
[ 4599.902893] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 1
[ 4599.902896] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 1805
[ 4599.902898] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2323
[ 4599.902901] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 726300
[ 4599.902904] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.906890] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 0
[ 4599.906901] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2324
[ 4599.906905] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 1
[ 4599.906908] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 1803
[ 4599.906911] evbug: Event. Dev: input33, Type: 3, Code: 54, Value: 1875
[ 4599.906914] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2324
[ 4599.906916] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 731400
[ 4599.906919] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.913911] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 0
[ 4599.913921] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2326
[ 4599.913925] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 1
[ 4599.913928] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 1800
[ 4599.913931] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2326
[ 4599.913934] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 736500
[ 4599.913937] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.917894] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 0
[ 4599.917904] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2328
[ 4599.917907] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 1
[ 4599.917910] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 1798
[ 4599.917913] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2328
[ 4599.917916] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 741600
[ 4599.917919] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.923907] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 0
[ 4599.923916] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2330
[ 4599.923920] evbug: Event. Dev: input33, Type: 3, Code: 54, Value: 1805
[ 4599.923923] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 1
[ 4599.923925] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 1795
[ 4599.923928] evbug: Event. Dev: input33, Type: 3, Code: 54, Value: 1876
[ 4599.923931] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2330
[ 4599.923933] evbug: Event. Dev: input33, Type: 3, Code: 1, Value: 1805
[ 4599.923936] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 746700
[ 4599.923939] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.927910] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 0
[ 4599.927919] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2332
[ 4599.927923] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 1
[ 4599.927926] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 1793
[ 4599.927929] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2332
[ 4599.927931] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 751800
[ 4599.927934] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.934864] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 0
[ 4599.934869] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2333
[ 4599.934872] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 1
[ 4599.934874] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 1790
[ 4599.934876] evbug: Event. Dev: input33, Type: 3, Code: 54, Value: 1877
[ 4599.934878] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2333
[ 4599.934880] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 756900
[ 4599.934882] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.938923] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 0
[ 4599.938936] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2335
[ 4599.938941] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 1
[ 4599.938945] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 1787
[ 4599.938948] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2335
[ 4599.938952] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 762000
[ 4599.938956] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.944905] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 0
[ 4599.944921] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2336
[ 4599.944929] evbug: Event. Dev: input33, Type: 3, Code: 54, Value: 1806
[ 4599.944937] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 1
[ 4599.944944] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 1784
[ 4599.944951] evbug: Event. Dev: input33, Type: 3, Code: 54, Value: 1878
[ 4599.944957] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2336
[ 4599.944964] evbug: Event. Dev: input33, Type: 3, Code: 1, Value: 1806
[ 4599.944971] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 767100
[ 4599.944979] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.948914] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 0
[ 4599.948927] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2337
[ 4599.948932] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 1
[ 4599.948936] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 1781
[ 4599.948940] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2337
[ 4599.948944] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 772200
[ 4599.948948] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.954971] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 0
[ 4599.954990] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2339
[ 4599.954996] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 1
[ 4599.955000] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 1778
[ 4599.955004] evbug: Event. Dev: input33, Type: 3, Code: 54, Value: 1879
[ 4599.955008] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2339
[ 4599.955011] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 777300
[ 4599.955015] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.959910] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 0
[ 4599.959919] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2340
[ 4599.959922] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 1
[ 4599.959925] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 1775
[ 4599.959928] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2340
[ 4599.959930] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 782400
[ 4599.959933] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.965879] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 0
[ 4599.965888] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2341
[ 4599.965893] evbug: Event. Dev: input33, Type: 3, Code: 54, Value: 1805
[ 4599.965896] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 1
[ 4599.965900] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 1772
[ 4599.965903] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2341
[ 4599.965906] evbug: Event. Dev: input33, Type: 3, Code: 1, Value: 1805
[ 4599.965910] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 787500
[ 4599.965913] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.969881] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 0
[ 4599.969889] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2343
[ 4599.969892] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 1
[ 4599.969894] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 1770
[ 4599.969897] evbug: Event. Dev: input33, Type: 3, Code: 54, Value: 1880
[ 4599.969899] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2343
[ 4599.969901] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 792600
[ 4599.969903] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.975863] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 0
[ 4599.975871] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2344
[ 4599.975873] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 1
[ 4599.975875] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 1767
[ 4599.975877] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2344
[ 4599.975878] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 797700
[ 4599.975880] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.979877] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 0
[ 4599.979888] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2346
[ 4599.979890] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 1
[ 4599.979892] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 1764
[ 4599.979893] evbug: Event. Dev: input33, Type: 3, Code: 54, Value: 1881
[ 4599.979895] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2346
[ 4599.979896] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 802800
[ 4599.979898] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.985923] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 0
[ 4599.985942] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2347
[ 4599.985944] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 1
[ 4599.985946] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 1762
[ 4599.985949] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2347
[ 4599.985950] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 807900
[ 4599.985952] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.990872] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 0
[ 4599.990879] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2349
[ 4599.990881] evbug: Event. Dev: input33, Type: 3, Code: 54, Value: 1804
[ 4599.990883] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 1
[ 4599.990884] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 1760
[ 4599.990885] evbug: Event. Dev: input33, Type: 3, Code: 54, Value: 1882
[ 4599.990887] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2349
[ 4599.990888] evbug: Event. Dev: input33, Type: 3, Code: 1, Value: 1804
[ 4599.990890] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 813000
[ 4599.990891] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4599.996863] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 0
[ 4599.996869] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2351
[ 4599.996871] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 1
[ 4599.996872] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 1758
[ 4599.996873] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2351
[ 4599.996874] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 818100
[ 4599.996875] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4600.000908] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 0
[ 4600.000911] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2353
[ 4600.000913] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 1
[ 4600.000914] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 1756
[ 4600.000915] evbug: Event. Dev: input33, Type: 3, Code: 54, Value: 1883
[ 4600.000916] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2353
[ 4600.000917] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 823200
[ 4600.000918] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4600.006882] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 0
[ 4600.006885] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2355
[ 4600.006886] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 1
[ 4600.006887] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 1754
[ 4600.006889] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2355
[ 4600.006890] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 828300
[ 4600.006891] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4600.010874] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 0
[ 4600.010881] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2357
[ 4600.010883] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 1
[ 4600.010885] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 1753
[ 4600.010886] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2357
[ 4600.010888] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 833400
[ 4600.010889] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4600.017939] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 0
[ 4600.017954] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2359
[ 4600.017956] evbug: Event. Dev: input33, Type: 3, Code: 54, Value: 1803
[ 4600.017959] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 1
[ 4600.017960] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 1752
[ 4600.017962] evbug: Event. Dev: input33, Type: 3, Code: 54, Value: 1884
[ 4600.017963] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2359
[ 4600.017964] evbug: Event. Dev: input33, Type: 3, Code: 1, Value: 1803
[ 4600.017966] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 838600
[ 4600.017967] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4600.021872] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 0
[ 4600.021877] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2361
[ 4600.021879] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 1
[ 4600.021880] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 1751
[ 4600.021881] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2361
[ 4600.021882] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 843800
[ 4600.021883] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4600.027860] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 0
[ 4600.027864] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2363
[ 4600.027866] evbug: Event. Dev: input33, Type: 3, Code: 54, Value: 1802
[ 4600.027867] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 1
[ 4600.027868] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 1750
[ 4600.027869] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2363
[ 4600.027870] evbug: Event. Dev: input33, Type: 3, Code: 1, Value: 1802
[ 4600.027871] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 848900
[ 4600.027872] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4600.031916] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 0
[ 4600.031926] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2365
[ 4600.031930] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 1
[ 4600.031934] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 1749
[ 4600.031938] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2365
[ 4600.031941] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 854000
[ 4600.031945] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4600.037887] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 0
[ 4600.037899] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2367
[ 4600.037904] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 1
[ 4600.037908] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 1748
[ 4600.037912] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2367
[ 4600.037916] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 859100
[ 4600.037920] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4600.041929] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 0
[ 4600.041940] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2369
[ 4600.041945] evbug: Event. Dev: input33, Type: 3, Code: 54, Value: 1801
[ 4600.041950] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2369
[ 4600.041954] evbug: Event. Dev: input33, Type: 3, Code: 1, Value: 1801
[ 4600.041957] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 864200
[ 4600.041961] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4600.047901] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2370
[ 4600.047915] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 1
[ 4600.047920] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 1747
[ 4600.047924] evbug: Event. Dev: input33, Type: 3, Code: 54, Value: 1885
[ 4600.047928] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2370
[ 4600.047931] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 869300
[ 4600.047935] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4600.053010] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 0
[ 4600.053032] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2372
[ 4600.053038] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 1
[ 4600.053042] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 1746
[ 4600.053046] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2372
[ 4600.053050] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 874400
[ 4600.053054] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4600.058950] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 0
[ 4600.058966] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2374
[ 4600.058972] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2374
[ 4600.058978] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 879500
[ 4600.058984] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4600.062897] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2375
[ 4600.062911] evbug: Event. Dev: input33, Type: 3, Code: 54, Value: 1800
[ 4600.062915] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 1
[ 4600.062919] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 1745
[ 4600.062923] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2375
[ 4600.062927] evbug: Event. Dev: input33, Type: 3, Code: 1, Value: 1800
[ 4600.062931] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 884600
[ 4600.062935] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4600.068967] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 0
[ 4600.068981] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2377
[ 4600.068986] evbug: Event. Dev: input33, Type: 3, Code: 54, Value: 1799
[ 4600.068990] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2377
[ 4600.068994] evbug: Event. Dev: input33, Type: 3, Code: 1, Value: 1799
[ 4600.068998] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 889800
[ 4600.069002] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4600.072915] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 2378
[ 4600.072924] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 1
[ 4600.072927] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 1744
[ 4600.072930] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 2378
[ 4600.072932] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 895000
[ 4600.072935] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4600.078895] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 1743
[ 4600.078901] evbug: Event. Dev: input33, Type: 3, Code: 54, Value: 1884
[ 4600.078903] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 900100
[ 4600.078906] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4600.082962] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 0
[ 4600.082975] evbug: Event. Dev: input33, Type: 3, Code: 57, Value: -1
[ 4600.082977] evbug: Event. Dev: input33, Type: 3, Code: 47, Value: 1
[ 4600.082979] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 1742
[ 4600.082981] evbug: Event. Dev: input33, Type: 3, Code: 54, Value: 1883
[ 4600.082983] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 1742
[ 4600.082985] evbug: Event. Dev: input33, Type: 3, Code: 1, Value: 1883
[ 4600.082987] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 905200
[ 4600.082989] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4600.088901] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 1740
[ 4600.088908] evbug: Event. Dev: input33, Type: 3, Code: 54, Value: 1882
[ 4600.088911] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 1740
[ 4600.088913] evbug: Event. Dev: input33, Type: 3, Code: 1, Value: 1882
[ 4600.088915] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 910300
[ 4600.088917] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4600.092885] evbug: Event. Dev: input33, Type: 3, Code: 53, Value: 1738
[ 4600.092894] evbug: Event. Dev: input33, Type: 3, Code: 0, Value: 1738
[ 4600.092897] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 915400
[ 4600.092899] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4600.096867] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 920500
[ 4600.096872] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0
[ 4600.100863] evbug: Event. Dev: input33, Type: 3, Code: 57, Value: -1
[ 4600.100869] evbug: Event. Dev: input33, Type: 1, Code: 330, Value: 0
[ 4600.100871] evbug: Event. Dev: input33, Type: 4, Code: 5, Value: 925600
[ 4600.100872] evbug: Event. Dev: input33, Type: 0, Code: 0, Value: 0

 

'Linux API > linux' 카테고리의 다른 글

linux device tree(dtb) 문법...?  (0) 2024.12.04
usb hid, hidraw  (0) 2024.03.11
btrfs CoW  (0) 2024.02.15
statvfs() 의 f_bavail과 f_bfree 차이  (0) 2024.02.15
corrupted size vs. prev_size 에러.. part2  (0) 2023.12.15
Posted by 구차니
Linux API/linux2024. 2. 15. 18:13

장점일수도 있고 위험요소일수도 있는 부분 같은데

Btrfs 에서 파일을 복사하면 CoW 로 작동하게 된다.

물론 inode도 다르고 전혀 다른 파일이지만 수정 하기 전까지는 공간을 차지 하지 않는데

수정하는 순간 대용량 파일이라면 갑자기 용량을 먹어 버리는데

전체 스토리지를 넘길 경우에는 어떻게 작동하려나?

 

해당 기능을 끄면 checksum도 끈다는 먼가 무시무시한 경고가 보인다.

Disabling CoW
Warning: Disabling CoW in Btrfs also disables checksums. Btrfs will not be able to detect corrupted nodatacow files. When combined with RAID 1, power outages or other sources of corruption can cause the data to become out of sync.
To disable copy-on-write for newly created files in a mounted subvolume, use the nodatacow mount option. This will only affect newly created files. Copy-on-write will still happen for existing files. The nodatacow option also disables compression. See btrfs(5) for details.

[링크 : https://wiki.archlinux.org/title/btrfs]

'Linux API > linux' 카테고리의 다른 글

usb hid, hidraw  (0) 2024.03.11
linux 멀티터치 프로토콜  (0) 2024.03.08
statvfs() 의 f_bavail과 f_bfree 차이  (0) 2024.02.15
corrupted size vs. prev_size 에러.. part2  (0) 2023.12.15
리눅스 커널 6.6.6 릴리즈  (0) 2023.12.13
Posted by 구차니
Linux API/linux2024. 2. 15. 17:42

해당 함수의 리턴은 아래 구조체를 사용하는데

f_blocks / f_bfree / f_bavail 로 구성되고

free와 available 이라는 미묘~하게 겹치는 비슷한 의미를 지닌 단어로 지칭되는 변수가 두개가 존재한다.

           struct statvfs {
               unsigned long  f_bsize;    /* Filesystem block size */
               unsigned long  f_frsize;   /* Fragment size */
               fsblkcnt_t     f_blocks;   /* Size of fs in f_frsize units */
               fsblkcnt_t     f_bfree;    /* Number of free blocks */
               fsblkcnt_t     f_bavail;   /* Number of free blocks for unprivileged users */
               fsfilcnt_t     f_files;    /* Number of inodes */
               fsfilcnt_t     f_ffree;    /* Number of free inodes */
               fsfilcnt_t     f_favail;   /* Number of free inodes for nprivileged users */
               unsigned long  f_fsid;     /* Filesystem ID */
               unsigned long  f_flag;     /* Mount flags */
               unsigned long  f_namemax;  /* Maximum filename length */
           };

[링크 : https://blog.naver.com/gauya/220573174198]

 

간단하게 프로그램을 짜서 실행해보면

#include <sys/statvfs.h>
#include <stdio.h>

int main() {
struct statvfs sv;
statvfs("/app/data",&sv);

long total, usabe;
double frate;

total = ((long long)sv.f_blocks * sv.f_bsize / 1024);
usabe = ((long long)sv.f_bavail * sv.f_bsize / 1024);
frate = ((double)sv.f_bavail * 100.) / (double)sv.f_blocks;

printf("%ld %ld %ld\n",
sv.f_blocks,
sv.f_bavail,
sv.f_bfree);

printf("%ld %ld %.1f\n", total, usabe, frate);
printf("%f\n",(sv.f_blocks - sv.f_bavail) * 100.0 / sv.f_blocks);
}

 

아래와 같이 나오는데

# df;./arm.o 
Filesystem     1K-blocks    Used Available Use% Mounted on
/dev/mmcblk2p9  50500092 1322852  46579560   3% /app/data
12625023 11644890 12294310
50500092 46579560 92.2
7.763416

 

값을 4k block -> 1k block 으로 변환해서 계산하면 아래와 같이 block / avail / free 값이 나온다.

df 의 used는 block - avail이 아니라 block - free 용량이라..

blocks avail free
12,625,023 11,644,890 12,294,310
50,500,092 46,579,560 49,177,240
  3,920,532 (block - avail) 1,322,852 (block - free)

 

그럼 avail과 free는 무슨 차이일까? 저기.. unprivileged users의 의미가 도대체 멀까...

               fsblkcnt_t     f_blocks;   /* Size of fs in f_frsize units */
               fsblkcnt_t     f_bfree;    /* Number of free blocks */
               fsblkcnt_t     f_bavail;   /* Number of free blocks for unprivileged users */

'Linux API > linux' 카테고리의 다른 글

linux 멀티터치 프로토콜  (0) 2024.03.08
btrfs CoW  (0) 2024.02.15
corrupted size vs. prev_size 에러.. part2  (0) 2023.12.15
리눅스 커널 6.6.6 릴리즈  (0) 2023.12.13
mmap() 과 munmap() 예제  (0) 2023.11.17
Posted by 구차니
Linux API/linux2023. 12. 15. 15:12

이번에도 이상한 에러..

내가 이상하게 프로그래밍 하고 있는걸까 싶긴한데

 

10분이면 죽어서 먼가하고 고민해보니

말도 안되게 큰 구조체를 heap이 아닌 stack에다가 사용하고 있었다는걸 다시 깨닫고

테스트 중..

 

설마 stack이 깨져서 저런 에러가 나오는건가?

그 와중에 그 영향인진 모르겠으나 커널 패닉까지 발생시킴

'Linux API > linux' 카테고리의 다른 글

btrfs CoW  (0) 2024.02.15
statvfs() 의 f_bavail과 f_bfree 차이  (0) 2024.02.15
리눅스 커널 6.6.6 릴리즈  (0) 2023.12.13
mmap() 과 munmap() 예제  (0) 2023.11.17
mmap와 malloc  (0) 2023.11.13
Posted by 구차니
Linux API/linux2023. 12. 13. 16:29

크.. 이런 숫자를 안넘어가고 쓰다니 ㅋㅋㅋ

 

'Linux API > linux' 카테고리의 다른 글

statvfs() 의 f_bavail과 f_bfree 차이  (0) 2024.02.15
corrupted size vs. prev_size 에러.. part2  (0) 2023.12.15
mmap() 과 munmap() 예제  (0) 2023.11.17
mmap와 malloc  (0) 2023.11.13
/proc/uptime  (0) 2023.10.24
Posted by 구차니
Linux API/linux2023. 11. 17. 16:54

munmap은 주소와 길이만 있으면 되는데

mmap은 fd가 있어야 한다.

#include <sys/mman.h>
void *mmap(void *addr, size_t lengthint " prot ", int " flags , int fd, off_t offset);
int munmap(void *addr, size_t length);

[링크 : https://linux.die.net/man/2/mmap]

 

그래서 직접 구현하려니 먼가 복잡하고 귀찮아서 찾아보니 실행되는 녀석 발견.

테스트 소스를 긁어와서 빌드하고 실행하면 되는데, 아래와 같이 두개의 인자를 주어야 한다.

일종의 cp 명령을 코드로 짠 느낌.

$ ./a.out in_filename out_filename 

#include <stdio.h>
#include <sys/mman.h>
#include <stdlib.h>
#include <fcntl.h>
#include <string.h>
#include <unistd.h>
#include <errno.h>

int main(int argc, char *argv[]){
        int srcfd, dstfd; //src 파일 서술자, dst 파일 서술자
        void *src, *dst;  //src 메모리 주소, dst 메모리 주소
        size_t copysz; //다음 copy할  메모리 내용 size
        struct stat sbuf;
        off_t fsz = 0; //다음 읽기, 쓰기를 기록할 위치(offset)
        long page_size; //시스템의 PAGE SIZE

        if((srcfd = open(argv[1], O_RDONLY)) < 0) {
                fprintf(stderr, "can't open %s for reading \n",argv[1]);
                exit(1);
        }

        if((dstfd = open(argv[2], O_RDWR | O_CREAT | O_TRUNC, 0777)) < 0){
                fprintf(stderr, "can't open %s for writing\n", argv[2]);
                exit(1);
        }


        //file 사이즈 얻기 위한 용도
        if(fstat(srcfd, &sbuf) < 0){
                fprintf(stderr, "fstat error\n");
                exit(1);
        }

        if(ftruncate(dstfd, sbuf.st_size) < 0){
                fprintf(stderr, "ftruncate error\n");
                exit(1);
        }

        page_size = sysconf(_SC_PAGESIZE);
        printf("page_size : %ld\n", page_size);

        while(fsz < sbuf.st_size){

                if((sbuf.st_size - fsz ) > page_size)
                        copysz = page_size;
                else
                        copysz = sbuf.st_size - fsz;

                //src 주소 설정
                if((src = mmap(0, copysz, PROT_READ, MAP_SHARED, srcfd, fsz))
                                == MAP_FAILED){
                        fprintf(stderr, "mmap error for input \n");
                        printf("error : %s\n",strerror(errno));
                        exit(1);
                }

                //dst 주소 설정 , 여기서 MAP_SHARED를 MAP_RPIVATE로 바꾸면? dst파일에 저장되지 않는다.
                if((dst = mmap(0, copysz, PROT_READ|PROT_WRITE, MAP_SHARED, dstfd, fsz)) == MAP_FAILED){
                        fprintf(stderr, "mmap error for output\n");
                        exit(1);
                }

                //src -> dst로 내용 복사
                memcpy(dst, src, copysz);

                //메모리 해제
                munmap(src, copysz);
                munmap(dst, copysz);
                //복사한 내용만큼 다음 메모리 위치를 이동시킬 offset 증가
                fsz += copysz;

        }

        exit(0);
}

[링크 : https://reakwon.tistory.com/225]

 

특이한건 munmap() 에서 copysz를 /2로 해서 넣어도 return 값이 0 으로 나온다.

                int ret = munmap(src, copysz / 2);
printf("ret[%d]\n",ret);
                ret = munmap(dst, copysz / 2);
printf("ret[%d]\n",ret);

그러면.. 예상한것과 좀 다른데..

나중에 프로그램을 천천히 실행하도록 해서 메모리 누수가 발생하는지 찾아봐야 할 듯..

'Linux API > linux' 카테고리의 다른 글

corrupted size vs. prev_size 에러.. part2  (0) 2023.12.15
리눅스 커널 6.6.6 릴리즈  (0) 2023.12.13
mmap와 malloc  (0) 2023.11.13
/proc/uptime  (0) 2023.10.24
/proc/pid/statm  (0) 2023.10.23
Posted by 구차니
Linux API/linux2023. 11. 13. 17:35

무지성으로 mmap이니 반대 짝이 먼지 찾아서 munmap 하고 쓰고 있었는데

mmap과 malloc의 차이 그리고 malloc이 어떻게 구현되어있는지 문득 궁금해졌다.

 

munmap 서브루틴은 맵핑된 파일이나 공유 메모리 영역 또는 익명 메모리 영역을 맵핑 해제합니다. munmap 서브루틴은 호출에서 작성된 영역을 mmap 서브루틴으로만 맵핑 해제합니다.

주소가 munmap 서브루틴에 의해 맵핑되지 않은 리젼에 있고 해당 리젼이 이후에 다시 맵핑되지 않는 경우, 해당 주소에 대한 모든 참조로 인해 프로세스에 SIGSEGV 신호가 전달됩니다.

[링크 : https://www.ibm.com/docs/ko/aix/7.3?topic=m-munmap-subroutine]

 

mmap()에서는 할당 메모리의 크기가 최소 4KB(mmap()은 페이지 크기의 배수로 할당).
malloc()은 큰 메모리 블록 요청이 들어오면 내부적으로 mmap()을 써서 메모리를 할당한다. 
mmap()이 malloc()을 포함하는 개념이라기보다 mmap()은 시스템에서 제공하는 저수준 시스템 콜이며 특별한 조건일 때 메모리를 할당하는 효과를 볼 수 있다. malloc()은 메모리를 할당하는 C library 함수이며 내부적으로 mmap(), brk() 등 시스템 콜을 써서 구현.

[링크 : https://woonys.tistory.com/entry/정글사관학교-51일차-TIL-mmap과-malloc-차이-정리]

[링크 : https://mintnlatte.tistory.com/357]

 

직접 mmap()을 쓸 경우, valgrind/efence/duma 등 메모리 디버깅 툴의 도움을 받을 수도 없습니다.

[링크 : https://kldp.org/node/101737]

 

malloc.c 에서 함수를 찾는데 mmap을 먼저 찾고 역으로 올라가면서 찾아보는 중

static void *
sysmalloc (INTERNAL_SIZE_T nb, mstate av)
{
      if ((unsigned long) (size) > (unsigned long) (nb))
        {
          mm = (char *) (MMAP (0, size, PROT_READ | PROT_WRITE, 0));
        }
}


static void *
_int_malloc (mstate av, size_t bytes)
{
  if (__glibc_unlikely (av == NULL))
    {
      void *p = sysmalloc (nb, av);
      if (p != NULL)
alloc_perturb (p, bytes);
      return p;
    }
}


void *
__libc_malloc (size_t bytes)
{
  if (SINGLE_THREAD_P)
    {
      victim = _int_malloc (&main_arena, bytes);
      assert (!victim || chunk_is_mmapped (mem2chunk (victim)) ||
      &main_arena == arena_for_chunk (mem2chunk (victim)));
      return victim;
    }

  arena_get (ar_ptr, bytes);

  victim = _int_malloc (ar_ptr, bytes);
}

[링크 : https://elixir.bootlin.com/glibc/glibc-2.26/source/malloc/malloc.c]

 

위의 함수들에 대한 자세한 설명은 아래 참조

[링크 : https://m.blog.naver.com/yjw_sz/221549666704]

'Linux API > linux' 카테고리의 다른 글

리눅스 커널 6.6.6 릴리즈  (0) 2023.12.13
mmap() 과 munmap() 예제  (0) 2023.11.17
/proc/uptime  (0) 2023.10.24
/proc/pid/statm  (0) 2023.10.23
malloc() 으로 할당된 메모리 리스트?  (0) 2023.10.19
Posted by 구차니
Linux API/linux2023. 10. 24. 16:00

proc fs의 uptime의

첫번째는 uptime(시스템 레벨)

두번째는 uptime * core * idle time (코어 idle 타임 합산)

이라고 하는데 두번째가 어떤 의미를 지닐진..

이론상 시스템이 100% 사용중이면

uptime은 증가하지만 두번째는 시스템 기동되고 cpu 100% 쓰기 전까지의 시간만으로 기록되려나?

 

$ cat /proc/uptime
624319.95 1141902.92

$ top

top - 15:57:56 up 7 days,  5:25,  1 user,  load average: 0.68, 0.57, 0.54

[링크 : https://access.redhat.com/documentation/ko-kr/red_hat_enterprise_linux/6/html/deployment_guide/s2-proc-uptime]

'Linux API > linux' 카테고리의 다른 글

mmap() 과 munmap() 예제  (0) 2023.11.17
mmap와 malloc  (0) 2023.11.13
/proc/pid/statm  (0) 2023.10.23
malloc() 으로 할당된 메모리 리스트?  (0) 2023.10.19
inotify  (0) 2023.06.21
Posted by 구차니