CyanogenMod / android_device_huawei_che10

0 stars 3 forks source link

Overheat issue #1

Open weimzh opened 8 years ago

weimzh commented 8 years ago

When running cyanogenmod the device is VERY easy to overheat compared to the stock firmware, and my device is now at the service center possibly due to this issue (motherboard damaged). :(

Maybe adding the thermal-engine.conf from stock firmware will help (thermal-engine.conf does not exist in CyanogenMod), however as my device hasn't been repaired & sent back yet so I can't test it for now.

weimzh commented 8 years ago

the default config seems very conservative (does nothing until CPU temperature exceeds 85 degrees) & does not limit gpu frequency: `` root@che10:/system/vendor/bin # ./thermal-engine -o

SENSOR : ALIAS

tsens_tz_sensor5 : cpu0-1

tsens_tz_sensor4 : cpu2-3

tsens_tz_sensor2 : pop_mem

debug

Conf file: /system/etc/thermal-engine.conf

[SS-CPU2-3]

algo_type ss

sampling 250 sensor cpu2-3 device cpu set_point 85000 set_point_clr 55000 time_constant 0

[SS-CPU0-1]

algo_type ss

sampling 250 sensor cpu0-1 device cpu set_point 85000 set_point_clr 55000 time_constant 0

[CPU2-3_MONITOR]

algo_type monitor

sampling 1000 sensor cpu2-3 thresholds 97000 thresholds_clr 92000 actions shutdown action_info 0

[CPU0-1_MONITOR]

algo_type monitor

sampling 1000 sensor cpu0-1 thresholds 97000 thresholds_clr 92000 actions shutdown action_info 0

``

weimzh commented 8 years ago

it seems the thermal-engine.conf from huawei stock firmware does not work. I don't know why.

07-25 23:50:12.378 I/ThermalEngine( 6952): Thermal daemon started 07-25 23:50:12.379 I/ThermalEngine( 6952): No target config file, falling back to '/system/etc/thermal-engine.conf' 07-25 23:50:12.379 I/ThermalEngine( 6952): devices_manager_init: Init 07-25 23:50:12.379 I/ThermalEngine( 6952): Number of gpus :1 07-25 23:50:12.380 E/ThermalEngine( 6952): update_cpu_topology: Error reading cluster info node /sys/module/msm_thermal/cluster_info 07-25 23:50:12.380 E/ThermalEngine( 6952): read_int_list_from_file: Read error -1. 07-25 23:50:12.380 E/ThermalEngine( 6952): tmd_add_cpufreq_dev_data: Invalid number for freqs 07-25 23:50:12.380 E/ThermalEngine( 6952): tmd_init_cpu_devs: Error adding overall CPU Device 07-25 23:50:12.380 E/ThermalEngine( 6952): devices_init: Init CPU TMD failed -14 07-25 23:50:12.380 E/ThermalEngine( 6952): tmd_init_cluster_devs: Can't read number of clusters 07-25 23:50:12.380 E/ThermalEngine( 6952): devices_init: Init cluster TMD failed -5 07-25 23:50:12.381 I/ThermalEngine( 6952): vdd_rstr_init: Init KTM VDD RSTR enabled: 0 07-25 23:50:12.381 I/ThermalEngine( 6952): sensors_manager_init: Init 07-25 23:50:12.390 E/ThermalEngine( 6952): bcl_setup: Unexpected node error 07-25 23:50:12.390 E/ThermalEngine( 6952): add_tgt_sensors_set: Error adding bcl 07-25 23:50:12.390 E/ThermalEngine( 6952): sensors_init: Error adding BCL TS 07-25 23:50:12.391 I/ThermalEngine( 6952): Loading config file for virtual sensor 07-25 23:50:12.391 I/ThermalEngine( 6952): Loading configuration file /system/etc/thermal-engine.conf 07-25 23:50:12.391 I/ThermalEngine( 6952): Parsing section global 07-25 23:50:12.391 I/ThermalEngine( 6952): Found field 'debug' 07-25 23:50:12.391 I/ThermalEngine( 6952): Debug output enabled from config 07-25 23:50:12.394 E/ThermalEngine( 6952): virtual_sensors_init: Error getting virtual sensors set 07-25 23:50:12.394 I/ThermalEngine( 6952): Loading configuration file /system/etc/thermal-engine.conf 07-25 23:50:12.394 I/ThermalEngine( 6952): Parsing section global 07-25 23:50:12.394 I/ThermalEngine( 6952): Found field 'debug' 07-25 23:50:12.394 I/ThermalEngine( 6952): Debug output enabled from config 07-25 23:50:12.395 I/ThermalEngine( 6952): Created section 'SS-GPU' 07-25 23:50:12.395 I/ThermalEngine( 6952): Algo Type 'ss' 07-25 23:50:12.395 I/ThermalEngine( 6952): Parsing section SS-GPU 07-25 23:50:12.395 I/ThermalEngine( 6952): Found field 'sampling' 07-25 23:50:12.395 I/ThermalEngine( 6952): Found field 'sensor' 07-25 23:50:12.395 E/ThermalEngine( 6952): Error with field 'sensor' 07-25 23:50:12.396 D/ThermalEngine( 6952): sensor_monitor: pm8916_tz Wait for client request. 07-25 23:50:12.396 D/ThermalEngine( 6952): sensor_monitor: pa_therm0 Wait for client request. 07-25 23:50:12.397 D/ThermalEngine( 6952): sensor_monitor: tsens_tz_sensor5 Wait for client request. 07-25 23:50:12.397 D/ThermalEngine( 6952): tsens_uevent: tsens_tz_sensor5 07-25 23:50:12.397 I/ThermalEngine( 6952): Found section 'SS-POPMEM' 07-25 23:50:12.397 I/ThermalEngine( 6952): Algo Type 'ss' 07-25 23:50:12.397 I/ThermalEngine( 6952): Parsing section SS-POPMEM 07-25 23:50:12.397 I/ThermalEngine( 6952): Found field 'sampling' 07-25 23:50:12.397 I/ThermalEngine( 6952): Found field 'sensor' 07-25 23:50:12.397 I/ThermalEngine( 6952): Found field 'device' 07-25 23:50:12.397 E/ThermalEngine( 6952): Error with field 'device' 07-25 23:50:12.398 I/ThermalEngine( 6952): Created section 'CHARGING_MONITOR' 07-25 23:50:12.398 I/ThermalEngine( 6952): Algo Type 'monitor' 07-25 23:50:12.398 I/ThermalEngine( 6952): Parsing section CHARGING_MONITOR 07-25 23:50:12.398 I/ThermalEngine( 6952): Found field 'sensor' 07-25 23:50:12.398 E/ThermalEngine( 6952): Error with field 'sensor' 07-25 23:50:12.398 I/ThermalEngine( 6952): Created section 'CPU0_HOTPLUG_MONITOR' 07-25 23:50:12.398 I/ThermalEngine( 6952): Algo Type 'monitor' 07-25 23:50:12.398 I/ThermalEngine( 6952): Parsing section CPU0_HOTPLUG_MONITOR 07-25 23:50:12.398 I/ThermalEngine( 6952): Found field 'sampling' 07-25 23:50:12.398 I/ThermalEngine( 6952): Found field 'sensor' 07-25 23:50:12.398 E/ThermalEngine( 6952): Error with field 'sensor' 07-25 23:50:12.398 I/ThermalEngine( 6952): Created section 'CPU1_HOTPLUG_MONITOR' 07-25 23:50:12.398 I/ThermalEngine( 6952): Algo Type 'monitor' 07-25 23:50:12.398 I/ThermalEngine( 6952): Parsing section CPU1_HOTPLUG_MONITOR 07-25 23:50:12.398 I/ThermalEngine( 6952): Found field 'sampling' 07-25 23:50:12.399 I/ThermalEngine( 6952): Found field 'sensor' 07-25 23:50:12.399 E/ThermalEngine( 6952): Error with field 'sensor' 07-25 23:50:12.407 I/ThermalEngine( 6952): qmi: Instance id 157 for fusion TS 07-25 23:50:12.411 I/ThermalEngine( 6952): Created section 'CPU2_HOTPLUG_MONITOR' 07-25 23:50:12.411 I/ThermalEngine( 6952): Algo Type 'monitor' 07-25 23:50:12.411 I/ThermalEngine( 6952): Parsing section CPU2_HOTPLUG_MONITOR 07-25 23:50:12.411 I/ThermalEngine( 6952): Found field 'sampling' 07-25 23:50:12.411 I/ThermalEngine( 6952): Found field 'sensor' 07-25 23:50:12.411 E/ThermalEngine( 6952): Error with field 'sensor' 07-25 23:50:12.411 I/ThermalEngine( 6952): Created section 'CPU3_HOTPLUG_MONITOR' 07-25 23:50:12.411 I/ThermalEngine( 6952): Algo Type 'monitor' 07-25 23:50:12.411 I/ThermalEngine( 6952): Parsing section CPU3_HOTPLUG_MONITOR 07-25 23:50:12.411 I/ThermalEngine( 6952): Found field 'sampling' 07-25 23:50:12.411 I/ThermalEngine( 6952): Found field 'sensor' 07-25 23:50:12.411 E/ThermalEngine( 6952): Error with field 'sensor' 07-25 23:50:12.411 I/ThermalEngine( 6952): Created section 'CPU5_HOTPLUG_MONITOR' 07-25 23:50:12.411 I/ThermalEngine( 6952): Algo Type 'monitor' 07-25 23:50:12.411 I/ThermalEngine( 6952): Parsing section CPU5_HOTPLUG_MONITOR 07-25 23:50:12.411 I/ThermalEngine( 6952): Found field 'sampling' 07-25 23:50:12.411 I/ThermalEngine( 6952): Found field 'sensor' 07-25 23:50:12.411 E/ThermalEngine( 6952): Error with field 'sensor' 07-25 23:50:12.413 E/ThermalEngine( 6952): Invalid input for section CPU5_HOTPLUG_MONITOR 07-25 23:50:12.413 E/ThermalEngine( 6952): Invalid input for section CPU3_HOTPLUG_MONITOR 07-25 23:50:12.413 E/ThermalEngine( 6952): Invalid input for section CPU2_HOTPLUG_MONITOR 07-25 23:50:12.413 E/ThermalEngine( 6952): Invalid input for section CPU1_HOTPLUG_MONITOR 07-25 23:50:12.413 E/ThermalEngine( 6952): Invalid input for section CPU0_HOTPLUG_MONITOR 07-25 23:50:12.413 E/ThermalEngine( 6952): Invalid input for section CHARGING_MONITOR 07-25 23:50:12.413 E/ThermalEngine( 6952): Invalid input for section SS-GPU 07-25 23:50:12.413 E/ThermalEngine( 6952): devices_manager_reg_clnt: Invalid dev cpu. 07-25 23:50:12.413 E/ThermalEngine( 6952): pid_algo_init: Device clnt create fail cpu 07-25 23:50:12.413 I/ThermalEngine( 6952): pid_algo_init: No PID's to be configured. 07-25 23:50:12.413 D/ThermalEngine( 6952): thermal_monitor: Import CPU2-3_MONITOR 07-25 23:50:12.413 I/ThermalEngine( 6952): [CPU2-3_MONITOR] 07-25 23:50:12.413 I/ThermalEngine( 6952): #algo_type monitor 07-25 23:50:12.413 I/ThermalEngine( 6952): sampling 1000 07-25 23:50:12.413 I/ThermalEngine( 6952): sensor cpu2-3 07-25 23:50:12.413 I/ThermalEngine( 6952): thresholds 97000 07-25 23:50:12.413 I/ThermalEngine( 6952): thresholds_clr 92000 07-25 23:50:12.413 I/ThermalEngine( 6952): actions shutdown 07-25 23:50:12.413 I/ThermalEngine( 6952): action_info 0 07-25 23:50:12.413 D/ThermalEngine( 6952): thermal_monitor: Import CPU0-1_MONITOR 07-25 23:50:12.413 I/ThermalEngine( 6952): [CPU0-1_MONITOR] 07-25 23:50:12.413 I/ThermalEngine( 6952): #algo_type monitor 07-25 23:50:12.413 I/ThermalEngine( 6952): sampling 1000 07-25 23:50:12.413 I/ThermalEngine( 6952): sensor cpu0-1 07-25 23:50:12.413 I/ThermalEngine( 6952): thresholds 97000 07-25 23:50:12.413 I/ThermalEngine( 6952): thresholds_clr 92000 07-25 23:50:12.413 I/ThermalEngine( 6952): actions shutdown 07-25 23:50:12.413 I/ThermalEngine( 6952): action_info 0 07-25 23:50:12.413 D/ThermalEngine( 6952): sensors_setup: tm_cnt 2 07-25 23:50:12.413 D/ThermalEngine( 6952): sensors_setup: TM Id CPU2-3_MONITOR Sensor cpu2-3 num_thresholds 1 07-25 23:50:12.413 D/ThermalEngine( 6952): sensors_setup: TM Id CPU0-1_MONITOR Sensor cpu0-1 num_thresholds 1 07-25 23:50:12.413 D/ThermalEngine( 6952): devices_manager_set_lvl: DEV kernel, lvl 1 07-25 23:50:12.413 I/ThermalEngine( 6952): ss_algo_init: Entry Disabled SS-GPU. 07-25 23:50:12.413 I/ThermalEngine( 6952): ss_algo_init: Entry Disabled SS-POPMEM. 07-25 23:50:12.413 E/ThermalEngine( 6952): devices_manager_reg_clnt: Invalid dev cpu. 07-25 23:50:12.413 E/ThermalEngine( 6952): ss_algo_init: Device clnt create fail cpu 07-25 23:50:12.413 E/ThermalEngine( 6952): devices_manager_reg_clnt: Invalid dev cpu. 07-25 23:50:12.413 E/ThermalEngine( 6952): ss_algo_init: Device clnt create fail cpu 07-25 23:50:12.413 I/ThermalEngine( 6952): ss_algo_init: No SS's configured. 07-25 23:50:12.413 D/ThermalEngine( 6952): device_clnt_cancel_request: DEV kernel 07-25 23:50:12.414 I/ThermalEngine( 6952): Sensor:tsens_tz_sensor4:49000 mC 07-25 23:50:12.414 D/ThermalEngine( 6952): TM Id CPU2-3_MONITOR Sensor cpu2-3 Reading 49000 07-25 23:50:12.414 D/ThermalEngine( 6952): handle_thresh_sig: TM Id CPU2-3_MONITOR Sensor cpu2-3 Temp 49000 07-25 23:50:12.414 D/ThermalEngine( 6952): sensor_update_thresholds: TM Id CPU2-3_MONITOR Sensor cpu2-3 threshold_type 0, level 0 07-25 23:50:12.414 D/ThermalEngine( 6952): sensors_manager_set_thresh_lvl: tsens_tz_sensor4 Hi(1) 97000, Lo(0) 92000, Interval(1) 1000 07-25 23:50:12.414 D/ThermalEngine( 6952): update_active_thresh: tsens_tz_sensor4 Active(1), Hi(1) 97000, Lo(0) -2147483648, Interval(1) 1000 07-25 23:50:12.414 D/ThermalEngine( 6952): Setting up TSENS thresholds high: 97 07-25 23:50:12.414 D/ThermalEngine( 6952): enable_threshold: tsens_tz_sensor4 (/sys/devices/virtual/thermal/thermal_zone3/trip_point_0_type) 07-25 23:50:12.414 D/ThermalEngine( 6952): TSENS threshold at 0 enabled: 1 07-25 23:50:12.414 D/ThermalEngine( 6952): enable_threshold: tsens_tz_sensor4 (/sys/devices/virtual/thermal/thermal_zone3/trip_point_1_type) 07-25 23:50:12.414 D/ThermalEngine( 6952): TSENS threshold at 1 enabled: 0 07-25 23:50:12.414 D/ThermalEngine( 6952): sensor_monitor: tsens_tz_sensor4 Sensor wait. 07-25 23:50:12.414 D/ThermalEngine( 6952): sensor_monitor: tsens_tz_sensor4 Reading 49000 . 07-25 23:50:12.414 I/ThermalEngine( 6952): Sensor:tsens_tz_sensor4:49000 mC 07-25 23:50:12.414 D/ThermalEngine( 6952): update_active_thresh: tsens_tz_sensor4 Active(1), Hi(1) 97000, Lo(0) -2147483648, Interval(1) 1000 07-25 23:50:12.414 D/ThermalEngine( 6952): Setting up TSENS thresholds high: 97 07-25 23:50:12.415 D/ThermalEngine( 6952): enable_threshold: tsens_tz_sensor4 (/sys/devices/virtual/thermal/thermal_zone3/trip_point_0_type) 07-25 23:50:12.415 D/ThermalEngine( 6952): TSENS threshold at 0 enabled: 1 07-25 23:50:12.415 D/ThermalEngine( 6952): enable_threshold: tsens_tz_sensor4 (/sys/devices/virtual/thermal/thermal_zone3/trip_point_1_type) 07-25 23:50:12.415 D/ThermalEngine( 6952): TSENS threshold at 1 enabled: 0 07-25 23:50:12.415 D/ThermalEngine( 6952): sensor_monitor: tsens_tz_sensor4 Sensor wait. 07-25 23:50:12.415 I/ThermalEngine( 6952): Sensor:tsens_tz_sensor5:49000 mC 07-25 23:50:12.415 D/ThermalEngine( 6952): TM Id CPU0-1_MONITOR Sensor cpu0-1 Reading 49000 07-25 23:50:12.415 D/ThermalEngine( 6952): handle_thresh_sig: TM Id CPU0-1_MONITOR Sensor cpu0-1 Temp 49000 07-25 23:50:12.415 D/ThermalEngine( 6952): sensor_update_thresholds: TM Id CPU0-1_MONITOR Sensor cpu0-1 threshold_type 0, level 0 07-25 23:50:12.415 D/ThermalEngine( 6952): sensors_manager_set_thresh_lvl: tsens_tz_sensor5 Hi(1) 97000, Lo(0) 92000, Interval(1) 1000 07-25 23:50:12.415 D/ThermalEngine( 6952): update_active_thresh: tsens_tz_sensor5 Active(1), Hi(1) 97000, Lo(0) -2147483648, Interval(1) 1000 07-25 23:50:12.415 D/ThermalEngine( 6952): Setting up TSENS thresholds high: 97 07-25 23:50:12.415 D/ThermalEngine( 6952): enable_threshold: tsens_tz_sensor5 (/sys/devices/virtual/thermal/thermal_zone4/trip_point_0_type) 07-25 23:50:12.415 D/ThermalEngine( 6952): TSENS threshold at 0 enabled: 1 07-25 23:50:12.415 D/ThermalEngine( 6952): enable_threshold: tsens_tz_sensor5 (/sys/devices/virtual/thermal/thermal_zone4/trip_point_1_type) 07-25 23:50:12.415 D/ThermalEngine( 6952): TSENS threshold at 1 enabled: 0 07-25 23:50:12.415 D/ThermalEngine( 6952): sensor_monitor: tsens_tz_sensor5 Sensor wait. 07-25 23:50:12.415 D/ThermalEngine( 6952): sensor_monitor: tsens_tz_sensor5 Reading 49000 . 07-25 23:50:12.415 I/ThermalEngine( 6952): Sensor:tsens_tz_sensor5:49000 mC 07-25 23:50:12.415 D/ThermalEngine( 6952): update_active_thresh: tsens_tz_sensor5 Active(1), Hi(1) 97000, Lo(0) -2147483648, Interval(1) 1000 07-25 23:50:12.416 D/ThermalEngine( 6952): Setting up TSENS thresholds high: 97 07-25 23:50:12.416 D/ThermalEngine( 6952): enable_threshold: tsens_tz_sensor5 (/sys/devices/virtual/thermal/thermal_zone4/trip_point_0_type) 07-25 23:50:12.416 D/ThermalEngine( 6952): TSENS threshold at 0 enabled: 1 07-25 23:50:12.416 D/ThermalEngine( 6952): enable_threshold: tsens_tz_sensor5 (/sys/devices/virtual/thermal/thermal_zone4/trip_point_1_type) 07-25 23:50:12.416 D/ThermalEngine( 6952): TSENS threshold at 1 enabled: 0 07-25 23:50:12.416 D/ThermalEngine( 6952): sensor_monitor: tsens_tz_sensor5 Sensor wait. 07-25 23:50:12.416 D/ThermalEngine( 6952): device_clnt_cancel_request: DEV kernel 07-25 23:50:12.416 D/ThermalEngine( 6952): KERNEL mitigation disabled 07-25 23:50:12.416 D/ThermalEngine( 6952): vdd_rstr_ktm_disable_cb: req.value 0 07-25 23:50:12.416 D/ThermalEngine( 6952): vdd_rstr_ktm_disable_cb: vdd_rstr_enabled 0 07-25 23:50:12.416 I/ThermalEngine( 6952): vdd_restrict_qmi_request: MODEM req level(0) is recorded and waiting for completing QMI registration 07-25 23:50:12.416 I/ThermalEngine( 6952): vdd_restrict_qmi_request: ADSP req level(0) is recorded and waiting for completing QMI registration 07-25 23:50:12.416 D/ThermalEngine( 6952): hotplug_ktm_disable_cb: req.value 0. 07-25 23:50:12.416 I/ThermalEngine( 6952): hotplug_ktm_disable_cb: write out 0 07-25 23:50:12.416 D/ThermalEngine( 6952): sensor_monitor: Wait for EV 07-25 23:50:12.455 I/ThermalEngine( 6952): MODEM thermal mitigation available. 07-25 23:50:12.455 I/ThermalEngine( 6952): ACTION: MODEM - Pending request: pa mitigation succeeded for level 0. 07-25 23:50:12.455 I/ThermalEngine( 6952): Mitigation:Modem:0 07-25 23:50:12.456 I/ThermalEngine( 6952): ACTION: MODEM - Pending request: cpuv_restriction_cold mitigation succeeded for level 0. 07-25 23:50:12.456 I/ThermalEngine( 6952): Mitigation:VDD[MODEM-cpuv_restriction_cold]:0 07-25 23:50:12.456 D/ThermalEngine( 6952): qmi_register: cx_vdd_limit not supported for clnt MODEM

weimzh commented 8 years ago

07-25 23:50:12.380 E/ThermalEngine( 6952): update_cpu_topology: Error reading cluster info node /sys/module/msm_thermal/cluster_info

looks like this /sys/module/msm_thermal/cluster_info exists in the stock kernel, but not in cyanogenmod version:

root@Che1:/sys/module/msm_thermal # ls -l -r--r--r-- root root 4096 1970-01-05 23:29 cluster_info drwxr-xr-x root root 1970-01-05 23:29 core_control drwxr-xr-x root root 1970-01-05 23:29 parameters --w------- root root 4096 1970-01-05 23:29 uevent drwxr-xr-x root root 1970-01-05 23:29 vdd_restriction

there are also things like this: 07-26 00:48:06.107 I/ThermalEngine( 3871): sensor_type 2 ,temp 33 ,threshold_report 3 ,pre_temp 31 07-26 00:48:06.107 E/ThermalEngine( 3871): ERROR: func get_sensor_temp, open file node /sys/module/qpnp_adc_voltage/parameters/therm_cam failed 07-26 00:48:06.107 E/ThermalEngine( 3871): sensor[3] read failed 07-26 00:48:06.107 E/ThermalEngine( 3871):
07-26 00:48:11.107 E/ThermalEngine( 3871): ERROR: func get_sensor_temp, open file node /sys/module/qpnp_adc_voltage/parameters/therm_cpu failed 07-26 00:48:11.107 E/ThermalEngine( 3871): sensor[0] read failed 07-26 00:48:11.107 E/ThermalEngine( 3871):
07-26 00:48:11.107 E/ThermalEngine( 3871): ERROR: func get_sensor_temp, open file node /sys/module/qpnp_adc_voltage/parameters/therm_pa failed 07-26 00:48:11.108 E/ThermalEngine( 3871): sensor[1] read failed 07-26 00:48:11.108 E/ThermalEngine( 3871):

and stuff like /sys/module/qpnp_adc_voltage/parameters/therm_cpu also exists in stock kernel (but not cyanogenmod kernel).

weimzh commented 8 years ago

just a quick test before I give up - MoKee also overheats in a short time (same as cyanogenmod).

weimzh commented 8 years ago

a little weird - I deleted thermal-engine and HwPowerGenieEngine3 from the original stock android 5.1 firmware and it still does not overheat (even after 30 minutes of 3D game).

jojothi commented 8 years ago

I have taken real reading from adb device..that means every sensor reading..now I need to compare this reading with default thermal-engine.conf..what is meant by mitigation?I 'll take mitigation from where...

jojothi commented 8 years ago

I need to give better configuration Two element: 1.thermal source(particular components,high frequency) 2.cooling effect(fan,processors...)

In my hand real time values of all sensor temperature reading is there...I need to compare this one to mitigation value...how I 'll check ?what action its taking?I need qualitative analysis...

jojothi commented 8 years ago

Figure out all sensor board?