├── .gitignore ├── .gitmodules ├── Makefile ├── README.md ├── docs ├── android-dumps │ ├── msm8996-accel-dump │ ├── msm8996-proximity-dump │ ├── sensor-test-messages.txt │ ├── sensor-test3.txt │ └── sensordaemon ├── msm8996 │ └── README.md └── protobuf │ └── README.md ├── proto_sensordaemon.proto ├── qmi_sensordaemon.c ├── qmi_sensordaemon.h ├── qmi_sensordaemon.o ├── qmi_sensordaemon.qmi ├── sensordaemon.c └── sensordaemon.h /.gitignore: -------------------------------------------------------------------------------- 1 | sensordaemon 2 | *.o 3 | .vscode/ 4 | 5 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "qrtr"] 2 | path = qrtr 3 | url = https://github.com/andersson/qrtr 4 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | OUT := sensordaemon 2 | CC = gcc 3 | 4 | CFLAGS += -Wall -g -O2 -I/usr/include 5 | LDFLAGS += -lqrtr -ludev -lpthread 6 | 7 | SRCS := qmi_sensordaemon.c sensordaemon.c 8 | OBJS := $(SRCS:.c=.o) 9 | 10 | $(OUT): $(OBJS) 11 | $(CC) -o $@ $^ $(LDFLAGS) 12 | 13 | %.c: %.qmi 14 | qmic -k < $< 15 | 16 | clean: 17 | rm -f $(OUT) $(OBJS) 18 | 19 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # QRTR / QMI sensor daemon 2 | 3 | # Device setup (pmos) 4 | 5 | ## Install deps 6 | ```bash 7 | sudo apk add alpine-sdk sshfs eudev-dev qrtr-dev 8 | ``` 9 | 10 | ## Mount build dir 11 | First on host setup USB network gadget: `at-usbnet` 12 | 13 | ```bash 14 | sudo modprobe fuse 15 | mkdir sensordaemon 16 | sshfs -o allow_other cas@172.16.42.2:/home/cas/pmos/enchilada/sensors/sensordaemon sensordaemon 17 | ``` 18 | -------------------------------------------------------------------------------- /docs/android-dumps/msm8996-accel-dump: -------------------------------------------------------------------------------- 1 | [pid 2387] 10:17:09.676886 recvfrom(106, "\x04\x6b\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\x0c\x28\x6a\x00\x00\x00\x1a\x00\x03\x11\x00\x01\xd3\x46\x02\x00\xfa\xbe\xff\xff\xbf\x5c\xf6\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 2 | [pid 2387] 10:17:09.715869 recvfrom(106, "\x04\x6c\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\x0a\x2d\x6a\x00\x00\x00\x1a\x00\x03\x11\x00\x01\x89\x42\x02\x00\xdf\x92\xff\xff\x06\x74\xf6\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 3 | [pid 2387] 10:17:09.755176 recvfrom(106, "\x04\x6d\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\x0a\x32\x6a\x00\x00\x00\x1a\x00\x03\x11\x00\x01\x1a\x5e\x02\x00\xb0\xba\xff\xff\xcd\x18\xf7\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 4 | [pid 2387] 10:17:09.794076 recvfrom(106, "\x04\x6e\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\x09\x37\x6a\x00\x00\x00\x1a\x00\x03\x11\x00\x01\xb9\x4b\x02\x00\x56\xb3\xff\xff\x24\xbe\xf6\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 5 | [pid 2387] 10:17:09.833965 recvfrom(106, "\x04\x6f\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\x0a\x3c\x6a\x00\x00\x00\x1a\x00\x03\x11\x00\x01\xc5\x30\x02\x00\x0b\x7e\xff\xff\x06\x74\xf6\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 6 | [pid 2387] 10:17:09.872361 recvfrom(106, "\x04\x70\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\x0a\x41\x6a\x00\x00\x00\x1a\x00\x03\x11\x00\x01\xb9\x4b\x02\x00\x99\xac\xff\xff\xae\xce\xf6\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 7 | [pid 2387] 10:17:09.911554 recvfrom(106, "\x04\x71\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\x08\x46\x6a\x00\x00\x00\x1a\x00\x03\x11\x00\x01\x42\x2b\x02\x00\x4c\x8a\xff\xff\x38\xdf\xf6\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 8 | [pid 2387] 10:17:09.950781 recvfrom(106, "\x04\x72\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\x06\x4b\x6a\x00\x00\x00\x1a\x00\x03\x11\x00\x01\x3f\x3e\x02\x00\xfd\xab\xff\xff\x8d\x97\xf6\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 9 | [pid 2387] 10:17:09.989652 recvfrom(106, "\x04\x73\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\x05\x50\x6a\x00\x00\x00\x1a\x00\x03\x11\x00\x01\x66\x4f\x02\x00\xfd\xab\xff\xff\xcc\x72\xf6\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 10 | [pid 2387] 10:17:10.028507 recvfrom(106, "\x04\x74\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\x03\x55\x6a\x00\x00\x00\x1a\x00\x03\x11\x00\x01\x46\x49\x02\x00\x89\xa9\xff\xff\x13\x8a\xf6\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 11 | [pid 2387] 10:17:10.067445 recvfrom(106, "\x04\x75\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\x02\x5a\x6a\x00\x00\x00\x1a\x00\x03\x11\x00\x01\xc9\x4e\x02\x00\x03\xb7\xff\xff\xc7\x98\xf6\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 12 | [pid 2387] 10:17:10.106711 recvfrom(106, "\x04\x76\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\x00\x5f\x6a\x00\x00\x00\x1a\x00\x03\x11\x00\x01\x33\x59\x02\x00\x40\xa5\xff\xff\xfe\xac\xf6\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 13 | [pid 2387] 10:17:10.145695 recvfrom(106, "\x04\x77\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\xff\x63\x6a\x00\x00\x00\x1a\x00\x03\x11\x00\x01\x27\x74\x02\x00\x4d\xbb\xff\xff\xe3\x80\xf6\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 14 | [pid 2387] 10:17:10.184850 recvfrom(106, "\x04\x78\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\xff\x68\x6a\x00\x00\x00\x1a\x00\x03\x11\x00\x01\x91\x7e\x02\x00\x13\xba\xff\xff\xf4\x3f\xf6\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 15 | [pid 2387] 10:17:10.223828 recvfrom(106, "\x04\x79\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\xff\x6d\x6a\x00\x00\x00\x1a\x00\x03\x11\x00\x01\x8a\xe8\x02\x00\x89\xa9\xff\xff\x64\x24\xf6\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 16 | [pid 2387] 10:17:10.262310 recvfrom(106, "\x04\x7a\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\xfc\x72\x6a\x00\x00\x00\x1a\x00\x03\x11\x00\x01\xfc\x2e\x03\x00\x2a\xc8\xff\xff\xbf\xe7\xf5\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 17 | [pid 2387] 10:17:10.301764 recvfrom(106, "\x04\x7b\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\xfc\x77\x6a\x00\x00\x00\x1a\x00\x03\x11\x00\x01\x7f\xa9\x03\x00\xf0\xc6\xff\xff\xf4\xca\xf5\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 18 | [pid 2387] 10:17:10.340852 recvfrom(106, "\x04\x7c\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\xfb\x7c\x6a\x00\x00\x00\x1a\x00\x03\x11\x00\x01\x25\x8c\x04\x00\x91\x70\xff\xff\xa2\x48\xf8\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 19 | [pid 2387] 10:17:10.379541 recvfrom(106, "\x04\x7d\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\xf9\x81\x6a\x00\x00\x00\x1a\x00\x03\x11\x00\x01\xdc\x2d\x05\x00\xcb\xe6\xff\xff\x82\x42\xf8\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 20 | [pid 2387] 10:17:10.418937 recvfrom(106, "\x04\x7e\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\xf7\x86\x6a\x00\x00\x00\x1a\x00\x03\x11\x00\x01\xa3\xa1\x05\x00\xfb\xef\xff\xff\xfd\x80\xf8\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 21 | [pid 2387] 10:17:10.457487 recvfrom(106, "\x04\x7f\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\xf5\x8b\x6a\x00\x00\x00\x1a\x00\x03\x11\x00\x01\x04\xe5\x05\x00\x90\xb4\xff\xff\xb9\x56\xf8\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 22 | [pid 2387] 10:17:10.496683 recvfrom(106, "\x04\x80\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\xf3\x90\x6a\x00\x00\x00\x1a\x00\x03\x11\x00\x01\x70\x20\x06\x00\xb9\xb2\xff\xff\x0f\x40\xf8\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 23 | [pid 2387] 10:17:10.535844 recvfrom(106, "\x04\x81\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\xf4\x95\x6a\x00\x00\x00\x1a\x00\x03\x11\x00\x01\x71\xc6\x06\x00\xd0\xc0\xff\xff\x01\xfe\xf9\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 24 | [pid 2387] 10:17:10.575069 recvfrom(106, "\x04\x82\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\xf3\x9a\x6a\x00\x00\x00\x1a\x00\x03\x11\x00\x01\x6e\x4e\x07\x00\xfa\x33\x00\x00\x4e\x95\xfa\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 25 | [pid 2387] 10:17:10.613965 recvfrom(106, "\x04\x83\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\xf3\x9f\x6a\x00\x00\x00\x1a\x00\x03\x11\x00\x01\xaa\x3c\x07\x00\x51\xd9\xff\xff\x70\xcc\xfa\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 26 | [pid 2387] 10:17:10.652914 recvfrom(106, "\x04\x84\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\xf2\xa4\x6a\x00\x00\x00\x1a\x00\x03\x11\x00\x01\x9f\x13\x07\x00\xfa\xbe\xff\xff\xd8\x1a\xfb\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 27 | [pid 2387] 10:17:10.692092 recvfrom(106, "\x04\x85\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\xf1\xa9\x6a\x00\x00\x00\x1a\x00\x03\x11\x00\x01\x7d\x20\x07\x00\x59\xa0\xff\xff\x61\xfa\xfa\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 28 | [pid 2387] 10:17:10.704522 recvfrom(106, "\x04\x86\x05\x22\x00\x2c\x00\x01\x01\x00\x02\x02\x0d\x00\x01\x28\x01\x00\x01\x7e\xab\x6a\x00\x00\x00\x05\x00\x03\x11\x00\x01\x33\x33\x2d\x00\x00\x00\x71\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 29 | [pid 2387] 10:17:10.730975 recvfrom(106, "\x04\x87\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\xf0\xae\x6a\x00\x00\x00\x1a\x00\x03\x11\x00\x01\xa4\xbc\x06\x00\x03\xb7\xff\xff\x1a\x6e\xfa\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 30 | [pid 2387] 10:17:10.769841 recvfrom(106, "\x04\x88\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\xef\xb3\x6a\x00\x00\x00\x1a\x00\x03\x11\x00\x01\xef\x7c\x06\x00\x40\xa5\xff\xff\x54\xfa\xf9\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 31 | [pid 2387] 10:17:10.809263 recvfrom(106, "\x04\x89\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\xee\xb8\x6a\x00\x00\x00\x1a\x00\x03\x11\x00\x01\xaf\xfb\x05\x00\x9b\x68\xff\xff\xfd\x80\xf8\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 32 | [pid 2387] 10:17:10.848356 recvfrom(106, "\x04\x8a\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\xeb\xbd\x6a\x00\x00\x00\x1a\x00\x03\x11\x00\x01\xcf\x17\x05\x00\x83\x9e\xff\xff\xfc\xf0\xf6\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 33 | [pid 2387] 10:17:10.887094 recvfrom(106, "\x04\x8b\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\xe9\xc2\x6a\x00\x00\x00\x1a\x00\x03\x11\x00\x01\x1a\xee\x03\x00\x1c\x0c\xff\xff\xc5\x51\xf7\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 34 | [pid 2387] 10:17:10.926264 recvfrom(106, "\x04\x8c\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\xe7\xc7\x6a\x00\x00\x00\x1a\x00\x03\x11\x00\x01\x01\x7e\x03\x00\xbc\x2a\xff\xff\x28\xc6\xf7\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 35 | [pid 2387] 10:17:10.964872 recvfrom(106, "\x04\x8d\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\xe6\xcc\x6a\x00\x00\x00\x1a\x00\x03\x11\x00\x01\xf5\xae\x02\x00\xb0\x45\xff\xff\xd3\x7d\xf6\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 36 | [pid 2387] 10:17:11.004346 recvfrom(106, "\x04\x8e\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\xe7\xd1\x6a\x00\x00\x00\x1a\x00\x03\x11\x00\x01\xe3\xd4\x01\x00\x87\x47\xff\xff\xcb\xcc\xf5\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 37 | [pid 2387] 10:17:11.043621 recvfrom(106, "\x04\x8f\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\xe6\xd6\x6a\x00\x00\x00\x1a\x00\x03\x11\x00\x01\xa9\x5e\x01\x00\x70\x39\xff\xff\x36\x08\xf6\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 38 | [pid 2387] 10:17:11.082149 recvfrom(106, "\x04\x90\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\xe6\xdb\x6a\x00\x00\x00\x1a\x00\x03\x11\x00\x01\xc6\x5c\x00\x00\x0b\x09\xff\xff\x2a\x0d\xf7\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 39 | [pid 2387] 10:17:11.121489 recvfrom(106, "\x04\x91\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\xe5\xe0\x6a\x00\x00\x00\x1a\x00\x03\x11\x00\x01\x9b\x2d\x00\x00\x41\xec\xfe\xff\xf0\x21\xf6\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 40 | [pid 2387] 10:17:11.160283 recvfrom(106, "\x04\x92\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\xe2\xe5\x6a\x00\x00\x00\x1a\x00\x03\x11\x00\x01\x5c\x68\xff\xff\x74\xe2\xfe\xff\x80\xf6\xf6\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 41 | [pid 2387] 10:17:11.198938 recvfrom(106, "\x04\x93\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\xdf\xea\x6a\x00\x00\x00\x1a\x00\x03\x11\x00\x01\x44\x29\xff\xff\x48\x6c\xff\xff\x5b\xbc\xf7\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 42 | [pid 2387] 10:17:11.234023 recvfrom(106, "\x04\x94\x05\x22\x00\x2c\x00\x01\x01\x00\x02\x02\x0d\x00\x01\x28\x01\x00\x01\x3d\xef\x6a\x00\x00\x00\x05\x00\x03\x11\x00\x01\x00\x00\x36\x00\x00\x00\x87\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 43 | [pid 2387] 10:17:11.237542 recvfrom(106, "\x04\x95\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\xd4\xef\x6a\x00\x00\x00\x1a\x00\x03\x11\x00\x01\x30\x93\xfe\xff\x99\x37\xff\xff\x84\x40\xf5\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 44 | [pid 2387] 10:17:11.277547 recvfrom(106, "\x04\x96\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\xd7\xf4\x6a\x00\x00\x00\x1a\x00\x03\x11\x00\x01\xb6\x10\xfe\xff\xb0\x2f\x00\x00\x7b\xd8\xf6\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 45 | [pid 2387] 10:17:11.316324 recvfrom(106, "\x04\x97\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\xd9\xf9\x6a\x00\x00\x00\x1a\x00\x03\x11\x00\x01\x18\xdf\xfd\xff\xa5\x06\x00\x00\x82\xf9\xf5\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 46 | [pid 2387] 10:17:11.355531 recvfrom(106, "\x04\x98\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\xdc\xfe\x6a\x00\x00\x00\x1a\x00\x03\x11\x00\x01\x37\x3f\xfd\xff\x01\xca\xff\xff\x58\x55\xf5\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 47 | [pid 2387] 10:17:11.395125 recvfrom(106, "\x04\x99\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\xdc\x03\x6b\x00\x00\x00\x1a\x00\x03\x11\x00\x01\xb8\x57\xfd\xff\xac\x86\x00\x00\x6e\x4d\xf6\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 48 | [pid 2387] 10:17:11.433397 recvfrom(106, "\x04\x9a\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\xdc\x08\x6b\x00\x00\x00\x1a\x00\x03\x11\x00\x01\x37\x3f\xfd\xff\x22\x76\x00\x00\x23\x8d\xf6\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 49 | [pid 2387] 10:17:11.472449 recvfrom(106, "\x04\x9b\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\xdc\x0d\x6b\x00\x00\x00\x1a\x00\x03\x11\x00\x01\x74\xb8\xfc\xff\x66\x2b\x00\x00\xf1\xc7\xf6\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 50 | [pid 2387] 10:17:11.512345 recvfrom(106, "\x04\x9c\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\xdc\x12\x6b\x00\x00\x00\x1a\x00\x03\x11\x00\x01\x3e\x60\xfc\xff\x0a\xc2\xff\xff\x54\x3c\xf7\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 51 | [pid 2387] 10:17:11.550576 recvfrom(106, "\x04\x9d\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\xda\x17\x6b\x00\x00\x00\x1a\x00\x03\x11\x00\x01\x86\x1d\xfd\xff\x72\x10\x00\x00\xbd\xa0\xf6\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 52 | [pid 2387] 10:17:11.589776 recvfrom(106, "\x04\x9e\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\xd8\x1c\x6b\x00\x00\x00\x1a\x00\x03\x11\x00\x01\xdd\x37\xfd\xff\x61\x51\x00\x00\xd3\x08\xf6\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 53 | [pid 2387] 10:17:11.628864 recvfrom(106, "\x04\x9f\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\xd5\x21\x6b\x00\x00\x00\x1a\x00\x03\x11\x00\x01\xfd\xb2\xfd\xff\x0f\x11\x00\x00\x05\xce\xf5\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 54 | [pid 2387] 10:17:11.667837 recvfrom(106, "\x04\xa0\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\xd2\x26\x6b\x00\x00\x00\x1a\x00\x03\x11\x00\x01\xd4\x9e\xfe\xff\x7a\xc1\x00\x00\xb2\xe7\xf4\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 55 | [pid 2387] 10:17:11.707228 recvfrom(106, "\x04\xa1\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\xd2\x2b\x6b\x00\x00\x00\x1a\x00\x03\x11\x00\x01\x88\x53\xff\xff\x61\x51\x00\x00\xc8\xdf\xf5\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 56 | [pid 2387] 10:17:11.745957 recvfrom(106, "\x04\xa2\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\xd2\x30\x6b\x00\x00\x00\x1a\x00\x03\x11\x00\x01\xa0\x07\x00\x00\x72\x10\x00\x00\xac\x56\xf7\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 57 | [pid 2387] 10:17:11.784764 recvfrom(106, "\x04\xa3\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\xd1\x35\x6b\x00\x00\x00\x1a\x00\x03\x11\x00\x01\x88\x27\x01\x00\x69\xa3\xff\xff\x7e\x99\xf8\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 58 | [pid 2387] 10:17:11.824215 recvfrom(106, "\x04\xa4\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\xd0\x3a\x6b\x00\x00\x00\x1a\x00\x03\x11\x00\x01\x18\x2d\x02\x00\xa7\x4d\xff\xff\x3b\xcc\xf6\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 59 | [pid 2387] 10:17:11.862743 recvfrom(106, "\x04\xa5\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\xd0\x3f\x6b\x00\x00\x00\x1a\x00\x03\x11\x00\x01\x5e\x13\x02\x00\x5a\x5c\xff\xff\xd1\xc1\xf6\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 60 | [pid 2387] 10:17:11.901641 recvfrom(106, "\x04\xa6\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\xcd\x44\x6b\x00\x00\x00\x1a\x00\x03\x11\x00\x01\x65\x1e\x02\x00\xfa\xbe\xff\xff\x34\xc1\xf6\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 61 | [pid 2387] 10:17:11.941045 recvfrom(106, "\x04\xa7\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\xcb\x49\x6b\x00\x00\x00\x1a\x00\x03\x11\x00\x01\x7e\x19\x02\x00\xd0\xc0\xff\xff\x47\xb1\xf6\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 62 | [pid 2387] 10:17:11.980114 recvfrom(106, "\x04\xa8\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\xc9\x4e\x6b\x00\x00\x00\x1a\x00\x03\x11\x00\x01\x00\x63\x02\x00\x26\x1f\x00\x00\x7b\x4d\xf7\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 63 | [pid 2387] 10:17:12.019008 recvfrom(106, "\x04\xa9\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\xc9\x53\x6b\x00\x00\x00\x1a\x00\x03\x11\x00\x01\xf4\x67\x03\x00\x16\x06\x01\x00\x2a\x98\xf6\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 64 | [pid 2387] 10:17:12.027349 recvfrom(106, "\x04\xaa\x05\x22\x00\x2c\x00\x01\x01\x00\x02\x02\x0d\x00\x01\x28\x01\x00\x01\xd5\x54\x6b\x00\x00\x00\x05\x00\x03\x11\x00\x01\xcd\xcc\x30\x00\x00\x00\x7a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 65 | [pid 2387] 10:17:12.057900 recvfrom(106, "\x04\xab\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\xc8\x58\x6b\x00\x00\x00\x1a\x00\x03\x11\x00\x01\xc0\x0d\x00\x00\x4c\x04\x02\x00\x03\x12\xf6\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 66 | [pid 2387] 10:17:12.097169 recvfrom(106, "\x04\xac\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\xc7\x5d\x6b\x00\x00\x00\x1a\x00\x03\x11\x00\x01\x51\x9e\x00\x00\x42\x6b\x03\x00\xae\xb8\xf7\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 67 | [pid 2387] 10:17:12.135763 recvfrom(106, "\x04\xad\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\xc5\x62\x6b\x00\x00\x00\x1a\x00\x03\x11\x00\x01\xcb\x0a\x02\x00\x0b\x2b\x05\x00\x7d\x7e\xf7\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 68 | [pid 2387] 10:17:12.174832 recvfrom(106, "\x04\xae\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\xc3\x67\x6b\x00\x00\x00\x1a\x00\x03\x11\x00\x01\x35\xa0\x01\x00\x36\xcf\x05\x00\x99\x92\xf5\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 69 | [pid 2387] 10:17:12.213976 recvfrom(106, "\x04\xaf\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\xc1\x6c\x6b\x00\x00\x00\x1a\x00\x03\x11\x00\x01\xa1\x97\x01\x00\x5b\xaf\x05\x00\x0f\xcb\xf7\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 70 | [pid 2387] 10:17:12.252828 recvfrom(106, "\x04\xb0\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\xbf\x71\x6b\x00\x00\x00\x1a\x00\x03\x11\x00\x01\x27\x15\x01\x00\x99\x59\x05\x00\x7c\x52\xf9\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 71 | [pid 2387] 10:17:12.292052 recvfrom(106, "\x04\xb1\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\xc0\x76\x6b\x00\x00\x00\x1a\x00\x03\x11\x00\x01\x7e\x2f\x01\x00\x4e\x0e\x06\x00\xe9\x5f\xf8\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 72 | [pid 2387] 10:17:12.331122 recvfrom(106, "\x04\xb2\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\xbf\x7b\x6b\x00\x00\x00\x1a\x00\x03\x11\x00\x01\x62\x47\x01\x00\x2b\x90\x06\x00\xaa\x84\xf8\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 73 | [pid 2387] 10:17:12.370467 recvfrom(106, "\x04\xb3\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\xc0\x80\x6b\x00\x00\x00\x1a\x00\x03\x11\x00\x01\xb0\x69\x01\x00\x02\xc3\x06\x00\x02\x45\xf9\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 74 | [pid 2387] 10:17:12.410447 recvfrom(106, "\x04\xb4\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\xc0\x85\x6b\x00\x00\x00\x1a\x00\x03\x11\x00\x01\x75\x37\x01\x00\x1a\x02\x07\x00\x44\x82\xf9\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 75 | [pid 2387] 10:17:12.447929 recvfrom(106, "\x04\xb5\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\xbe\x8a\x6b\x00\x00\x00\x1a\x00\x03\x11\x00\x01\x71\xa4\x00\x00\xf6\xdd\x06\x00\xbf\xd6\xf8\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 76 | [pid 2387] 10:17:12.486961 recvfrom(106, "\x04\xb6\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\xbb\x8f\x6b\x00\x00\x00\x1a\x00\x03\x11\x00\x01\xb3\xe1\x00\x00\xaa\xec\x06\x00\x37\x82\xf8\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 77 | [pid 2387] 10:17:12.525869 recvfrom(106, "\x04\xb7\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\xb9\x94\x6b\x00\x00\x00\x1a\x00\x03\x11\x00\x01\x1d\x77\x00\x00\x7a\x6e\x06\x00\x05\x48\xf8\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 78 | [pid 2387] 10:17:12.556628 recvfrom(106, "\x04\xb8\x05\x22\x00\x2c\x00\x01\x01\x00\x02\x02\x0d\x00\x01\x28\x01\x00\x01\x8a\x98\x6b\x00\x00\x00\x05\x00\x03\x11\x00\x01\x33\x33\x13\x00\x00\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 79 | [pid 2387] 10:17:12.564924 recvfrom(106, "\x04\xb9\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\xb7\x99\x6b\x00\x00\x00\x1a\x00\x03\x11\x00\x01\x31\x0d\x01\x00\x48\x34\x06\x00\xff\xc7\xf7\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 80 | [pid 2387] 10:17:12.604040 recvfrom(106, "\x04\xba\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\xb5\x9e\x6b\x00\x00\x00\x1a\x00\x03\x11\x00\x01\x56\xed\x00\x00\x20\x08\x05\x00\xbe\x46\xf7\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 81 | [pid 2387] 10:17:12.643082 recvfrom(106, "\x04\xbb\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\xb3\xa3\x6b\x00\x00\x00\x1a\x00\x03\x11\x00\x01\x45\xa3\x01\x00\x75\xc0\x04\x00\xec\x62\xf7\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 82 | [pid 2387] 10:17:12.682556 recvfrom(106, "\x04\xbc\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\xb5\xa8\x6b\x00\x00\x00\x1a\x00\x03\x11\x00\x01\x3d\xf2\x00\x00\x50\x81\x03\x00\xd4\xae\xf6\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 83 | [pid 2387] 10:17:12.721035 recvfrom(106, "\x04\xbd\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\xb4\xad\x6b\x00\x00\x00\x1a\x00\x03\x11\x00\x01\x03\x7c\x00\x00\x64\xce\x01\x00\xb7\x20\xf6\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 84 | [pid 2387] 10:17:12.760112 recvfrom(106, "\x04\xbe\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\xb3\xb2\x6b\x00\x00\x00\x1a\x00\x03\x11\x00\x01\x95\xb2\x01\x00\xa3\x19\x00\x00\x64\xb4\xf7\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 85 | [pid 2387] 10:17:12.799272 recvfrom(106, "\x04\xbf\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\xb1\xb7\x6b\x00\x00\x00\x1a\x00\x03\x11\x00\x01\x31\x82\x01\x00\x41\x61\xff\xff\x56\xe2\xf7\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 86 | [pid 2387] 10:17:12.838188 recvfrom(106, "\x04\xc0\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\xaf\xbc\x6b\x00\x00\x00\x1a\x00\x03\x11\x00\x01\xf3\xed\x00\x00\x3a\xe1\xfe\xff\x81\x3d\xf6\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 87 | [pid 2387] 10:17:12.877023 recvfrom(106, "\x04\xc1\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\xad\xc1\x6b\x00\x00\x00\x1a\x00\x03\x11\x00\x01\x02\x4b\x00\x00\xf3\xc9\xfe\xff\xe2\xda\xf5\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 88 | [pid 2387] 10:17:12.916346 recvfrom(106, "\x04\xc2\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\xab\xc6\x6b\x00\x00\x00\x1a\x00\x03\x11\x00\x01\x38\xa3\x00\x00\xa3\x45\xfe\xff\x9a\xad\xf6\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 89 | [pid 2387] 10:17:12.955139 recvfrom(106, "\x04\xc3\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\xaa\xcb\x6b\x00\x00\x00\x1a\x00\x03\x11\x00\x01\xf6\xda\x00\x00\xa7\xee\xfd\xff\x21\xbb\xf7\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 90 | [pid 2387] 10:17:12.994083 recvfrom(106, "\x04\xc4\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\xa9\xd0\x6b\x00\x00\x00\x1a\x00\x03\x11\x00\x01\xf5\x34\x00\x00\xd0\xe7\xfb\xff\xf3\x6d\xf7\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 91 | [pid 2387] 10:17:13.033502 recvfrom(106, "\x04\xc5\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\xa8\xd5\x6b\x00\x00\x00\x1a\x00\x03\x11\x00\x01\x6f\xcd\xff\xff\x89\x5b\xfb\xff\xe7\x9e\xf6\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 92 | [pid 2387] 10:17:13.072777 recvfrom(106, "\x04\xc6\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\xa7\xda\x6b\x00\x00\x00\x1a\x00\x03\x11\x00\x01\xaa\x8a\xff\xff\x5a\xf8\xfb\xff\xeb\xbc\xf6\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 93 | [pid 2387] 10:17:13.111650 recvfrom(106, "\x04\xc7\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\xa6\xdf\x6b\x00\x00\x00\x1a\x00\x03\x11\x00\x01\x8b\xb5\xff\xff\x89\xd0\xfb\xff\x5b\x47\xf7\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 94 | [pid 2387] 10:17:13.150627 recvfrom(106, "\x04\xc8\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\xa5\xe4\x6b\x00\x00\x00\x1a\x00\x03\x11\x00\x01\x9b\xb8\xff\xff\x59\x52\xfb\xff\xbc\x59\xf7\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 95 | [pid 2387] 10:17:13.189625 recvfrom(106, "\x04\xc9\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\xa4\xe9\x6b\x00\x00\x00\x1a\x00\x03\x11\x00\x01\x8c\xe6\xff\xff\xaf\x3b\xfb\xff\x8a\x94\xf7\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 96 | [pid 2387] 10:17:13.228763 recvfrom(106, "\x04\xca\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\xa5\xee\x6b\x00\x00\x00\x1a\x00\x03\x11\x00\x01\x6b\x24\x00\x00\x05\x25\xfb\xff\x4c\xea\xf7\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 97 | [pid 2387] 10:17:13.268564 recvfrom(106, "\x04\xcb\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\xa6\xf3\x6b\x00\x00\x00\x1a\x00\x03\x11\x00\x01\xd8\x4c\x00\x00\xac\x4e\xfb\xff\xe8\x2e\xf8\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 98 | [pid 2387] 10:17:13.307322 recvfrom(106, "\x04\xcc\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\xa6\xf8\x6b\x00\x00\x00\x1a\x00\x03\x11\x00\x01\xd2\x41\x00\x00\x61\x8e\xfb\xff\x0f\xcb\xf7\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 99 | [pid 2387] 10:17:13.346284 recvfrom(106, "\x04\xcd\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\xa6\xfd\x6b\x00\x00\x00\x1a\x00\x03\x11\x00\x01\xcf\x54\x00\x00\x6f\x4a\xfc\xff\x3c\xe7\xf7\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 100 | [pid 2387] 10:17:13.385037 recvfrom(106, "\x04\xce\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\xa5\x02\x6c\x00\x00\x00\x1a\x00\x03\x11\x00\x01\x9f\xc0\x00\x00\xf9\xb9\xfd\xff\x3a\x9b\xf6\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 101 | [pid 2387] 10:17:13.423680 recvfrom(106, "\x04\xcf\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\xa2\x07\x6c\x00\x00\x00\x1a\x00\x03\x11\x00\x01\x39\x49\x01\x00\x60\x36\xff\xff\x36\x93\xf5\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 102 | [pid 2387] 10:17:13.462882 recvfrom(106, "\x04\xd0\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\xa0\x0c\x6c\x00\x00\x00\x1a\x00\x03\x11\x00\x01\xf6\xc4\x01\x00\x72\x9b\xff\xff\x13\xa0\xf5\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 103 | [pid 2387] 10:17:13.502071 recvfrom(106, "\x04\xd1\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\x9e\x11\x6c\x00\x00\x00\x1a\x00\x03\x11\x00\x01\x3d\x67\x01\x00\x94\x5d\xff\xff\x49\x6d\xf6\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 104 | [pid 2387] 10:17:13.540980 recvfrom(106, "\x04\xd2\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\x9e\x16\x6c\x00\x00\x00\x1a\x00\x03\x11\x00\x01\x4e\xb1\x00\x00\xae\xe3\xfe\xff\x3b\x57\xf6\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 105 | [pid 2387] 10:17:13.580582 recvfrom(106, "\x04\xd3\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\x9c\x1b\x6c\x00\x00\x00\x1a\x00\x03\x11\x00\x01\xeb\x3c\x00\x00\xc6\x38\xfe\xff\x9a\x97\xf7\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 106 | [pid 2387] 10:17:13.617878 recvfrom(106, "\x04\xd4\x05\x22\x00\x2c\x00\x01\x01\x00\x02\x02\x0d\x00\x01\x28\x01\x00\x01\x5a\x20\x6c\x00\x00\x00\x05\x00\x03\x11\x00\x01\x33\x33\x42\x00\x00\x00\x4b\x01\x00\x00\x00\x00\x00\x00\x00\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 107 | [pid 2387] 10:17:13.621137 recvfrom(106, "\x04\xd5\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\x7d\x20\x6c\x00\x00\x00\x1a\x00\x03\x11\x00\x01\x07\x9a\x00\x00\x19\x35\xfe\xff\xab\x3b\xf6\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 108 | [pid 1737] 10:17:13.645331 recvfrom(14, "\x04\x0f\x00\x03\x00\x24\x00\x01\x04\x00\x08\x24\x6c\x00\x02\x08\x00\xb2\xd9\x1e\x27\x59\xea\xa4\x16\x03\x04\x00\x00\x00\x00\x00\x10\x08\x00\x5f\xc9\x31\x73\x30\x00\x00\x00", 56, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 43 109 | [pid 2387] 10:17:13.657751 recvfrom(106, "\x04\xd6\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\x81\x25\x6c\x00\x00\x00\x1a\x00\x03\x11\x00\x01\xb6\xe4\xff\xff\x83\xb4\xfe\xff\x90\x84\xf6\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 110 | [pid 2387] 10:17:13.697109 recvfrom(106, "\x04\xd7\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\x88\x2a\x6c\x00\x00\x00\x1a\x00\x03\x11\x00\x01\x15\xb0\x00\x00\xb4\x63\xff\xff\x49\xf8\xf5\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 111 | [pid 2387] 10:17:13.736260 recvfrom(106, "\x04\xd8\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\x8e\x2f\x6c\x00\x00\x00\x1a\x00\x03\x11\x00\x01\xfb\x3f\x00\x00\x90\x29\x00\x00\x77\xb5\xf4\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 112 | [pid 2387] 10:17:13.774815 recvfrom(106, "\x04\xd9\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\x92\x34\x6c\x00\x00\x00\x1a\x00\x03\x11\x00\x01\xdd\x85\x01\x00\x72\x9b\xff\xff\xa6\x77\xf5\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 113 | [pid 2387] 10:17:13.813783 recvfrom(106, "\x04\xda\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\x94\x39\x6c\x00\x00\x00\x1a\x00\x03\x11\x00\x01\xae\x22\x02\x00\x22\x8c\xff\xff\xad\xfc\xf7\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 114 | [pid 2387] 10:17:13.853134 recvfrom(106, "\x04\xdb\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\x94\x3e\x6c\x00\x00\x00\x1a\x00\x03\x11\x00\x01\x59\x39\x02\x00\x34\xd6\xfe\xff\xf8\xbc\xf7\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 115 | [pid 2387] 10:17:13.892079 recvfrom(106, "\x04\xdc\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\x93\x43\x6c\x00\x00\x00\x1a\x00\x03\x11\x00\x01\xda\x82\x02\x00\xff\x23\xff\xff\xea\x8b\xf6\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 116 | [pid 2387] 10:17:13.930763 recvfrom(106, "\x04\xdd\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\x91\x48\x6c\x00\x00\x00\x1a\x00\x03\x11\x00\x01\xb9\x4b\x02\x00\xa2\xfe\xfe\xff\x14\x30\xf7\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 117 | [pid 2387] 10:17:13.969857 recvfrom(106, "\x04\xde\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\x8f\x4d\x6c\x00\x00\x00\x1a\x00\x03\x11\x00\x01\x4b\x23\x02\x00\xde\xec\xfe\xff\xc4\x20\xf7\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 118 | [pid 2387] 10:17:14.009216 recvfrom(106, "\x04\xdf\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\x8d\x52\x6c\x00\x00\x00\x1a\x00\x03\x11\x00\x01\xad\xf1\x01\x00\x89\x34\xff\xff\xeb\x47\xf6\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 119 | [pid 2387] 10:17:14.048365 recvfrom(106, "\x04\xe0\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\x8b\x57\x6c\x00\x00\x00\x1a\x00\x03\x11\x00\x01\xa9\xd3\x01\x00\xd7\x56\xff\xff\xef\xf0\xf5\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 120 | [pid 2387] 10:17:14.087278 recvfrom(106, "\x04\xe1\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\x8a\x5c\x6c\x00\x00\x00\x1a\x00\x03\x11\x00\x01\x84\x7e\x01\x00\x95\x8e\xff\xff\x80\xf6\xf6\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 121 | [pid 2387] 10:17:14.126374 recvfrom(106, "\x04\xe2\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\x89\x61\x6c\x00\x00\x00\x1a\x00\x03\x11\x00\x01\x27\x8a\x01\x00\xce\xd3\xff\xff\xfe\xac\xf6\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 122 | [pid 2387] 10:17:14.165045 recvfrom(106, "\x04\xe3\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\x88\x66\x6c\x00\x00\x00\x1a\x00\x03\x11\x00\x01\x8e\x32\x01\x00\x7f\x80\xff\xff\x79\x8c\xf5\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 123 | [pid 2387] 10:17:14.204714 recvfrom(106, "\x04\xe4\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\x87\x6b\x6c\x00\x00\x00\x1a\x00\x03\x11\x00\x01\x0b\xb8\x00\x00\x60\x20\x00\x00\x43\x93\xf6\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 124 | [pid 2387] 10:17:14.243700 recvfrom(106, "\x04\xe5\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\x85\x70\x6c\x00\x00\x00\x1a\x00\x03\x11\x00\x01\x02\x4b\x00\x00\x56\xb3\xff\xff\x86\x76\xf7\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 125 | [pid 2387] 10:17:14.282389 recvfrom(106, "\x04\xe6\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\x84\x75\x6c\x00\x00\x00\x1a\x00\x03\x11\x00\x01\xf7\x96\x00\x00\xb1\xd5\x00\x00\xe7\x3f\xf5\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 126 | [pid 2387] 10:17:14.321503 recvfrom(106, "\x04\xe7\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\x83\x7a\x6c\x00\x00\x00\x1a\x00\x03\x11\x00\x01\x87\x81\x00\x00\x10\x42\x00\x00\xff\x68\xf6\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 127 | [pid 2387] 10:17:14.360934 recvfrom(106, "\x04\xe8\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\x82\x7f\x6c\x00\x00\x00\x1a\x00\x03\x11\x00\x01\xf6\xf0\xff\xff\x1a\x50\xff\xff\x80\x81\xf6\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 128 | [pid 2387] 10:17:14.399527 recvfrom(106, "\x04\xe9\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\x81\x84\x6c\x00\x00\x00\x1a\x00\x03\x11\x00\x01\x75\x4d\x00\x00\xa5\x06\x00\x00\xe2\xda\xf5\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 129 | [pid 2387] 10:17:14.438926 recvfrom(106, "\x04\xea\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\x80\x89\x6c\x00\x00\x00\x1a\x00\x03\x11\x00\x01\xb7\xa0\xff\xff\x8c\x21\xff\xff\x3a\xb1\xf5\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 130 | [pid 2387] 10:17:14.477859 recvfrom(106, "\x04\xeb\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\x7f\x8e\x6c\x00\x00\x00\x1a\x00\x03\x11\x00\x01\xfb\xca\xff\xff\xbc\x2a\xff\xff\x63\x99\xf6\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 131 | [pid 2387] 10:17:14.516425 recvfrom(106, "\x04\xec\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\x7d\x93\x6c\x00\x00\x00\x1a\x00\x03\x11\x00\x01\xd7\x90\x00\x00\xc5\x81\x00\x00\xf0\xf5\xf7\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 132 | [pid 2387] 10:17:14.555314 recvfrom(106, "\x04\xed\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\x7c\x98\x6c\x00\x00\x00\x1a\x00\x03\x11\x00\x01\x47\x8b\xff\xff\x76\xb9\xff\xff\x5d\xa4\xf5\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 133 | [pid 2387] 10:17:14.594434 recvfrom(106, "\x04\xee\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\x7b\x9d\x6c\x00\x00\x00\x1a\x00\x03\x11\x00\x01\xfb\xca\xff\xff\xb0\x45\xff\xff\xb2\x5c\xf5\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 134 | [pid 2387] 10:17:14.633841 recvfrom(106, "\x04\xef\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\x7a\xa2\x6c\x00\x00\x00\x1a\x00\x03\x11\x00\x01\xb7\x8a\x00\x00\x70\xae\xff\xff\xfa\x8e\xf6\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 135 | [pid 2387] 10:17:14.672393 recvfrom(106, "\x04\xf0\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\x79\xa7\x6c\x00\x00\x00\x1a\x00\x03\x11\x00\x01\x79\xe0\x00\x00\x9c\x99\xff\xff\x4d\xa1\xf5\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 136 | [pid 2387] 10:17:14.675338 <... recvfrom resumed> "\x04\xf1\x05\x22\x00\x2c\x00\x01\x01\x00\x02\x02\x0d\x00\x01\x28\x01\x00\x01\xcf\xa7\x6c\x00\x00\x00\x05\x00\x03\x11\x00\x01\x00\x00\x32\x00\x00\x00\xfa\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 137 | [pid 2387] 10:17:14.711516 recvfrom(106, "\x04\xf2\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\x78\xac\x6c\x00\x00\x00\x1a\x00\x03\x11\x00\x01\xa7\x12\x00\x00\x70\x39\xff\xff\x3e\xcf\xf5\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 138 | [pid 2387] 10:17:14.751011 recvfrom(106, "\x04\xf3\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\x77\xb1\x6c\x00\x00\x00\x1a\x00\x03\x11\x00\x01\x6b\x24\x00\x00\x88\x78\xff\xff\x12\x59\xf6\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 139 | [pid 2387] 10:17:14.789823 recvfrom(106, "\x04\xf4\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\x76\xb6\x6c\x00\x00\x00\x1a\x00\x03\x11\x00\x01\x3e\x39\x00\x00\xa0\xb7\xff\xff\x42\xd7\xf6\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 140 | [pid 2387] 10:17:14.828918 recvfrom(106, "\x04\xf5\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\x74\xbb\x6c\x00\x00\x00\x1a\x00\x03\x11\x00\x01\x39\x75\xff\xff\x20\x2a\xff\xff\xb3\x77\xf6\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 141 | [pid 2387] 10:17:14.867979 recvfrom(106, "\x04\xf6\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\x73\xc0\x6c\x00\x00\x00\x1a\x00\x03\x11\x00\x01\xa2\xd9\xfe\xff\xcb\xfc\xfe\xff\x5a\x2c\xf6\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 142 | [pid 2387] 10:17:14.906839 recvfrom(106, "\x04\xf7\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\x72\xc5\x6c\x00\x00\x00\x1a\x00\x03\x11\x00\x01\x15\xc6\xff\xff\xf7\x5c\xff\xff\xdf\xd7\xf6\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 143 | [pid 2387] 10:17:14.946246 recvfrom(106, "\x04\xf8\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\x71\xca\x6c\x00\x00\x00\x1a\x00\x03\x11\x00\x01\x41\x26\x00\x00\xe0\x4e\xff\xff\x4b\x5a\xf6\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 144 | [pid 2387] 10:17:14.985116 recvfrom(106, "\x04\xf9\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\x70\xcf\x6c\x00\x00\x00\x1a\x00\x03\x11\x00\x01\xa0\x7c\x00\x00\xd7\x56\xff\xff\x43\x1e\xf6\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 145 | [pid 2387] 10:17:15.023992 recvfrom(106, "\x04\xfa\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\x6f\xd4\x6c\x00\x00\x00\x1a\x00\x03\x11\x00\x01\xca\xef\x00\x00\xbc\x14\x00\x00\x2e\xcc\xf5\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 146 | [pid 2387] 10:17:15.063108 recvfrom(106, "\x04\xfb\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\x6e\xd9\x6c\x00\x00\x00\x1a\x00\x03\x11\x00\x01\xc0\xf7\x00\x00\x2a\xc8\xff\xff\xd7\x26\xf6\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 147 | [pid 2387] 10:17:15.101870 recvfrom(106, "\x04\xfc\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\x6c\xde\x6c\x00\x00\x00\x1a\x00\x03\x11\x00\x01\xda\xf2\x00\x00\x97\x4a\xff\xff\x62\x68\xf6\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 148 | [pid 2387] 10:17:15.141139 recvfrom(106, "\x04\xfd\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\x6b\xe3\x6c\x00\x00\x00\x1a\x00\x03\x11\x00\x01\xde\x9b\x00\x00\x42\x1d\xff\xff\xa6\x07\xf7\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 149 | [pid 2387] 10:17:15.180462 recvfrom(106, "\x04\xfe\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\x69\xe8\x6c\x00\x00\x00\x1a\x00\x03\x11\x00\x01\x16\xe1\x00\x00\x8d\x52\xff\xff\x9e\xcb\xf6\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 150 | [pid 2387] 10:17:15.219143 recvfrom(106, "\x04\xff\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\x68\xed\x6c\x00\x00\x00\x1a\x00\x03\x11\x00\x01\xc3\x59\x01\x00\x42\x07\x00\x00\xe3\x0b\xf6\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 151 | [pid 2387] 10:17:15.257980 recvfrom(106, "\x04\x00\x06\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\x67\xf2\x6c\x00\x00\x00\x1a\x00\x03\x11\x00\x01\x32\xc9\x00\x00\x2e\x71\xff\xff\xfa\x8e\xf6\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 152 | [pid 2387] 10:17:15.297059 recvfrom(106, "\x04\x01\x06\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\x66\xf7\x6c\x00\x00\x00\x1a\x00\x03\x11\x00\x01\xda\xf2\x00\x00\x76\x2e\x00\x00\x37\xc4\xf5\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 153 | [pid 2387] 10:17:15.336229 recvfrom(106, "\x04\x02\x06\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\x65\xfc\x6c\x00\x00\x00\x1a\x00\x03\x11\x00\x01\x00\x04\x01\x00\x26\x1f\x00\x00\x03\x87\xf6\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 154 | [pid 2387] 10:17:15.375516 recvfrom(106, "\x04\x03\x06\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\x64\x01\x6d\x00\x00\x00\x1a\x00\x03\x11\x00\x01\x2f\xdc\x00\x00\x04\xe8\xff\xff\x88\xbd\xf6\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 155 | [pid 2387] 10:17:15.414176 recvfrom(106, "\x04\x04\x06\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\x63\x06\x6d\x00\x00\x00\x1a\x00\x03\x11\x00\x01\x11\x07\x01\x00\xfa\x33\x00\x00\x03\x87\xf6\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 156 | [pid 2387] 10:17:15.453645 recvfrom(106, "\x04\x05\x06\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\x62\x0b\x6d\x00\x00\x00\x1a\x00\x03\x11\x00\x01\x2a\x02\x01\x00\x8a\x4f\x00\x00\xa5\xd6\xf6\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 157 | -------------------------------------------------------------------------------- /docs/android-dumps/msm8996-proximity-dump: -------------------------------------------------------------------------------- 1 | [pid 1024] 11:50:32.265624 recvfrom(97, "\x04\x66\x00\x05\x00\x1a\x00\x01\x01\x00\x29\x02\x04\x00\xcb\x72\x5b\x0b\x03\x0c\x00\x00\x00\x01\x00\x80\x76\x29\xb2\x00\x00\x00\x00", 820, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x3f\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 33 2 | [pid 1024] 11:50:32.673140 recvfrom(97, "\x04\x67\x00\x05\x00\x1a\x00\x01\x01\x00\x29\x02\x04\x00\x15\xa7\x5b\x0b\x03\x0c\x00\x00\x00\x00\x00\x80\x76\x29\xb2\x00\x00\x00\x00", 820, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x3f\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 33 3 | [pid 574] 11:50:32.691652 sendto(14, "\x00\x61\x00\x02\x00\x04\x00\x10\x01\x00\x01", 11, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x29\x00\x00\x00\x18\x48\xf6\xdf"}, 20) = 11 4 | [pid 1737] 11:50:32.692370 recvfrom(14, "\x02\x61\x00\x02\x00\x29\x00\x02\x02\x00\x00\x00\x10\x04\x00\x1a\xaa\x5b\x0b\x11\x08\x00\x49\x15\x5f\xc8\x70\xef\xa4\x16\x13\x04\x00\x00\x00\x00\x00\x14\x08\x00\x20\x03\x72\x14\x48\x05\x00\x00", 56, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 48 5 | [pid 574] 11:50:32.694331 sendto(94, "\x00\x12\x00\x02\x00\x26\x00\x01\x01\x00\x28\x02\x01\x00\x00\x03\x04\x00\x00\x00\x05\x00\x04\x0c\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x11\x05\x00\x00\x00\x00\x00\x01", 45, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x3f\x00\x00\x00\x98\x48\xf6\xdf"}, 20) = 45 6 | [pid 1021] 11:50:32.699796 recvfrom(94, "\x04\x09\x00\x05\x00\x1a\x00\x01\x01\x00\x2c\x02\x04\x00\x15\xa7\x5b\x0b\x03\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", 820, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x3f\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 33 7 | [pid 1021] 11:50:32.701491 <... recvfrom resumed> "\x02\x12\x00\x02\x00\x09\x00\x02\x02\x00\x00\x00\x10\x01\x00\x2c", 820, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x3f\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 16 8 | [pid 574] 11:50:32.717664 sendto(94, "\x00\x13\x00\x00\x00\x00\x00", 7, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x3f\x00\x00\x00\x78\x48\xf6\xdf"}, 20) = 7 9 | [pid 1021] 11:50:32.723923 recvfrom(94, "\x02\x13\x00\x00\x00\x05\x00\x02\x02\x00\x00\x00", 820, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x3f\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 12 10 | [pid 1024] 11:50:33.174334 recvfrom(97, "\x04\x68\x00\x05\x00\x1a\x00\x01\x01\x00\x29\x02\x04\x00\x2c\xe7\x5b\x0b\x03\x0c\x00\x00\x00\x01\x00\x80\x76\x29\xb2\x00\x00\x00\x00", 820, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x3f\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 33 11 | [pid 1024] 11:50:33.529889 recvfrom(97, "\x04\x69\x00\x05\x00\x1a\x00\x01\x01\x00\x29\x02\x04\x00\xb5\x14\x5c\x0b\x03\x0c\x00\x00\x00\x00\x00\x80\x76\x29\xb2\x00\x00\x00\x00", 820, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x3f\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 33 12 | [pid 1024] 11:50:33.859699 recvfrom(97, "\x04\x6a\x00\x05\x00\x1a\x00\x01\x01\x00\x29\x02\x04\x00\xdf\x3e\x5c\x0b\x03\x0c\x00\x00\x00\x01\x00\x80\x76\x29\xb2\x00\x00\x00\x00", 820, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x3f\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 33 13 | [pid 1024] 11:50:34.202404 recvfrom(97, "\x04\x6b\x00\x05\x00\x1a\x00\x01\x01\x00\x29\x02\x04\x00\xb8\x6a\x5c\x0b\x03\x0c\x00\x00\x00\x00\x00\x80\x76\x29\xb2\x00\x00\x00\x00", 820, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x3f\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 33 14 | [pid 1024] 11:50:34.532334 recvfrom(97, "\x04\x6c\x00\x05\x00\x1a\x00\x01\x01\x00\x29\x02\x04\x00\xe1\x94\x5c\x0b\x03\x0c\x00\x00\x00\x01\x00\x80\x76\x29\xb2\x00\x00\x00\x00", 820, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x3f\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 33 15 | [pid 1024] 11:50:34.847917 recvfrom(97, "\x04\x6d\x00\x05\x00\x1a\x00\x01\x01\x00\x29\x02\x04\x00\x5a\xbd\x5c\x0b\x03\x0c\x00\x00\x00\x00\x00\x80\x76\x29\xb2\x00\x00\x00\x00", 820, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x3f\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 33 16 | [pid 1737] 11:50:35.161880 recvfrom(14, "\x04\x3d\x01\x03\x00\x24\x00\x01\x04\x00\x0c\xe6\x5c\x0b\x02\x08\x00\xa9\x92\x7e\x5b\x71\xef\xa4\x16\x03\x04\x00\x00\x00\x00\x00\x10\x08\x00\x9c\x86\x91\xa7\x48\x05\x00\x00", 56, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 43 17 | [pid 1024] 11:50:35.217216 recvfrom(97, "\x04\x6e\x00\x05\x00\x1a\x00\x01\x01\x00\x29\x02\x04\x00\x93\xec\x5c\x0b\x03\x0c\x00\x00\x00\x01\x00\x80\x76\x29\xb2\x00\x00\x00\x00", 820, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x3f\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 33 18 | [pid 1024] 11:50:36.165677 recvfrom(97, "\x04\x6f\x00\x05\x00\x1a\x00\x01\x01\x00\x29\x02\x04\x00\x00\x66\x5d\x0b\x03\x0c\x00\x00\x00\x00\x00\x80\x76\x29\xb2\x00\x00\x00\x00", 820, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x3f\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 33 19 | [pid 1024] 11:50:36.442277 recvfrom(97, "\x04\x70\x00\x05\x00\x1a\x00\x01\x01\x00\x29\x02\x04\x00\x6a\x89\x5d\x0b\x03\x0c\x00\x00\x00\x01\x00\x80\x76\x29\xb2\x00\x00\x00\x00", 820, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x3f\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 33 20 | [pid 1024] 11:50:37.312205 recvfrom(97, "\x04\x71\x00\x05\x00\x1a\x00\x01\x01\x00\x29\x02\x04\x00\xb8\xf8\x5d\x0b\x03\x0c\x00\x00\x00\x00\x00\x80\x76\x29\xb2\x00\x00\x00\x00", 820, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x3f\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 33 21 | -------------------------------------------------------------------------------- /docs/android-dumps/sensordaemon: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kcxt/sensordaemon-re/d719bf290ecc20286511061cd9b02522b1f5d618/docs/android-dumps/sensordaemon -------------------------------------------------------------------------------- /docs/msm8996/README.md: -------------------------------------------------------------------------------- 1 | 2 | # MSM8996 RE 3 | 4 | The MSM8996 is the first Qualcomm SoC with a real SLPI. Older SoCs (and some newer mid-tier ones such as MSM8953) either use the ADSP to process sensor data, or just use the AP. 5 | 6 | ## Getting messages 7 | ``` 8 | strace -p PID -f -xx -tt -s 2000 2>&1 /dev/null | grep AF_IB 9 | ``` 10 | Replace `PID` with the PID of `android.hardware.sensors@1.0-service`. 11 | ## Proximity sensor 12 | These messages appear to contain proximity sensor data. They were captured with the screen turned off and the sensor covered then uncovered with a finger: 13 | 14 | ``` 15 | [pid 1024] 11:50:32.265624 recvfrom(97, "\x04\x66\x00\x05\x00\x1a\x00\x01\x01\x00\x29\x02\x04\x00\xcb\x72\x5b\x0b\x03\x0c\x00\x00\x00\x01\x00\x80\x76\x29\xb2\x00\x00\x00\x00", 820, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x3f\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 33 16 | [pid 1024] 11:50:32.673140 recvfrom(97, "\x04\x67\x00\x05\x00\x1a\x00\x01\x01\x00\x29\x02\x04\x00\x15\xa7\x5b\x0b\x03\x0c\x00\x00\x00\x00\x00\x80\x76\x29\xb2\x00\x00\x00\x00", 820, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x3f\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 33 17 | ``` 18 | 19 | They contain this data (with timecodes in the beginning of each line): 20 | ``` 21 | 11:50:32.265624: 04 66 00 05 00 1a 00 01 01 00 29 02 04 00 cb 72 5b 0b 03 0c 00 00 00 01 00 80 76 29 b2 00 00 00 00 22 | 11:50:32.673140: 04 67 00 05 00 1a 00 01 01 00 29 02 04 00 15 a7 5b 0b 03 0c 00 00 00 00 00 80 76 29 b2 00 00 00 00 23 | ``` 24 | 25 | This is the structure of the message roughly resembled by a C struct: 26 | ```c 27 | struct msg { 28 | const u8 header; 29 | u8 counter; 30 | u8 unknown1[12]; 31 | u32 ticks; 32 | u8 unknown2[5]; 33 | u8 data; 34 | u8 unknown3[9]; 35 | }; 36 | ``` 37 | **Description:** 38 | + `header`: Always `0x04`. 39 | + `counter`: Increases by 1 every message. 40 | + `ticks`: Timestamp in 32768Hz ticks, Time(s) = `ticks / 32768` 41 | + `data`: Sensor data. In this case, it is 1 when the proximity sensor is triggered, 0 otherwise. 42 | 43 | **NOTE:** Some of `unknown2` and `unknown3` might be part of `data` which would make it `u32` instead of `u8`, but in this case the data is boolean so these bytes are always 0. 44 | 45 | There should be a sensor ID somewhere here, possibly in `unknown1`. 46 | 47 | ## Accelerometer 48 | Messages from the acclerometer are larger, probably since there is more data to carry: 49 | ``` 50 | [pid 2387] 10:17:09.676886 recvfrom(106, "\x04\x6b\x05\x22\x00\x2c\x00\x01\x01\x00\x01\x02\x0d\x00\x01\x00\x00\x00\x01\x0c\x28\x6a\x00\x00\x00\x1a\x00\x03\x11\x00\x01\xd3\x46\x02\x00\xfa\xbe\xff\xff\xbf\x5c\xf6\xff\x00\x00\x16\x00\x10\x01\x00\x00", 1684, MSG_DONTWAIT, {sa_family=AF_IB, sa_data="\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00"}, [20]) = 51 51 | ``` 52 | ``` 53 | 04 6b 05 22 00 2c 00 01 01 00 01 02 0d 00 01 00 00 00 01 0c 28 6a 00 00 00 1a 00 03 11 00 01 d3 46 02 00 fa be ff ff bf 5c f6 ff 00 00 16 00 10 01 00 00 54 | ``` 55 | These also have the `0x04` header, a counter and a timestamp: 56 | ```c 57 | struct msg { 58 | const u8 header; 59 | u8 counter; 60 | u8 unknown1[12]; 61 | u32 ticks; 62 | u8 unknown2[8] 63 | u32 x; 64 | u32 z; 65 | u32 y; 66 | u8 unknown3[8]; 67 | ... 68 | }; 69 | ``` 70 | ``` 71 | Y 72 | | 73 | _________________ 74 | | | | 75 | | | Z | 76 | | | / | 77 | | | / | 78 | | | / | 79 | | |/ | 80 | X<-----|-------/--------|----->X 81 | | /| | 82 | | / | | 83 | | / | | 84 | | / | | 85 | | Z | | 86 | |_______|_______| 87 | | 88 | | 89 | Y 90 | ``` -------------------------------------------------------------------------------- /docs/protobuf/README.md: -------------------------------------------------------------------------------- 1 | 2 | # Protobuf RE 3 | 4 | The core sensor data seems to be encoded using the protobuf format and then sent via QMI. 5 | From the sensor-hal dumps in android-dumps we can find the first protobuf packet (starting with `\x0a\x12`) which is sent from the HAL to the ssc and decode is as follows using protobuf-inspector: 6 | ```bash 7 | printf "%b" "\x0a\x12\x09\xab\xab\xab\xab\xab\xab\xab\xab\x11\xab\xab\xab\xab\xab\xab\xab\xab\x15\x00\x02\x00\x00\x1a\x04\x08\x01\x10\x00\x22\x10\x12\x0e\x0a\x08\x72\x65\x67\x69\x73\x74\x72\x79\x10\x01\x18\x00\x10\x01\x00\x01" | protobuf_inspector 8 | ``` 9 | For the result: 10 | ```rust 11 | root: 12 | 1 = message: 13 | 1 <64bit> = 0xABABABABABABABAB / -6076574518398440533 / -2.5301707e-98 // sensor ID (dummy value here) 14 | 2 <64bit> = 0xABABABABABABABAB / -6076574518398440533 / -2.5301707e-98 15 | 2 <32bit> = 0x00000200 / 512 / 7.17465e-43 // Message id? 16 | 3 = message(1 = 1, 2 = 0) // result / error 17 | 4 = message: 18 | 2 = message: 19 | 1 = "registry" 20 | 2 = 1 21 | 3 = 0 22 | 2 = 1 23 | 0 = 1 24 | ``` 25 | This seems be sending some data about the sensor registry, that is is ready ?? 26 | 27 | The SSC then replies with some pure QMI packet, and then again with the following protobuf packet: 28 | ```rust 29 | root: 30 | 1 = message: 31 | 1 <64bit> = 0xABABABABABABABAB / -6076574518398440533 / -2.5301707e-98 // sensor ID (dummy value here) 32 | 2 <64bit> = 0xABABABABABABABAB / -6076574518398440533 / -2.5301707e-98 33 | 2 = message: 34 | 1 <32bit> = 0x00000300 / 768 / 1.07620e-42 // Message id? 35 | 2 <64bit> = 0x0000004A2C90AD8C / 318575259020 / 1.5739709e-312 // Timestamp 36 | 3 = message: // Data 37 | 1 = "registry" 38 | 2 = message: 39 | 1 <64bit> = 0x5E2541B4701E2275 / 6783900656934462069 / 3.3178973e+145 40 | 2 <64bit> = 0xE12754A7007F2759 / -2222714814839445671 / -1.0250262e+160 41 | ``` 42 | -------------------------------------------------------------------------------- /proto_sensordaemon.proto: -------------------------------------------------------------------------------- 1 | 2 | message ssc_registry_status { 3 | required string name = 1; 4 | required int32 sts_1 = 2; 5 | required in32 sts_2 = 3; 6 | } 7 | 8 | message ssc_sensor_id { 9 | required int64 id_1 = 1; 10 | required int64 id_2 = 2; 11 | } 12 | 13 | message ssc_unknown_status { 14 | required 15 | } 16 | 17 | message ssc_proto_hello { 18 | required message ssc_sensor_id = 1; 19 | required int32 msg_id = 2; 20 | required message ssc_unknown_status = 3; 21 | } 22 | 23 | message ssc_proto_sensor_info { 24 | 25 | } -------------------------------------------------------------------------------- /qmi_sensordaemon.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "qmi_sensordaemon.h" 4 | 5 | struct qmi_elem_info sensordaemon_qmi_result_ei[] = { 6 | { 7 | .data_type = QMI_UNSIGNED_2_BYTE, 8 | .elem_len = 1, 9 | .elem_size = sizeof(uint16_t), 10 | .offset = offsetof(struct sensordaemon_qmi_result, result), 11 | }, 12 | { 13 | .data_type = QMI_UNSIGNED_2_BYTE, 14 | .elem_len = 1, 15 | .elem_size = sizeof(uint16_t), 16 | .offset = offsetof(struct sensordaemon_qmi_result, error), 17 | }, 18 | {} 19 | }; 20 | 21 | struct qmi_elem_info sensordaemon_sensor_client_req_ei[] = { 22 | { 23 | .data_type = QMI_DATA_LEN, 24 | .elem_len = 1, 25 | .elem_size = sizeof(uint16_t), 26 | .tlv_type = 1, 27 | .offset = offsetof(struct sensordaemon_sensor_client_req, payload_len), 28 | }, 29 | { 30 | .data_type = QMI_UNSIGNED_1_BYTE, 31 | .elem_len = 1000, 32 | .elem_size = sizeof(uint8_t), 33 | .array_type = VAR_LEN_ARRAY, 34 | .tlv_type = 1, 35 | .offset = offsetof(struct sensordaemon_sensor_client_req, payload), 36 | }, 37 | {} 38 | }; 39 | 40 | struct qmi_elem_info sensordaemon_sensor_client_resp_ei[] = { 41 | { 42 | .data_type = QMI_STRUCT, 43 | .elem_len = 1, 44 | .elem_size = sizeof(struct sensordaemon_qmi_result), 45 | .tlv_type = 2, 46 | .offset = offsetof(struct sensordaemon_sensor_client_resp, result), 47 | .ei_array = sensordaemon_qmi_result_ei, 48 | }, 49 | { 50 | .data_type = QMI_OPT_FLAG, 51 | .elem_len = 1, 52 | .elem_size = sizeof(bool), 53 | .tlv_type = 16, 54 | .offset = offsetof(struct sensordaemon_sensor_client_resp, client_id_valid), 55 | }, 56 | { 57 | .data_type = QMI_UNSIGNED_8_BYTE, 58 | .elem_len = 1, 59 | .elem_size = sizeof(uint64_t), 60 | .tlv_type = 16, 61 | .offset = offsetof(struct sensordaemon_sensor_client_resp, client_id), 62 | }, 63 | { 64 | .data_type = QMI_OPT_FLAG, 65 | .elem_len = 1, 66 | .elem_size = sizeof(bool), 67 | .tlv_type = 17, 68 | .offset = offsetof(struct sensordaemon_sensor_client_resp, res_valid), 69 | }, 70 | { 71 | .data_type = QMI_UNSIGNED_4_BYTE, 72 | .elem_len = 1, 73 | .elem_size = sizeof(uint32_t), 74 | .tlv_type = 17, 75 | .offset = offsetof(struct sensordaemon_sensor_client_resp, res), 76 | }, 77 | {} 78 | }; 79 | 80 | struct qmi_elem_info sensordaemon_sensor_client_ind_ei[] = { 81 | { 82 | .data_type = QMI_UNSIGNED_8_BYTE, 83 | .elem_len = 1, 84 | .elem_size = sizeof(uint64_t), 85 | .tlv_type = 1, 86 | .offset = offsetof(struct sensordaemon_sensor_client_ind, client_id), 87 | }, 88 | { 89 | .data_type = QMI_DATA_LEN, 90 | .elem_len = 1, 91 | .elem_size = sizeof(uint16_t), 92 | .tlv_type = 2, 93 | .offset = offsetof(struct sensordaemon_sensor_client_ind, payload_len), 94 | }, 95 | { 96 | .data_type = QMI_UNSIGNED_1_BYTE, 97 | .elem_len = 1000, 98 | .elem_size = sizeof(uint8_t), 99 | .array_type = VAR_LEN_ARRAY, 100 | .tlv_type = 2, 101 | .offset = offsetof(struct sensordaemon_sensor_client_ind, payload), 102 | }, 103 | {} 104 | }; 105 | 106 | -------------------------------------------------------------------------------- /qmi_sensordaemon.h: -------------------------------------------------------------------------------- 1 | #ifndef __QMI_SENSORDAEMON_H__ 2 | #define __QMI_SENSORDAEMON_H__ 3 | 4 | #include 5 | #include 6 | 7 | #include "libqrtr.h" 8 | 9 | #define SNS_CLIENT_QMI_SERVICE 400 10 | #define QMI_RESULT_SUCCESS 0 11 | #define QMI_RESULT_FAILURE 1 12 | #define QMI_ERR_NONE 0 13 | #define QMI_ERR_INTERNAL 1 14 | #define QMI_ERR_MALFORMED_MSG 2 15 | #define SNS_CLIENT_REQ 32 16 | #define SNS_CLIENT_RESP 32 17 | #define SNS_CLIENT_REPORT 34 18 | 19 | struct sensordaemon_qmi_result { 20 | uint16_t result; 21 | uint16_t error; 22 | }; 23 | 24 | struct sensordaemon_sensor_client_req { 25 | uint32_t payload_len; 26 | uint8_t payload[1000]; 27 | }; 28 | 29 | struct sensordaemon_sensor_client_resp { 30 | struct sensordaemon_qmi_result result; 31 | bool client_id_valid; 32 | uint64_t client_id; 33 | bool res_valid; 34 | uint32_t res; 35 | }; 36 | 37 | struct sensordaemon_sensor_client_ind { 38 | uint64_t client_id; 39 | uint32_t payload_len; 40 | uint8_t payload[1000]; 41 | }; 42 | 43 | extern struct qmi_elem_info sensordaemon_sensor_client_req_ei[]; 44 | extern struct qmi_elem_info sensordaemon_sensor_client_resp_ei[]; 45 | extern struct qmi_elem_info sensordaemon_sensor_client_ind_ei[]; 46 | 47 | #endif 48 | -------------------------------------------------------------------------------- /qmi_sensordaemon.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kcxt/sensordaemon-re/d719bf290ecc20286511061cd9b02522b1f5d618/qmi_sensordaemon.o -------------------------------------------------------------------------------- /qmi_sensordaemon.qmi: -------------------------------------------------------------------------------- 1 | package sensordaemon; 2 | 3 | const SNS_CLIENT_QMI_SERVICE = 400; 4 | 5 | const QMI_RESULT_SUCCESS = 0; 6 | const QMI_RESULT_FAILURE = 1; 7 | 8 | const QMI_ERR_NONE = 0; 9 | const QMI_ERR_INTERNAL = 1; 10 | const QMI_ERR_MALFORMED_MSG = 2; 11 | 12 | const SNS_CLIENT_REQ = 0x20; 13 | const SNS_CLIENT_RESP = 0x20; 14 | const SNS_CLIENT_REPORT = 0x22; 15 | 16 | struct qmi_result { 17 | u16 result; 18 | u16 error; 19 | }; 20 | 21 | request sensor_client_req { 22 | required u8 payload(1000) = 0x1; 23 | } = 0x20; 24 | 25 | response sensor_client_resp { 26 | required qmi_result result = 0x2; 27 | optional u64 client_id = 0x10; 28 | optional u32 res = 0x11; 29 | } = 0x20; 30 | 31 | response sensor_client_ind { 32 | required u64 client_id = 0x01; 33 | required u8 payload(1000) = 0x02; 34 | } = 0x22; -------------------------------------------------------------------------------- /sensordaemon.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | #include 6 | #include 7 | #include 8 | #include 9 | #include 10 | #include 11 | #include 12 | #include 13 | #include 14 | #include 15 | #include 16 | #include 17 | #include 18 | #include 19 | 20 | #include "qmi_sensordaemon.h" 21 | #include "sensordaemon.h" 22 | 23 | int handle_decode(struct qrtr_packet *pkt, unsigned* txid) { 24 | struct sensordaemon_sensor_client_resp qmi_resp = {}; 25 | int ret; 26 | 27 | ret = qmi_decode_message(&qmi_resp, &txid, pkt, QMI_REQUEST, 28 | SNS_CLIENT_REQ, sensordaemon_sensor_client_req_ei); 29 | printf("qmi_resp: result: %d, err: %d, client_id_valid: %d, client_id: %lu, res_valid: %d, res: %d", qmi_resp.result.result, qmi_resp.result.error, 30 | qmi_resp.client_id_valid, qmi_resp.client_id, qmi_resp.res_valid, qmi_resp.res); 31 | return 0; 32 | } 33 | 34 | int main(int argc, char **argv) 35 | { 36 | int sensor_fd, ret; 37 | unsigned char* buf; 38 | struct qrtr_packet resp; 39 | struct sockaddr_qrtr sq; 40 | socklen_t sl; 41 | unsigned int txid; // transaction id ? 42 | 43 | buf = malloc(65536); 44 | 45 | sensor_fd = qrtr_open(0); 46 | if (sensor_fd < 0) { 47 | fprintf(stderr, "Failed to create qrtr socket\n"); 48 | return sensor_fd; 49 | } 50 | ret = qrtr_new_lookup(sensor_fd, SNS_CLIENT_QMI_SERVICE, 0, 0); 51 | if (sensor_fd < 0) { 52 | fprintf(stderr, "Failed to lookup service\n"); 53 | return sensor_fd; 54 | } 55 | ret = qrtr_poll(sensor_fd, -1); 56 | printf("Got response from sensor_fd: %d\n", ret); 57 | ret = recvfrom(sensor_fd, buf, sizeof(buf), 0, (void *)&sq, &sl); 58 | if (ret < 0) { 59 | fprintf(stderr, "Failed to recv: %d\n", ret); 60 | free(buf); 61 | return ret; 62 | } 63 | ret = qrtr_decode(&resp, buf, sizeof(resp), &sq); 64 | if (ret < 0) { 65 | fprintf(stderr, "Failed to qrtr_decode: %d\n", ret); 66 | free(buf); 67 | return ret; 68 | } 69 | printf("type: %d, node: %d, port: %d, service: %d, version: %d, instance: %d, data_len: %lu\n", 70 | resp.type, resp.node, resp.port, resp.service, resp.version, 71 | resp.instance, resp.data_len); 72 | // for (size_t i = 0; i < resp.data_len; i++) 73 | // { 74 | // printf("0x%2x %s", *(uint8_t*)(resp.data + i), 75 | // i == resp.data_len-1 ? "\n": ""); 76 | // } 77 | 78 | handle_decode(&resp, &txid); 79 | 80 | free(buf); 81 | return 0; 82 | } 83 | -------------------------------------------------------------------------------- /sensordaemon.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kcxt/sensordaemon-re/d719bf290ecc20286511061cd9b02522b1f5d618/sensordaemon.h --------------------------------------------------------------------------------