<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-8608636833409525289</id><updated>2024-10-18T11:24:10.298-07:00</updated><category term="MQTT"/><category term="TV"/><category term="Arduino"/><category term="ESPHome"/><category term="Photography"/><category term="RaspberryPi"/><category term="Telephones"/><category term="mac"/><category term="old hardware"/><category term="Backup server"/><category term="Synology"/><category term="networks"/><title type='text'>Ben&#39;s tech cents</title><subtitle type='html'>My two cents on tech stuff.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://benstechcents.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8608636833409525289/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://benstechcents.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Ben</name><uri>http://www.blogger.com/profile/01678870097840459001</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>22</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8608636833409525289.post-5634051937999090791</id><published>2021-08-28T21:49:00.001-07:00</published><updated>2021-08-28T22:25:43.944-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="RaspberryPi"/><title type='text'>Flirc Raspberry Pi 4 Case heat test</title><content type='html'>&lt;p&gt;&amp;nbsp;I recently got a &lt;a href=&quot;https://flirc.tv/more/raspberry-pi-4-case&quot;&gt;Flirc case&lt;/a&gt; for my Raspberry Pi4 and was unsure if it would help the temperature of the CPU under a heavy load. So after reading mixed impressions of similar cases with builtin heatsinks on the internet, I decided I needed to run my own tests.&lt;/p&gt;&lt;p&gt;TLDR; It&#39;s a good looking case that keeps the temperature low enough and Wifi still works well.&lt;/p&gt;&lt;p&gt;You can see in the chart that in the first test the Pi without a case is warmer at idle and hits &lt;a href=&quot;https://www.raspberrypi.org/blog/thermal-testing-raspberry-pi-4/&quot;&gt;the throttling&lt;/a&gt; above 83º but in the second test after installing the Pi in the case the idle temperature is lower and the peak is about 60º. And yes, it took about 7 minutes to install it in the case and reboot.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3oXwmoUhzPhT5Wk8QHVFF0kPySbhbdGsobtNoftIe-BJxttKJwtEd3WSBh5mBuzIfq_km93nToyfhFvPV3k3L5vO7bWgDSqA1CM5oIyA4i-DXo7bxqcx-cGfdUNoCdHKulBhwJZ_D-54/&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;836&quot; data-original-width=&quot;1392&quot; height=&quot;192&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3oXwmoUhzPhT5Wk8QHVFF0kPySbhbdGsobtNoftIe-BJxttKJwtEd3WSBh5mBuzIfq_km93nToyfhFvPV3k3L5vO7bWgDSqA1CM5oIyA4i-DXo7bxqcx-cGfdUNoCdHKulBhwJZ_D-54/&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;Clearly the case kept the Pi cooler which was great! The case has a solid metal top that acts as a heatsink with a black plastic cover on the top and bottom. I also wondered if the plastic cover on the top reduced the heat dissipation, so I ran the test again and found that it made no noticeable difference. So I&#39;m keeping the plastic on top.&lt;/p&gt;&lt;p&gt;Here is the test setup using Graphite/Grafana on my Pi to chart the temperature.&lt;/p&gt;&lt;p&gt;1. add a cron script to write the Pi temp to Graphite every minute.&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;#!/bin/sh&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p2&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px; min-height: 17px;&quot;&gt;&lt;span style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;# Track the PI core temp in graphite&lt;/span&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;# whisper files are in /var/lib/graphite/whisper/&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p2&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px; min-height: 17px;&quot;&gt;&lt;span style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;CARBON_PORT=2003&lt;/span&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;CARBON_SERVER=localhost&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;CARBON_PREFIX=pi&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p2&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px; min-height: 17px;&quot;&gt;&lt;span style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;DATE=`date +%s`&lt;/span&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p2&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px; min-height: 17px;&quot;&gt;&lt;span style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;VALUE=`/opt/vc/bin/vcgencmd measure_temp | egrep -o &#39;[0-9]*\.[0-9]*&#39;`&lt;/span&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p2&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px; min-height: 17px;&quot;&gt;&lt;span style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;echo &quot;$CARBON_PREFIX.temp $VALUE $DATE&quot; | nc -N ${CARBON_SERVER} ${CARBON_PORT}&lt;/span&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p2&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px; min-height: 17px;&quot;&gt;&lt;span style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;exit $?&lt;/span&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;2. install the load tester that will warm up all 4 of the CPU cores&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;sudo apt install stress-ng&lt;/span&gt;&lt;/p&gt;&lt;p&gt;3. the 10 minute stress test command&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;sudo stress-ng --cpu 0 --cpu-method fft -t 600 --times --tz --perf&lt;/span&gt;&lt;/p&gt;&lt;p&gt;The results without a case had fewer CPU cycles due to the throttling.&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[26124] dispatching hogs: 4 cpu&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[26124] cache allocate: using defaults, can&#39;t determine cache details from sysfs&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[26124] successful run completed in 600.88s (10 mins, 0.88 secs)&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[26124] cpu:&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[26124]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;3,351,213,272,324 CPU Cycles&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;5.58 B/sec&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[26124]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;5,257,128,421,496 Instructions&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;8.75 B/sec (1.569 instr. per cycle)&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[26124]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;2,355,284,116 Branch Misses &lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;3.92 M/sec ( 0.00%)&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[26124]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;1,117,147,979,068 Bus Cycles&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;1.86 B/sec&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[26124]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;1,925,684,309,644 Cache References&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;3.20 B/sec&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[26124] &lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;70,192,888,528 Cache Misses&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;0.12 B/sec ( 3.65%)&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[26124]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;1,925,714,318,612 Cache L1D Read&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;3.20 B/sec&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[26124] &lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;70,209,791,620 Cache L1D Read Miss &lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;0.12 B/sec&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[26124]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;601,769,965,280 Cache L1D Write &lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;1.00 B/sec&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[26124] &lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;39,275,045,820 Cache L1D Write Miss &lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;65.36 M/sec&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[26124]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;1,623,493,004,028 Cache L1I Read&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;2.70 B/sec&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[26124]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;237,104,488 Cache L1I Read Miss &lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;0.39 M/sec&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[26124] &lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;11,372,158,076 Cache DTLB Read Miss &lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;18.93 M/sec&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[26124]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;6,457,277,064 Cache DTLB Write Miss&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;10.75 M/sec&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[26124]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;3,019,056 Cache ITLB Read Miss&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;5.02 K/sec&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[26124]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;680,066,666,288 Cache BPU Read&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;1.13 B/sec&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[26124]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;2,355,275,308 Cache BPU Read Miss &lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;3.92 M/sec&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[26124]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;1,316,252,132 Cache NODE Read &lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;2.19 M/sec&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[26124]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;629,580,520 Cache NODE Write&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;1.05 M/sec&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[26124]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;2,311,855,064,928 CPU Clock &lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;3.85 B/sec&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[26124]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;2,311,958,359,704 Task Clock&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;3.85 B/sec&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[26124]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;156 Page Faults Total &lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;0.26 /sec&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[26124]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;156 Page Faults Minor &lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;0.26 /sec&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[26124]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;0 Page Faults Major &lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;0.00 /sec&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[26124]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;130,392 Context Switches&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;217.00 /sec&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[26124]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;916 CPU Migrations&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;1.52 /sec&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[26124]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;0 Alignment Faults&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;0.00 /sec&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[26124]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;0 Emulation Faults&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;0.00 /sec&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[26124]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;376 System Call Enter &lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;0.63 /sec&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[26124]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;372 System Call Exit&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;0.62 /sec&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[26124]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;1,288 Kmalloc &lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;2.14 /sec&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[26124]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;0 Kmalloc Node&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;0.00 /sec&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[26124]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;4,920 Kfree &lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;8.19 /sec&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[26124]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;7,924 Kmem Cache Alloc &lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;13.19 /sec&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[26124]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;0 Kmem Cache Alloc Node &lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;0.00 /sec&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[26124] &lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;21,684 Kmem Cache Free&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;36.09 /sec&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[26124]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;496 MM Page Alloc &lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;0.83 /sec&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[26124]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;2,496 MM Page Free&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;4.15 /sec&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[26124]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;1,481,552 RCU Utilization &lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;2.47 K/sec&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[26124]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;732 Sched Migrate Task&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;1.22 /sec&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[26124]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;0 Sched Move NUMA &lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;0.00 /sec&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[26124]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;127,900 Sched Wakeup&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;212.86 /sec&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[26124]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;0 Sched Proc Exec &lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;0.00 /sec&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[26124]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;0 Sched Proc Exit &lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;0.00 /sec&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[26124]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;0 Sched Proc Fork &lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;0.00 /sec&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[26124]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;136 Sched Proc Free &lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;0.23 /sec&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[26124]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;0 Sched Proc Hang &lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;0.00 /sec&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[26124]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;0 Sched Proc Wait &lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;0.00 /sec&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[26124]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;130,392 Sched Switch&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;217.00 /sec&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[26124]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;4 Signal Generate &lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;0.01 /sec&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[26124]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;4 Signal Deliver&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;0.01 /sec&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[26124]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;710,424 IRQ Entry &lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;1.18 K/sec&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[26124]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;710,424 IRQ Exit&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;1.18 K/sec&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[26124] &lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;84,488 Soft IRQ Entry&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;140.61 /sec&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[26124] &lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;84,488 Soft IRQ Exit &lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;140.61 /sec&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[26124]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;0 Writeback Dirty Inode &lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;0.00 /sec&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[26124]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;0 Writeback Dirty Page&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;0.00 /sec&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[26124]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;0 Migrate MM Pages&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;0.00 /sec&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[26124]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;3,304 SKB Consume &lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;5.50 /sec&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[26124]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;1,016 SKB Kfree &lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;1.69 /sec&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[26124] cpu:&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[26124]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;cpu-thermal &lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;82.05 °C&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[26124] for a 600.88s run time:&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[26124]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;2403.51s available CPU time&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[26124]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;2310.76s user time &lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;( 96.14%)&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[26124] &lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;4.64s system time (&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;0.19%)&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[26124]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;2315.40s total time&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;( 96.33%)&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[26124] load average: 4.24 3.60 2.36&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;The results with the case&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[2458] dispatching hogs: 4 cpu&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[2458] cache allocate: using defaults, can&#39;t determine cache details from sysfs&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[2458] successful run completed in 600.89s (10 mins, 0.89 secs)&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[2458] cpu:&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[2458]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;3,466,468,096,172 CPU Cycles&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;5.77 B/sec&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[2458]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;5,433,442,835,240 Instructions&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;9.04 B/sec (1.567 instr. per cycle)&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[2458]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;2,428,481,032 Branch Misses &lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;4.04 M/sec ( 0.00%)&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[2458]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;1,155,591,178,712 Bus Cycles&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;1.92 B/sec&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[2458]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;1,990,529,210,212 Cache References&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;3.31 B/sec&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[2458] &lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;72,971,962,212 Cache Misses&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;0.12 B/sec ( 3.67%)&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[2458]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;1,990,582,334,864 Cache L1D Read&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;3.31 B/sec&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[2458] &lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;72,956,292,228 Cache L1D Read Miss &lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;0.12 B/sec&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[2458]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;621,927,779,860 Cache L1D Write &lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;1.04 B/sec&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[2458] &lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;40,460,573,360 Cache L1D Write Miss &lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;67.33 M/sec&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[2458]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;1,667,242,631,912 Cache L1I Read&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;2.77 B/sec&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[2458]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;232,913,956 Cache L1I Read Miss &lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;0.39 M/sec&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[2458] &lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;11,851,802,864 Cache DTLB Read Miss &lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;19.72 M/sec&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[2458]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;6,597,373,720 Cache DTLB Write Miss&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;10.98 M/sec&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[2458]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;3,412,088 Cache ITLB Read Miss&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;5.68 K/sec&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[2458]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;702,798,169,272 Cache BPU Read&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;1.17 B/sec&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[2458]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;2,428,041,468 Cache BPU Read Miss &lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;4.04 M/sec&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[2458]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;866,617,940 Cache NODE Read &lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;1.44 M/sec&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[2458]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;331,821,000 Cache NODE Write&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;0.55 M/sec&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[2458]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;2,321,089,381,860 CPU Clock &lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;3.86 B/sec&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[2458]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;2,321,181,986,648 Task Clock&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;3.86 B/sec&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[2458]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;156 Page Faults Total &lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;0.26 /sec&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[2458]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;156 Page Faults Minor &lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;0.26 /sec&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[2458]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;0 Page Faults Major &lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;0.00 /sec&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[2458]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;108,616 Context Switches&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;180.76 /sec&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[2458]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;776 CPU Migrations&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;1.29 /sec&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[2458]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;0 Alignment Faults&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;0.00 /sec&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[2458]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;0 Emulation Faults&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;0.00 /sec&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[2458]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;376 System Call Enter &lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;0.63 /sec&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[2458]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;372 System Call Exit&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;0.62 /sec&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[2458]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;1,476 Kmalloc &lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;2.46 /sec&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[2458]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;0 Kmalloc Node&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;0.00 /sec&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[2458]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;7,296 Kfree&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;12.14 /sec&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[2458] &lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;13,092 Kmem Cache Alloc &lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;21.79 /sec&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[2458]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;0 Kmem Cache Alloc Node &lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;0.00 /sec&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[2458] &lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;27,704 Kmem Cache Free&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;46.10 /sec&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[2458]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;648 MM Page Alloc &lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;1.08 /sec&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[2458]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;4,620 MM Page Free&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;7.69 /sec&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[2458]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;1,485,888 RCU Utilization &lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;2.47 K/sec&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[2458]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;1,348 Sched Migrate Task&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;2.24 /sec&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[2458]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;0 Sched Move NUMA &lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;0.00 /sec&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[2458]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;107,156 Sched Wakeup&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;178.33 /sec&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[2458]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;0 Sched Proc Exec &lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;0.00 /sec&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[2458]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;0 Sched Proc Exit &lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;0.00 /sec&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[2458]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;0 Sched Proc Fork &lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;0.00 /sec&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[2458]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;228 Sched Proc Free &lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;0.38 /sec&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[2458]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;0 Sched Proc Hang &lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;0.00 /sec&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[2458]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;0 Sched Proc Wait &lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;0.00 /sec&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[2458]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;108,616 Sched Switch&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;180.76 /sec&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[2458]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;0 Signal Generate &lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;0.00 /sec&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[2458]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;4 Signal Deliver&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;0.01 /sec&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[2458]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;702,072 IRQ Entry &lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;1.17 K/sec&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[2458]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;702,072 IRQ Exit&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;1.17 K/sec&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[2458]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;115,840 Soft IRQ Entry&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;192.78 /sec&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[2458]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;115,840 Soft IRQ Exit &lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;192.78 /sec&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[2458]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;0 Writeback Dirty Inode &lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;0.00 /sec&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[2458]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;0 Writeback Dirty Page&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;0.00 /sec&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[2458]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;0 Migrate MM Pages&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;0.00 /sec&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[2458]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;3,436 SKB Consume &lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;5.72 /sec&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[2458]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;1,148 SKB Kfree &lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;1.91 /sec&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[2458] cpu:&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[2458]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;cpu-thermal &lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;59.77 °C&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[2458] for a 600.89s run time:&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[2458]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;2403.56s available CPU time&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[2458]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;2315.14s user time &lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;( 96.32%)&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[2458] &lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;3.44s system time (&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;0.14%)&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[2458]&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;2318.58s total time&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;( 96.46%)&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;background-color: rgba(0, 0, 0, 0.9); color: white; font-family: Monaco; font-size: 13px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s1&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;stress-ng: info:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;[2458] load average: 4.00 3.59 2.04&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;That&#39;s it.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://benstechcents.blogspot.com/feeds/5634051937999090791/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8608636833409525289/5634051937999090791' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8608636833409525289/posts/default/5634051937999090791'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8608636833409525289/posts/default/5634051937999090791'/><link rel='alternate' type='text/html' href='http://benstechcents.blogspot.com/2021/08/flirc-raspberry-pi-4-case-heat-test.html' title='Flirc Raspberry Pi 4 Case heat test'/><author><name>Ben</name><uri>http://www.blogger.com/profile/01678870097840459001</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3oXwmoUhzPhT5Wk8QHVFF0kPySbhbdGsobtNoftIe-BJxttKJwtEd3WSBh5mBuzIfq_km93nToyfhFvPV3k3L5vO7bWgDSqA1CM5oIyA4i-DXo7bxqcx-cGfdUNoCdHKulBhwJZ_D-54/s72-c" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8608636833409525289.post-4292125748865981902</id><published>2020-04-15T22:24:00.004-07:00</published><updated>2021-08-28T22:26:26.522-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Arduino"/><category scheme="http://www.blogger.com/atom/ns#" term="ESPHome"/><category scheme="http://www.blogger.com/atom/ns#" term="MQTT"/><title type='text'>MagicHome RGB light strip with ESPHome</title><content type='html'>I’ve been play with &lt;a href=&quot;https://esphome.io/&quot;&gt;ESPHome&lt;/a&gt; for a bit and it is turning out to be really great. I love that I can just write declarative YAML to define what my device should do and it just works. I had been learning about the esp-01 devices using the Arduino IDE and setting up my own OTA system, coding my own MQTT functions, and my own temperature sensor and alerting logic so I already understood what I was doing at that level. That was all very fun too but ESPHome made it so much easier that I’ll probably be hooked for a while.&lt;br /&gt;
ESPHome works on all kinds of devices based on the ESP8266 or ESP32 chips. I picked up a &lt;a href=&quot;https://www.amazon.com/dp/B07J9QCQNN/&quot;&gt;MagicHome RGB light strip controller&lt;/a&gt; device because it has that chip and I wanted the option to customize it. Mine actually has a ESP8285 chip, which is just a smaller/cheaper version of the ESP8266.&lt;br /&gt;
I have this old big metal “R” on the wall that I wanted to backlight and this turned out to be a perfect match for this project. The R was a birthday gift from my wife. She found it in an antique store and learned that it was originally part of a SEARS store sign.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQcoOp3wIwbLIbjgy7YVN-0g5QGLD36orYgKb-f-zcChc8sRO_Fj-OBVIR6eHaHw1cErlYRRmPPcjClcxPSQ3odUlrlfXH_qXPRw97qA8bEcXIhNalQPafABwbISKfBAtVFRrAsrt0fLs/s1600/magichome-r.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1600&quot; data-original-width=&quot;1130&quot; height=&quot;200&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQcoOp3wIwbLIbjgy7YVN-0g5QGLD36orYgKb-f-zcChc8sRO_Fj-OBVIR6eHaHw1cErlYRRmPPcjClcxPSQ3odUlrlfXH_qXPRw97qA8bEcXIhNalQPafABwbISKfBAtVFRrAsrt0fLs/s200/magichome-r.jpg&quot; width=&quot;141&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;h3 id=&quot;attaching-the-light-strip&quot;&gt;
Attaching the light strip&lt;/h3&gt;
I constructed a spacer with foam core and duct tape to hold the R about 1 inch off the wall and give a place to stick the &lt;a href=&quot;https://www.amazon.com/gp/product/B07JKNFMC3/&quot;&gt;adhesive RGBW light strip&lt;/a&gt;. It was quick, easy to work, with and turned out pretty well being all hidden behind the R.&lt;br /&gt;
&lt;h3 id=&quot;soldering-to-access-the-serial-port&quot;&gt;
Soldering required to access the serial port&lt;/h3&gt;
Soldering is not really that hard but it’s a skill that can take a little practice. Removing components from an old circuit board is a good way to learn the basics. I’ve been using  &lt;a href=&quot;https://www.amazon.com/dp/B00FZPUA28/&quot;&gt;this cordless soldering iron&lt;/a&gt; and it’s super convenient.&lt;br /&gt;
To flash the ESP chip you need access to the serial connectors. Once ESPHome is flashed to the chip you’ll never need it again so just go ahead and desolder the wires. These sites have good instructions on where the wires need to be soldered:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://community.home-assistant.io/t/magichome-devices-work-perfect-with-homeassistant-reflash-this-code-with-esphome/163484&quot;&gt;community.home-assistant.io&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://everythingsmarthome.co.uk/howto/diy-philips-hue-led-strips-installing-esphome-on-magic-home-rgbw-controllers/&quot;&gt;everythingsmarthome.co.uk&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://reid-projects.com/how-to-install-esphome-on-magichome-led-controller/&quot;&gt;reid-projects.com&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
Be sure to notice the part about connecting GPIO-0 to Ground to put the chip into programming mode. I use &lt;a href=&quot;https://www.amazon.com/dp/B07V54DWXH/&quot;&gt;this little USB ESP-01 programmer&lt;/a&gt; and it has a convenient switch to do that.&lt;br /&gt;
Now you are ready to flash new firmware.&lt;br /&gt;
&lt;h3 id=&quot;stock-firmware-backuprestore&quot;&gt;
Stock firmware backup/restore&lt;/h3&gt;
This is optional but sometimes it’s nice to have the option to restore the device if needed.&lt;br /&gt;
&lt;pre&gt;&lt;code&gt;cd ~/esphome/ &amp;amp;&amp;amp; python3 -m venv venv
source venv/bin/activate
pip install tornado esptool esphome

# backup
venv/bin/esptool.py --port /dev/cu.usbserial-1420 read_flash 0x00000 0x100000 original_firmware.bin

# erase
venv/bin/esptool.py --port /dev/cu.usbserial-1420 erase_flash

# restore
venv/bin/esptool.py --port /dev/cu.usbserial-1420 write_flash -fs 1MB -fm dout 0x0 original_firmware.bin
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;first-time-flashing-esphome&quot;&gt;
First time flashing ESPHome&lt;/h3&gt;
Install ESPHome (see the &lt;a href=&quot;https://esphome.io/&quot;&gt;getting started guides&lt;/a&gt;)&lt;br /&gt;
&lt;pre&gt;&lt;code&gt;cd ~/esphome/ &amp;amp;&amp;amp; python3 -m venv venv
source venv/bin/activate
pip install tornado esptool esphome
&lt;/code&gt;&lt;/pre&gt;
Flash from the command line&lt;br /&gt;
&lt;pre&gt;&lt;code&gt;esphome config/magichome_led_strip.yaml wizard
esphome config/magichome_led_strip.yaml run
&lt;/code&gt;&lt;/pre&gt;
Flash from the web interface at &lt;a href=&quot;http://localhost:6052/&quot;&gt;http://localhost:6052/&lt;/a&gt;:&lt;br /&gt;
&lt;pre&gt;&lt;code&gt;esphome config/ dashboard
&lt;/code&gt;&lt;/pre&gt;
After ESPHome is flashed everything can now be re-flashed OTA  or over-the-air. You can desolder the extra wires and put away your USB programmer.&lt;br /&gt;
&lt;h3 id=&quot;the-yaml-file&quot;&gt;
The YAML file&lt;/h3&gt;
To reconfigure the device with ESPHome you just change the YAML file and upload it.&lt;br /&gt;
When you want to make changes start up the web interface at &lt;a href=&quot;http://localhost:6052/&quot;&gt;http://localhost:6052/&lt;/a&gt;&lt;br /&gt;
&lt;pre&gt;&lt;code&gt;esphome config/ dashboard
&lt;/code&gt;&lt;/pre&gt;
Edit your YAML file and upload it. This is what my YAML file looks like:&lt;br /&gt;
&lt;pre&gt;&lt;code&gt;esphome:
  name: magichome_led_strip
  platform: ESP8266
  board: esp01_1m

wifi:
  ssid: &quot;your-wifi-network-name&quot;
  password: &quot;your-wifi-network-password&quot;

api:

logger:

ota:

# https://esphome.io/components/mqtt.html
mqtt:
  broker: &quot;your-mqtt-server-ip-address&quot;
  username: &quot;your-mqtt-username&quot;
  password: &quot;your-mqtt-password&quot;

light:
  - platform: rgb
    id: light_1
    name: &quot;LED Strip&quot;
    red: red_channel
    green: green_channel
    blue: blue_channel
    effects:
      - automation:
          name: Fade
          sequence:
            - light.control:
                id: light_1
                brightness: 100%
            - delay: 1s
            - light.control:
                id: light_1
                brightness: 50%
            - delay: 1s

output:
  - platform: esp8266_pwm
    id: red_channel
    pin: GPIO5
  - platform: esp8266_pwm
    id: green_channel
    pin: GPIO12
  - platform: esp8266_pwm
    id: blue_channel
    pin: GPIO13

# https://esphome.io/components/remote_receiver.html
remote_receiver:
  dump: all
  pin:
    number: GPIO4
    inverted: True

binary_sensor:
  - platform: remote_receiver
    name: &quot;on&quot;
    nec:
      address: 0x00FF
      command: 0xB04F
    on_press:
      then:
        - light.control:
            id: light_1
            state: on
        - light.turn_on: light_1

  - platform: remote_receiver
    name: &quot;off&quot;
    nec:
      address: 0x00FF
      command: 0xF807
    on_press:
      then:
        - light.control:
            id: light_1
            state: off
        - light.turn_off: light_1

  - platform: remote_receiver
    name: &quot;red&quot;
    nec:
      address: 0x00FF
      command: 0x9867
    on_press:
      then:
        - light.control:
            id: light_1
            red: 100%
            green: 0%
            blue: 0%

  - platform: remote_receiver
    name: &quot;green&quot;
    nec:
      address: 0x00FF
      command: 0xD827
    on_press:
      then:
        - light.control:
            id: light_1
            red: 0%
            green: 100%
            blue: 0%

  - platform: remote_receiver
    name: &quot;blue&quot;
    nec:
      address: 0x00FF
      command: 0x8877
    on_press:
      then:
        - light.control:
            id: light_1
            red: 0%
            green: 0%
            blue: 100%

  - platform: remote_receiver
    name: &quot;white&quot;
    nec:
      address: 0x00FF
      command: 0xA857
    on_press:
      then:
        - light.control:
            id: light_1
            red: 100%
            green: 100%
            blue: 100%

  - platform: remote_receiver
    name: &quot;brighter&quot;
    nec:
      address: 0x00FF
      command: 0x906F
    on_press:
      then:
        - light.control:
            id: light_1
            brightness: 100%

  - platform: remote_receiver
    name: &quot;dimmer&quot;
    nec:
      address: 0x00FF
      command: 0xB847
    on_press:
      then:
        - light.control:
            id: light_1
            brightness: 50%

  - platform: remote_receiver
    name: &quot;fade&quot;
    nec:
      address: 0x00FF
      command: 0x58A7
    on_press:
      then:
        - light.control:
            id: light_1
            effect: Fade

  - platform: remote_receiver
    name: &quot;r2&quot;
    nec:
      address: 0x00FF
      command: 0xE817
    on_press:
      then:
        - light.control:
            id: light_1
            red: 100%
            green: 30%
            blue: 0%
  - platform: remote_receiver
    name: &quot;r3&quot;
    nec:
      address: 0x00FF
      command: 0x02FD
    on_press:
      then:
        - light.control:
            id: light_1
            red: 100%
            green: 50%
            blue: 0%
  - platform: remote_receiver
    name: &quot;r4&quot;
    nec:
      address: 0x00FF
      command: 0x50AF
    on_press:
      then:
        - light.control:
            id: light_1
            red: 60%
            green: 40%
            blue: 0%
  - platform: remote_receiver
    name: &quot;r5&quot;
    nec:
      address: 0x00FF
      command: 0x38C7
    on_press:
      then:
        - light.control:
            id: light_1
            red: 100%
            green: 100%
            blue: 20%

  - platform: remote_receiver
    name: &quot;g2&quot;
    nec:
      address: 0x00FF
      command: 0x48B7
    on_press:
      then:
        - light.control:
            id: light_1
            red: 0%
            green: 100%
            blue: 50%
  - platform: remote_receiver
    name: &quot;g3&quot;
    nec:
      address: 0x00FF
      command: 0x32CD
    on_press:
      then:
        - light.control:
            id: light_1
            red: 30%
            green: 100%
            blue: 100%
  - platform: remote_receiver
    name: &quot;g4&quot;
    nec:
      address: 0x00FF
      command: 0x7887
    on_press:
      then:
        - light.control:
            id: light_1
            red: 0%
            green: 100%
            blue: 100%
  - platform: remote_receiver
    name: &quot;g5&quot;
    nec:
      address: 0x00FF
      command: 0x28D7
    on_press:
      then:
        - light.control:
            id: light_1
            red: 0%
            green: 50%
            blue: 50%

  - platform: remote_receiver
    name: &quot;b2&quot;
    nec:
      address: 0x00FF
      command: 0x6897
    on_press:
      then:
        - light.control:
            id: light_1
            red: 30%
            green: 0%
            blue: 100%
  - platform: remote_receiver
    name: &quot;b3&quot;
    nec:
      address: 0x00FF
      command: 0x20DF
    on_press:
      then:
        - light.control:
            id: light_1
            red: 70%
            green: 0%
            blue: 100%
  - platform: remote_receiver
    name: &quot;b4&quot;
    nec:
      address: 0x00FF
      command: 0x708F
    on_press:
      then:
        - light.control:
            id: light_1
            red: 100%
            green: 0%
            blue: 100%
  - platform: remote_receiver
    name: &quot;b5&quot;
    nec:
      address: 0x00FF
      command: 0xF00F
    on_press:
      then:
        - light.control:
            id: light_1
            red: 100%
            green: 0%
            blue: 50%
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;thats-all-ive-got-have-fun&quot;&gt;
That’s all I’ve got! Have fun!&lt;/h3&gt;
</content><link rel='replies' type='application/atom+xml' href='http://benstechcents.blogspot.com/feeds/4292125748865981902/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8608636833409525289/4292125748865981902' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8608636833409525289/posts/default/4292125748865981902'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8608636833409525289/posts/default/4292125748865981902'/><link rel='alternate' type='text/html' href='http://benstechcents.blogspot.com/2020/04/esphome-magichome-rgbmd.html' title='MagicHome RGB light strip with ESPHome'/><author><name>Ben</name><uri>http://www.blogger.com/profile/01678870097840459001</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQcoOp3wIwbLIbjgy7YVN-0g5QGLD36orYgKb-f-zcChc8sRO_Fj-OBVIR6eHaHw1cErlYRRmPPcjClcxPSQ3odUlrlfXH_qXPRw97qA8bEcXIhNalQPafABwbISKfBAtVFRrAsrt0fLs/s72-c/magichome-r.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8608636833409525289.post-2587910625281130297</id><published>2019-08-18T17:49:00.000-07:00</published><updated>2021-08-28T22:41:35.627-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="MQTT"/><category scheme="http://www.blogger.com/atom/ns#" term="RaspberryPi"/><title type='text'>RaspberryPi rtl_433 to MQTT gateway</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNZqIZndmJshc9mcTNLTfLMwiw6qEPBL4yfFQv9txK-CMkJU2vPXyrYUlqTyud7-R5zb9qPabCGPV7alnQp5064wQFfuVRCxV1Erd7VhhQp6Wg67TcoRLQL-mYVxfJFktbzw5mdaIPhvs/s1600/rtl_433-mqtt-gateway.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1080&quot; data-original-width=&quot;1600&quot; height=&quot;216&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNZqIZndmJshc9mcTNLTfLMwiw6qEPBL4yfFQv9txK-CMkJU2vPXyrYUlqTyud7-R5zb9qPabCGPV7alnQp5064wQFfuVRCxV1Erd7VhhQp6Wg67TcoRLQL-mYVxfJFktbzw5mdaIPhvs/s320/rtl_433-mqtt-gateway.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt; &lt;/div&gt;
&lt;h2&gt;
Parts list:&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;RasberryPi Zero W (and optional case)&lt;/li&gt;
&lt;li&gt;Micro SD card&lt;/li&gt;
&lt;li&gt;any USB power supply and micro USB cable&lt;/li&gt;
&lt;li&gt;RTL2838U DVB USB tuner with an external antenna&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;
First get the RaspberryPi running:&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;Download the latest &lt;a href=&quot;https://www.raspberrypi.org/downloads/raspbian/&quot;&gt;Raspbian Lite OS image&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Flash the Raspbian image to your SD card &lt;a href=&quot;https://www.balena.io/etcher/&quot;&gt;with Etcher&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Enable WiFi and SSH on your SD card before putting it in the Pi&lt;br /&gt;&lt;br /&gt;mount the SD card on your computer&lt;br /&gt;&lt;br /&gt;Enable SSH:&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;cd /Volumes/boot/ &amp;amp;&amp;amp; touch ssh&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Setup WiFi:&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;echo &quot;ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev&lt;br /&gt;update_config=1&lt;br /&gt;country=us&lt;br /&gt;network={&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ssid=\&quot;YOUR_SSID\&quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; psk=\&quot;YOUR_WIFI_PASSWORD\&quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; key_mgmt=WPA-PSK&lt;br /&gt;}&lt;br /&gt;&quot; &amp;gt;&amp;gt; wpa_supplicant.conf&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;Eject the SD card, put it in the RaspberryPi, and boot the Pi.&lt;/li&gt;
&lt;/ol&gt;
&lt;br /&gt;
&lt;div style=&quot;-webkit-text-stroke-width: 0px; background-color: white; color: #222222; flex-basis: auto !important; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13.3333px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;&quot;&gt;
Find the Pi&#39;s IP address and ssh to it.&lt;/div&gt;
&lt;div style=&quot;background-color: white; color: #222222; font-size: 13.3333px; font-style: normal; font-weight: 400; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;arp -a&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: white; color: #222222; font-size: 13.3333px; font-style: normal; font-weight: 400; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;nmap -p 22 --open -sV 192.168.1.0/24&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;-webkit-text-stroke-width: 0px; background-color: white; color: #222222; flex-basis: auto !important; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13.3333px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;&quot;&gt;
&lt;br style=&quot;flex-basis: auto !important;&quot; /&gt;&lt;/div&gt;
&lt;div style=&quot;-webkit-text-stroke-width: 0px; background-color: white; color: #222222; flex-basis: auto !important; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13.3333px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;&quot;&gt;
ssh&amp;nbsp;pi@IPADDRESS&lt;/div&gt;
&lt;div style=&quot;-webkit-text-stroke-width: 0px; background-color: white; color: #222222; flex-basis: auto !important; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13.3333px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;&quot;&gt;
default password is &quot;raspberry&quot;&lt;/div&gt;
&lt;br /&gt;
&lt;div style=&quot;background-color: white; color: #222222; font-size: 13.3333px; font-style: normal; font-weight: 400; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;sudo raspi-config&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;-webkit-text-stroke-width: 0px; background-color: white; color: #222222; flex-basis: auto !important; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13.3333px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;&quot;&gt;
expand the file system to use the whole SD card space - should happen automatically on first boot&lt;/div&gt;
&lt;div style=&quot;-webkit-text-stroke-width: 0px; background-color: white; color: #222222; flex-basis: auto !important; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13.3333px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;&quot;&gt;
&lt;/div&gt;
&lt;div style=&quot;-webkit-text-stroke-width: 0px; background-color: white; color: #222222; flex-basis: auto !important; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13.3333px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;&quot;&gt;
&lt;br /&gt;
change the password or use ssh-copy-id setup access&lt;/div&gt;
&lt;br /&gt;
upgrade the software:&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;sudo apt-get update -y &amp;amp;&amp;amp; sudo apt-get dist-upgrade -y &amp;amp;&amp;amp; sudo apt-get autoremove -y&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Now your RaspberryPi has a base OS that is ready to setup for whatever work you want it to do. In this case I want it to run the rtl_433 software to capture wireless temerature sensor data and send it to my MQTT server.&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;
Setup the rtl_433 software&lt;/h2&gt;
Here is a great guide to setting up and running the rtl_433 software:&lt;a href=&quot;http://www.sensorsiot.org/install-rtl_433-for-a-sdr-rtl-dongle-on-a-raspberry-pi/&quot;&gt; http://www.sensorsiot.org/install-rtl_433-for-a-sdr-rtl-dongle-on-a-raspberry-pi/&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
I have Acurite sensors and want to see the temperature in Fahrenheit so I used &quot; -R 40 -R 41 -C customary&quot; in my config file.&lt;br /&gt;
&lt;br /&gt;
This shows how I&#39;m running the software:&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;pi@raspberrypi:~ $ cat /etc/supervisor/conf.d/rtl_433.conf&lt;br /&gt;&lt;br /&gt;[program:rtl_433]&lt;br /&gt;command=/home/pi/rtl_433/build/src/rtl_433 -R 40 -R 41 -C customary -F &quot;mqtt://YOUR_MQTT_SERVER:1883,,user=YOUR_MQTT_USERNAME,pass=YOUR_MQTT_PASSWORD,events=YOUR_MQTT_TOPIC&quot;&lt;br /&gt;user=pi&lt;br /&gt;autostart=yes&lt;br /&gt;autorestart=yes&lt;br /&gt;startretries=100&lt;br /&gt;stderr_logfile=/var/log/rtl_433/rtl_433.err.log&lt;br /&gt;stdout_logfile=/var/log/rtl_433/rtl_433.log&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br class=&quot;Apple-interchange-newline&quot; /&gt;
That&#39;s it! Now just plug it in somewhere that it can recieve the 433Mhz signals and connect to the Wifi. You should start getting the temperature data on your MQTT topic.</content><link rel='replies' type='application/atom+xml' href='http://benstechcents.blogspot.com/feeds/2587910625281130297/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8608636833409525289/2587910625281130297' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8608636833409525289/posts/default/2587910625281130297'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8608636833409525289/posts/default/2587910625281130297'/><link rel='alternate' type='text/html' href='http://benstechcents.blogspot.com/2019/08/raspberrypi-rtl433-to-mqtt-gateway.html' title='RaspberryPi rtl_433 to MQTT gateway'/><author><name>Ben</name><uri>http://www.blogger.com/profile/01678870097840459001</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNZqIZndmJshc9mcTNLTfLMwiw6qEPBL4yfFQv9txK-CMkJU2vPXyrYUlqTyud7-R5zb9qPabCGPV7alnQp5064wQFfuVRCxV1Erd7VhhQp6Wg67TcoRLQL-mYVxfJFktbzw5mdaIPhvs/s72-c/rtl_433-mqtt-gateway.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8608636833409525289.post-5529458797670847737</id><published>2019-07-27T22:39:00.000-07:00</published><updated>2021-08-28T22:41:43.440-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Arduino"/><category scheme="http://www.blogger.com/atom/ns#" term="ESPHome"/><category scheme="http://www.blogger.com/atom/ns#" term="MQTT"/><title type='text'>ESP8266 fridge/freezer monitor</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjiwatsNvjoRbUU8Q1m9ObNZZPHcjzwnZMj5l8kRK6t9itik9rccxRX5_gmIVD13zRHgXb12JWp3O3Kn4ALnkBkU2Kl9HgyBNp_Xw3D16OWS10Vth3iGioV1DmWaIZJEdVC47ehRqAKEYo/s1600/koala-ambulance.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1200&quot; data-original-width=&quot;1600&quot; height=&quot;240&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjiwatsNvjoRbUU8Q1m9ObNZZPHcjzwnZMj5l8kRK6t9itik9rccxRX5_gmIVD13zRHgXb12JWp3O3Kn4ALnkBkU2Kl9HgyBNp_Xw3D16OWS10Vth3iGioV1DmWaIZJEdVC47ehRqAKEYo/s320/koala-ambulance.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
I haven&#39;t posted anything for a while but I&#39;ve continued to explore new technology and some of my recent interests have involved the Arduino ecosystem and the ESP8266 chip. My intro to Arduino was a few years back when I built a &quot;Koala ambulance&quot; for my preschooler&#39;s car show day. It was pretty basic and just flashed the LED lights but it was a big hit with that age group.&lt;br /&gt;
&lt;br /&gt;
Later on I heard about the low cost &lt;a href=&quot;https://en.wikipedia.org/wiki/ESP8266&quot;&gt;ESP8266&lt;/a&gt; boards with WiFi that are compatible with the Arduino platform. As I learned more about these boards I found them in all sorts of cheap IoT devices like light bulbs and IR blasters. There are better boards available now using the &lt;a href=&quot;https://en.wikipedia.org/wiki/ESP32&quot;&gt;ESP32&lt;/a&gt; chip and others that support encryption and can be used securely with cloud IoT services.&lt;br /&gt;
&lt;br /&gt;
I decided that the older refrigerator in my garage needed some temperature monitoring and this was the perfect job for something like the tiny ESP-01 board. This project used the ESP-01 board, the onewire DS18B20 temp sensor, an I2C 1620 LCD display, a &lt;a href=&quot;https://mosquitto.org/&quot;&gt;MQTT message bus&lt;/a&gt;, &lt;a href=&quot;https://nodered.org/&quot;&gt;Node-RED&lt;/a&gt;, &lt;a href=&quot;https://flows.nodered.org/node/node-red-dashboard&quot;&gt;Node-RED dashboard&lt;/a&gt;, and &lt;a href=&quot;https://ifttt.com/&quot;&gt;IFTTT&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
At a high level the system operates like this. When the ESP-01 is turned on it joins the WiFi network and connects to the MQTT message broker. Then it starts sending temperature sensor readings to the MQTT channel and updating the LCD display. If the temperature is outside the desired range the piezo buzzer beeps a warning tone. Elsewhere on the network a Raspberry Pi is running Node-RED and is subscribed to the MQTT channel to receive the temperature sensor messages. Node-RED records and graphs the temperatures and is also connected to IFTTT for sending alerts to a smartphone. You can see the Arduino source code for my temperature sensor &lt;a href=&quot;https://github.com/benroy73/esp01-fridge-monitor&quot;&gt;on GitHub&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8Em1U6Z8un6Kf_uuOx7-NjYEqGQ0meklzlQPTvrEyfUMyLdjcq4ACWvXS_meZoqILLqyYZfN0DtlGCSOZxuPS9yWCf4qv0HdzsUrVFyXv_D1edqxPSEXIkSK3-yB6kcSQDpeWVSaSHmY/s1600/fridg-monitor.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;736&quot; data-original-width=&quot;1600&quot; height=&quot;147&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8Em1U6Z8un6Kf_uuOx7-NjYEqGQ0meklzlQPTvrEyfUMyLdjcq4ACWvXS_meZoqILLqyYZfN0DtlGCSOZxuPS9yWCf4qv0HdzsUrVFyXv_D1edqxPSEXIkSK3-yB6kcSQDpeWVSaSHmY/s320/fridg-monitor.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQ3KjbUb_NNkd6Rog3FrtpUps35CrRJpvcOKK23Vfd0JkTsLV7VJ7No3HhJw3SDkIM3GioITNlY96U7VBuxPrfgDwNT0xuUo9qx-6VoMcV5N1yegsTO2ZwxHBXQeCQ9ZcyASPtGc5aVV8/s1600/fridge-monitor2.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;794&quot; data-original-width=&quot;1600&quot; height=&quot;158&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQ3KjbUb_NNkd6Rog3FrtpUps35CrRJpvcOKK23Vfd0JkTsLV7VJ7No3HhJw3SDkIM3GioITNlY96U7VBuxPrfgDwNT0xuUo9qx-6VoMcV5N1yegsTO2ZwxHBXQeCQ9ZcyASPtGc5aVV8/s320/fridge-monitor2.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Some future improvements will be 3D printing a nice case so it doesn&#39;t look like the cardboard and duct tape mess it is now. Also adding a backup battery power supply would keep it showing and reporting the temperature when the power is out. Showing the max/min temps over the last few weeks would be useful too.&lt;br /&gt;
&lt;br /&gt;
Some of the excellent resources I found along the way were:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.adafruit.com/&quot;&gt;adafruit&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.sparkfun.com/&quot;&gt;sparkfun&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://circuito.io/&quot;&gt;circuito.io&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://fritzing/&quot;&gt;fritzing&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://tinkercad/&quot;&gt;Tinkercad&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.instructables.com/id/Definitive-Guide-to-Setting-Up-Your-New-ESP01-Modu/&quot;&gt;instructables ESP01 guide&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://benstechcents.blogspot.com/feeds/5529458797670847737/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8608636833409525289/5529458797670847737' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8608636833409525289/posts/default/5529458797670847737'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8608636833409525289/posts/default/5529458797670847737'/><link rel='alternate' type='text/html' href='http://benstechcents.blogspot.com/2019/07/esp8266-fridgefreezer-monitor.html' title='ESP8266 fridge/freezer monitor'/><author><name>Ben</name><uri>http://www.blogger.com/profile/01678870097840459001</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjiwatsNvjoRbUU8Q1m9ObNZZPHcjzwnZMj5l8kRK6t9itik9rccxRX5_gmIVD13zRHgXb12JWp3O3Kn4ALnkBkU2Kl9HgyBNp_Xw3D16OWS10Vth3iGioV1DmWaIZJEdVC47ehRqAKEYo/s72-c/koala-ambulance.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8608636833409525289.post-8614665853257576397</id><published>2015-05-03T08:15:00.002-07:00</published><updated>2021-08-28T22:43:43.917-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Synology"/><title type='text'>Synology Diskstation NAS</title><content type='html'>I mentioned in my &lt;a href=&quot;http://benstechcents.blogspot.com/2015/04/tablotv-roku.html&quot;&gt;&lt;span id=&quot;goog_1836758359&quot;&gt;&lt;/span&gt;last post &lt;span id=&quot;goog_1836758360&quot;&gt;&lt;/span&gt;&lt;/a&gt;that hardware running my Mythbuntu system was failing and rather than repair or replace it I decided to reengineer my home server system. The challenge when you&#39;ve spent years expanding a custom system is in unraveling the complexity, giving up some of the personalized solutions, and mapping out a migration path to a new system.&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
My old server had many functions: a web server, network music server, file server, MythTV server, backup server, VPN server, and network camera recorder. That&#39;s a lot of stuff to find replacements for. The MythTV server was the most CPU intensive function and until recently the hardest to find an inexpensive replacement for. After I had completed the &lt;a href=&quot;http://benstechcents.blogspot.com/2015/04/tablotv-roku.html&quot;&gt;switch from MythTV to the TabloTV DVR&lt;/a&gt; the remaining functionality was better aligned with what a good NAS system could do.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
As usual I wanted a low cost system. For me that meant low wattage, minimal administrative work, and long product life expectancy. I found that the &lt;a href=&quot;http://www.amazon.com/gp/product/B00SKIKCOI/ref=as_li_tl?ie=UTF8&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=B00SKIKCOI&amp;amp;linkCode=as2&amp;amp;tag=benstechcent-20&amp;amp;linkId=VKYEJCIUBFFBWOGT&quot;&gt;Synology DiskStation DS115&lt;/a&gt; was the best match for my needs. The company has a wide range of products, produces a &lt;a href=&quot;https://www.synology.com/en-us/dsm/&quot;&gt;single operating system&lt;/a&gt; for all of them, has an &lt;a href=&quot;https://www.synology.com/en-us/support/community&quot;&gt;active community&lt;/a&gt; and large number of third party app packages.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
I&#39;ve been quite happy with the DiskStation. There are lots of features available but the documentation and web interface do a good job of explaining them and making the setup easy. In case I ever need to setup the system from scratch again I&#39;m making a list here of things I might want to remember.&lt;/div&gt;
&lt;div&gt;
&lt;h4&gt;
Music Server&lt;/h4&gt;
&lt;/div&gt;
&lt;div&gt;
I&#39;m quite happy with my original SliMP3 player so the Logitech Media Server is required.&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Package Center&amp;nbsp;→&amp;nbsp;Logitech Media Server&lt;/li&gt;
&lt;li&gt;another option is the Audio Station package&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;h4&gt;
Namecheap DDNS&lt;/h4&gt;
&lt;div&gt;
DSM 5.1 doesn&#39;t officially support Namecheap DDNS but there are a few options.&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Control Panel → External Access → DDNS&lt;/li&gt;
&lt;li&gt;install the &lt;a href=&quot;https://www.cphub.net/?id=40&amp;amp;pid=304&quot;&gt;third party ddupdate package&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;use DDNS on a &lt;a href=&quot;https://www.namecheap.com/support/knowledgebase/article.aspx/9356/11/how-to-configure-a-ddwrt-router&quot;&gt;dd-wrt router&amp;nbsp;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;add Namecheap support to the built-in DDNS system which is what I did and it may break with the next DSM update&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
The &lt;a href=&quot;https://forum.synology.com/enu/viewtopic.php?f=39&amp;amp;t=70027#p366214&quot;&gt;forum post here&lt;/a&gt; describes how to modify the DSM system and this&amp;nbsp;&lt;a href=&quot;https://www.namecheap.com/support/knowledgebase/article.aspx/29/11/how-do-i-use-the-browser-to-dynamically-update-hosts-ip&quot;&gt;Namecheap documentation&lt;/a&gt; describes the URL to post updates to.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
I made this modification to the script to support a domain without a subdomain.&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;$array = explode(&#39;.&#39;, $hostname);&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;if (count($array) == 2) {&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; $host = &#39;@&#39;;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; $domain = $hostname;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;} else {&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; $domain = implode(&#39;.&#39;, array_slice($array, 1));&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; $host = implode(&#39;.&#39;, array_slice($array, 0, 1));&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;$url = &#39;https://dynamicdns.park-your-domain.com/update?host=&#39;.$host.&#39;&amp;amp;domain=&#39;.$domain.&#39;&amp;amp;password=&#39;.$pwd.&#39;&amp;amp;ip=&#39;.$ip;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;h4&gt;
SSH login&lt;/h4&gt;
&lt;div&gt;
Here&#39;s a very good blog post by&amp;nbsp;&lt;a href=&quot;http://techanic.net/2014/04/12/configuring_ssh_and_scp_sftp_on_dsm_5.0_for_synology_diskstations.html&quot;&gt;Josh Dick on SSH &amp;amp; SFTP setup&lt;/a&gt;&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;enable sshd&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;Control Panel&amp;nbsp;→&amp;nbsp;Terminal &amp;amp; SNMP&amp;nbsp;→&amp;nbsp;Terminal&amp;nbsp;→ Enable SSH service&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;give the user a shell in /etc/passwd&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;li&gt;create user home directories&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;Control Panel&amp;nbsp;→&amp;nbsp;User&amp;nbsp;→&amp;nbsp;Advanced&amp;nbsp;→&amp;nbsp;User Home&amp;nbsp;→&amp;nbsp;Enable user home service&lt;/li&gt;
&lt;li&gt;fix user home directory permissions for ssh public key authentication&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;chmod 755 for ~&lt;/li&gt;
&lt;li&gt;chmod 700 ~/.ssh&lt;/li&gt;
&lt;li&gt;chmod 644&amp;nbsp;&lt;code&gt;~/.ssh/authorized_keys&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;li&gt;Control Panel&amp;nbsp;→&amp;nbsp;File Services&amp;nbsp;→&amp;nbsp;FTP&amp;nbsp;→ Enable SFTP service&lt;/li&gt;
&lt;li&gt;enable ssh tunneling&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;as root (ssh root@diskstation)&lt;/li&gt;
&lt;li&gt;vi /etc/ssh/sshd_config&lt;/li&gt;
&lt;li&gt;change AllowTcpForwarding to yes&lt;/li&gt;
&lt;li&gt;change GatewayPorts to client specified&lt;/li&gt;
&lt;li&gt;reload sshd: synoservicectl --reload sshd&lt;/li&gt;
&lt;/ul&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h4&gt;
SSL cert&lt;/h4&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;Control Panel&amp;nbsp;→&amp;nbsp;Security&amp;nbsp;→&amp;nbsp;Certificate&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;h4&gt;
Web server&lt;/h4&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;Control Panel&amp;nbsp;→&amp;nbsp;Web Services&amp;nbsp;→&amp;nbsp;Enable Web Station&lt;/li&gt;
&lt;li&gt;DSM 5.1 uses Apache 2.2&lt;/li&gt;
&lt;li&gt;Access control using Photo Station album passwords&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;I&#39;d rather find a way to use the Photo Station&#39;s own PHP session auth system to protect my website&lt;/li&gt;
&lt;li&gt;I built a custom login system&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.synology.com/en-us/knowledgebase/faq/347&quot;&gt;.htaccess files&lt;/a&gt;&amp;nbsp;with&amp;nbsp;RewriteRule to route a protected folder to the login system&lt;/li&gt;
&lt;li&gt;uses X-Sendfile headers to deliver authorized files&lt;/li&gt;
&lt;li&gt;uses synoautoblock to prevent brute force attacks&lt;/li&gt;
&lt;li&gt;checks password against the Photo Station album&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;SELECT password FROM photo_share WHERE sharename = &#39;Password protected album name&#39;&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;li&gt;VirtualHost setup&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;using www.domain.tld instead of domain.tld makes integration with other DiskStation apps easier&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;h4&gt;
&amp;nbsp;Photo Station&lt;/h4&gt;
&lt;div&gt;
This is really the feature that sold me on the Synology system. It replaced my homegrown photo website running my &lt;a href=&quot;https://github.com/benroy73/bpg&quot;&gt;BPG application&lt;/a&gt;.&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Package Center&amp;nbsp;→&amp;nbsp;Photo Station&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
Somehow I had an issue where I couldn&#39;t remove the password from albums and I had to fix it in the database.&lt;/div&gt;
psql photo postgres&lt;/div&gt;
&lt;div&gt;
photo=# SELECT * FROM photo_share WHERE password NOT LIKE &#39;&#39;;&lt;/div&gt;
&lt;h4&gt;
&amp;nbsp;Surveillance Station&lt;/h4&gt;
&lt;div&gt;
This records and notifies me when there is motion on a network camera.&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Package Center&amp;nbsp;→&amp;nbsp;Surveillance Station&lt;/li&gt;
&lt;li&gt;I&#39;m still using the old &lt;a href=&quot;http://benstechcents.blogspot.com/2008/04/zonet-zvc7610-network-camera-review.html&quot;&gt;Zonet Netcam&lt;/a&gt; and it needs a daily reboot to keep streaming&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;Control Panel&amp;nbsp;→&amp;nbsp;Task Scheduler&lt;/li&gt;
&lt;li&gt;curl -s &quot;http://ADMIN:PASSWORD@CAMERA/admin/reboot.cgi?reboot=reboot&amp;amp;type=0&quot; &amp;gt; /dev/null&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;h4&gt;
&amp;nbsp;Dropbox Cloud Sync&lt;/h4&gt;
&lt;div&gt;
This lets me sync my Dropbox account with the DiskStation.&lt;/div&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;Package Center&amp;nbsp;→&amp;nbsp;Cloud Sync&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;h4&gt;
Mail Station&lt;/h4&gt;
I want to have some devices on my home network send email from my Google account.&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;my Brother printer can send email but won&#39;t use TLS like Google requires&lt;/li&gt;
&lt;li&gt;on my old system I used stunnel and it &lt;a href=&quot;http://forum.synology.com/enu/viewtopic.php?f=27&amp;amp;t=16360&quot;&gt;may work&lt;/a&gt; on the DiskStation&lt;/li&gt;
&lt;li&gt;the Synology Mail Server can also work for a private LAN&lt;/li&gt;
&lt;li&gt;Mail Server&amp;nbsp;→&amp;nbsp;SMTP&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;Enable SMTP Authentication&lt;/li&gt;
&lt;li&gt;Ignore authorization for LAN connections&lt;/li&gt;
&lt;li&gt;Domain name: diskstation.DOMAIN (don&#39;t use a real email domain unless you want mail delivered to local ~/.Maildirs/)&lt;/li&gt;
&lt;li&gt;SMTP Relay&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;Enable SMTP Relay&lt;/li&gt;
&lt;li&gt;Server: smtp.gmail.com&lt;/li&gt;
&lt;li&gt;Port: 587&lt;/li&gt;
&lt;li&gt;Always use secure connection (TLS)&lt;/li&gt;
&lt;li&gt;Account: gmail address&lt;/li&gt;
&lt;li&gt;Password: create an app specific password for the Google account&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;h4&gt;
CardDAV&lt;/h4&gt;
&lt;div&gt;
This is a cool feature I use for a shared address book across multiple devices.&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Package Center&amp;nbsp;→&amp;nbsp;CardDAV Server&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://help.synology.com/dsm/?section=CardDAVServer&amp;amp;version=5.2&amp;amp;link=carddav_server_desc.html&quot;&gt;Official documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;For a shared adderssbook create a dedicated user account&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;Control Panel&amp;nbsp;→&amp;nbsp;User&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;The full URL is&amp;nbsp;https://DOMAIN:8443/addressbooks/users/USERNAME/addressbook/&amp;nbsp;but some clients don&#39;t need the whole thing&amp;nbsp;&lt;/li&gt;
&lt;li&gt;some &lt;a href=&quot;http://forum.synology.com/enu/viewtopic.php?p=341633#p341633&quot;&gt;forum discussion&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;div&gt;
And if you are curious about where the address books are stored:&lt;/div&gt;
&lt;div&gt;
psql -U postgres -l&lt;/div&gt;
&lt;div&gt;
psql -U postgres -d caldav&lt;/div&gt;
&lt;div&gt;
SELECT * FROM addressbook_object;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h4&gt;
Backups&lt;/h4&gt;
&lt;div&gt;
I want to use the DiskStation as an local backup destination for my computers, and since it also stores files I want to back those up to both a local onsite destination and an remote offsite location.&lt;/div&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;local onsite backup for Macs using TimeMachine (Mac&amp;nbsp;→&amp;nbsp;backup to DiskStation)&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;The official Synology &lt;a href=&quot;https://www.synology.com/en-us/knowledgebase/tutorials/608&quot;&gt;documentation for this feature&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Setup users for each TimeMachine laptop&lt;/li&gt;
&lt;li&gt;Assign the user a data quota so they don&#39;t use the entire DiskStation&lt;/li&gt;
&lt;li&gt;Create a &quot;Time Machine&quot; shared folder&lt;/li&gt;
&lt;li&gt;Setup time machine on each laptop with the dedicated user/password&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;local onsite backup for DiskStation to eSATA disk (DiskStation&amp;nbsp;→&amp;nbsp;backup to eSATA disk)&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;Backup &amp;amp; Replication&amp;nbsp;→&amp;nbsp;Backup Destination&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;create destination on &quot;satashare&quot; shared folder&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;Backup &amp;amp; Replication&amp;nbsp;→&amp;nbsp;Backup&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;setup the daily backup schedule&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;li&gt;remote offsite backup (DiskStation&#39;s CrashPlan&amp;nbsp;→&amp;nbsp;backup to remote site)&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;Install CrashPlan following &lt;a href=&quot;http://pcloadletter.co.uk/2012/01/30/crashplan-syno-package/&quot;&gt;these instructions&lt;/a&gt;&amp;nbsp;summarized below&lt;/li&gt;
&lt;/ul&gt;
&lt;ol&gt;&lt;ol&gt;
&lt;li&gt;add http://packages.pcloadletter.co.uk to package sources&lt;/li&gt;
&lt;li&gt;install synology &quot;java manager&quot; package&lt;/li&gt;
&lt;li&gt;install crashplan package (may need to click &quot;allow trusted third party packages&quot;)&lt;/li&gt;
&lt;li&gt;setup &lt;a href=&quot;http://support.code42.com/CrashPlan/Latest/Configuring/Using_CrashPlan_On_A_Headless_Computer&quot;&gt;headless crashplan&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;in &quot;task manager&quot; setup service tasks to start/stop crashplan in the night to save RAM&lt;/li&gt;
&lt;li&gt;backup to a local drive then copy that seed to a external drive for the remote backup server&lt;/li&gt;
&lt;/ol&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;check backup progress with tail /volume1/@appstore/CrashPlan/log/history.log.0&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
There are lots of other back options:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;The official &lt;a href=&quot;https://help.synology.com/dsm/?section=DSM&amp;amp;version=5.1&amp;amp;link=BackupApp%2Frepository.html&quot;&gt;DSM 5.1 backup documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://wiki.euserv.de/index.php/Guide_Backup_Synology_DiskStation_%28DSM5.0%29/en&quot;&gt;rsync backup&lt;/a&gt;&amp;nbsp;and discussion in &lt;a href=&quot;http://forum.synology.com/enu/viewtopic.php?f=160&amp;amp;t=82476&amp;amp;start=15&quot;&gt;forums&lt;/a&gt;&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.dikant.de/2013/06/25/secure-offsite-backups-for-synology-nas/&quot;&gt;setting up a linux server&lt;/a&gt; to receive rsync backup from a DiskStation&lt;/li&gt;
&lt;li&gt;manually using the Synology &lt;a href=&quot;http://forum.synology.com/enu/viewtopic.php?f=160&amp;amp;t=41568&quot;&gt;built-in ecryptfs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;another &lt;a href=&quot;http://www.hanselman.com/blog/HowToSetUpCrashPlanCloudBackupHeadlessOnASynologyNASBackupStrategies.aspx&quot;&gt;guide to CrashPlan setup&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://benstechcents.blogspot.com/feeds/8614665853257576397/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8608636833409525289/8614665853257576397' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8608636833409525289/posts/default/8614665853257576397'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8608636833409525289/posts/default/8614665853257576397'/><link rel='alternate' type='text/html' href='http://benstechcents.blogspot.com/2015/05/synology-diskstation-nas.html' title='Synology Diskstation NAS'/><author><name>Ben</name><uri>http://www.blogger.com/profile/01678870097840459001</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8608636833409525289.post-92742351117879080</id><published>2015-04-25T14:28:00.000-07:00</published><updated>2021-08-28T22:35:55.997-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="TV"/><title type='text'>TabloTV + Roku</title><content type='html'>I recently switched from my Mythbuntu MythTV system to a &lt;a href=&quot;http://www.amazon.com/gp/product/B00MXUDD0O/ref=as_li_tl?ie=UTF8&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=B00MXUDD0O&amp;amp;linkCode=as2&amp;amp;tag=benstechcent-20&amp;amp;linkId=ZC2PVFV7IXT3TCRX&quot;&gt;TabloTV&lt;/a&gt; with a &lt;a href=&quot;http://www.amazon.com/s/ref=as_li_ss_tl?_encoding=UTF8&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;field-keywords=roku3&amp;amp;linkCode=ur2&amp;amp;tag=benstechcent-20&amp;amp;url=search-alias%3Daps&amp;amp;linkId=J24KDXTB73TSAZRW&quot;&gt;Roku3&lt;/a&gt;. While I&#39;ve enjoyed tinkering with the MythTV system and it&#39;s many features over the years, limited free time and failing hardware lead me to take a close look at moving to a dedicated appliance style system. As part of this project I also decided to improve my OTA antenna installation since I was not getting all the national broadcast networks reliably. I am very glad I did as it&#39;s all working well now.&lt;br /&gt;
&lt;br /&gt;
To start with I focused on the antennas as this is the biggest factor in reliable signal reception. I used the &lt;a href=&quot;http://transition.fcc.gov/mb/engineering/dtvmaps/&quot;&gt;FCC TV signal direction site&lt;/a&gt; to figure out which types of antennas I needed. The major factors in choosing the antenna are which RF channels it is designed for, the dBi gain for how weak a signal it can receive, and the beam width for how wide the reception angle is.&lt;br /&gt;
&lt;br /&gt;
Living in Seattle I need channels VHF 9-13 plus UHF 16 and up. Since the is a large hill between my house and the transmitters I wanted the highest gain available in a reasonable size and a beam width wide enough to receive the signal from each of the transmitters. I already had a &lt;a href=&quot;http://www.amazon.com/s/ref=as_li_ss_tl?_encoding=UTF8&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;field-keywords=db4%20antenna&amp;amp;linkCode=ur2&amp;amp;tag=benstechcent-20&amp;amp;url=search-alias%3Daps&amp;amp;linkId=M62M76LI7GOU5HPW&quot;&gt;Antennas Direct DB4&lt;/a&gt; and it was pretty good for the UHF channels, but my &lt;a href=&quot;http://support.radioshack.com/support_video/7695.htm&quot;&gt;RadioShack VU-75XR&lt;/a&gt; wasn&#39;t good enough for the VHF channels so I found the &lt;a href=&quot;http://www.solidsignal.com/pview.asp?p=Y5-7-13&quot;&gt;AntennaCraft VHF Y5-7-13&lt;/a&gt;&amp;nbsp;and it works great. There are a few channels that are still on the reception edge so I may replace the DB4 later with an &lt;a href=&quot;http://www.amazon.com/gp/product/B00CXQO00K/ref=as_li_tl?ie=UTF8&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=B00CXQO00K&amp;amp;linkCode=as2&amp;amp;tag=benstechcent-20&amp;amp;linkId=GPQWRLNROSSAJVGA&quot;&gt;8 bay model&lt;/a&gt;. I use a VHF-UHF combiner to connect them to a single coax cable that connects to my TabloTV tuner. While working on finding the best location and aiming for each antenna I connected them to my old &lt;a href=&quot;http://www.amazon.com/gp/product/B0010Y414Q/ref=as_li_tl?ie=UTF8&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=B0010Y414Q&amp;amp;linkCode=as2&amp;amp;tag=benstechcent-20&amp;amp;linkId=GPVVQKJT4NBTWP5F&quot;&gt;HDHomeRun ATSC tuner&lt;/a&gt; and used the &lt;a href=&quot;https://play.google.com/store/apps/details?id=com.zaren&quot;&gt;Hdhomerun Signal Meter&lt;/a&gt;&amp;nbsp;app on my phone to find the best signal available for each channel. This is the hardest part as the antenna placement is really just trial and error. &amp;nbsp;I did find a&amp;nbsp;&lt;a href=&quot;https://books.google.com/books?id=6qebAgAAQBAJ&amp;amp;pg=PA141&amp;amp;lpg=PA141&amp;amp;dq=vu-75+antenna&quot;&gt;great book&lt;/a&gt; that had some good practical information on antenna placement.&lt;br /&gt;
&lt;br /&gt;
After the antenna installation was finished I connected the TabloTV tuner and attached a USB hard drive. The first hard drive I got didn&#39;t work reliably so I used an old 500GB drive that I had avaiable. While the initial setup was a bit quirky, it worked great after that. Since the old hard drive was a bit noisy I stuck some foam weather stripping to the bottom of the case which eliminated most of the noise. TabloTV is working on the hard drive compatibility issues and provides a list of known good drives. Until they resolve this be prepared for some trial and error getting the right drive.&lt;br /&gt;
&lt;br /&gt;
The Roku was similar to setup, just connect to the network, setup an account and it was ready to go. The best thing about the Roku is the large number of apps (channels) that are available for it. It has a channel for the Tablo as well as Netflix, Amazon Instant video, and Google Play video.&lt;br /&gt;
&lt;br /&gt;
This blog post wouldn&#39;t be complete without some tinkering with the stock system. First the Roku has a notable flaw where it shows advertisements on the main screen and you have no control over what they are and they may not be appropriate for young children. To fix this you can block all access to the &quot;channels.roku.com&quot; URL on your home router. It also prevents channel and system updates so you need to periodically unblock it and check for updates manually in the system settings. The other bit of tinkering was being able to download recordings from the TabloTV. The &lt;a href=&quot;http://community.tablotv.com/&quot;&gt;TabloTV community&lt;/a&gt; has some dedicated fans who have built tools to &lt;a href=&quot;https://sites.google.com/a/moboard.com/tablo/&quot;&gt;download recordings&lt;/a&gt; from the Tablo so you can save them forever.&lt;br /&gt;
&lt;br /&gt;
I definitely recommend this project for anyone wanting to setup an OTA DVR system.</content><link rel='replies' type='application/atom+xml' href='http://benstechcents.blogspot.com/feeds/92742351117879080/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8608636833409525289/92742351117879080' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8608636833409525289/posts/default/92742351117879080'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8608636833409525289/posts/default/92742351117879080'/><link rel='alternate' type='text/html' href='http://benstechcents.blogspot.com/2015/04/tablotv-roku.html' title='TabloTV + Roku'/><author><name>Ben</name><uri>http://www.blogger.com/profile/01678870097840459001</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8608636833409525289.post-7977572098214155072</id><published>2014-07-27T15:12:00.001-07:00</published><updated>2014-07-27T15:12:54.511-07:00</updated><title type='text'>Quick Google Cardboard style 3D viewer</title><content type='html'>It&#39;s been a long time since the last post. Life can
 get pretty busy sometimes, but that&#39;s life.&amp;nbsp; It feels good to be adding something new here.&lt;br /&gt;
&lt;br /&gt;
I heard about the &lt;a href=&quot;http://g.co/cardboard&quot;&gt;Google Cardboard&lt;/a&gt; kit that 
was distributed at Google&#39;s &lt;a href=&quot;https://www.google.com/events/io/schedule/session/603fe228-89c5-e311-b297-00155d5066d7&quot;&gt;developer conference&lt;/a&gt; this year, and it 
seemed like a great kid friendly project.&lt;br /&gt;
&lt;br /&gt;
I went searching for the lenses and magnets to build it and realized it wasn&#39;t going to be the quick simple project I&#39;d hoped for. However I did come across a MY3D toy that &lt;a href=&quot;http://www.amazon.com/gp/product/B004T7VI2Y/ref=as_li_tl?ie=UTF8&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=B004T7VI2Y&amp;amp;linkCode=as2&amp;amp;tag=benstechcent-20&amp;amp;linkId=SOWMX452UP37RNRR&quot;&gt;was $8 on Amazon&lt;/a&gt; and got mentioned &lt;a href=&quot;http://www.reddit.com/r/oculus/comments/29j92l/tested_handson_with_google_cardboard_virtual/&quot;&gt;in a post&lt;/a&gt; as being good enough to try out the &lt;a href=&quot;https://play.google.com/store/apps/details?id=com.google.samples.apps.cardboarddemo&quot;&gt;Cardboard app&lt;/a&gt; so I decided to give it a shot.&lt;br /&gt;
&lt;br /&gt;
It actually worked pretty well so I enhanced it with some stuff I had in my garage. I cut some cardboard to hold the phone, stuck on some hook-and-loop stuff to hold it closed, a &lt;a href=&quot;http://www.amazon.com/gp/product/B00FS4AF0S/ref=as_li_tl?ie=UTF8&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=B00FS4AF0S&amp;amp;linkCode=as2&amp;amp;tag=benstechcent-20&amp;amp;linkId=YK6VAWTMSTDN2LFD&quot;&gt;NFC tag&lt;/a&gt; to make it open the app automatically, 2 strong ceramic disc magnets that worked for the clicker when they were tapped together, and then I taped it all together with some blue painters tape.&lt;br /&gt;
&lt;br /&gt;
It&#39;s a pretty cool and cheap way to demonstrate a simple VR system, and lot of fun for kids of all ages!&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg18ETJ1KILRAoDPW1eBtZ6xFqku0zaaWBwvYb_ethoHk3uxespp_dwJXs8OSWBUIi8SdP1yvQnQknmcbQdshgYeeh0ISpCmShJ-Rk78ue2isL3feV3G32bQ6E1u9sHHmMxfcxb8y3BFIg/s1600/1.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg18ETJ1KILRAoDPW1eBtZ6xFqku0zaaWBwvYb_ethoHk3uxespp_dwJXs8OSWBUIi8SdP1yvQnQknmcbQdshgYeeh0ISpCmShJ-Rk78ue2isL3feV3G32bQ6E1u9sHHmMxfcxb8y3BFIg/s1600/1.jpg&quot; height=&quot;292&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
Here you can see the side with the 2 magnets. They&#39;re just wrapped in tape and then taped to the side with a slight overlap so that they stick together but are easy to pull apart to trigger the click.&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFNsEHdDzRBUlTd6r3dr1gTwkpO0ButROHu8iunFb0A5YNk8eAnFLXBKp8ARqU7WrvUZB8lwKZKcaJIKmbLeH2guSFpEWTJ-HHqzIYfvmQEjFKWGsmDbTzDrgGLveuZ9Dzzb5YNG6Eyxc/s1600/2.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFNsEHdDzRBUlTd6r3dr1gTwkpO0ButROHu8iunFb0A5YNk8eAnFLXBKp8ARqU7WrvUZB8lwKZKcaJIKmbLeH2guSFpEWTJ-HHqzIYfvmQEjFKWGsmDbTzDrgGLveuZ9Dzzb5YNG6Eyxc/s1600/2.jpg&quot; height=&quot;200&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
There&#39;s a adhesive hook-and-loop fastener on top here to get the phone in and out easily. I used pliers and a knife to remove the existing mounting clips.&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8OFWXr8HA6APPc9rpdgZnSMydhJr-t9GRqsMm2nazCo1HF0o5nPKhZo6-x_auspWdbQhnXHPu7q2W4B3cM8bJlZSaaXvY5pneabHjHSM2yZ5tHDKjgZrEpgiT3-jUKQNsujHLWDfRs3A/s1600/3.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8OFWXr8HA6APPc9rpdgZnSMydhJr-t9GRqsMm2nazCo1HF0o5nPKhZo6-x_auspWdbQhnXHPu7q2W4B3cM8bJlZSaaXvY5pneabHjHSM2yZ5tHDKjgZrEpgiT3-jUKQNsujHLWDfRs3A/s1600/3.jpg&quot; height=&quot;278&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
On the front I put an adhesive NFC tag I had and programmed it to open the Cardboard app.</content><link rel='replies' type='application/atom+xml' href='http://benstechcents.blogspot.com/feeds/7977572098214155072/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8608636833409525289/7977572098214155072' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8608636833409525289/posts/default/7977572098214155072'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8608636833409525289/posts/default/7977572098214155072'/><link rel='alternate' type='text/html' href='http://benstechcents.blogspot.com/2014/07/quick-google-cardbord-style-3d-viewer.html' title='Quick Google Cardboard style 3D viewer'/><author><name>Ben</name><uri>http://www.blogger.com/profile/01678870097840459001</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg18ETJ1KILRAoDPW1eBtZ6xFqku0zaaWBwvYb_ethoHk3uxespp_dwJXs8OSWBUIi8SdP1yvQnQknmcbQdshgYeeh0ISpCmShJ-Rk78ue2isL3feV3G32bQ6E1u9sHHmMxfcxb8y3BFIg/s72-c/1.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8608636833409525289.post-5998864577605794442</id><published>2012-06-24T12:07:00.000-07:00</published><updated>2021-08-28T22:44:32.242-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Telephones"/><title type='text'>iPhone setup with Google Voice and prepaid service</title><content type='html'>I setup a used iPhone 3GS for my wife to use prepaid service and Google Voice. My goal was to use a prepaid $0.10/minute service and optimize the use of the minutes and data network to minimize usage costs. Unfortunately the week after I set it up AT&amp;amp;T changed &lt;a href=&quot;http://www.att.com/shop/en/wireless/plans/prepaidplans.html&quot; target=&quot;_blank&quot;&gt;their plans&lt;/a&gt; and now requires a minimum of the $25/month plan in order to get any data service.&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;background-color: white;&quot;&gt;Using the Google Voice service and the Talkatone app, calls and SMS messages are free while connected to a WiFi network.&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;background-color: white;&quot;&gt;Since most of our life happens within range of a WiFi network this works out well. When we&#39;re away from a WiFi network the phone uses the &lt;/span&gt;AT&amp;amp;T GoPhone prepaid plan.&lt;span class=&quot;Apple-style-span&quot; style=&quot;background-color: white;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;background-color: white;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;background-color: white;&quot;&gt;Here&#39;s the step by step:&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;What you&#39;ll need to buy:&lt;/b&gt;&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;iPhone 3GS&lt;/li&gt;
&lt;li&gt;AT&amp;amp;T GoPhone SIM card&lt;/li&gt;
&lt;/ol&gt;
I bought an iPhone 3GS on ebay for $137, and while it had a few scratches on the back it was in very good working condition. I also purchased an AT&amp;amp;T GoPhone SIM card on ebay for $5. Later I noticed the local grocery store had GoPhones for $10 so I could have pulled the SIM card from one of those instead. The same process should work for an iPhone 4 but its MicroSIM card is smaller and I would have needed to get a SIM cutter on ebay.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;iPhone setup steps:&lt;/b&gt;&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;Connect it to a wireless network in &lt;b&gt;Settings &amp;gt; General &amp;gt; Network &amp;gt; Wi-Fi&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;Make sure it is running the latest version of iOS in &lt;b&gt;Settings &amp;gt; General &amp;gt; Software Update&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;Reset the iPhone to it&#39;s defaults settings in &lt;b&gt;Settings &amp;gt; General &amp;gt; Reset &amp;gt; Erase All Content and Settings &amp;gt; 
Erase iPhone&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;Create a Google Voice Account if you do not already have one&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Set up the iPhone with an Apple ID and enable the iCloud services&lt;/li&gt;
&lt;li&gt;Install the &lt;a href=&quot;http://www.talkatone.com/&quot;&gt;Talkatone app&lt;/a&gt; and log in to your Google Voice account&lt;/li&gt;
&lt;li&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;background-color: white;&quot;&gt;Change &lt;a href=&quot;http://www.talkatone.com/gettingstarted.html#1&quot;&gt;these&amp;nbsp;settings&lt;/a&gt; in the Google Voice account for Talkatone&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
At this point you should be able to use the Talkatone app to make calls and send text messages for free when you are connected to a WiFi network.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Setup the AT&amp;amp;T GoPhone service:&lt;/b&gt;&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;Go to the &lt;a href=&quot;https://www.wireless.att.com/GoPhoneWeb/goPhoneLanding.do?method=activatePayGo&quot; target=&quot;_blank&quot;&gt;AT&amp;amp;T web site&lt;/a&gt; and activate the GoPhone SIM card with the prepaid plan using the SIM card number and the&lt;span class=&quot;Apple-style-span&quot; style=&quot;background-color: white;&quot;&gt; IMEI number from any other GSM phone. &lt;/span&gt;I used the number from my old Samsung flip phone since I &lt;a href=&quot;http://modmyi.com/forums/t/754109-iphone-gophone-3.html&quot;&gt;read somewhere&lt;/a&gt; that AT&amp;amp;T wouldn&#39;t activate the SIM if you give them one from an iPhone. If you don&#39;t have another GSM phone you could get an IMEI number from a $10 GoPhone available at a grocery stores.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Add money to the prepaid account. I purchase mine from &lt;a href=&quot;http://www.callingmart.com/&quot;&gt;CallingMart.com&lt;/a&gt; in $100 amounts to get the full 1 year expiration time.&lt;/li&gt;
&lt;li&gt;Use a paperclip to eject the iPhone&#39;s SIM card tray and insert the new SIM card.&lt;/li&gt;
&lt;li&gt;After a minute the phone will display AT&amp;amp;T instead of &quot;No SIM&quot; and the voice and SMS service should be working. Data service doesn&#39;t work yet but we&#39;ll fix that next.&lt;/li&gt;
&lt;li&gt;Login to the Google Voice account and add the new GoPhone phone number as a phone to forward calls to.&lt;/li&gt;
&lt;li&gt;A $20/year subscription to the Talkatone premium service is needed to enable the &quot;&lt;a href=&quot;http://blog.talkatone.com/2012/03/20/dynamic-forwarding-control/&quot;&gt;Dynamic Forwarding&lt;/a&gt;&quot; feature which automatically turns off the Google Voice call forwarding to the GoPhone phone number while you are connected to WiFi and then turns it back on when there is no WiFi connection. There is a short delay switching so calls will go to voice mail for a few minutes after you leave your house which is probably a good thing if you&#39;re driving away in a car.&lt;/li&gt;
&lt;/ol&gt;
&lt;b&gt;Setup the mobile data service:&lt;/b&gt;&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;Add a data &quot;feature package&quot; to your &lt;a href=&quot;https://www.paygonline.com/&quot;&gt;GoPhone account&lt;/a&gt;. The per/kb option does not work with &quot;smart&quot; phones and AT&amp;amp;T enforces this but I have no idea how.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;On the iPhone browse to &lt;a href=&quot;http://www.unlockit.co.nz/&quot;&gt;Unlockit NZ&lt;/a&gt; to install the GoPhone APN file that gives the iPhone the right settings for the GoPhone data network&lt;/li&gt;
&lt;li&gt;Reboot the iPhone and data should be working. Turn off the WiFi to test the 3G or 2G data network connection.&lt;/li&gt;
&lt;/ol&gt;
&lt;b&gt;Final optimization:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Everything should be working now but there is one more step that to optimize the data usage and ensure the lowest possible cost.&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;Install the &lt;a href=&quot;http://www.onavo.com/&quot;&gt;Onavo Extend&lt;/a&gt; app which proxies and compresses data for the iPhone.&amp;nbsp; Unfortunately it does not have a setting for the GoPhone service, but the Onavo customer service can set it up for you remotely.&lt;/li&gt;
&lt;li&gt;Within the Onavo app send a message to customer support asking them to set your service to use the GoPhone APN settings. The settings I got from the APN file emailed to me from &lt;a href=&quot;http://www.unlockit.co.nz/&quot;&gt;Unlockit NZ&lt;/a&gt; were: &lt;br /&gt;&lt;ul&gt;
&lt;li&gt;
apn = wap.cingular &lt;/li&gt;
&lt;li&gt;
username=WAP%40CINGULARGPRS.COM &lt;/li&gt;
&lt;li&gt;
password = CINGULAR1&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Uninstall the APN file from from Unlockit &lt;/li&gt;
&lt;li&gt;Restart Onavo and allow it to install its APN file&amp;nbsp;&lt;/li&gt;
&lt;li&gt;reboot the iPhone and it should all work now &lt;/li&gt;
&lt;/ol&gt;
&lt;b&gt;Conclusion: &lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Now that we&#39;re done, calls and SMS text messages are made using the Talkatone app when the iPhone is connected to WiFi, and using the Phone app when using the AT&amp;amp;T mobile network. The standard Messages app won&#39;t use the Google Voice number so other iPhone users need to &quot;Message&quot; you at your email address unless you give them the phone number of your AT&amp;amp;T GoPhone service. Overall a few quirks seem like a small sacrifice for the significant cost savings. &lt;a href=&quot;http://pixelandpost.blogspot.com/&quot;&gt;My wife&lt;/a&gt; loves her new iPhone (just don&#39;t ask her how it works).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://benstechcents.blogspot.com/feeds/5998864577605794442/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8608636833409525289/5998864577605794442' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8608636833409525289/posts/default/5998864577605794442'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8608636833409525289/posts/default/5998864577605794442'/><link rel='alternate' type='text/html' href='http://benstechcents.blogspot.com/2012/06/iphone-setup-with-google-voice-and.html' title='iPhone setup with Google Voice and prepaid service'/><author><name>Ben</name><uri>http://www.blogger.com/profile/01678870097840459001</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8608636833409525289.post-4169412890799617184</id><published>2011-01-09T23:30:00.000-08:00</published><updated>2021-08-28T22:38:57.661-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="old hardware"/><title type='text'>Modernizing a 1947 AM Radio</title><content type='html'>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHMwQ7p_JsY0yl6BjI4lqI9k9G6Ew_SRuyURX1LB06jFYNaXVrQGFaoIkNBY4t6OaRamk4hj5GLEFDD1vqib_qWV1bTEnKV9ioGVwNDjyRfSbCjcSlgyrcEhV6sU_70J64RzPWrUFm6WU/s1600/IMG_1224.JPG&quot;&gt;&lt;img style=&quot;float: right; margin: 0pt 0pt 10px 10px; cursor: pointer; width: 200px; height: 127px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHMwQ7p_JsY0yl6BjI4lqI9k9G6Ew_SRuyURX1LB06jFYNaXVrQGFaoIkNBY4t6OaRamk4hj5GLEFDD1vqib_qWV1bTEnKV9ioGVwNDjyRfSbCjcSlgyrcEhV6sU_70J64RzPWrUFm6WU/s200/IMG_1224.JPG&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5549973264173435906&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;For a while my wife has been asking me to modernize a Model 56E Gilfillan radio from 1947 that belonged to her great grandmother.  It&#39;s a very attractive wooden box with a vacuum tube AM radio inside.  It still worked but we don&#39;t listen to much AM radio these days, preferring our MP3 collection on our Squeezebox SLIMP3 player or someone&#39;s iPod. We&#39;ve been using some wireless speakers around the house and been happy with their quality so I finally decided to transplant the innards of the wireless speaker into the radio box.&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEefAmUmIUQnDQv0t0ONZguOcC-0MKsPNNr1X5D1MgXcOzFQ1zbqDT5ksKCFRPaSIa9CYVEuBrHRbpy9mu5Lfmqy7DSQlsipGIvNpU2USyof7jY0bH7G-l_dtDlNKFHSTCWG862D3v6zM/s1600/IMG_1226.JPG&quot;&gt;&lt;img style=&quot;float: right; margin: 0pt 0pt 10px 10px; cursor: pointer; width: 200px; height: 120px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEefAmUmIUQnDQv0t0ONZguOcC-0MKsPNNr1X5D1MgXcOzFQ1zbqDT5ksKCFRPaSIa9CYVEuBrHRbpy9mu5Lfmqy7DSQlsipGIvNpU2USyof7jY0bH7G-l_dtDlNKFHSTCWG862D3v6zM/s200/IMG_1226.JPG&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5549963432950209490&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;First I took out the insides of the old radio to see what I was going to be working with. The knobs on the front simply pulled off.  Underneath there were only 2 wood screws holding in all the electronics and they were all on a single metal frame that came out with no problems.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;float: right;&quot;&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5uK4eCcR0o9JCjYp4WVbolgIdnATrP8IIMeyWstDv0UDduxeRgoWLPy9-VtRFeVu4YJ8Tg5pY7H1XD4hPZru6OtSPIAafMc4azgES3HJcJ6YVIpi8ibmoNV1HqkQupjAcl_IWClSzAPk/s1600/IMG_1227.JPG&quot;&gt;&lt;img style=&quot;margin: 0pt 0pt 10px 10px; cursor: pointer; width: 200px; height: 184px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5uK4eCcR0o9JCjYp4WVbolgIdnATrP8IIMeyWstDv0UDduxeRgoWLPy9-VtRFeVu4YJ8Tg5pY7H1XD4hPZru6OtSPIAafMc4azgES3HJcJ6YVIpi8ibmoNV1HqkQupjAcl_IWClSzAPk/s200/IMG_1227.JPG&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5549963437979762146&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5pUZPxc8Nvd6RdswTohYTMY8hKU05CzFdJR5edQkUWyFxF6L0n9DUxtKyXSXgJ6m4KaFBuJxeD6FoLNLYIv2jT0mSfCH7DVvIashX2T9R_aGZ7w8vAOAyD0xySDK7WC32d8ijoKKuqno/s1600/IMG_1223.JPG&quot;&gt;&lt;img style=&quot;margin: 0pt 0pt 10px 10px; cursor: pointer; width: 102px; height: 184px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5pUZPxc8Nvd6RdswTohYTMY8hKU05CzFdJR5edQkUWyFxF6L0n9DUxtKyXSXgJ6m4KaFBuJxeD6FoLNLYIv2jT0mSfCH7DVvIashX2T9R_aGZ7w8vAOAyD0xySDK7WC32d8ijoKKuqno/s200/IMG_1223.JPG&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5549963421167225490&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;/span&gt;I used the guts from a &lt;a href=&quot;http://www.newegg.com/Product/Product.aspx?Item=N82E16882339035&amp;amp;cm_re=wireless_speaker-_-82-339-035-_-Product&quot;&gt; CABLES UNLIMITED SPK-VELO-002 900mHz Wireless Speaker&lt;/a&gt;. These are nice speakers with static free sounds and they don&#39;t interfere with WiFi networks. It took a while to find and remove all the screws holding it together, but once it was dissected I had the circuit board, buttons, and speaker that I needed for the operation.&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtGr7A8azz86zB810ekPwrPyAAWjGN04saeIdhe6G0nzDp8Wkj6vX8-ow5gWXgs9IJzqIqb9cqFgYaNRL_hDQwWHh6WS57ZGXdGbsBuRDLQL7YHKKKeBK1ZoNmIMywsewzorhjvtEimQw/s1600/IMG_1320.JPG&quot;&gt;&lt;img style=&quot;float: right; margin: 0pt 0pt 10px 10px; cursor: pointer; width: 200px; height: 185px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtGr7A8azz86zB810ekPwrPyAAWjGN04saeIdhe6G0nzDp8Wkj6vX8-ow5gWXgs9IJzqIqb9cqFgYaNRL_hDQwWHh6WS57ZGXdGbsBuRDLQL7YHKKKeBK1ZoNmIMywsewzorhjvtEimQw/s200/IMG_1320.JPG&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5549963543426989554&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWTjah5H5QsTJzpNcSOAYUPLaq7sTl_9vCV_GwCg7vdZts2wcXRVry1GU2RwyDOQgPDiqGKam_ezsork2iflhvBLXvwLe7e2K_GqRNmJpaPy1OHA7J520Fx1hugn9biSpnShJr-RxLjMA/s1600/IMG_1318.JPG&quot;&gt;&lt;img style=&quot;float: right; margin: 0pt 0pt 10px 10px; cursor: pointer; width: 200px; height: 112px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWTjah5H5QsTJzpNcSOAYUPLaq7sTl_9vCV_GwCg7vdZts2wcXRVry1GU2RwyDOQgPDiqGKam_ezsork2iflhvBLXvwLe7e2K_GqRNmJpaPy1OHA7J520Fx1hugn9biSpnShJr-RxLjMA/s200/IMG_1318.JPG&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5549963441358995330&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; I did some soldering to transplant the buttons, and used a generous amount of cardboard and hot glue to achieve my objective.  In the end it looks just like the original and we now have an attractive retro way to listen to music in another room.  It was a fun project and is a unique conversation piece to show guests.</content><link rel='replies' type='application/atom+xml' href='http://benstechcents.blogspot.com/feeds/4169412890799617184/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8608636833409525289/4169412890799617184' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8608636833409525289/posts/default/4169412890799617184'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8608636833409525289/posts/default/4169412890799617184'/><link rel='alternate' type='text/html' href='http://benstechcents.blogspot.com/2011/01/modernizing-1947-am-radio.html' title='Modernizing a 1947 AM Radio'/><author><name>Ben</name><uri>http://www.blogger.com/profile/01678870097840459001</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHMwQ7p_JsY0yl6BjI4lqI9k9G6Ew_SRuyURX1LB06jFYNaXVrQGFaoIkNBY4t6OaRamk4hj5GLEFDD1vqib_qWV1bTEnKV9ioGVwNDjyRfSbCjcSlgyrcEhV6sU_70J64RzPWrUFm6WU/s72-c/IMG_1224.JPG" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8608636833409525289.post-8908574738775251888</id><published>2010-02-08T05:00:00.000-08:00</published><updated>2021-08-28T22:44:40.301-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Telephones"/><title type='text'>Prepaid mobile phone cost comparison</title><content type='html'>Using a mobile phone with a traditional service plan is not a cheap way to make phone calls, but they are so useful they&#39;ve become the ubiquitous gadget.  And while there&#39;s a lot of advertising that promotes the latest mobile phones, you&#39;ll have to look much harder to find out what the real cost of ownership will be to use it for a year.  My research into this shows that prepaid mobile phone service can save you a lot of money.&lt;br /&gt;&lt;br /&gt;A few years ago I had a standard cell phone family plan that I shared with my wife.  It was pretty basic with 500 minutes, free calling between our phones, and the standard free weekends, all for only $50 per month (really $64 after taxes and extra fees).  After our 2 year contracts expired I started shopping around and concluded that prepaid service was far more cost effective for us.&lt;br /&gt;&lt;br /&gt;Here is &lt;a href=&quot;http://spreadsheets.google.com/ccc?key=0AuMADrsq3g2RdDNqYWxVTFpRSkRMM29kcXMwVHc3NVE&amp;amp;hl=en&quot;&gt;the spreadsheet&lt;/a&gt; I use to compare the real cost of each of the plans.  You can download a copy of the spreadsheet and adjust the numbers for yourself.  To use the spreadsheet  you need to add up all the minutes you used over a year (even if they were &quot;free&quot; minutes). We needed 2 phones so I only included family plans, and since we aren&#39;t heavy text message users I did not consider that in my calculations.  If you need lots of text messages or a data plan then you probably won&#39;t find a suitable prepaid plan today (sorry iPhone fans).  I&#39;m hopeful that a data option will come to prepaid in the future but I&#39;m not going to hold my breath.&lt;br /&gt;&lt;br /&gt;Prepaid services can get confusing too, with variable per minute cost and minute expiration periods.  The best ones I&#39;ve found are &lt;a href=&quot;http://www.net10.com/&quot;&gt;Net10&lt;/a&gt;, which is always 10 cents with only the expiration time varying (up to 6 months based on how much you spend upfront), and &lt;a href=&quot;http://www.t-mobile.com/shop/plans/prepaid-plans.aspx&quot;&gt;T-Mobile&lt;/a&gt; which is 10 cents and last 1 year when you add $100 increments.&lt;br /&gt;&lt;br /&gt;Check them out and run the numbers for yourself.  If you have suggestions about how to improve the spreadsheet or tips for lower cost mobile phone services please share them in the comments.</content><link rel='replies' type='application/atom+xml' href='http://benstechcents.blogspot.com/feeds/8908574738775251888/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8608636833409525289/8908574738775251888' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8608636833409525289/posts/default/8908574738775251888'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8608636833409525289/posts/default/8908574738775251888'/><link rel='alternate' type='text/html' href='http://benstechcents.blogspot.com/2010/02/prepaid-mobile-phone-cost-comparison.html' title='Prepaid mobile phone cost comparison'/><author><name>Ben</name><uri>http://www.blogger.com/profile/01678870097840459001</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8608636833409525289.post-1467654092068299000</id><published>2010-01-07T23:00:00.000-08:00</published><updated>2021-08-28T22:40:38.574-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="networks"/><title type='text'>Upgrade a wireless router with Linux</title><content type='html'>Wireless routers are cheap and often the firmware they come with shows it.&lt;br /&gt;It can be buggy, unstable and require you to reboot the router frequently to maintain your internet connection.  If you&#39;re a network geek like me you&#39;ve probably heard you can run linux on your home firewall router. Projects like &lt;a href=&quot;http://www.dd-wrt.com/&quot;&gt;dd-wrt&lt;/a&gt; and &lt;a href=&quot;http://openwrt.org/&quot;&gt;OpenWrt&lt;/a&gt; both offer excellent ways to do that.&lt;br /&gt;&lt;br /&gt;You need a router that is supported and there are many so you may already own one. You can buy the Asus WL-520gU at &lt;a href=&quot;http://www.newegg.com/Product/Product.aspx?Item=N82E16833320023&quot;&gt;Newegg&lt;/a&gt; for under $40.  It&#39;s a bargain with it&#39;s USB ports and Linux compatibility.  Asus even mentions support for dd-wrt on their product description.&lt;br /&gt;&lt;br /&gt;I use OpenWRT at home and it&#39;s been great. I&#39;ve also recently tried dd-wrt and it was so easy to install and setup that I figured I&#39;d write about it to encourage others to try it.  If you&#39;re not comfortable configuring you current router this may not be something you want to attempt.&lt;br /&gt;&lt;br /&gt;Before you start I recommend reading the official documentation specific to your router. For my Asus router the &lt;a href=&quot;http://www.dd-wrt.com/wiki/index.php/Asus_WL-520GU&quot;&gt;instructions are here&lt;/a&gt;. After reading that, you can follow the list below which summarizes the steps to install this new firmware.&lt;br /&gt;&lt;ol&gt;&lt;li&gt;connect an ethernet cable between your computer and the router&lt;/li&gt;&lt;li&gt;configure your computer with the manual address 192.168.1.2&lt;/li&gt;&lt;li&gt;hold in the recessed reset button while you connect the power cable to the router&lt;/li&gt;&lt;li&gt;the router power light will flash slowly to indicate it is ready to receive the new firmware (then you can release the reset button)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;load the latest &quot;Standard Generic&quot; .bin &lt;a href=&quot;http://www.dd-wrt.com/site/support/router-database&quot;&gt;firmware file&lt;/a&gt; for your router with the &lt;a href=&quot;http://www.dd-wrt.com/wiki/index.php/Asus_TFTP_Flash&quot;&gt;tftp command&lt;/a&gt; &lt;/li&gt;&lt;li&gt;then wait 10 minutes and login to your router at http://192.168.1.1 and setup the admin password&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;</content><link rel='replies' type='application/atom+xml' href='http://benstechcents.blogspot.com/feeds/1467654092068299000/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8608636833409525289/1467654092068299000' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8608636833409525289/posts/default/1467654092068299000'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8608636833409525289/posts/default/1467654092068299000'/><link rel='alternate' type='text/html' href='http://benstechcents.blogspot.com/2010/01/upgrade-wireless-router-with-linux.html' title='Upgrade a wireless router with Linux'/><author><name>Ben</name><uri>http://www.blogger.com/profile/01678870097840459001</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8608636833409525289.post-5379282578124615133</id><published>2009-09-30T18:30:00.000-07:00</published><updated>2009-09-30T18:39:18.010-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Photography"/><title type='text'>Eye-Fi and workflows</title><content type='html'>What is your digital photography workflow? Most amateur photographers like me probably don&#39;t think about it very often.  It&#39;s the theme of this post because I bought an &lt;a href=&quot;http://www.eye.fi/&quot;&gt;Eye-Fi Explorer card&lt;/a&gt;  for my new camera and it&#39;s whole purpose is to change how you handle digital photos.&lt;br /&gt;&lt;br /&gt;The story of the new camera is pretty standard.  My old Canon S230 broke (note to self: don&#39;t let a 2 year old use the new camera).  To replace it I got a Canon SD980 which records HD video (720p h264) and has a 24MM wide angle lens (the extra wide angle is nice).  Like most new cameras it uses SDHC flash cards and that research lead me to the Eye-Fi.&lt;br /&gt;&lt;br /&gt;The Eye-Fi card is an SHDC card that can connect WiFi networks and upload pictures to your computer.  The software that receives the pictures can then use the log of WiFi networks to &lt;a href=&quot;http://www.google.com/search?q=geotag&quot;&gt;Geotag&lt;/a&gt; each picture. Okay, that really glosses over this amazing miniature technology but it&#39;s enough for this post.  At $100 it&#39;s significantly more expensive than a standard 4GB SHDC that are around $15 now, but I imagined all the cool things it could do and it seemed worth the premium.&lt;br /&gt;&lt;br /&gt;This is my workflow:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;After I take the photos, I put the SD card in a card reader and plug it into my computer.&lt;/li&gt;&lt;li&gt;Then I run a script which copies all the files on the card to a folder on my web server. I just tell it the name of the folder to put the files in.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Last I view the folder in my web browser on &lt;a href=&quot;http://benspicgallery.sourceforge.net/&quot;&gt;my picture gallery&lt;/a&gt; site to add descriptions and delete any pictures that are not worth saving.&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;I expected the Eye-Fi card would let me skip the first 2 steps, but quickly discovered a few of its limitations. First the Eye-Fi card won&#39;t delete files after it has transferred them to the server.  This puts a big kink in my plan, as I either have to manually delete each photo on the camera after verifying that it has been uploaded to the server or keep doing the first 2 steps.  The other issue I discovered was that the video recordings on my nice new SD980 had audio static noise caused by interference generated by the radio transmitter in the Eye-Fi card. This meant I couldn&#39;t use the Eye-Fi card in my new camera, and while the company was aware of the problem they couldn&#39;t provide any assurance that it would ever be fixed.&lt;br /&gt;&lt;br /&gt;There&#39;s no doubt the Eye-Fi card is an amazing device.  The company seems to be friendly to the small group of Linux users who have made &lt;a href=&quot;http://returnbooleantrue.blogspot.com/2009/04/eye-fi-standalone-server-version-20.html&quot;&gt;a few&lt;/a&gt; &lt;a href=&quot;http://kin.klever.net/iii/&quot;&gt;versions&lt;/a&gt; &lt;a href=&quot;http://randomtechmakings.blogspot.com/2009/01/i-bought-eye-fi-sd-card-few-weeks-ago.html&quot;&gt;of the&lt;/a&gt; receiving software.  I even added geotagging to one for my own use.  If the issues I found are ever fixed will definitely try Eye-Fi card again.</content><link rel='replies' type='application/atom+xml' href='http://benstechcents.blogspot.com/feeds/5379282578124615133/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8608636833409525289/5379282578124615133' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8608636833409525289/posts/default/5379282578124615133'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8608636833409525289/posts/default/5379282578124615133'/><link rel='alternate' type='text/html' href='http://benstechcents.blogspot.com/2009/09/eye-fi-and-workflows.html' title='Eye-Fi and workflows'/><author><name>Ben</name><uri>http://www.blogger.com/profile/01678870097840459001</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8608636833409525289.post-1358537847862468919</id><published>2009-07-24T23:00:00.000-07:00</published><updated>2013-05-03T14:52:52.268-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Photography"/><title type='text'>Hosting your own photo gallery</title><content type='html'>If you&#39;re a serious shutterbug you probably know about &lt;a href=&quot;http://www.flickr.com/&quot;&gt;Flickr&lt;/a&gt;, &lt;a href=&quot;http://picasa.google.com/&quot;&gt;Picassa&lt;/a&gt;, and &lt;a href=&quot;http://www.smugmug.com/&quot;&gt;SmugMug&lt;/a&gt;.  Here&#39;s another option: you can host your gallery on your own server for free!  There are numerous programs you can use to accomplish this and I&#39;ve tried a lot of them (oh yes &lt;a href=&quot;http://gallery.menalto.com/&quot;&gt;there&lt;/a&gt; &lt;a href=&quot;http://www.jakeo.com/software/fotopholder/&quot;&gt;are&lt;/a&gt; &lt;a href=&quot;http://jalbum.net/&quot;&gt;a&lt;/a&gt; &lt;a href=&quot;http://sourceforge.net/search/?type_of_search=soft&amp;amp;words=Picture+Gallery&quot;&gt;lot&lt;/a&gt;!), but I never found one that was quite right for me.  I wanted something simple with an easy interface that would automatically process my pictures and store any descriptions I added inside the original jpeg file, so I wouldn&#39;t lose them if I switch to another program later.&lt;br /&gt;
&lt;br /&gt;
Being a software pro I decided to write my own program.  Late in 2006 I began working on my program and soon published my &quot;&lt;a href=&quot;https://github.com/benroy73/bpg&quot;&gt;Ben&#39;s Picture Gallery&lt;/a&gt;&quot; project on Sourceforge (later moved to GitHub).  I realize the name isn&#39;t very creative but it&#39;s hard to choose a good one.  I worked on it through 2007 and then moved on to other projects.  This year I finally came back to this project and gave it a modern web standards-compliant upgrade.  Thanks to &lt;a href=&quot;http://jquery.com/&quot;&gt;jQuery&lt;/a&gt; it got a lot of cool interface features.  It also plays much higher quality videos with h.264/mp4.&lt;br /&gt;
&lt;br /&gt;
I have over 16,000 photos that occupy 46 Gigabytes of hard disk space.  My collection is growing at a rate of about 10 Gigabytes per year, and I expect this rate will more than double if I buy a video camera.  That&#39;s a lot of photos!  At this rate I&#39;m likely to stay well over the free quota limits of the popular sites like Flikr so I&#39;ll probably keep hosting my own pictures for a while.&lt;br /&gt;
&lt;br /&gt;
It&#39;s actually not that difficult to host this on your own stay at home server so your friends and family can view them anytime.  You need to run a web server and install your &lt;a href=&quot;https://github.com/benroy73/bpg&quot;&gt;photo gallery software&lt;/a&gt; (on a Mac it is as easy as turning on &quot;Web Sharing&quot; in the System Preferences).  You also need to get a dynamic DNS name from a service like &lt;a href=&quot;http://www.dyndns.com/&quot;&gt;DynDNS&lt;/a&gt;.  Finally you&#39;ll need to open up port 80 on your router to let visitors access your web site.  That&#39;s it!</content><link rel='replies' type='application/atom+xml' href='http://benstechcents.blogspot.com/feeds/1358537847862468919/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8608636833409525289/1358537847862468919' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8608636833409525289/posts/default/1358537847862468919'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8608636833409525289/posts/default/1358537847862468919'/><link rel='alternate' type='text/html' href='http://benstechcents.blogspot.com/2009/07/hosting-your-own-photo-gallery.html' title='Hosting your own photo gallery'/><author><name>Ben</name><uri>http://www.blogger.com/profile/01678870097840459001</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8608636833409525289.post-2148982667016430322</id><published>2009-03-19T21:30:00.000-07:00</published><updated>2021-08-28T22:38:32.102-07:00</updated><title type='text'>Homemade USB multi-charging</title><content type='html'>USB is quickly becoming the worldwide standard for battery charging. Most new small electronic devices come with a USB cable that will charge it.  This is a great feature to look for when buying a new device.  It&#39;s more convenient for you and better for the environment when you use a single cable and power adapter to charge multiple devices.  Unfortunately due to myopic designers and legacy devices, many of us own devices that don&#39;t have USB connections.  Luckily it&#39;s not hard to fix many of these devices.&lt;br /&gt;&lt;br /&gt;I wanted to travel with a minimal charging equipment, and have convenient charging for multiple devices at home.  I had 2 mobile phones, an iPod, a GPS, 2 digital cameras, and a number of other devices that used AA and AAA batteries.  Except for the cameras I can now charge everything from a single USB hub.  I plan to make this a high priority next time I buy a camera.&lt;br /&gt;&lt;br /&gt;This is what I used:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;USB power adapter (search ebay for &quot;usb charger&quot;). They are cheap and small and you can get one for your home and car.&lt;/li&gt;&lt;li&gt;a USB hub (also cheap and small on ebay)&lt;/li&gt;&lt;li&gt;USB AA battery charger (ebay again, also charges AAA bateries)&lt;/li&gt;&lt;li&gt;a few old USB cables&lt;/li&gt;&lt;li&gt;a soldering iron, solder and heat shrink tubing&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiKjj8fPljupJ8q2bErTcI0_VJE9HdD1AwXJjoNUhZqzbyb1W8IFM5tRI6wyMMgoaTDwSZvdg72M1oKBY8fp2ekFZqMkdOnFSVp0qWrLv35gHKjdpfAPZDczka8xtHdG9yANE0fAQnLVog/s1600-h/multi-charging.JPG&quot;&gt;&lt;img style=&quot;margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 273px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiKjj8fPljupJ8q2bErTcI0_VJE9HdD1AwXJjoNUhZqzbyb1W8IFM5tRI6wyMMgoaTDwSZvdg72M1oKBY8fp2ekFZqMkdOnFSVp0qWrLv35gHKjdpfAPZDczka8xtHdG9yANE0fAQnLVog/s320/multi-charging.JPG&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5315719284419951842&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;For small devices (like mobile phones) check the markings on the chargers.  The ones that output 5VDC (that&#39;s 5 Volts of DC power) can be converted to USB.  All you need to do is cut off the cable and replace the wall brick with a USB plug.  When you solder the USB plug just make sure the pins 1 and 4 match the polarity of the power adapter for your device. A basic multimeter and the &lt;a href=&quot;http://pinouts.ru/Slots/USB_pinout.shtml&quot;&gt;USB pinout&lt;/a&gt; will help.&lt;br /&gt;&lt;br /&gt;For my phones I cut the plugs from the original charger and an old USB cable then soldered them together.  The GPS was new enought to charge with USB, but the iPod was more involved.&lt;br /&gt;&lt;br /&gt;You&#39;ll probably find out that iPods, and many other devices that use Mini USB charging cables only charge from the original cable.  This is because they have added extra resistors and designed the device to only charge when it detect them in the original &quot;charger&quot; cable.  The iPods have the resistors in the power brick so you need to make a &lt;a href=&quot;http://www.instructables.com/id/S689SIFFKHQCSIM/&quot;&gt;special USB cable&lt;/a&gt; for it and add some resistors to convince the iPod to charge (four 47K resistors work well).  Motorola  put the resistors in the end of the mini-USB plug, so you can just cut the original cable and use the original plug.&lt;br /&gt;&lt;br /&gt;Have fun and don&#39;t forget good ventilation when you are soldering.</content><link rel='replies' type='application/atom+xml' href='http://benstechcents.blogspot.com/feeds/2148982667016430322/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8608636833409525289/2148982667016430322' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8608636833409525289/posts/default/2148982667016430322'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8608636833409525289/posts/default/2148982667016430322'/><link rel='alternate' type='text/html' href='http://benstechcents.blogspot.com/2009/03/homemade-usb-multi-charging.html' title='Homemade USB multi-charging'/><author><name>Ben</name><uri>http://www.blogger.com/profile/01678870097840459001</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiKjj8fPljupJ8q2bErTcI0_VJE9HdD1AwXJjoNUhZqzbyb1W8IFM5tRI6wyMMgoaTDwSZvdg72M1oKBY8fp2ekFZqMkdOnFSVp0qWrLv35gHKjdpfAPZDczka8xtHdG9yANE0fAQnLVog/s72-c/multi-charging.JPG" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8608636833409525289.post-7693503321509149768</id><published>2009-03-09T13:00:00.000-07:00</published><updated>2009-12-25T09:54:14.425-08:00</updated><title type='text'>iCal reads Exchange calendars with Exchangeling</title><content type='html'>Recently my workplace decided to require everyone to use Exchange 2007.  If you are a Mac or Linux user and work in an organization that uses Microsoft Exchange you know it&#39;s not much fun.  The email isn&#39;t reasonable cross platform since it supports IMAP (even if it has a few bugs), but the calendar virtually requires using Windows.&lt;br /&gt;&lt;br /&gt;If you have a Mac you can try to use Entourage but it&#39;s a resource hog and not well supported.  You might try to use the web version (Outlook Web Access) but unless you use Internet Explorer it&#39;s almost worthless.  You could also use Windows with Remote Desktop or a virtual machine but that&#39;s not very convenient.&lt;br /&gt;&lt;br /&gt;Luckily one of my co-workers found the Exchange &lt;a href=&quot;http://msdn.microsoft.com/en-us/library/aa566050.aspx&quot;&gt;web service reference&lt;/a&gt; and we used it to build a Java application that converts calendars to the iCalendar format.  If you find any of this interesting you&#39;ll want to take a closer look at our &lt;a href=&quot;http://code.google.com/p/exchangeling/&quot;&gt;Exchangeling project&lt;/a&gt;.  It&#39;s the missing iCalendar feature for Microsoft Exchange.</content><link rel='replies' type='application/atom+xml' href='http://benstechcents.blogspot.com/feeds/7693503321509149768/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8608636833409525289/7693503321509149768' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8608636833409525289/posts/default/7693503321509149768'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8608636833409525289/posts/default/7693503321509149768'/><link rel='alternate' type='text/html' href='http://benstechcents.blogspot.com/2009/03/ical-reads-exchange-calendars-with.html' title='iCal reads Exchange calendars with Exchangeling'/><author><name>Ben</name><uri>http://www.blogger.com/profile/01678870097840459001</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8608636833409525289.post-8997789580767955216</id><published>2009-01-05T23:00:00.000-08:00</published><updated>2021-08-28T22:36:14.501-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="TV"/><title type='text'>Making an AppleTV into a MythTV Frontend</title><content type='html'>The AppleTV makes an excellent MythTV frontend that can play 1080i HDTV. Buying a used one on Ebay is probably the cheapest way to get a HD capable frontend for MythTV.&lt;br /&gt;&lt;br /&gt;I was curious about the stock AppleTV software, so I tried it for a few days but found it too restrictive.  The picture browsing was only usable for a small number of pictures and the video player could only play a few video formats.  The YouTube and Flickr features seemed nice but were not essential features to me.  If you like the iTunes store then you might want to keep using the AppleTV software as that&#39;s what it was designed for.&lt;br /&gt;&lt;br /&gt;But this is about MythTV and it&#39;s time to move on to the good stuff.&lt;br /&gt;As this is a followup to my &lt;a href=&quot;http://benstechcents.blogspot.com/2008/07/hdtv-on-macbook-with-mythtv.html&quot;&gt;earlier MythTV post&lt;/a&gt; you&#39;d already need the MythTV backend setup.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;What you need:&lt;/span&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;an AppleTV&lt;br /&gt;&lt;/li&gt;&lt;li&gt;a USB flash drive 1GB or larger&lt;/li&gt;&lt;li&gt;a USB hub, keyboard, and mouse&lt;/li&gt;&lt;li&gt;a programmable universal remote control&lt;br /&gt;(my Harmony 550 from &lt;a href=&quot;http://newegg.com/&quot;&gt;Newegg&lt;/a&gt; is great)&lt;/li&gt;&lt;/ol&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;These are the steps&lt;/span&gt;:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Connect the AppleTV to your TV/projector with the HDMI cable and whatever audio cables you want to connect.&lt;br /&gt;I got my cables from &lt;a href=&quot;http://www.monoprice.com/&quot;&gt;MonoPrice&lt;/a&gt; (they have HDMI to DVI cables if you need one)&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Create a &lt;a href=&quot;http://code.google.com/p/atv-bootloader/wiki/LinuxUSBPenBoot&quot;&gt;bootable USB flash disk&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://code.google.com/p/atv-bootloader/wiki/ATVBackup&quot;&gt;Backup the AppleTV&lt;/a&gt; software&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://code.google.com/p/atv-bootloader/wiki/PartitioningLinux&quot;&gt;Reformat the internal drive&lt;/a&gt; for Linux&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://code.google.com/p/atv-bootloader/wiki/InstallMythBuntu&quot;&gt;Install MythBuntu 8.10&lt;/a&gt; (I have upgraded to 9.04 without any problems)&lt;br /&gt;you&#39;ll need the keyboard and mouse for this&lt;br /&gt;choose the latest Nvida driver (I used version 177)&lt;br /&gt;enable VNC during the installation so you won&#39;t need the keyboard and mouse later&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;After installation remember to do the &quot;&lt;a href=&quot;http://code.google.com/p/atv-bootloader/wiki/PostMythbuntuHardy&quot;&gt;Post Boot Fixes&lt;/a&gt;&quot;&lt;br /&gt;The ones for &quot;Mythbuntu Hardy&quot; also work for 8.10 (Intrepid)&lt;br /&gt;&lt;br /&gt;In the &lt;code&gt;/usr/sbin/nvidia_hang_fix.sh&lt;/code&gt; file I had to use &lt;code&gt;200,720&lt;/code&gt; for &lt;code&gt;GPU2DClockFreqs&lt;/code&gt; instead of the recommended &lt;code&gt;200,800&lt;/code&gt; (the 177 driver won&#39;t allow overclocking above 720).&lt;br /&gt;This fixes 1080i playback stability (no more green distortion and freezing).&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://code.google.com/p/atv-bootloader/wiki/UpdateIRDriver#Setup_LIRC&quot;&gt;Setup the remote&lt;/a&gt; control (follow the instructions from this link)&lt;br /&gt;These are most of the files and commands you&#39;ll need to use.&lt;br /&gt;&lt;code&gt;/etc/lirc/hardware.conf&lt;/code&gt;&lt;br /&gt;&lt;code&gt;sudo /etc/init.d/lirc stop&lt;/code&gt;&lt;br /&gt;&lt;code&gt;sudo irrecord -H macmini -d /dev/usb/hiddev0 /etc/lirc/lircd-new&lt;/code&gt;&lt;br /&gt;&lt;code&gt;/etc/lirc/lircd.conf&lt;/code&gt;&lt;br /&gt;&lt;code&gt;~/.lirc/mythtv&lt;/code&gt;&lt;br /&gt;&lt;code&gt;~/.lirc/mplayer&lt;/code&gt;&lt;br /&gt;&lt;code&gt;irw /dev/lircd&lt;/code&gt;&lt;br /&gt;&lt;code&gt;sudo /etc/init.d/lirc start&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;The Apple remote has only 6 buttons, so have your programmable remote &quot;learn&quot; those 6 and then hold the menu and play button for 5 seconds and then the Apple remote will have 6 new codes for your programmable remote to learn.&lt;br /&gt;&lt;br /&gt;If the remote repeats buttons too quickly increase the &lt;code&gt;repeat&lt;/code&gt; value in &lt;code&gt;~/.lirc/mythtv&lt;/code&gt; (mine is set to &lt;code&gt;5&lt;/code&gt; and and the delay is &lt;code&gt;0&lt;/code&gt;)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Edit &lt;code&gt;/etc/X11/xorg.conf&lt;/code&gt; and remove all the extra screen resolutions&lt;br /&gt;(my projector is 1280x720 so I left that one and removed the rest)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Autostart irexec&lt;br /&gt;Applications -&gt; Settings -&gt; Settings Manager -&gt; Autostarted Apps&lt;br /&gt;add command &quot;irexec -d&quot;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;The AppleTV CPU is not very powerful so you&#39;ll want to disable CPU intensive MythTV theme options&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Setup -&gt; Appearance&lt;br /&gt;&quot;Use Transparent Boxes&quot; unchecked&lt;br /&gt;&quot;Popup Background Shading Method&quot; None&lt;/li&gt;&lt;li&gt;Setup -&gt; TV Settings -&gt; Program Guide&lt;br /&gt;&quot;Guide Shading Method&quot; Eco&lt;/li&gt;&lt;li&gt;Setup -&gt; TV Settings -&gt; Playback&lt;br /&gt;&quot;Current Video Playback Profile&quot; CPU--&lt;br /&gt;&quot;Display thumbnail preview images of recordings&quot; unchecked&lt;br /&gt;&quot;Display live preview of recordings&quot; unchecked&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;I setup a rsync cron job to sync my pictures to the AppleTV hard drive&lt;br /&gt;&lt;code&gt;rsync -rl --delete --size-only --stats -h -e &#39;ssh -c blowfish&#39; ~/photos/ appletv:/var/lib/mythtv/pictures/&lt;/code&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;I keep all my video files on my backend with the big hard drive and use NFS to mount them on the AppleTV.&lt;br /&gt;edit &lt;code&gt;/etc/exports&lt;/code&gt; on the backend to share the NFS directory&lt;br /&gt;edit &lt;code&gt;/etc/fstab&lt;/code&gt; on the frontend to automatically mount the NFS shared directory&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;One caveat is that the TV/projector needs to be turned on when the AppleTV is booted or Xorg won&#39;t detect/enable the display and won&#39;t startup.  If you know how to solve this please let me know.&lt;/span&gt;&lt;br /&gt;UPDATE:  This is resolved thanks to Will&#39;s comments.  The forum with the solution is here &lt;a href=&quot;http://ubuntuforums.org/showthread.php?t=913224&quot;&gt;http://ubuntuforums.org/showthread.php?t=913224&lt;/a&gt;, and the concise version is:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;run &lt;code&gt;xvidtune -show&lt;/code&gt;&lt;br /&gt;edit the &lt;code&gt;/etc/X11/xorg.conf file&lt;/code&gt;&lt;br /&gt;add the output from xvidtune to the &quot;Monitor&quot; section as a &quot;modeline&quot;&lt;br /&gt;add &lt;code&gt;Option &quot;ExactModeTimingsDVI&quot; &quot;True&quot;&lt;/code&gt; to the &quot;Screen&quot; section&lt;br /&gt;add &lt;code&gt;Option &quot;ConnectedMonitor&quot; &quot;DFP&quot;&lt;/code&gt; to the &quot;Screen&quot; section&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;References:&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://code.google.com/p/atv-bootloader/&quot;&gt;http://code.google.com/p/atv-bootloader/&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.mythbuntu.org/&quot;&gt;http://www.mythbuntu.org/&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;</content><link rel='replies' type='application/atom+xml' href='http://benstechcents.blogspot.com/feeds/8997789580767955216/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8608636833409525289/8997789580767955216' title='10 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8608636833409525289/posts/default/8997789580767955216'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8608636833409525289/posts/default/8997789580767955216'/><link rel='alternate' type='text/html' href='http://benstechcents.blogspot.com/2009/01/making-appletv-into-mythtv-frontend.html' title='Making an AppleTV into a MythTV Frontend'/><author><name>Ben</name><uri>http://www.blogger.com/profile/01678870097840459001</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>10</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8608636833409525289.post-6145265636450183102</id><published>2008-11-01T17:20:00.000-07:00</published><updated>2021-08-28T22:37:54.326-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="mac"/><title type='text'>WiFi Location Mac Dashboard Widget</title><content type='html'>&lt;a style=&quot;&quot; onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://7373.us/%7Ebenroy/software/LocateMe-widget.zip&quot;&gt;&lt;img style=&quot;margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 79px; height: 80px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj36-WbIrnbm4ROaWziTHH-qgXqNDa7K1nc-QlVghhomL8VPB-WIOlnM2l2Bcky5mcSIlC8Yc2egxeG_4Ax06_10FvjC_PmO2xTqEV0eyKSFL75UHZpqOy0pVWYn4VqSupQFjDMQGQImLI/s200/locateme.png&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5263848670677908850&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;LocateMe is &lt;a href=&quot;http://support.apple.com/kb/HT2492&quot;&gt;a widget&lt;/a&gt; I built for the Mac that displays your current location and lets you click to see it on Google maps.  If you are ever lost with your laptop or just don&#39;t want to look at street signs this could be handy to have available.  You can &lt;a href=&quot;http://7373.us/%7Ebenroy/software/LocateMe-widget.zip&quot;&gt;download it here&lt;/a&gt;, then just unzip it and double click to install it to the Dashboard.&lt;br /&gt;&lt;br /&gt;It uses the same system as the iPhone to determine your location based on the WiFi access points you can see (&lt;a href=&quot;http://www.skyhookwireless.com/&quot;&gt;Skyhook Wireless&lt;/a&gt; also has an add on for browsers).  Someone has actually driven around many US cities and mapped all the wireless networks that are visible. All the widget does is send them a list of access points and it gets your latitude and longitude.&lt;br /&gt;&lt;br /&gt;You may be wondering how I built this?  Well it took about 4 hours using Dashcode.  The widget map comes from the &lt;a href=&quot;http://tiger.census.gov/cgi-bin/mapbrowse-tbl/&quot;&gt;Tiger census&lt;/a&gt; system.  The information about accessing the location service came from &lt;a href=&quot;http://coderrr.wordpress.com/2008/09/10/get-the-physical-location-of-wireless-router-from-its-mac-address-bssid/&quot;&gt;Steve&#39;s blog&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;It&#39;s a pretty cool, so try it out!</content><link rel='replies' type='application/atom+xml' href='http://benstechcents.blogspot.com/feeds/6145265636450183102/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8608636833409525289/6145265636450183102' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8608636833409525289/posts/default/6145265636450183102'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8608636833409525289/posts/default/6145265636450183102'/><link rel='alternate' type='text/html' href='http://benstechcents.blogspot.com/2008/11/wifi-location-mac-dashboard-widget.html' title='WiFi Location Mac Dashboard Widget'/><author><name>Ben</name><uri>http://www.blogger.com/profile/01678870097840459001</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj36-WbIrnbm4ROaWziTHH-qgXqNDa7K1nc-QlVghhomL8VPB-WIOlnM2l2Bcky5mcSIlC8Yc2egxeG_4Ax06_10FvjC_PmO2xTqEV0eyKSFL75UHZpqOy0pVWYn4VqSupQFjDMQGQImLI/s72-c/locateme.png" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8608636833409525289.post-8794366937191778816</id><published>2008-09-18T22:20:00.000-07:00</published><updated>2010-03-17T22:11:17.660-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Backup server"/><title type='text'>Building a secure network backup server</title><content type='html'>I&#39;ve been taking digital photos for a few years and now have a collection of photos and videos with significant value to me.  Most of these photos only exist on the hard disk in my computer.  Since hard disks do occasionally break, the only way I can be sure my photos will be preserved is to keep backup copies of the files.&lt;br /&gt;&lt;br /&gt;In this post I&#39;ll describe the backup system I built.  It automatically backs up each computer in my house and keeps a secure copy at my parent&#39;s house.&lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9YB0cjDa0F3Cr1sYJfOBS5M2xi6PSAItQDaiYp6clZKx4rW6f9zJCpjuaQMjwZk2g42Q90RzP9MIh5DLmW4ozjFa2BN_WgfrGNJemTgMb-m_FNj-EaKZMG9HWRahx-gdDoahj1FlbJ2k/s1600-h/backup.png&quot;&gt;&lt;img style=&quot;margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9YB0cjDa0F3Cr1sYJfOBS5M2xi6PSAItQDaiYp6clZKx4rW6f9zJCpjuaQMjwZk2g42Q90RzP9MIh5DLmW4ozjFa2BN_WgfrGNJemTgMb-m_FNj-EaKZMG9HWRahx-gdDoahj1FlbJ2k/s200/backup.png&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5221510007588869522&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;(Thanks to &lt;a href=&quot;http://theflyingpencil.blogspot.com/&quot;&gt;MISS J&lt;/a&gt; for this illustration)&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;There were a number of  design goals for this system.&lt;br /&gt;&lt;ol&gt;&lt;li&gt;It had to be fully automatic during daily use.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;It needed to backup multiple computers with hundreds of gigabytes of disk storage.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;It needed to only store changes between each backup, so that multiple copies would not consume excessive hard disk space.&lt;/li&gt;&lt;li&gt;It must only send the changes across the network connections, since there&#39;s not enough time or bandwidth to send everything every day.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;It needed to automatically maintain an off-site copy.&lt;/li&gt;&lt;li&gt;The off-site copy needed to be encrypted before it was sent over the network so there would be no expectation of security or privacy on the internet or at the off-site location.&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;An overview of how it works:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Linux and Mac computers run backup scripts that perform these tasks:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;turn on the backup server&lt;/li&gt;&lt;li&gt;rotate a set of backups&lt;/li&gt;&lt;li&gt;use rsync + ssh + encfs to make a new backup&lt;/li&gt;&lt;li&gt;tell the backup server they are finished so it can turn itself off&lt;/li&gt;&lt;/ol&gt;The backup server is a computer with a big hard disk and no monitor.  It runs &lt;a href=&quot;http://www.debian.org/&quot;&gt;Debian&lt;/a&gt; because it&#39;s very stable and easy to install without the graphic interface.  The OS is just the basic Debian installation plus a few extra packages.  If the off-site backup is more than 1 day old the server updates it before turning itself off.&lt;br /&gt;&lt;br /&gt;The off-site location can be any computer that you have ssh access to.  In my case there was an &lt;a href=&quot;http://openwrt.org/&quot;&gt;OpenWRT&lt;/a&gt; router available that I attached a USB hard disk to and added my public ssh key to allow automated connections.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Setting up the backup server:&lt;/span&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;install &lt;a href=&quot;http://www.debian.org/&quot;&gt;Debian&lt;/a&gt; on an old computer with a big hard drive.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;I am using a AMD 1.4Ghz with a 500GB SATA drive&lt;/li&gt;&lt;li&gt;desktop partitioning, 4GB for / and the rest for /home&lt;/li&gt;&lt;li&gt;don&#39;t install any extra packages from the installer&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;apt-get install ntpdate&lt;/code&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;install extra packages&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;code&gt;apt-get install ssh&lt;/code&gt;&lt;/li&gt;&lt;li&gt;edit /etc/ssh/sshd_config&lt;br /&gt;&lt;code&gt;PermitRootLogin no&lt;/code&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;enable the serial console (optional)&lt;br /&gt;&lt;ul&gt;&lt;li&gt;edit /boot/grub/menu.lst&lt;br /&gt;&lt;code&gt;## display the grub menu on the serial port COM1 or the normal console&lt;br /&gt;serial --unit=0 --speed=9600 --word=8 --parity=no --stop=1&lt;br /&gt;terminal --timeout=10 serial console&lt;br /&gt;# kopt=root=/dev/hda1 ro console=ttyS0,9600 console=tty0&lt;br /&gt;&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;update-grub&lt;/code&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;edit /etc/inittab to enable login on serial port&lt;br /&gt;&lt;code&gt;T0:23:respawn:/sbin/getty -L ttyS0 9600 vt100&lt;/code&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;enable wakeonlan&lt;br /&gt;&lt;ul&gt;&lt;li&gt;make sure the PC BIOS will wake from PCI events or Wake-on-Lan signals&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;apt-get install ethtool apmd&lt;/code&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;add the following line to /etc/network/interfaces&lt;br /&gt;&lt;code&gt;up ethtool -s eth0 wol g&lt;/code&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;reboot then test sending a wakeonlan command&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;install fuse/encfs&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;code&gt;apt-get install module-assistant build-essential&lt;/code&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;module-assistant prepare&lt;/code&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;module-assistant auto-install fuse&lt;/code&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;apt-get install encfs&lt;/code&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;modprobe fuse&lt;/code&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;add &quot;fuse&quot; to /etc/modules&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;setup sudo permissions in /etc/sudoers so all backup users can touch files in /var/run&lt;br /&gt;&lt;ul&gt;&lt;code&gt;User_Alias  USERS = user1, user2&lt;br /&gt;Cmnd_Alias  SHUTDOWN = /usr/bin/touch /var/run/*&lt;br /&gt;root    ALL=(ALL) ALL&lt;br /&gt;USERS   ALL = NOPASSWD: SHUTDOWN&lt;br /&gt;&lt;/code&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;setup shutdown_when_idle script&lt;br /&gt;&lt;ul&gt;&lt;li&gt;add &lt;a href=&quot;http://7373.us/%7Ebenroy/software/shutdown-when-idle.sh.txt&quot;&gt;shutdown_when_idle script&lt;/a&gt; to /etc/crontab to run every minute&lt;br /&gt;&lt;/li&gt;&lt;li&gt;add &lt;a href=&quot;http://7373.us/%7Ebenroy/software/offsite-backup-sync.sh.txt&quot;&gt;offsite-backup-sync.sh&lt;/a&gt; to /root&lt;/li&gt;&lt;li&gt;add &lt;a href=&quot;http://7373.us/%7Ebenroy/software/delayed-kill&quot;&gt;delayed-kill&lt;/a&gt; to /root&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Setup the backup script on each client&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;del&gt;Mac users&lt;/del&gt;&lt;br /&gt;[UPDATE 3/18/2009 rsync on a Mac does not preserve the resource fork of files like fonts so I&#39;m no longer using this.  I&#39;m trying &lt;a href=&quot;http://www.crashplan.com&quot;&gt;CrashPlan&lt;/a&gt; now.]&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;del&gt;put the &lt;a href=&quot;http://7373.us/%7Ebenroy/software/backup-script&quot;&gt;backup script&lt;/a&gt; in /Applications/Utilities/backup-script.sh&lt;/del&gt;&lt;/li&gt;&lt;li&gt;&lt;del&gt;edit the backup script so that it uses the appropriate settings for you&lt;br /&gt;&lt;/del&gt;&lt;/li&gt;&lt;li&gt;&lt;del&gt;edit the backup_excludes.txt file and add any files you do not want to backup&lt;/del&gt;&lt;/li&gt;&lt;li&gt;&lt;del&gt;copy your ssh public key to the ~/.ssh/authorized_keys file on the backup server&lt;br /&gt;&lt;/del&gt;&lt;/li&gt;&lt;li&gt;&lt;del&gt;put the &lt;a href=&quot;http://7373.us/%7Ebenroy/software/backup.plist&quot;&gt;backup.plist&lt;/a&gt; file /Library/LaunchDaemons/backup.plist&lt;/del&gt;&lt;ul&gt;&lt;li&gt;&lt;del&gt;this will run the backup script every time your network connections change or every few hours&lt;/del&gt;&lt;/li&gt;&lt;li&gt;&lt;del&gt;the backup script checks that it is connected to your home network and does the backup if it has been more than 20 hours since the last one&lt;/del&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ol&gt;Linux users&lt;br /&gt;&lt;ol&gt;&lt;li&gt;put the &lt;a href=&quot;http://7373.us/%7Ebenroy/software/backup-script&quot;&gt;backup script&lt;/a&gt; in your home directory&lt;ul&gt;&lt;li&gt;I put mine in ~/backups/backup-script.sh&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;edit the backup script so that it uses the appropriate settings&lt;/li&gt;&lt;li&gt;edit the backup_excludes.txt file and add any files you do not want to backup&lt;/li&gt;&lt;li&gt;copy your ssh public key to the ~/.ssh/authorized_keys file on the backup server&lt;/li&gt;&lt;li&gt;add a cron job to run the backup script every day or as frequently as you want&lt;/li&gt;&lt;/ol&gt; &lt;span style=&quot;font-weight: bold;&quot;&gt;&lt;br /&gt;Always&lt;/span&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt; room for improvement&lt;/span&gt;:&lt;br /&gt;An encryption method that is rsync friendly and could hide the directory structure would make the system more secure.  One other system that looks like it may also fulfill my requirements is &lt;a href=&quot;http://areca.sourceforge.net/&quot;&gt;Areca Backup&lt;/a&gt;, and I may give it more consideration in the future.</content><link rel='replies' type='application/atom+xml' href='http://benstechcents.blogspot.com/feeds/8794366937191778816/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8608636833409525289/8794366937191778816' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8608636833409525289/posts/default/8794366937191778816'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8608636833409525289/posts/default/8794366937191778816'/><link rel='alternate' type='text/html' href='http://benstechcents.blogspot.com/2008/07/building-secure-network-backup-server.html' title='Building a secure network backup server'/><author><name>Ben</name><uri>http://www.blogger.com/profile/01678870097840459001</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9YB0cjDa0F3Cr1sYJfOBS5M2xi6PSAItQDaiYp6clZKx4rW6f9zJCpjuaQMjwZk2g42Q90RzP9MIh5DLmW4ozjFa2BN_WgfrGNJemTgMb-m_FNj-EaKZMG9HWRahx-gdDoahj1FlbJ2k/s72-c/backup.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8608636833409525289.post-880309542433046770</id><published>2008-07-09T20:00:00.000-07:00</published><updated>2021-08-28T22:36:34.096-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="TV"/><title type='text'>HDTV on a Macbook with MythTV</title><content type='html'>Mini HOWTO setup MythTV to watch HDTV on a Mac:&lt;br /&gt;&lt;br /&gt;This is a brief reference on how I setup MythTV for local HDTV broadcast stations (it works the same for unencrypted cable channels)&lt;br /&gt;&lt;ol&gt;&lt;li&gt;install Debian (or &lt;a href=&quot;http://www.ubuntu.com/&quot;&gt;Ubuntu&lt;/a&gt;)&lt;ul&gt;&lt;li&gt;since this is just the backend a slow computer works well, mine is a 866 Mhz P3&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;buy a HDHomeRun device from &lt;a href=&quot;http://www.silicondust.com/&quot;&gt;silicondust.com&lt;/a&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;they also provides &lt;a href=&quot;http://www.silicondust.com/wiki/hdhomerun/instructions/mythtv&quot;&gt;detailed instructions&lt;/a&gt;&lt;/li&gt;&lt;li&gt;connect a UHF antenna (8vsb) or connect it to cable (qam256)&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;add debian-multimedia to your /etc/apt/sources.list (not needed on Ubuntu)&lt;br /&gt;&lt;ul&gt;&lt;li&gt;deb http://www.debian-multimedia.org stable main&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;install mythtv&lt;br /&gt;&lt;ul&gt;&lt;li&gt;aptitude install mythtv-backend&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;get an account with &lt;a href=&quot;http://www.schedulesdirect.org/&quot;&gt;Schedules Direct&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;setup the MythTV backend&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;/etc/init.d/mythtv-backend stop&lt;br /&gt;&lt;/li&gt;&lt;li&gt;su - mythtv&lt;br /&gt;&lt;/li&gt;&lt;li&gt;mythtv-setup&lt;br /&gt;&lt;/li&gt;&lt;li&gt;tell mythtv to use the local IP address so that it works for frontends on other hosts&lt;br /&gt;&lt;/li&gt;&lt;li&gt;comment out bind-address in /etc/mysql/my.conf to let mysql talk to frontends on other hosts&lt;br /&gt;&lt;/li&gt;&lt;li&gt;For a headless backend you can run the mythtv-setup over ssh to a remote X-windows system like X11 on a Mac or Linux desktop&lt;br /&gt;&lt;ul&gt;&lt;li&gt;ssh -Y mythbackend-box&lt;br /&gt;&lt;/li&gt;&lt;li&gt;su -&lt;br /&gt;&lt;/li&gt;&lt;li&gt;/etc/init.d/mythtv-backend stop&lt;br /&gt;&lt;/li&gt;&lt;li&gt;chmod a+r /home/username/.Xauthority&lt;br /&gt;&lt;/li&gt;&lt;li&gt;su - mythtv&lt;br /&gt;&lt;/li&gt;&lt;li&gt;export DISPLAY=localhost:10.0;export XAUTHORITY=/home/username/.Xauthority&lt;br /&gt;&lt;/li&gt;&lt;li&gt;mythtv-setup -O Theme=blue -O Style=Windows -O ThemePainter=opengl --geometry 800x600+20+20&lt;br /&gt;&lt;/li&gt;&lt;li&gt;mythfilldatabase&lt;br /&gt;&lt;/li&gt;&lt;li&gt;/etc/init.d/mythtv-backend start&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;install &lt;a href=&quot;http://www.mythtv.org/wiki/index.php/Myth_on_Mac_OS_X&quot;&gt;MythFrontend on a Mac&lt;/a&gt; (needs &gt; 1.6 Ghz CoreDuo CPU for HDTV playback)&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;That&#39;s it!  Now have fun getting to know your new MythTV software.</content><link rel='replies' type='application/atom+xml' href='http://benstechcents.blogspot.com/feeds/880309542433046770/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8608636833409525289/880309542433046770' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8608636833409525289/posts/default/880309542433046770'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8608636833409525289/posts/default/880309542433046770'/><link rel='alternate' type='text/html' href='http://benstechcents.blogspot.com/2008/07/hdtv-on-macbook-with-mythtv.html' title='HDTV on a Macbook with MythTV'/><author><name>Ben</name><uri>http://www.blogger.com/profile/01678870097840459001</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8608636833409525289.post-8020036907483644775</id><published>2008-06-18T21:30:00.000-07:00</published><updated>2021-08-28T22:37:17.495-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="old hardware"/><title type='text'>Building a networked digital photo frame from an old laptop</title><content type='html'>&lt;h1&gt;Building a networked digital photo frame with DOS&lt;/h1&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Background&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Back in 2003 I was given an old laptop.  I have a hard time turning down any offer of a free electronic device and this was one of those times.  I didn&#39;t really know what to do with it then, but I took it thinking  there must be something interesting I could use it for.  For about 6 months, it just sat in my closet with all the other old junk I haven&#39;t been willing to part with yet.&lt;br /&gt;&lt;br /&gt;A few years later (2006) I finally decided that the best use for this machine would be to build a digital photo frame out of it.  I had seen a few articles where other people described doing this, and it seemed like a worthwhile project.  The only commercially available versions at the time had much smaller screens and were not cheap.  I searched the internet for all the articles I could find about this sort of project, and found many great descriptions and some beautiful craftsmanship.&lt;br /&gt;&lt;br /&gt;I decided to document my work as when I found that none of the other articles were quite what I wanted.  Many people were using hardware that was newer than anything I would ever dream of tearing apart to build something like this.  Others were using the Windows OS which I wanted to avoid if possible.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;The Goal&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I wanted a photo frame that would look attractive and be very simple to use.&lt;br /&gt;It needed a network connection so that I could easily change the photos by just&lt;br /&gt;updating them on my web server.  I also wanted to use only free software to keep this inexpensive and so that other people could easily adapt this for their own use.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;The Hardware&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The laptop was an old Compaq Armada 1120 from around 1996 with:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;24 MB of RAM&lt;/li&gt;&lt;li&gt;810 MB hard drive&lt;/li&gt;&lt;li&gt;10.4 inch color STN display&lt;/li&gt;&lt;li&gt;1.44 MB floppy disk drive&lt;/li&gt;&lt;li&gt;two PCMCIA slots&lt;/li&gt;&lt;li&gt;a trackball&lt;/li&gt;&lt;li&gt;Pentium 100 Mhz processor&lt;/li&gt;&lt;/ul&gt;Clearly this isn&#39;t state of the art anymore, which is why I got it for free!&lt;br /&gt;&lt;br /&gt;Since I still needed a network adapter, I purchased a Hawking 10/100 PC card from &lt;a href=&quot;http://www.newegg.com/&quot; name=&quot;newegg.com link&quot;&gt;Newegg&lt;/a&gt; that was compatible with the pcnet_cs Linux PCMCIA driver.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;The Software&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The software is the most important part of this project.  Without something that is easy to use, unobtrusive, and attractive, the whole project would not have resulted in a useful device.  This is also the part that took the longest to find an acceptable solution.&lt;br /&gt;&lt;br /&gt;I decided that I would use wget to retrieve photos from my website, and a full screen console slide show program to display the photos.  I really wanted to use Linux for the OS.  I wanted to find a small distribution that could run from a floppy, and would have PCMCIA networking support, a simple slide show program, and I would only need to make a few custom shell scripts to get exactly what I wanted.&lt;br /&gt;&lt;br /&gt;I tried a number of Linux floppy distributions but I could not find any that supported the network card well.  Those that did, lacked a packaged slide show program so I would need to compile my own from the source.  Since I didn&#39;t have many good experiences compiling packages from source code I wanted to avoid that if possible.&lt;br /&gt;&lt;br /&gt;I gave up on the floppy Linux distribution idea and moved on to looking for a slightly larger (but still small) distribution that could fit on one of my spare 16 or 32 MB compact flash cards. I even purchased a compact flash to IDE adapter on ebay to try to make this work. As with the floppy search there were few options and none were very simple.&lt;br /&gt;&lt;br /&gt;I finally gave up on the quest to use Linux for this project after I installed Debian on the original 810 MB hard drive, and discovered that the Cirrus Logic GD 7543 display chipset was not supported by the VESA framebuffer drivers in the Linux kernel. This meant that I would need to step up to a X-windows environment in order to have any hope of using Linux.  Since this laptop has some serious memory limitations, I decided to just try to find something else.&lt;br /&gt;&lt;br /&gt;What I found was &lt;a href=&quot;http://freedos.org/&quot; name=&quot;FreeDOS link&quot;&gt;FreeDOS&lt;/a&gt;.  I choose this instead of the old MS-DOS because I wanted the option to redistribute this software, to make it easier for other people to build their own digital photo frames. FreeDOS is pretty cool, at least for DOS.  For the slideshow program I found &lt;a href=&quot;http://hplx.pgdn.de/&quot; name=&quot;LxPic link&quot;&gt;LxPic&lt;/a&gt;. It&#39;s a great little program that can do a full screen slide show of JPEG files easily.&lt;br /&gt;&lt;br /&gt;With these two software pieces, I could boot from a floppy and play a slide show of all the photos on the floppy or hard drive.  That was close, but I wanted network support too.  To get the photos from the website I needed to get my network card working and a have program to retrieve the files. As it turns out there&#39;s a DOS version of the &lt;a href=&quot;http://www.rahul.net/dkaufman/&quot; name=&quot;wget link&quot;&gt;wget&lt;/a&gt; program that I had planned to use with Linux, so it was just what I needed.&lt;br /&gt;&lt;br /&gt;The only other piece I needed to make the network connection work was the DOS network drivers that were provided with my PCMCIA Ethernet card. I ran the installer for the network driver and ended up getting two files and two lines added to my autoexec.bat script.&lt;br /&gt;&lt;br /&gt;LANEN&lt;br /&gt;LE100PD 0x62 5 0x300&lt;br /&gt;&lt;br /&gt;Putting all these pieces together didn&#39;t take long and after a bit I had a working floppy disk that would boot the computer, download the photos, and play a slide show continuously.  Pretty cool!&lt;br /&gt;&lt;br /&gt;One thing still needed some work.  The laptop kept turning off the screen after about 10 minutes, because there was no mouse or keyboard activity. I tried adjusting this in the BIOS, but that had no effect.  I found a bunch of &lt;a href=&quot;http://short.stop.home.att.net/freesoft/keyb.htm&quot; name=&quot;DOS programs site link&quot;&gt;DOS programs to simulate keystrokes&lt;/a&gt;, and picked one called keypress.com (keyprs30.zip) which solved the problem nicely.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;The Construction&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYxc4gN98OrAyyZAuUlNjCOjF6KO5KHClag6np9oUkmUmXQ7n9OrJhUioQ8pvfIPf_nHOtL2n9arm5wZIPKa0bx0y1iKkpU1-Vd0SA29ZIh78riItpyvQRMxqxvH1H_YTxUifqzBOY6z8/s1600-h/img_5493.jpg&quot;&gt;&lt;img style=&quot;margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYxc4gN98OrAyyZAuUlNjCOjF6KO5KHClag6np9oUkmUmXQ7n9OrJhUioQ8pvfIPf_nHOtL2n9arm5wZIPKa0bx0y1iKkpU1-Vd0SA29ZIh78riItpyvQRMxqxvH1H_YTxUifqzBOY6z8/s200/img_5493.jpg&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5197139250395833026&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_iPYsd_44rQ_JMfsXsF94UwK0q8uCiEP108JQhC0p8AX28c8suqvFxMl-mUeRBlaGeFHzHOc_zj7MHTdsDlFpPw7vMvUFbeJ1yKNZD1uP3eyK16S_zdguMwFXduFDranJsfhNHrzFgBU/s1600-h/img_5500.jpg&quot;&gt;&lt;img style=&quot;margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_iPYsd_44rQ_JMfsXsF94UwK0q8uCiEP108JQhC0p8AX28c8suqvFxMl-mUeRBlaGeFHzHOc_zj7MHTdsDlFpPw7vMvUFbeJ1yKNZD1uP3eyK16S_zdguMwFXduFDranJsfhNHrzFgBU/s200/img_5500.jpg&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5197140083619488546&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGo5wxJ-xRaP1SmJRN6T7kcRPkM5618cH659J4K2qJfohDDj7AGT6stW6rh9ERo0eOmaHx0FSJSLvUrrwtBqFYxE4UWA05uB0p1M9gdVoch8VBZiJgRSCHyX7aJaIoA5umifbksjyMYx0/s1600-h/img_5497.jpg&quot;&gt;&lt;img style=&quot;margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 150px; height: 200px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGo5wxJ-xRaP1SmJRN6T7kcRPkM5618cH659J4K2qJfohDDj7AGT6stW6rh9ERo0eOmaHx0FSJSLvUrrwtBqFYxE4UWA05uB0p1M9gdVoch8VBZiJgRSCHyX7aJaIoA5umifbksjyMYx0/s200/img_5497.jpg&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5197152852557259762&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEnuHkIY-lvyjZLqmKrReobyELa_eN7qeGWM_wRoJBfx30YA5mnCB3y3d-JCho-LhvNvFqYs6on4V2tYSdB_4T7ZpKRoWpmoAVv62dSPKL8B10T6Pyy9ySLE4ho_Od_9rLmaYtH129Xvo/s1600-h/img_5503.jpg&quot;&gt;&lt;img style=&quot;margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 150px; height: 112px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEnuHkIY-lvyjZLqmKrReobyELa_eN7qeGWM_wRoJBfx30YA5mnCB3y3d-JCho-LhvNvFqYs6on4V2tYSdB_4T7ZpKRoWpmoAVv62dSPKL8B10T6Pyy9ySLE4ho_Od_9rLmaYtH129Xvo/s200/img_5503.jpg&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5197140087914455890&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhE_E5G9bgUwC2CrA5FfluunlIoaY2t5Uzl6FDhyphenhyphencM0vIaiE7pQGAjR_Qxj4LDARd93R50ziERvK8YbIFychwkpM7KGI4EkROA4serorJP259Q3pYGUj2Yyn-jWh607PL0qp_hYvzGkN5c/s1600-h/img_5506.jpg&quot;&gt;&lt;img style=&quot;margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 150px; height: 112px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhE_E5G9bgUwC2CrA5FfluunlIoaY2t5Uzl6FDhyphenhyphencM0vIaiE7pQGAjR_Qxj4LDARd93R50ziERvK8YbIFychwkpM7KGI4EkROA4serorJP259Q3pYGUj2Yyn-jWh607PL0qp_hYvzGkN5c/s200/img_5506.jpg&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5197140942612947842&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGkCCyDeVrRI02lX-hmNJ3ZWpV0T_pUonc4DsVCUxI_RpVgW1FjLx9h0eBn-u2iN6CyjeabxF2qqAnMQPnmvY6gpJY0Q2tCS5Pgo8Amzn79qRDSl5jgJNbephRKoVNXuzZAIhO6z3GYZ8/s1600-h/img_5511.jpg&quot;&gt;&lt;img style=&quot;margin: 0pt 10px 10px 0pt; cursor: pointer; width: 150px; height: 112px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGkCCyDeVrRI02lX-hmNJ3ZWpV0T_pUonc4DsVCUxI_RpVgW1FjLx9h0eBn-u2iN6CyjeabxF2qqAnMQPnmvY6gpJY0Q2tCS5Pgo8Amzn79qRDSl5jgJNbephRKoVNXuzZAIhO6z3GYZ8/s200/img_5511.jpg&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5197141316275102674&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;The final product&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiT4PIGKEfCbA0NNkIxUSbHsJLd8HYz9AQTzkErl-F4zAqra9nWZ0rXQrNeDFyQeTLEskcrl5tk0S8JHb5NTDeuAaPIvtSc3aBffsSxkHsRFNTQi9O4Jxsr5vu9mZUptSfq6tQLwa6JbTw/s1600-h/img_5654.jpg&quot;&gt;&lt;img style=&quot;margin: 0pt 10px 10px 0pt; cursor: pointer;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiT4PIGKEfCbA0NNkIxUSbHsJLd8HYz9AQTzkErl-F4zAqra9nWZ0rXQrNeDFyQeTLEskcrl5tk0S8JHb5NTDeuAaPIvtSc3aBffsSxkHsRFNTQi9O4Jxsr5vu9mZUptSfq6tQLwa6JbTw/s200/img_5654.jpg&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5197141320570069986&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Concluding thoughts&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The general concept looked and worked great.  There was a heat problem that caused the screen to fade to black after about 20 minutes of running.  I think this was a result of the close proximity to the motherboard, but I haven&#39;t had time to get back to this project and fix it.  If you have any suggestions on how to solve that issue please comment on this post.  Some options would be to add a fan and cut some vent holes, or just put a foam core board divider to insulate between the screen and the main board.  I&#39;ll update this post when I solve this last issue.</content><link rel='replies' type='application/atom+xml' href='http://benstechcents.blogspot.com/feeds/8020036907483644775/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8608636833409525289/8020036907483644775' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8608636833409525289/posts/default/8020036907483644775'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8608636833409525289/posts/default/8020036907483644775'/><link rel='alternate' type='text/html' href='http://benstechcents.blogspot.com/2008/06/building-networked-digital-photo-frame.html' title='Building a networked digital photo frame from an old laptop'/><author><name>Ben</name><uri>http://www.blogger.com/profile/01678870097840459001</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYxc4gN98OrAyyZAuUlNjCOjF6KO5KHClag6np9oUkmUmXQ7n9OrJhUioQ8pvfIPf_nHOtL2n9arm5wZIPKa0bx0y1iKkpU1-Vd0SA29ZIh78riItpyvQRMxqxvH1H_YTxUifqzBOY6z8/s72-c/img_5493.jpg" height="72" width="72"/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8608636833409525289.post-1952892356560512594</id><published>2008-05-13T21:50:00.000-07:00</published><updated>2021-08-28T22:38:01.597-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="mac"/><title type='text'>Tracking a stolen Macbook</title><content type='html'>A friend of mine recently had a Powerbook stolen when his home was burglarized.  Even though he had serial numbers for most of the large items that were taken, the police told him there was little chance he would ever get back any of the items.  Luckily no one was home during the incident.  Having the security of your home violated sucks, but it is a little better if the thief gets caught and you get your stuff back.&lt;br /&gt;
&lt;br /&gt;
A few years ago I read a story on &lt;a href=&quot;http://it.slashdot.org/article.pl?sid=06/05/22/1044253&quot;&gt;Slashdot&lt;/a&gt; that described someone who happened to have a remote access program installed on his Mac and was able to use it to track down the thief after it was stolen.  I had just bought a Macbook Pro and I decided that I needed a program to help me locate my new laptop if it were ever stolen.  Being too cheap and not wanting to trust a commercial service, I chose to write my own scripts for this.  Last weekend there was yet another article on &lt;a href=&quot;http://entertainment.slashdot.org/entertainment/08/05/11/0133232.shtml&quot;&gt;Slashdot&lt;/a&gt; about recovering a stolen Macbook, so it seems to be a recurring topic and I hope this post helps someone looking for an inexpensive solution to this problem.  Of course there are a few services that you can pay to help recover your Mac, but they all cost money and I think that&#39;s kind of like buying those extended warranties for electronics.  The odds of it being worthwhile are so low you&#39;re better off just saving the money.&lt;br /&gt;
&lt;br /&gt;
For Macbook owners a little upfront effort can greatly increase the probability of getting your Mac back if it&#39;s ever stolen.   The most important thing you can do is keep regular backups of your important data.  If you want to keep your data private then you can also turn on the &quot;FileVault&quot; feature to encrypt your files.  My script might help recover your laptop but there are no guarantees. So enough with the narrative and on to the details.&lt;br /&gt;
&lt;br /&gt;
UPDATE (May 16, 2011):  Not long after I finished this post the &lt;a href=&quot;http://preyproject.com/&quot;&gt;Prey project&lt;/a&gt; was released.  Since then it&#39;s rapidly matured and I&#39;d recommend using it instead of my scripts.  But please read on if you&#39;d like to see the rest of the details of my original post.&lt;br /&gt;
&lt;br /&gt;
&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjHMbiVq6h6CsBmlHIEE9WapnY5ZFLfW94D_W4N-1p9nSvmP7SnF4EAEB-xbhju0gDVjQIujMM9MB5N1Hp00oYg9ID0hWxCOClJ2CTooDeDhnBQSpCC0AoguNXpnPpZ5pXi-0c4priUAr8/s1600-h/checkin_camera.jpg&quot;&gt;&lt;img style=&quot;margin: 0pt 0pt 10px 10px; float: right; width: 100px; height: 75px; cursor: pointer;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjHMbiVq6h6CsBmlHIEE9WapnY5ZFLfW94D_W4N-1p9nSvmP7SnF4EAEB-xbhju0gDVjQIujMM9MB5N1Hp00oYg9ID0hWxCOClJ2CTooDeDhnBQSpCC0AoguNXpnPpZ5pXi-0c4priUAr8/s200/checkin_camera.jpg&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5200074554088460962&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;The script is pretty simple.  It checks a web page periodically which tells it whether everything is &lt;code&gt;&quot;normal&quot;&lt;/code&gt; or that is has been &lt;code&gt;&quot;stolen&quot;&lt;/code&gt;. If it has been stolen you just change the web page and the script will start uploading details of the network it is connected to, along with pictures of the screen, and photos from the built-in iSight camera (like the one of Mr. Bunny here). The goal is that the network details will help the police locate the laptop and the photos will provide a positive identification of the thief.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;Basic Requirements:&lt;/span&gt;&lt;ol&gt;&lt;li&gt;A Mac with OS X 10.4, 10.5 or 10.6 (that&#39;s all I&#39;ve tried so far).&lt;/li&gt;
&lt;li&gt;You need to be comfortable editing text files&lt;br /&gt;
(&lt;a href=&quot;http://docs.info.apple.com/article.html?artnum=304779-en&quot;&gt;TextEdit&lt;/a&gt; works fine if you set the &quot;Format&quot; to &quot;Plain Text&quot;)&lt;/li&gt;
&lt;li&gt;You need to be have some knowledge of &quot;&lt;a href=&quot;http://www.oreilly.com/pub/a/mac/2005/05/20/terminal1.html&quot;&gt;Terminal&lt;/a&gt;&quot;&lt;/li&gt;
&lt;li&gt;You need access to a web server that supports &lt;a href=&quot;http://en.wikipedia.org/wiki/PHP&quot;&gt;PHP scripts&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Optionally you need a server where you can run a &lt;a href=&quot;http://en.wikipedia.org/wiki/Perl&quot;&gt;Perl script&lt;/a&gt;&lt;br /&gt;
(if you want to be able to ssh back into your missing Mac)&lt;/li&gt;
&lt;/ol&gt;&lt;br /&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;Setup steps:&lt;/span&gt;&lt;ol&gt;&lt;li&gt;Download and install these scripts to your /Applications/Utilities/ folder&lt;br /&gt;
&lt;a href=&quot;http://7373.us/%7Ebenroy/software/checkin/checkin.txt&quot;&gt;checkin&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.google.com/search?q=isightcapture&quot;&gt;isightcapture&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://search.cpan.org/%7Eacg/tcpforward-0.01/tcpforward&quot;&gt;tcpforward&lt;/a&gt;&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;Make checkin executable&lt;br /&gt;
You can do this in Terminal with the command&lt;br /&gt;
&lt;code&gt;&quot;chmod +x /Applications/Utilities/checkin&quot;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Use TextEdit to edit checkin so the variables are appropriate for your installation&lt;/li&gt;
&lt;li&gt;Make checkin run periodically by creating the &lt;a href=&quot;http://7373.us/%7Ebenroy/software/checkin/checkin.plist&quot;&gt;.plist file&lt;/a&gt; in &lt;code&gt;/Library/LaunchDaemons/checkin.plist&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Download and edit the variables in &lt;a href=&quot;http://7373.us/%7Ebenroy/software/checkin/filetransfer.phps&quot;&gt;filetransfer.php&lt;/a&gt; and then copy it to your web server. (it needs to be configured with your email address and the folder path where it will save uploaded files)&lt;/li&gt;
&lt;li&gt;On the web server make sure the folder where the uploaded files are saved is writable by the web server&lt;br /&gt;
&lt;code&gt;&quot;chmod a+rwx path/to/folder/&quot;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Use TextEdit to create a file named &lt;a href=&quot;http://7373.us/%7Ebenroy/software/checkin/macbook-checkin&quot;&gt;macbook-checkin&lt;/a&gt; with only the word &lt;code&gt;&quot;normal&quot;&lt;/code&gt; in it.  Then copy it your web server.&lt;/li&gt;
&lt;/ol&gt;&lt;br /&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;How to use it:&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
If your Mac is stolen (or to test it) change the word &lt;code&gt;&quot;normal&quot;&lt;/code&gt; to &lt;code&gt;&quot;stolen&quot;&lt;/code&gt; in the macbook-checkin file on your web server.  Then every 20 minutes it will upload files to your web server.&lt;br /&gt;
&lt;br /&gt;
If you want to login to the Mac with ssh run this command on the server you configured as the TUNNELHOST in the checkin script&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;&quot;perl tcpforward -l TUNNEL_HOST_IP:26969 -l TUNNEL_HOST_IP:26922&quot;&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
This lets the checkin script create the reverse TCP tunnel to get you past most firewalls.  After the checkin script runs the next time you will be able to login with this command.&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;&quot;ssh -p 26922 TUNNEL_HOST_IP&quot;&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
(of course you&#39;ll want to change TUNNEL_HOST_IP and the ports so that they are correct for your setup)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
That&#39;s it!  Hopefully you&#39;ll never need to use it, but it&#39;s nice to know it&#39;s there if you needed it.</content><link rel='replies' type='application/atom+xml' href='http://benstechcents.blogspot.com/feeds/1952892356560512594/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8608636833409525289/1952892356560512594' title='11 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8608636833409525289/posts/default/1952892356560512594'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8608636833409525289/posts/default/1952892356560512594'/><link rel='alternate' type='text/html' href='http://benstechcents.blogspot.com/2008/05/tracking-stolen-macbook.html' title='Tracking a stolen Macbook'/><author><name>Ben</name><uri>http://www.blogger.com/profile/01678870097840459001</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjHMbiVq6h6CsBmlHIEE9WapnY5ZFLfW94D_W4N-1p9nSvmP7SnF4EAEB-xbhju0gDVjQIujMM9MB5N1Hp00oYg9ID0hWxCOClJ2CTooDeDhnBQSpCC0AoguNXpnPpZ5pXi-0c4priUAr8/s72-c/checkin_camera.jpg" height="72" width="72"/><thr:total>11</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8608636833409525289.post-646803344953515514</id><published>2008-04-24T21:50:00.000-07:00</published><updated>2021-08-28T22:37:42.784-07:00</updated><title type='text'>Zonet ZVC7610 network camera review</title><content type='html'>&lt;span style=&quot;;font-family:arial;font-size:100%;&quot;  &gt;I&#39;ve had a network camera attached to the side of my house for a few years now and it&#39;s been quite handy but one day it just died.   The picture looked a bit fuzzy, so I went out to wipe the glass in front of the lens.  That didn&#39;t help so I unplugged it to take a closer look.  I didn&#39;t see anything wrong with the lens so I plugged it back in, but it never turned on again.  I even opened it and replaced a big capacitor (the only non SMT part on the board), but it was not going to come back to life. This event suddenly put me in the market for a new network camera, so I went over to &lt;a href=&quot;http://newegg.com/&quot;&gt;Newegg&lt;/a&gt; and looked around at their net cams.&lt;br /&gt;&lt;br /&gt;I use a &lt;a href=&quot;http://www.debian.org/&quot;&gt;Debian Linux&lt;/a&gt; server with the &lt;a href=&quot;http://www.lavrsen.dk/twiki/bin/view/Motion/WebHome&quot;&gt;motion camera software&lt;/a&gt; to record motion on the camera, so I needed something that was compatible with that software.  All the motion software needs is a URL to a jpeg or mjpeg file.  My previous camera was a &lt;a href=&quot;http://www2.panasonic.com/consumer-electronics/shop/Computers-Networking/Network-Cameras/PetCams/model.BL-C1A&quot;&gt;Panasonic BL-C1A&lt;/a&gt;, which worked quite well in Firefox, Safari, IE and with my motion recording software.  On the Newegg site there were a number of similarly priced cameras that had many neat features that my old camera lacked.  I needed to avoid anything that required IE and ActiveX to work, as that almost always means a buggy piece of junk.  I found the Linksys WVC54GC and the &lt;a href=&quot;http://www.zonetusa.com/products-68.aspx&quot;&gt;Zonet ZVC7610&lt;/a&gt; which both seemed to have mjpeg and mpeg4 features, and seemed promising.  The Linksys camera seemed to be supported by motion, but it was a bit larger than my old camera and could not do mpeg4 and mjpeg simultaneously.  The Zonet camera however claimed to be able to do both, was only slightly larger than my old camera and after the rebate would cost about $50.  I ordered it and a few days later it arrived at my house.&lt;br /&gt;&lt;br /&gt;That brings me to the rest of the review... the things that you won&#39;t find in the datasheet or on the manufacturer&#39;s website.&lt;br /&gt;&lt;br /&gt;The physical dimensions are:&lt;br /&gt;3.8&quot; high, 2.8&quot; wide, 2&quot; deep (2.6&quot; with the power plug inserted)&lt;br /&gt;&lt;br /&gt;The camera does not actually have the mpeg4 feature. I&#39;ve sent a request to Zonet&#39;s tech support to confirm this, and I&#39;ll modify this if I hear back, but it&#39;s been a week now so I&#39;m not holding my breath.   I think they probably just copied the datasheet for their more expensive ZVC7630 product.&lt;br /&gt;&lt;br /&gt;The camera is set to use DHCP by default so it will start working immediately, but you&#39;ll have to find it on your network. I used &lt;a href=&quot;http://fping.sourceforge.net/&quot;&gt;fping&lt;/a&gt; to find it on my network.&lt;br /&gt;&lt;br /&gt;The image quality seems good, but not as sharp as my old camera. You have to turn the lens to focus it, and this allows it to focus as close as a few inches. &lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7HpvRjLSzrGrvY7sBZebyVgnz3BZ8NuQas9XNGvV-0g7awU2ozLPpph2O_dMkZs_1g2Z3wro4Jl0mrQ50e_wNB4JSWZ-97YONnXY-7npHG1bB9LY3OSiuUePDHfW46HWCUE3SuMIDN4E/s1600-h/image.jpg&quot;&gt;&lt;img style=&quot;cursor: pointer; float: right; width: 100px; height: 75px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7HpvRjLSzrGrvY7sBZebyVgnz3BZ8NuQas9XNGvV-0g7awU2ozLPpph2O_dMkZs_1g2Z3wro4Jl0mrQ50e_wNB4JSWZ-97YONnXY-7npHG1bB9LY3OSiuUePDHfW46HWCUE3SuMIDN4E/s200/image.jpg&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5193035946015416930&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; Here&#39;s an image from my camera, about 6&quot; from the bunny finger puppet. The low light performance is reasonable, and the frame rate seems to be close to the advertised 30fps.&lt;br /&gt;&lt;br /&gt;The mjpeg URL is not documented in the manual anywhere.  I fired up &lt;a href=&quot;http://www.wireshark.org/&quot;&gt;wireshark&lt;/a&gt; to find the URL which is http://admin:admin@[camera IP address]/cgi/mjpg/mjpeg.cgi.  Unfortunately the format of this mjpeg stream is not compatible with motion.  It&#39;s also not compatible with Firefox or Safari&#39;s native mjpeg support, which is why Zonet had to include a Java applet to handle their custom mjpeg stream format.  This is unfortunate.&lt;br /&gt;&lt;br /&gt;The single jpeg images are accessed at the URL http://admin:admin@[camera IP address]/cgi/jpg/image.cgi.  This wasn&#39;t documented either, but it was quite obvious once I looked at the open source files provide by Trendnet for their version of this hardware the IP110.&lt;br /&gt;&lt;br /&gt;This brings me to the open source topic and the GPL issues.  It seems that Zonet and Trendnet are selling the same hardware with re-branded firmware that appears to come from Allnet for their model 2281 camera.  Some of the software in the camera has the name of &lt;a href=&quot;http://www.fitivision.com/pdt/pdt1_1.htm&quot;&gt;Fitivision Technology&lt;/a&gt; and the hardware matches their CS-100A device, so they seem to be the likely OEM for this device.  They even have a &lt;a href=&quot;http://www.fitivision.com/fiti_spec_cs10x3.html&quot;&gt;live demo&lt;/a&gt; of a similar camera. The camera software is built with Linux and makes heavy use of &lt;a href=&quot;http://www.busybox.net/&quot;&gt;BusyBox&lt;/a&gt;, so it seems that Zonet is violating the GPL by not providing source code anywhere.  I&#39;ve asked them to provide me with  a copy of the source code, so maybe they will rectify this situation.  I&#39;ve heard that the BusyBox developers have had some success enforcing the GPL in court so hopefully the device manufacturers are becoming aware of their obligations when using GPL software.&lt;br /&gt;&lt;br /&gt;A nice discovery came when I scanned the camera with nmap.  It turns out the camera is running it&#39;s web server on port 80 and a telnet server on port 15566.  The telnet server provides direct access to a root shell and no password is required.  I&#39;m still exploring the filesystem and applications on the camera, but I&#39;ve been able to use the tftp client to move files to an from the camera. Eventually I hope to be able to replace or fix the mjpeg.cgi application with one that provides Firefox compatible mjpeg streams.&lt;br /&gt;&lt;br /&gt;By now I&#39;ve decided to keep the camera and I mailed in my rebate request.  The next logical step was to get out my screwdriver and crack open the case to see what&#39;s inside.&lt;br /&gt;&lt;br /&gt;Here are some photos of what I found.&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEinXPEbvkwI3ylgKi9WZHhPqiQXoz1LagNOXVA3EiFUqzxxhK7cWyNLlYos0oc-9os04D2YpA49f9CraFiR5VjG_bPcQcS28sW9KCsUKZGizK2Bhg5DYrAgMcWeH_yxeqnqefn0TDYIues/s1600-h/cam-front.jpg&quot;&gt;&lt;img style=&quot;margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 122px; height: 150px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEinXPEbvkwI3ylgKi9WZHhPqiQXoz1LagNOXVA3EiFUqzxxhK7cWyNLlYos0oc-9os04D2YpA49f9CraFiR5VjG_bPcQcS28sW9KCsUKZGizK2Bhg5DYrAgMcWeH_yxeqnqefn0TDYIues/s200/cam-front.jpg&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5192701746020180418&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMHIYwGgJpa_9GuqwMAcPJgGzKYsNcmQaDsoRe4rRqVmbmAReHHaicSjhR7SYUOkDH8tR275PLDPdsL0vIt2R3FkGfnPBsy-y59mSRumv2y1JGVHY_EVrEcKd7ftaYwu7OsOn6kxClOsM/s1600-h/cam-back.jpg&quot;&gt;&lt;img style=&quot;margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 107px; height: 150px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMHIYwGgJpa_9GuqwMAcPJgGzKYsNcmQaDsoRe4rRqVmbmAReHHaicSjhR7SYUOkDH8tR275PLDPdsL0vIt2R3FkGfnPBsy-y59mSRumv2y1JGVHY_EVrEcKd7ftaYwu7OsOn6kxClOsM/s200/cam-back.jpg&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5192701776084951506&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXlYDrcgOMJUzCSSK9UWUuQNU2VoRlHB_uGlMa1yaONgMjtrCmpnLquH8exObyPw_UpRe0OZyZEu_YrZW4mWZmHRvXOcvTmbVKYtz2R-MTjLUSUIt-xxaSUhpHWXUUjJymYRvKAMlYNb4/s1600-h/cam-opened.jpg&quot;&gt;&lt;img style=&quot;margin: 0pt 10px 10px 0pt; cursor: pointer; width: 121px; height: 150px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXlYDrcgOMJUzCSSK9UWUuQNU2VoRlHB_uGlMa1yaONgMjtrCmpnLquH8exObyPw_UpRe0OZyZEu_YrZW4mWZmHRvXOcvTmbVKYtz2R-MTjLUSUIt-xxaSUhpHWXUUjJymYRvKAMlYNb4/s200/cam-opened.jpg&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5192701780379918818&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcMMcc0dMSAm-t_HAzlh1UgChnrOjmX8huJgur0MWulXkDRFJvaiTEKtitBHk9WMYGWps7rr-i5Uo_mcMac7jbWzeUqA2Wbm-yTF4IEeF9ZhyphenhyphenqSOIdn4MSgOpR3RuUGbibZX_90Iz0Ois/s1600-h/camera-open-front.jpg&quot;&gt;&lt;img style=&quot;margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 120px; height: 150px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcMMcc0dMSAm-t_HAzlh1UgChnrOjmX8huJgur0MWulXkDRFJvaiTEKtitBHk9WMYGWps7rr-i5Uo_mcMac7jbWzeUqA2Wbm-yTF4IEeF9ZhyphenhyphenqSOIdn4MSgOpR3RuUGbibZX_90Iz0Ois/s200/camera-open-front.jpg&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5192701784674886130&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxvrpz3OGIYTIT2-6ORyDMgPfdBh4NyhualBBmXBte2rnYpTY4MsHgAL1icojd4RSeE_CeIDp0uxijixRV1s-nveRzR7lK7Z0rtHztYgYfFYPiJ9SayMMA1Nu6IRSEyu1MSd27351-T08/s1600-h/cam-opened-back.jpg&quot;&gt;&lt;img style=&quot;margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 105px; height: 150px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxvrpz3OGIYTIT2-6ORyDMgPfdBh4NyhualBBmXBte2rnYpTY4MsHgAL1icojd4RSeE_CeIDp0uxijixRV1s-nveRzR7lK7Z0rtHztYgYfFYPiJ9SayMMA1Nu6IRSEyu1MSd27351-T08/s200/cam-opened-back.jpg&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5192701784674886146&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjawDveWHeUH9nHw-_ICpZ6b4lyg1ZPPAfwe4EaJrIQC6c4RMBLMRH5mYw1noou_PW-gK_NpIRxXhkK1XgKLQvCZBzS2My0itckjkbyl68iG6WCObfpSSTBiT_DidU6J6PSvhW_a5J1UyY/s1600-h/cam-faceplate.jpg&quot;&gt;&lt;img style=&quot;margin: 0pt 10px 10px 0pt; cursor: pointer; width: 107px; height: 150px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjawDveWHeUH9nHw-_ICpZ6b4lyg1ZPPAfwe4EaJrIQC6c4RMBLMRH5mYw1noou_PW-gK_NpIRxXhkK1XgKLQvCZBzS2My0itckjkbyl68iG6WCObfpSSTBiT_DidU6J6PSvhW_a5J1UyY/s200/cam-faceplate.jpg&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5192708261485568594&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1vCX6CEtTxj_2lg5B_xmqvMq-F4s3EuPOp6BQuLjGhSueVxQ_LiQxB13ZLLaNaBFarpkldQfIaQKVpBAQZoDhzWWbilddP7lKO3ZTqDcVtCR192ILNwc9HE4o7LGv3JmCOk9dnbMoGq8/s1600-h/cam-board-lens-back.jpg&quot;&gt;&lt;img style=&quot;margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 130px; height: 130px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1vCX6CEtTxj_2lg5B_xmqvMq-F4s3EuPOp6BQuLjGhSueVxQ_LiQxB13ZLLaNaBFarpkldQfIaQKVpBAQZoDhzWWbilddP7lKO3ZTqDcVtCR192ILNwc9HE4o7LGv3JmCOk9dnbMoGq8/s200/cam-board-lens-back.jpg&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5192702368790438434&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjzEUVNLpJ4oOhM0PtuQAjHUjlgkhMPvSmYHKNo-q7fs3PZ3p45_PAcOkZmmAEYyEbuFofHXN-vT8esKXjXwZDkimdLI4LcH2BAUbhai78KkmDxDVC8HnAWcumjHSe04I0tLA4X_1VIkWw/s1600-h/cam-board-jacks.jpg&quot;&gt;&lt;img style=&quot;margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 140px; height: 130px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjzEUVNLpJ4oOhM0PtuQAjHUjlgkhMPvSmYHKNo-q7fs3PZ3p45_PAcOkZmmAEYyEbuFofHXN-vT8esKXjXwZDkimdLI4LcH2BAUbhai78KkmDxDVC8HnAWcumjHSe04I0tLA4X_1VIkWw/s200/cam-board-jacks.jpg&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5192702368790438450&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9kWmYyhdD2qlU6qE58cF7SVwc1CrhwO3LQfKJSgrNBv98CPGBxeETRsnXrc2LCJcWwJCzhD61up87hpUNpsjheW9WcGrmDfmJhtC-Gz7nwiBlDAVilhrxu9GEUYflxeslXMbtP2nXhL0/s1600-h/cam-board-main.jpg&quot;&gt;&lt;img style=&quot;margin: 0pt 10px 10px 0pt; cursor: pointer; width: 140px; height: 130px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9kWmYyhdD2qlU6qE58cF7SVwc1CrhwO3LQfKJSgrNBv98CPGBxeETRsnXrc2LCJcWwJCzhD61up87hpUNpsjheW9WcGrmDfmJhtC-Gz7nwiBlDAVilhrxu9GEUYflxeslXMbtP2nXhL0/s200/cam-board-main.jpg&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5192702373085405762&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The major chips are&lt;br /&gt;Ethernet&lt;br /&gt;IP100A&lt;br /&gt;http://www.icplus.com.tw/pp-IP100A.html&lt;br /&gt;&lt;br /&gt;Flash storage&lt;br /&gt;EN29LV320&lt;br /&gt;http://www.eonsdi.com/pdf/EN29LV320.pdf&lt;br /&gt;&lt;br /&gt;Fiti&lt;br /&gt;ARM CPU?&lt;br /&gt;&lt;br /&gt;The conclusion: I think the Zonet camera is a good piece of hardware, and it&#39;s cheap which is always nice.  Since much of the software is open source, I have some hope that I will eventually be able to get mjpeg streams compatible with Firefox.  I think the Panasonic is a better choice due to it&#39;s superior browser compatibility, and I&#39;ll pick that one next time I need another camera.  The Zonet camera has potential, but still has a lot of room for improvement to the software.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Update July 6, 2009:&lt;/span&gt;&lt;br /&gt;I got side tracked with an IP-9100A camera server and recently took another look at this camera.  I searched for firmware updates that might fix the problems but the only company that seems to provide any &lt;a href=&quot;http://trendnet.com/downloads/list_subcategory.asp?SUBTYPE_ID=1171&quot;&gt;updates is Trendnet.&lt;/a&gt;  I found that if I edited /etc/info.conf and set ModelName = TV-IP110 and ModelNumber = 1.0.0-16 it would accept the Trendnet firmware. Unfortunately the firmware (build 57) didn&#39;t fix the mjpeg stream and it disabled telnet access, but I had saved an earlier copy of the firmware (build 16) which restored the telnet access.&lt;br /&gt;&lt;br /&gt;I&#39;ve also learned that this hardware is the same as the &lt;a href=&quot;http://www.micronet.info/model_detail.aspx?series_no=11&amp;amp;sno=639&quot;&gt;Micronet SP5511&lt;/a&gt; and like Zonet they do not provided any firmware updates or GPL source code.&lt;br /&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://benstechcents.blogspot.com/feeds/646803344953515514/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8608636833409525289/646803344953515514' title='15 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8608636833409525289/posts/default/646803344953515514'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8608636833409525289/posts/default/646803344953515514'/><link rel='alternate' type='text/html' href='http://benstechcents.blogspot.com/2008/04/zonet-zvc7610-network-camera-review.html' title='Zonet ZVC7610 network camera review'/><author><name>Ben</name><uri>http://www.blogger.com/profile/01678870097840459001</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7HpvRjLSzrGrvY7sBZebyVgnz3BZ8NuQas9XNGvV-0g7awU2ozLPpph2O_dMkZs_1g2Z3wro4Jl0mrQ50e_wNB4JSWZ-97YONnXY-7npHG1bB9LY3OSiuUePDHfW46HWCUE3SuMIDN4E/s72-c/image.jpg" height="72" width="72"/><thr:total>15</thr:total></entry></feed>