<?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-6820363325210500439</id><updated>2026-07-11T10:19:21.997-07:00</updated><category term="Home Networking"/><category term="Networking"/><category term="Development"/><category term="Script"/><category term="EV Motorcycle"/><category term="Motor Controller"/><category term="Open ReVolt"/><category term="Android"/><category term="Google"/><category term="pfSense"/><category term="Google Chrome"/><category term="Javascript"/><category term="Server"/><category term="Wireless"/><category term="Android Application Development"/><category term="App"/><category term="AppleScript"/><category term="Chrome Extension"/><category term="Electronics"/><category term="VLAN"/><category term="WiFi"/><category term="Debian"/><category term="Default Password"/><category term="ESXi"/><category term="Ethernet"/><category term="JetBrains"/><category term="Linux"/><category term="Monitoring"/><category term="NAS"/><category term="PHP"/><category term="Password"/><category term="Security"/><category term="Smart Switch"/><category term="Toyota Tercel"/><category term="VMWare"/><category term="bash"/><category term="Aero Mods"/><category term="Alerting"/><category term="Android 5.x"/><category term="AutoX"/><category term="BIND9"/><category term="Camera"/><category term="Car"/><category term="CloneZilla"/><category term="DDWRT"/><category term="DNS"/><category term="DRBL"/><category term="GT-R"/><category term="Github"/><category term="Google Fiber"/><category term="Hacking"/><category term="Hard Drive"/><category term="IDE"/><category term="IntelliJ"/><category term="JetBrains Floating License Server"/><category term="LACP"/><category term="Mac OSX"/><category term="Markdown"/><category term="Nexus"/><category term="Nexus 4"/><category term="OSX"/><category term="Phone"/><category term="Python"/><category term="Racing"/><category term="Recommendations"/><category term="SCCA"/><category term="Storage"/><category term="T-Mobile"/><category term="Useless Machine"/><category term="Website"/><category term="Wireshark"/><category term="iSCSI"/><category term="iSpy"/><category term="man page"/><title type='text'>Chris C</title><subtitle type='html'>... and all the wonderful projects I&#39;ve been working on.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://blog.chriscarini.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6820363325210500439/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://blog.chriscarini.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/6820363325210500439/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>Unknown</name><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>52</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6820363325210500439.post-5321082994315609352</id><published>2023-04-23T04:36:00.000-07:00</published><updated>2023-04-23T04:36:33.229-07:00</updated><title type='text'>Franklin Sensors Stud Finder Comparison Table</title><content type='html'>I recently heard of Frankin Sensors - a company that makes professional stud finders - and wanted a quick table comparison of their different models. Not finding one online, I created my own, and am sharing here for others that might be seeking a similar comparison.

&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXKHlrNIHEnhD7YGLBCQTaXIKX8-fOt9BHCiLRk08Bh98NdG1RTqZNld-ChkQ8qBFzoGrjDzCV17jiGiBn5QNYXxgcfcy1EXYOmSBVc0n-WCwi7ASdC8n8_bQ-JIpcT9xzB_VWFAe0GqPKOe3GLzYr57BNsNJ-bq_7CTET2PDcYu3C6t2Ksp4krybswQ/s2804/Screenshot%202023-04-23%20at%2004.32.02.png&quot; style=&quot;display: block; padding: 1em 0px; text-align: center;&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; data-original-height=&quot;676&quot; data-original-width=&quot;2804&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXKHlrNIHEnhD7YGLBCQTaXIKX8-fOt9BHCiLRk08Bh98NdG1RTqZNld-ChkQ8qBFzoGrjDzCV17jiGiBn5QNYXxgcfcy1EXYOmSBVc0n-WCwi7ASdC8n8_bQ-JIpcT9xzB_VWFAe0GqPKOe3GLzYr57BNsNJ-bq_7CTET2PDcYu3C6t2Ksp4krybswQ/s600/Screenshot%202023-04-23%20at%2004.32.02.png&quot; width=&quot;1200&quot; /&gt;&lt;/a&gt;&lt;/div&gt;

If there is a mistake, something needs to be changed (e.g. new model comes out, old model stops being sold, etc), please let me know and I can update.</content><link rel='replies' type='application/atom+xml' href='http://blog.chriscarini.com/feeds/5321082994315609352/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.chriscarini.com/2023/04/franklin-sensors-stud-finder-comparison.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6820363325210500439/posts/default/5321082994315609352'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6820363325210500439/posts/default/5321082994315609352'/><link rel='alternate' type='text/html' href='http://blog.chriscarini.com/2023/04/franklin-sensors-stud-finder-comparison.html' title='Franklin Sensors Stud Finder Comparison Table'/><author><name>Unknown</name><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/AVvXsEhXKHlrNIHEnhD7YGLBCQTaXIKX8-fOt9BHCiLRk08Bh98NdG1RTqZNld-ChkQ8qBFzoGrjDzCV17jiGiBn5QNYXxgcfcy1EXYOmSBVc0n-WCwi7ASdC8n8_bQ-JIpcT9xzB_VWFAe0GqPKOe3GLzYr57BNsNJ-bq_7CTET2PDcYu3C6t2Ksp4krybswQ/s72-c/Screenshot%202023-04-23%20at%2004.32.02.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6820363325210500439.post-8565475985488522163</id><published>2021-04-06T18:02:00.001-07:00</published><updated>2021-04-06T18:05:34.466-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Home Networking"/><category scheme="http://www.blogger.com/atom/ns#" term="Monitoring"/><category scheme="http://www.blogger.com/atom/ns#" term="pfSense"/><title type='text'>External Monitoring of pfSense with UptimeRobot</title><content type='html'>&lt;p&gt;Basic external monitoring of one&#39;s home internet connection is easier than you might think. Using the free service UptimeRobot, we can ping our home network to determine if it is accessible from the public internet.&lt;/p&gt;&lt;p&gt;Below, we configure UptimeRobot to ping our public WAN IP address, and create a firewall rule in pfSense to allow UptimeRobot&#39;s servers ICMP (ping) requests to not be blocked or dropped.&lt;/p&gt;&lt;p&gt;The neat bit of &#39;magic&#39; here is that UptimeRobot publishes the IP addresses they use to do their external monitoring - we feed that list into pfSense as a firewall URL alias, and then can configure a firewall rule to &lt;b style=&quot;font-style: italic;&quot;&gt;only&amp;nbsp;&lt;/b&gt;allow ICMP (ping) requests from the UptimeRobot hosts.&lt;/p&gt;&lt;p&gt;The &#39;30k foot view&#39; of what we are doing is:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;ol style=&quot;text-align: left;&quot;&gt;&lt;li&gt;Create an UptimeRobot monitor for our public WAN IP address.&lt;/li&gt;&lt;li&gt;Create a pfSense alias of UptimeRobot&#39;s IPs&lt;/li&gt;&lt;li&gt;Create a pfSense firewall rule permitting UptimeRobot to send ICMP requests to our public WAN IP address.&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;b&gt;&lt;u&gt;Prerequisites&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;ol style=&quot;text-align: left;&quot;&gt;&lt;li&gt;[required] An account on &lt;a href=&quot;https://uptimerobot.com/&quot;&gt;UptimeRobot&lt;/a&gt;&lt;/li&gt;&lt;li&gt;[required] pfSense Firewall&lt;/li&gt;&lt;li&gt;[optional] Dynamic DNS for your network&#39;s public WAN IP address&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Note:&lt;/b&gt; We will assume you setup a Dynamic DNS entry for wan.example.com that points to your public WAN IP address. If you do not have a Dynamic DNS entry - either because you have a static IP or because you are unable to configure one on your network - you will substitute this with your public WAN IP address.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;u&gt;Steps&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;ol style=&quot;text-align: left;&quot;&gt;&lt;li&gt;Login to UptimeRobot, and create a new monitor with the below settings:&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/AVvXsEgaIyvgmRhwhEyb3Yz0NK37nShTvSJ8gZrcTE56TSOZEFEvkTqJTDuTBV1UY2ek1xxOf0Cb6BFckVWpekClmmfjv0aYRf0pAQTuo90pKwdd05FLaq46OhpACZEtcqQkxjYSxX5vpXqFQib4/s1904/Screen+Shot+2021-04-06+at+17.18.59.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1880&quot; data-original-width=&quot;1904&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgaIyvgmRhwhEyb3Yz0NK37nShTvSJ8gZrcTE56TSOZEFEvkTqJTDuTBV1UY2ek1xxOf0Cb6BFckVWpekClmmfjv0aYRf0pAQTuo90pKwdd05FLaq46OhpACZEtcqQkxjYSxX5vpXqFQib4/w640-h632/Screen+Shot+2021-04-06+at+17.18.59.png&quot; width=&quot;640&quot; /&gt;&lt;br /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;&lt;ol&gt;&lt;li&gt;&lt;b&gt;Monitor Type:&lt;/b&gt; Ping&lt;/li&gt;&lt;li&gt;&lt;b&gt;Friendly Name:&lt;/b&gt; whatever you like, I chose &lt;i&gt;&quot;Home WAN Ping&quot;&lt;/i&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;IP (or Host):&lt;/b&gt; wan.example.com&lt;/li&gt;&lt;li&gt;&lt;b&gt;Monitoring Interval:&lt;/b&gt; &quot;every 5 minutes&quot;&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;li&gt;In your pfSense installation, navigate to &quot;&lt;i&gt;Firewall &amp;gt; Aliases &amp;gt; URLs&lt;/i&gt;&quot; and create a new URL alias with the below settings:&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/AVvXsEhC3slvYe7yU6gry1YBnQ0VB-JVXR-NI4XPtprSf1OGozXXcRI4UeajwU9eh6w9bVlocPuKVpPXuLXOLtj-rItCroNL9HSj_Ox0-DQI4eVnSTigTCeDRD7NkkdDvwwbHQki0rx14UHnZYX0/s1904/Screen+Shot+2021-04-06+at+17.33.19.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1772&quot; data-original-width=&quot;1904&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhC3slvYe7yU6gry1YBnQ0VB-JVXR-NI4XPtprSf1OGozXXcRI4UeajwU9eh6w9bVlocPuKVpPXuLXOLtj-rItCroNL9HSj_Ox0-DQI4eVnSTigTCeDRD7NkkdDvwwbHQki0rx14UHnZYX0/w640-h596/Screen+Shot+2021-04-06+at+17.33.19.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;/li&gt;&lt;ol&gt;&lt;li&gt;&lt;b&gt;Name:&lt;/b&gt; UptimeRobotIPv4&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;Description:&lt;/b&gt;&amp;nbsp;UptimeRobot IPv4 Addresses&lt;/li&gt;&lt;li&gt;&lt;b&gt;Type:&lt;/b&gt; URL Table (IPs)&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;Note:&lt;/b&gt; We are making use of &lt;a href=&quot;https://docs.netgate.com/pfsense/en/latest/firewall/aliases.html#url-table-aliases&quot;&gt;pfSense &quot;URL Table Aliases&quot;&lt;/a&gt; to keep a list of IP addresses of UptimeRobot up-to-date.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;URL Table (IPs):&lt;/b&gt;&amp;nbsp;https://uptimerobot.com/inc/files/ips/IPv4.txt&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;Note:&lt;/b&gt; For the most up-to-date lists of IPs, you can view &lt;a href=&quot;https://uptimerobot.com/help/locations/&quot;&gt;UptimeRobot&#39;s &quot;Locations and IPs&quot; help page&lt;/a&gt;.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;li&gt;In your pfSense installation, navigate to &quot;&lt;i&gt;Firewall &amp;gt; Rules&lt;/i&gt;&quot; and select your WAN interface. Then click &quot;&lt;i&gt;Add&lt;/i&gt;&quot; to create a new firewall rule with the below settings:&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/AVvXsEg6OAMxY0HIJZGofHIROP8XMMumxiaHG2tuRjTaK_DMR4rvsQtpHlHcOe2l-SLGD-uk3fW06O6f5R7nprpX503TDd5FwZ0pTASHBxVPY8z8OL10Jdd-jqt936Iccj1NM-wiSx2_jVyOAyUZ/s2048/Screen+Shot+2021-04-06+at+17.55.11.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;2048&quot; data-original-width=&quot;1802&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6OAMxY0HIJZGofHIROP8XMMumxiaHG2tuRjTaK_DMR4rvsQtpHlHcOe2l-SLGD-uk3fW06O6f5R7nprpX503TDd5FwZ0pTASHBxVPY8z8OL10Jdd-jqt936Iccj1NM-wiSx2_jVyOAyUZ/w564-h640/Screen+Shot+2021-04-06+at+17.55.11.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;/li&gt;&lt;ol&gt;&lt;li&gt;&lt;b&gt;Action:&lt;/b&gt; Pass&lt;/li&gt;&lt;li&gt;&lt;b&gt;Disabled:&lt;/b&gt; unchecked&lt;/li&gt;&lt;li&gt;&lt;b&gt;Interface:&lt;/b&gt; WAN (or, whatever your WAN interface might be called)&lt;/li&gt;&lt;li&gt;&lt;b&gt;Address Family:&lt;/b&gt; IPv4&lt;/li&gt;&lt;li&gt;&lt;b&gt;Protocol:&lt;/b&gt; ICMP&lt;/li&gt;&lt;li&gt;&lt;b&gt;ICMP Subtypes:&lt;/b&gt; any&lt;/li&gt;&lt;li&gt;&lt;b&gt;Source:&lt;/b&gt; UptimeRobotIPv4 (&lt;b&gt;Note:&lt;/b&gt; This is the &quot;name&quot; you set in the step above. It should appear in a dropdown as you type.)&lt;/li&gt;&lt;li&gt;&lt;b&gt;Destination:&lt;/b&gt; WAN Address&lt;/li&gt;&lt;li&gt;&lt;b&gt;Description:&lt;/b&gt;&amp;nbsp;Allow UptimeRobot Ping Test&lt;/li&gt;&lt;/ol&gt;&lt;/ol&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;Now, UptimeRobot should be able to ping your public WAN IP address and have it&#39;s monitor check pass!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&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/AVvXsEhEDyobu0e7fHYD_DticJcb7ptyAEqMjb_xWhBxd1d1EwR53aco7qC4DAdwOhbV3jVduPv4iH4dK8Urw9lzDQuA6HXvz7lI_HjnhcQqVc6lGy5oY9mWoFb2mPmgy1tx-94hCgagSjLkidgg/s2048/Screen+Shot+2021-04-06+at+18.00.20.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;2048&quot; data-original-width=&quot;1802&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhEDyobu0e7fHYD_DticJcb7ptyAEqMjb_xWhBxd1d1EwR53aco7qC4DAdwOhbV3jVduPv4iH4dK8Urw9lzDQuA6HXvz7lI_HjnhcQqVc6lGy5oY9mWoFb2mPmgy1tx-94hCgagSjLkidgg/w564-h640/Screen+Shot+2021-04-06+at+18.00.20.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.chriscarini.com/feeds/8565475985488522163/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.chriscarini.com/2021/04/external-monitoring-of-pfsense-with.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6820363325210500439/posts/default/8565475985488522163'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6820363325210500439/posts/default/8565475985488522163'/><link rel='alternate' type='text/html' href='http://blog.chriscarini.com/2021/04/external-monitoring-of-pfsense-with.html' title='External Monitoring of pfSense with UptimeRobot'/><author><name>Unknown</name><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/AVvXsEgaIyvgmRhwhEyb3Yz0NK37nShTvSJ8gZrcTE56TSOZEFEvkTqJTDuTBV1UY2ek1xxOf0Cb6BFckVWpekClmmfjv0aYRf0pAQTuo90pKwdd05FLaq46OhpACZEtcqQkxjYSxX5vpXqFQib4/s72-w640-h632-c/Screen+Shot+2021-04-06+at+17.18.59.png" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6820363325210500439.post-5383985889163847613</id><published>2021-02-26T20:12:00.011-08:00</published><updated>2021-02-26T20:43:17.813-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android"/><category scheme="http://www.blogger.com/atom/ns#" term="Google Chrome"/><category scheme="http://www.blogger.com/atom/ns#" term="Markdown"/><title type='text'>Extract URLs from an Android phone Chrome browser to Chrome on a computer</title><content type='html'>&lt;h3 style=&quot;text-align: left;&quot;&gt;Summary:&lt;/h3&gt;&lt;p&gt;I&#39;ll be short and sweet with this one. I have a lot of tabs open on my phone. Like. A lot. 700+ ...who&#39;s counting.&lt;/p&gt;&lt;p&gt;I keep tabs open with various articles and resources in hopes of referencing them in the future.&lt;/p&gt;&lt;p&gt;As you can imagine, it is very difficult to go through all these tabs, so getting them into Markdown on my computer is much easier to look (ie, grep) for various topics.&lt;/p&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;Steps:&lt;/h3&gt;&lt;ol style=&quot;text-align: left;&quot;&gt;&lt;li&gt;Enable USB debugging on your phone.&lt;/li&gt;&lt;ol&gt;&lt;li&gt;&lt;b&gt;Android 11:&lt;/b&gt; Settings &amp;gt; System &amp;gt; Advanced &amp;gt; Developer Options &amp;gt; Debugging &amp;gt; USB debugging&lt;/li&gt;&lt;/ol&gt;&lt;li&gt;In Chrome on your computer, navigate to:&amp;nbsp;&lt;a href=&quot;chrome://inspect/#devices&quot;&gt;chrome://inspect/#devices&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Right click, select &quot;&lt;b&gt;&lt;i&gt;Inspect&lt;/i&gt;&lt;/b&gt;&quot;.&lt;/li&gt;&lt;li&gt;Under the &quot;&lt;b&gt;&lt;i&gt;Sources&lt;/i&gt;&lt;/b&gt;&quot; tab, open the &quot;&lt;b&gt;&lt;i&gt;inspect.js&lt;/i&gt;&lt;/b&gt;&quot; file. Search for the below text and comment out the if-block associated with it:&lt;/li&gt;&lt;ol&gt;&lt;li&gt;&quot;&lt;i&gt;text = text.substring(0, 100)&lt;/i&gt;&quot;&lt;/li&gt;&lt;/ol&gt;&lt;li&gt;Plug in your phone to your computer with a USB cable. After a few seconds, you may be prompted for authorization to allow the computer to debug the phone; select &quot;&lt;b&gt;&lt;i&gt;Allow&lt;/i&gt;&lt;/b&gt;&quot;&lt;/li&gt;&lt;ol&gt;&lt;li&gt;&lt;b&gt;Note:&lt;/b&gt; If you do not see anything change on the Chrome page on your computer, you may have to unplug the cable and try again.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Note2:&lt;/b&gt; You may also find success in going into USB settings, and un-authorizing all devices.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Note3:&lt;/b&gt; You may also find success in unchecking &quot;&lt;b&gt;&lt;i&gt;Discover USB devices&lt;/i&gt;&lt;/b&gt;&quot; and re-checking the checkbox.&lt;/li&gt;&lt;/ol&gt;&lt;li&gt;You will see your phone and list of tabs appear.&lt;/li&gt;&lt;ol&gt;&lt;li&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;b&gt;&lt;i&gt;Example Screenshot Below:&lt;br /&gt;&lt;/i&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/AVvXsEggTDZMxNDmc3wzESWODRKxYht3wgxJA44x2XRYYCfSrC4PDeuQhsMciDgzAZw7ePJfVq1v7NWsO9i68Gsd72VCB8QCwEksMKzgChbYaES28W6nL4Pdbx7HBXgtVELHKUsLT6jGDolmG0Iv/s678/Screen+Shot+2021-02-26+at+20.31.50.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;587&quot; data-original-width=&quot;678&quot; height=&quot;554&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggTDZMxNDmc3wzESWODRKxYht3wgxJA44x2XRYYCfSrC4PDeuQhsMciDgzAZw7ePJfVq1v7NWsO9i68Gsd72VCB8QCwEksMKzgChbYaES28W6nL4Pdbx7HBXgtVELHKUsLT6jGDolmG0Iv/w640-h554/Screen+Shot+2021-02-26+at+20.31.50.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;li&gt;In the Chrome browser (on your computer) &quot;&lt;b&gt;&lt;i&gt;Inspect&lt;/i&gt;&lt;/b&gt;&quot; tool view. Click the &quot;&lt;b&gt;&lt;i&gt;Console&lt;/i&gt;&lt;/b&gt;&quot; tab.&lt;/li&gt;&lt;li&gt;Copy and Paste the below into the console, and hit &quot;&lt;i&gt;&lt;b&gt;[Enter]&lt;/b&gt;&lt;/i&gt;&quot;. Your tabs should now be copied into your clipboard in Markdown format.&lt;/li&gt;&lt;ol&gt;&lt;li&gt;&lt;div class=&quot;gistLoad&quot; data-file=&quot;Android_Chrome_URLs_to_Markdown.js&quot; data-id=&quot;b4f3965f06def8a301f2c6a77e084d35&quot; id=&quot;gist-b4f3965f06def8a301f2c6a77e084d35&quot;&gt;
  &lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;

&lt;script src=&quot;//chriscarini.com/blogContent/gistLoader.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;&lt;/ol&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;The Results:&lt;/h3&gt;&lt;div&gt;From here, you can paste your clipboard into a Markdown file, and you will have a nice Markdown list of your URLs from your Android phone like below!&lt;/div&gt;&lt;div class=&quot;gistLoad&quot; data-file=&quot;My_URLs.md&quot; data-id=&quot;b4f3965f06def8a301f2c6a77e084d35&quot; id=&quot;gist-b4f3965f06def8a301f2c6a77e084d35&quot;&gt;
  &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;b&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;/b&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;&lt;b&gt;Further Resources:&lt;/b&gt;&lt;/h3&gt;&lt;div&gt;The Javascript above has changed a few times in the past, so tweaking it might be necessary. Below are some links to locations where historical Javascript for this has been found and updated.&lt;div&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;&lt;a href=&quot;https://android.stackexchange.com/a/193858&quot;&gt;StackExchange - Android - How can I export the list of open Chrome tabs?&lt;/a&gt;&lt;/li&gt;&lt;li&gt;https://gist.github.com/codebling/3b7bfdbfbabf7bc17d8566b92854b4c3#gistcomment-3291314&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.chriscarini.com/feeds/5383985889163847613/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.chriscarini.com/2021/02/extract-urls-from-android-phone-chrome.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6820363325210500439/posts/default/5383985889163847613'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6820363325210500439/posts/default/5383985889163847613'/><link rel='alternate' type='text/html' href='http://blog.chriscarini.com/2021/02/extract-urls-from-android-phone-chrome.html' title='Extract URLs from an Android phone Chrome browser to Chrome on a computer'/><author><name>Unknown</name><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/AVvXsEggTDZMxNDmc3wzESWODRKxYht3wgxJA44x2XRYYCfSrC4PDeuQhsMciDgzAZw7ePJfVq1v7NWsO9i68Gsd72VCB8QCwEksMKzgChbYaES28W6nL4Pdbx7HBXgtVELHKUsLT6jGDolmG0Iv/s72-w640-h554-c/Screen+Shot+2021-02-26+at+20.31.50.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6820363325210500439.post-9057516568091692282</id><published>2020-11-04T21:04:00.001-08:00</published><updated>2020-11-04T21:57:58.107-08:00</updated><title type='text'>Upgrading ReadyNAS Ultra 2 from RAIDiator 4.2.31 to ReadyNAS OS 6.9.5</title><content type='html'>&lt;p&gt;I found an old Netgear ReadyNAS Ultra 2 from many years ago and wanted to upgrade it to the latest version of firmware. The ReadyNAS said the latest version was RAIDiator 4.2 however when I visited Netgear&#39;s support site, it appeared as though they released an entirely new OS called ReadyNAS OS - the latest version was 6.10.3.&lt;/p&gt;&lt;p&gt;Some internet searching told me that it was possible (although, &lt;b&gt;&lt;i&gt;completely unsupported by Netgear&lt;/i&gt;&lt;/b&gt;), and I found several directions (links below in the &quot;Resources&quot; section) on how to perform the upgrade to ReadyNAS OS 6.* - below are the steps I followed for posterity, as well as the binary files used (mostly because I had a hard time finding them, most of the links I found pointed to Netgear&#39;s site, but the links / files had since been removed - fair, since they were from 2015 and that was a while ago).&lt;/p&gt;&lt;p&gt;&lt;b&gt;Prerequisites:&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;ol style=&quot;text-align: left;&quot;&gt;&lt;li&gt;&lt;b&gt;&lt;i&gt;&lt;span style=&quot;color: #cc0000;&quot;&gt;A BACKUP OF YOUR DATA!&lt;/span&gt;&lt;/i&gt;&lt;/b&gt; This will delete all data on the NAS, and it&#39;s never a bad idea to have tested backups! &lt;b&gt;&lt;span style=&quot;color: #cc0000;&quot;&gt;THESE STEPS WILL DELETE ALL THE DATA ON YOUR NAS!&lt;/span&gt;&lt;/b&gt; (&lt;i&gt;I take no responsibility for anything that happens to your data, follow at your own risks.&lt;/i&gt;)&lt;/li&gt;&lt;li&gt;A ReadyNAS&lt;/li&gt;&lt;li&gt;Two files, a &#39;prep&#39; file, and the upgrade file&lt;/li&gt;&lt;ol&gt;&lt;li&gt;&lt;b&gt;R4toR6_Prep_Addon.bin&lt;/b&gt; - this file sets up the NAS to perform a factory reset at the appropriate point during the upgrade&lt;/li&gt;&lt;li&gt;&lt;b&gt;R4toR6_6.9.5.bin&lt;/b&gt; - this file is the binary to perform the upgrade&lt;/li&gt;&lt;/ol&gt;&lt;/ol&gt;&lt;p&gt;&lt;/p&gt;&lt;div&gt;Below are the md5 checksums for both files:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;blockquote style=&quot;border: none; margin: 0px 0px 0px 40px; padding: 0px; text-align: left;&quot;&gt;&lt;div&gt;&lt;p class=&quot;p1&quot; style=&quot;font-family: Menlo; font-size: 14px; 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;color: #2fb41d; font-variant-ligatures: no-common-ligatures;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;s2&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt; md5sum *.bin&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div&gt;&lt;p class=&quot;p1&quot; style=&quot;font-family: Menlo; font-size: 14px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s2&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;1c3d9f17903c3918fd882c9fc2eb2802&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;R4toR6_6.9.5.bin&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div&gt;&lt;p class=&quot;p1&quot; style=&quot;font-family: Menlo; font-size: 14px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span class=&quot;s2&quot; style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;7278abf53f7d803e2f1791549f95ecc4&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp; &lt;/span&gt;R4toR6_Prep_Addon.bin&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I have &lt;a href=&quot;https://github.com/ChrisCarini/netgear-readynas-R4toR6&quot;&gt;posted these files on my GitHub&lt;/a&gt; for posterity, including the above md5 checksums for verification.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Steps:&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;1) Navigate to &quot;Add-ons -&amp;gt; Add New&quot;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;2) &quot;Choose file&quot; and select the &quot;&lt;span style=&quot;font-family: Menlo; font-size: 14px; font-variant-ligatures: no-common-ligatures;&quot;&gt;R4toR6_Prep_Addon.bin&lt;/span&gt;&quot; file&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;3) Click &quot;Upload and verify image...&quot;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&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/AVvXsEgGqnwMnZm9yXDcIkMYCAH0PdgQqvY4izj2nITxxVDGOGxl480We9PjKXJE9JLQiVo6Q12a7ASdij1zswI_VT7UUn_V-u8bIprfHrl0SM_3A6Rvs6fITwuQzllc06TK4PfAGdZ3IaE4vSWV/s1896/ReadyNAS_R4_to_R6_upgrade_step_3.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1282&quot; data-original-width=&quot;1896&quot; height=&quot;432&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGqnwMnZm9yXDcIkMYCAH0PdgQqvY4izj2nITxxVDGOGxl480We9PjKXJE9JLQiVo6Q12a7ASdij1zswI_VT7UUn_V-u8bIprfHrl0SM_3A6Rvs6fITwuQzllc06TK4PfAGdZ3IaE4vSWV/w640-h432/ReadyNAS_R4_to_R6_upgrade_step_3.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;4) Once the file is uploaded and verified successfully, you will see the below; click &quot;Install&quot;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&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/AVvXsEjpSu-pFqnIh4GG4BVBiTyGBtSiQrmIz0k15dhbUMJkMg_5tNfpMsd9bg8c7ANAV-yf7JguzxPXHDnpzq0CkLN_qxzVsG_VZjDWzY91mXoAIP2knnjz5U8MRpLYMW0etkW9sJQV75wH62GD/s1894/ReadyNAS_R4_to_R6_upgrade_step_4.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1278&quot; data-original-width=&quot;1894&quot; height=&quot;432&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpSu-pFqnIh4GG4BVBiTyGBtSiQrmIz0k15dhbUMJkMg_5tNfpMsd9bg8c7ANAV-yf7JguzxPXHDnpzq0CkLN_qxzVsG_VZjDWzY91mXoAIP2knnjz5U8MRpLYMW0etkW9sJQV75wH62GD/w640-h432/ReadyNAS_R4_to_R6_upgrade_step_4.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;5) You might be prompted to restart - do not restart.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;6) Navigate to &quot;System -&amp;gt; Update -&amp;gt; Local&quot;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;7) &quot;Choose file&quot; and select the &quot;&lt;span style=&quot;font-family: Menlo; font-size: 14px; font-variant-ligatures: no-common-ligatures;&quot;&gt;R4toR6_6.9.5.bin&lt;/span&gt;&quot; file&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&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/AVvXsEi2tm4pHDA4OExVLLtPH0NEX9ZWcDhgQJpT61kMAG1_KV9G5xQTvzvj3DocTmyThFnxwgqA-4LilpAtZ1hW3Vx9iNP8zwwdendjLEcdqizhaopcP-B7s3hijqx-DYhul1IFBeKtSyR2A0um/s1886/ReadyNAS_R4_to_R6_upgrade_step_7.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1270&quot; data-original-width=&quot;1886&quot; height=&quot;430&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2tm4pHDA4OExVLLtPH0NEX9ZWcDhgQJpT61kMAG1_KV9G5xQTvzvj3DocTmyThFnxwgqA-4LilpAtZ1hW3Vx9iNP8zwwdendjLEcdqizhaopcP-B7s3hijqx-DYhul1IFBeKtSyR2A0um/w640-h430/ReadyNAS_R4_to_R6_upgrade_step_7.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;8) Click &quot;Upload and verify image...&quot;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;9) Click &quot;Perform System Update&quot;, when prompted select &quot;Shutdown and reboot device.&quot;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&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/AVvXsEi7zDFJWOkraAAWkwK8hBmkh3-64-H0I1mtkIAmT0oLn4A96-DlaGlJa7n67Nr1xYFkwozWwO8yEP3iucA9S8-0-ZkSg1ivkVNJ6v-G9s71ndUHlyelFPMLN5dmTpYvN3xzKnW8QjboVHim/s1928/ReadyNAS_R4_to_R6_upgrade_step_9.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1456&quot; data-original-width=&quot;1928&quot; height=&quot;484&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7zDFJWOkraAAWkwK8hBmkh3-64-H0I1mtkIAmT0oLn4A96-DlaGlJa7n67Nr1xYFkwozWwO8yEP3iucA9S8-0-ZkSg1ivkVNJ6v-G9s71ndUHlyelFPMLN5dmTpYvN3xzKnW8QjboVHim/w640-h484/ReadyNAS_R4_to_R6_upgrade_step_9.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;10) Wait about 5 - 10 minutes - the NAS will be rebooted and you will be able to connect to the web interface, having had a factory reset as part of the process, the credentials will now be &quot;admin/password&quot; and you will be prompted to change this upon login.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&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/AVvXsEgowmRmLNiMI_ex2iaRkFRC6rGwbOqO8oKK6eCjKgesrJvfAABwQqlXqVyL1Znq4H_okHFzX8xPVW0hyphenhyphentiwQITwfCYvSc3oFVCWjVMRjbRjKaAyH8QrWE7HAxeY9VcUHnYydxfUN7VX5L2c/s1392/ReadyNAS_R4_to_R6_upgrade_step_10.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;821&quot; data-original-width=&quot;1392&quot; height=&quot;378&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgowmRmLNiMI_ex2iaRkFRC6rGwbOqO8oKK6eCjKgesrJvfAABwQqlXqVyL1Znq4H_okHFzX8xPVW0hyphenhyphentiwQITwfCYvSc3oFVCWjVMRjbRjKaAyH8QrWE7HAxeY9VcUHnYydxfUN7VX5L2c/w640-h378/ReadyNAS_R4_to_R6_upgrade_step_10.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;11) Configure as desired, and enjoy the newer version!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Credits:&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;With the exception of the last photo in step 10, the prior photos were from resource 3 below (blah.cloud) - I was not wise enough to take screenshots of my own NAS when I was performing the upgrade.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Resources:&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Below are some resources I found helpful, and a brief description of why I found them helpful.&lt;/div&gt;&lt;div&gt;&lt;ol style=&quot;text-align: left;&quot;&gt;&lt;li&gt;&lt;a href=&quot;https://digital-forums.com/showthread.php/998747-HOW-TO-Upgrade-Legacy-x86-ReadyNAS-to-OS6&quot;&gt;digital-forums.com - HOW TO: Upgrade Legacy x86 ReadyNAS to OS6&lt;/a&gt;&amp;nbsp;- has helpful installation steps&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://community.netgear.com/t5/ReadyNAS-Beta/ReadyNas-Ultra-2-OS6-newes-firmware/td-p/1891725&quot;&gt;community.netgear.com - ReadyNas Ultra 2 OS6 newest firmware&lt;/a&gt;&amp;nbsp;- although minimal, this convinced me to not upgrade to 6.10.* for the time being. This article was one of the more current (ie, from 2020) ones I found.&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://blah.cloud/just-for-fun/upgrading-a-legacy-readynas-from-raidiator-4-2-x-to-6-2-x/&quot;&gt;blah.cloud - Upgrading a legacy ReadyNAS from RAIDiator 4.2.x to 6.2.x&lt;/a&gt;&amp;nbsp;- a nice blog that included screenshots on the upgrade process. I decided to borrow these screenshots, since at the time of writing this blog post, I had already performed the upgrade.&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://community.netgear.com/t5/Using-your-ReadyNAS-in-Business/Upgrading-from-4-2-x-direct-to-6-3-5-beta/td-p/934984&quot;&gt;community.netgear.com - Upgrading from 4.2.x direct to 6.3.5 beta&lt;/a&gt; - reasoning from a former Netgear employee as to why the prep file is needed; &lt;i&gt;TL;DR: The NAS will get stuck at some point, and you will need to power down the NAS and do a factory reset / default settings via the boot menu.&lt;/i&gt; I didn&#39;t want to do that, the prep addon seemed way easier.&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://community.netgear.com/t5/ReadyNAS-Storage-Apps-Current/ReadyNAS-OS-6-9-3-Run-on-existing-x86-4-2-notsupported/m-p/905274&quot;&gt;community.netgear.com - ReadyNAS 6.9.3 | Running on existing x86 (4.2) #notsupported&lt;/a&gt; - A helpful post (from 2013!) that had the download links to the bin files (...&lt;i&gt;and those links still worked! Wow!&lt;/i&gt;)&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.chriscarini.com/feeds/9057516568091692282/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.chriscarini.com/2020/11/upgrading-readynas-ultra-2-from.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6820363325210500439/posts/default/9057516568091692282'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6820363325210500439/posts/default/9057516568091692282'/><link rel='alternate' type='text/html' href='http://blog.chriscarini.com/2020/11/upgrading-readynas-ultra-2-from.html' title='Upgrading ReadyNAS Ultra 2 from RAIDiator 4.2.31 to ReadyNAS OS 6.9.5'/><author><name>Unknown</name><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/AVvXsEgGqnwMnZm9yXDcIkMYCAH0PdgQqvY4izj2nITxxVDGOGxl480We9PjKXJE9JLQiVo6Q12a7ASdij1zswI_VT7UUn_V-u8bIprfHrl0SM_3A6Rvs6fITwuQzllc06TK4PfAGdZ3IaE4vSWV/s72-w640-h432-c/ReadyNAS_R4_to_R6_upgrade_step_3.png" height="72" width="72"/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6820363325210500439.post-8463814358118848543</id><published>2019-03-10T21:37:00.002-07:00</published><updated>2020-09-27T11:18:20.150-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="AutoX"/><category scheme="http://www.blogger.com/atom/ns#" term="Car"/><category scheme="http://www.blogger.com/atom/ns#" term="GT-R"/><category scheme="http://www.blogger.com/atom/ns#" term="Racing"/><category scheme="http://www.blogger.com/atom/ns#" term="SCCA"/><title type='text'>Auto-Cross in a 1991 Nissan Skyline GT-R</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;&lt;span style=&quot;text-align: left;&quot;&gt;A friend of mine asked me if I wanted to go&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Autocross&quot; style=&quot;text-align: left;&quot;&gt;Auto-crossing&lt;/a&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&amp;nbsp;in his imported&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Nissan_Skyline_GT-R#Third_generation_(1989%E2%80%931994)&quot; style=&quot;text-align: left;&quot;&gt;1991 Nissan Skyline GT-R&lt;/a&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&amp;nbsp;- how does one&amp;nbsp;&lt;/span&gt;&lt;b style=&quot;text-align: left;&quot;&gt;&lt;i&gt;not&lt;/i&gt;&lt;/b&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&amp;nbsp;say &quot;yes&quot; to that sort of question?&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&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/AVvXsEi2Yo1CHU6QDuBLrvjCFAR4XKe2JtiLQEKjTY1GBZTPjlTxsI94XWDPbKtwYTpfqRNEGl04tnrPqll_psuAy36WoY2qIG14DrE_1dktclB64cTw9jo5YOoKX62oWTHyGTo7dsxs0HY2sgg8/s2048/img_9618_47357247821_o.jpg&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1365&quot; data-original-width=&quot;2048&quot; height=&quot;426&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2Yo1CHU6QDuBLrvjCFAR4XKe2JtiLQEKjTY1GBZTPjlTxsI94XWDPbKtwYTpfqRNEGl04tnrPqll_psuAy36WoY2qIG14DrE_1dktclB64cTw9jo5YOoKX62oWTHyGTo7dsxs0HY2sgg8/w640-h426/img_9618_47357247821_o.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The event was hosted by the&amp;nbsp;&lt;a href=&quot;https://www.sfrscca.org/&quot;&gt;SCCA SF Region&lt;/a&gt;&amp;nbsp;and took&amp;nbsp;place at &lt;a href=&quot;https://www.google.com/maps/place/Marina+Municipal+Airport/@36.6807413,-121.7633199,15z/data=!4m5!3m4!1s0x0:0xf64d47bef2ad86b!8m2!3d36.6807413!4d-121.7633199&quot;&gt;Marina Airport in Marina, CA&lt;/a&gt;&amp;nbsp;on March 9th, 2019. The event was &lt;a href=&quot;https://www.motorsportreg.com/index.cfm/event/event.status/uidEvent/5F31F06B-F7DF-57CC-430F902ABF264313&quot;&gt;Round 3 for the 2019 season of the SF Region&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;iframe allowfullscreen=&quot;&quot; aria-hidden=&quot;false&quot; frameborder=&quot;0&quot; height=&quot;450&quot; src=&quot;https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3725.04362363947!2d-121.76339404882695!3d36.67359997987668!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x0%3A0x0!2zMzbCsDQwJzI1LjAiTiAxMjHCsDQ1JzQwLjMiVw!5e1!3m2!1sen!2sus!4v1601182867325!5m2!1sen!2sus&quot; style=&quot;border: 0;&quot; tabindex=&quot;0&quot; width=&quot;600&quot;&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Now, neither my friend or I try to compete competitively in AutoX, we just simply enjoy the sport and participating. As you can see from the photo above, it was raining fairly heavily during our wave. Typically, these sub-ideal conditions mean that people are unable to get the best times possible.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Was I upset that it was raining, did not have the most ideal conditions, and we were driving a GT-R? &lt;b&gt;No.&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Was it still fun? &lt;b&gt;&lt;i&gt;You bet it was!&lt;/i&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Now, I know this car means a lot to my friend, and I was not trying to do anything too crazy, so I didn&#39;t really push it 100%. Mostly because I was scared to break something, or crash it. My friend almost crashed it (visibility problems), and that was scary.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;We were in the &lt;a href=&quot;https://www.scca.com/pages/ways-to-play&quot;&gt;Street Touring X (STX) class&lt;/a&gt;, which, besides the GT-R, consisted strictly of 7 other Subaru BRZs. While we placed last in the class, it was still a total blast. Our times below:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&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/AVvXsEi8Ed7t02IN4L64j0hCHQaNiuyzjKymmrMapLlWPi7LoVY-pjue6E9bwTBKb8L-HIBXY4ZsJUyduBBTHSSNJMD7iTrMLiCcOofBYZSDqRiFfzbRKIZ80lSwYDILz2Ga15iq7POmQzleIIQL/s2006/2019-03-09-1991_Nissan_Skyline_GT-R_R32_race_times.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;204&quot; data-original-width=&quot;2006&quot; height=&quot;85&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8Ed7t02IN4L64j0hCHQaNiuyzjKymmrMapLlWPi7LoVY-pjue6E9bwTBKb8L-HIBXY4ZsJUyduBBTHSSNJMD7iTrMLiCcOofBYZSDqRiFfzbRKIZ80lSwYDILz2Ga15iq7POmQzleIIQL/w640-h66/2019-03-09-1991_Nissan_Skyline_GT-R_R32_race_times.png&quot; width=&quot;800&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;I was told the first time I ever went auto-crossing that if you aren&#39;t getting a few penalties, you&#39;re not pushing yourself or the car enough, or you&#39;re driving too far away from the cones.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;I designed and cut some nice vinyl stickers at my work&#39;s&amp;nbsp;&lt;a href=&quot;https://en.wikipedia.org/wiki/Hackerspace&quot;&gt;makerspace&lt;/a&gt;&amp;nbsp;for our race numbers, and a fun one for our race &quot;sponsor&quot;. You might be thinking &quot;what do you mean by &#39;sponsor&#39;, exactly?&quot; Good question - I had an extra domain I wasn&#39;t using and figured&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/div&gt;&lt;blockquote style=&quot;border: none; margin: 0px 0px 0px 40px; padding: 0px;&quot;&gt;&lt;i&gt;&quot;What the heck! Let me setup some basic tracking on this domain and put it on the car. Let&#39;s see if anyone visits the URL!**&amp;nbsp;&amp;nbsp;&lt;/i&gt;&lt;span face=&quot;Slack-Lato, appleLogo, sans-serif&quot; style=&quot;background-color: #f8f8f8; color: #1d1c1d; font-size: 15px; font-variant-ligatures: common-ligatures;&quot;&gt;¯\_(ツ)_/¯&lt;/span&gt;&lt;i&gt;&quot;&lt;/i&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&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/AVvXsEgWMvV6XMgZ79aju3jfI4vjIFNeMdT9-x8Pnnh5V5kpN6JmJk7gjU7Swb8NjeLncXXNENQyMLzf85pbzYYP0fhjNUfs4QXBgYhKflSwupMVDXk7EhO6QP0RMRn6dYazHOzjRnFjBsWceonI/s2048/image-20190308_175116.jpg&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1536&quot; data-original-width=&quot;2048&quot; height=&quot;480&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgWMvV6XMgZ79aju3jfI4vjIFNeMdT9-x8Pnnh5V5kpN6JmJk7gjU7Swb8NjeLncXXNENQyMLzf85pbzYYP0fhjNUfs4QXBgYhKflSwupMVDXk7EhO6QP0RMRn6dYazHOzjRnFjBsWceonI/w640-h480/image-20190308_175116.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;5&quot; tall numbers in the software - all we needed to make the number &quot;32&quot; and &quot;132&quot;&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/AVvXsEhjCYpJhw7QORPbMV6nRJ9qLIf7ABwyrT9DNyVpwTSYdeGJTlrvaysq8C52gVNF2zS1MtoEgNrtEApV6XYVG-I_D5xP8BK0QwvU3TuVfplJHFQgBRQ71ZqYcyWd5fd5IKbugdNf643glzRm/s2048/IMG_20190308_185416.jpg&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1536&quot; data-original-width=&quot;2048&quot; height=&quot;480&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhjCYpJhw7QORPbMV6nRJ9qLIf7ABwyrT9DNyVpwTSYdeGJTlrvaysq8C52gVNF2zS1MtoEgNrtEApV6XYVG-I_D5xP8BK0QwvU3TuVfplJHFQgBRQ71ZqYcyWd5fd5IKbugdNf643glzRm/w640-h480/IMG_20190308_185416.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;Finished Product - numbers, and &quot;sponsorship&quot; on transfer paper, ready for race day.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&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/AVvXsEj-rnpjkfyNCinU0ew3j9duT4rP3cg-yqovD8asJXJPUdD39rkDcwU19JC3GQwyxOZvi9CCveO4_AaOWz1E8h4KSBYvUd6TCXadX4rDjtUOr0Zah6Nx-yxo8KMM-_kaEhH4IQn3VI6dqRws/s2048/IMG_20190309_104552.jpg&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1536&quot; data-original-width=&quot;2048&quot; height=&quot;480&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-rnpjkfyNCinU0ew3j9duT4rP3cg-yqovD8asJXJPUdD39rkDcwU19JC3GQwyxOZvi9CCveO4_AaOWz1E8h4KSBYvUd6TCXadX4rDjtUOr0Zah6Nx-yxo8KMM-_kaEhH4IQn3VI6dqRws/w640-h480/IMG_20190309_104552.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;Numbers and &#39;sponsorship&#39; applied to the car&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/AVvXsEgvUVjAPbsPXIC0Gbt5alyk9C1ZVlYJybpusDLOyC61Y0hSooa4r6LXK1UtOLt4bDIgd4jUp9FRxyUTB3eMljNVcGmr2XiViZhrVQp91E0hl6gggacfwqGQDxC2eNOxm19qm_9zGCJLsYfO/s2048/IMG_20190309_141347.jpg&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1536&quot; data-original-width=&quot;2048&quot; height=&quot;480&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvUVjAPbsPXIC0Gbt5alyk9C1ZVlYJybpusDLOyC61Y0hSooa4r6LXK1UtOLt4bDIgd4jUp9FRxyUTB3eMljNVcGmr2XiViZhrVQp91E0hl6gggacfwqGQDxC2eNOxm19qm_9zGCJLsYfO/w640-h480/IMG_20190309_141347.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;Closeup of the &#39;sponsorship&#39;, for... the &#39;sponsor&#39;. Or something.&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;** = If you&#39;re wondering if anyone visited the URL, I was surprised to see that a few folks &lt;i&gt;&lt;b&gt;did:&lt;/b&gt;&lt;/i&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; font-style: italic; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2-f3Ug70uVskuEu5wgeQ5y95ESbuKaZ3XmOtK8WPUGpebXL6NVYNhCmMz_AFALZ4rWmwLU1f58RjAhRfMA3F5oUrIp7UYMuFpMDEh3u-eOtglqgaSdVIskz6On2Dfb0Su3JZthyphenhyphenOwHhv1/s544/fats.ac_domain_visitors.png&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;538&quot; data-original-width=&quot;544&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2-f3Ug70uVskuEu5wgeQ5y95ESbuKaZ3XmOtK8WPUGpebXL6NVYNhCmMz_AFALZ4rWmwLU1f58RjAhRfMA3F5oUrIp7UYMuFpMDEh3u-eOtglqgaSdVIskz6On2Dfb0Su3JZthyphenhyphenOwHhv1/s320/fats.ac_domain_visitors.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; font-style: italic; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;For context, I&#39;ve had zero visitors to this domain (and the /racing URI didn&#39;t exist prior) for at least the 90 day period.&lt;/div&gt;&lt;br /&gt;&lt;b style=&quot;font-style: italic;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://blog.chriscarini.com/feeds/8463814358118848543/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.chriscarini.com/2019/11/auto-cross-in-1991-nissan-skyline-gt-r.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6820363325210500439/posts/default/8463814358118848543'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6820363325210500439/posts/default/8463814358118848543'/><link rel='alternate' type='text/html' href='http://blog.chriscarini.com/2019/11/auto-cross-in-1991-nissan-skyline-gt-r.html' title='Auto-Cross in a 1991 Nissan Skyline GT-R'/><author><name>Unknown</name><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/AVvXsEi2Yo1CHU6QDuBLrvjCFAR4XKe2JtiLQEKjTY1GBZTPjlTxsI94XWDPbKtwYTpfqRNEGl04tnrPqll_psuAy36WoY2qIG14DrE_1dktclB64cTw9jo5YOoKX62oWTHyGTo7dsxs0HY2sgg8/s72-w640-h426-c/img_9618_47357247821_o.jpg" height="72" width="72"/><thr:total>0</thr:total><georss:featurename>Marina Municipal Airport, 781 Neeson Rd, Marina, CA 93933, USA</georss:featurename><georss:point>36.6807413 -121.7633199</georss:point><georss:box>8.3705074638211556 -156.9195699 64.990975136178847 -86.6070699</georss:box></entry><entry><id>tag:blogger.com,1999:blog-6820363325210500439.post-8043190968322456333</id><published>2019-01-08T20:59:00.000-08:00</published><updated>2019-01-08T20:59:19.129-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Javascript"/><category scheme="http://www.blogger.com/atom/ns#" term="Networking"/><category scheme="http://www.blogger.com/atom/ns#" term="WiFi"/><category scheme="http://www.blogger.com/atom/ns#" term="Wireless"/><title type='text'>Asus Wireless Router configuration saving issue</title><content type='html'>Over the recent holidays, I was updating the firmware on a friend&#39;s parent&#39;s wireless router. While in the process, I received the error while trying to save the settings: &lt;b&gt;&lt;i&gt;&quot;This port is for Download Master.&quot;&lt;/i&gt;&lt;/b&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/AVvXsEiLU1Svr_U58k9_QHjxKSGg3dBOZzbuxzNpaxdEt132uYbyNCx4w7gj8R42irIEqsO7RBnRkafRMyEu0d8NJ9DYV9Mkr1UTl-PgJnp9CZhIyl8zftdjR6aLSUsRrd2hMwB8LRoXjkOBz1mT/s1600/Screen+Shot+2019-01-08+at+20.46.48.png&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;933&quot; data-original-width=&quot;1600&quot; height=&quot;371&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLU1Svr_U58k9_QHjxKSGg3dBOZzbuxzNpaxdEt132uYbyNCx4w7gj8R42irIEqsO7RBnRkafRMyEu0d8NJ9DYV9Mkr1UTl-PgJnp9CZhIyl8zftdjR6aLSUsRrd2hMwB8LRoXjkOBz1mT/s640/Screen+Shot+2019-01-08+at+20.46.48.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Huh? I had no idea why this showed up - the page I was on had no option for &quot;Download Master&quot; anywhere that was visible to me. A quick Google search yielded the following snippet of JavaScript from the Asus web GUI for another router.&lt;br /&gt;
&lt;div class=&quot;gistLoad&quot; data-file=&quot;original.js&quot; data-id=&quot;1eab6d1fe9b9f5357aea831a35d77699&quot; id=&quot;gist-1eab6d1fe9b9f5357aea831a35d77699&quot;&gt;
&lt;/div&gt;
&lt;br /&gt;
As it turns out, the router I was working on had the same snippet, and modifying it (via Chrome&#39;s Developer Tools Console) to the below allowed me to save the settings.&lt;br /&gt;
&lt;div class=&quot;gistLoad&quot; data-file=&quot;replace.js&quot; data-id=&quot;1eab6d1fe9b9f5357aea831a35d77699&quot; id=&quot;gist-1eab6d1fe9b9f5357aea831a35d77699&quot;&gt;
&lt;/div&gt;
&lt;br /&gt;
A fun little JavaScript modification to thwart client-side input validation.&lt;br /&gt;
&lt;br /&gt;
&lt;script src=&quot;//chriscarini.com/blogContent/gistLoader.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
</content><link rel='replies' type='application/atom+xml' href='http://blog.chriscarini.com/feeds/8043190968322456333/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.chriscarini.com/2019/01/asus-wireless-router-configuration.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6820363325210500439/posts/default/8043190968322456333'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6820363325210500439/posts/default/8043190968322456333'/><link rel='alternate' type='text/html' href='http://blog.chriscarini.com/2019/01/asus-wireless-router-configuration.html' title='Asus Wireless Router configuration saving issue'/><author><name>Unknown</name><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/AVvXsEiLU1Svr_U58k9_QHjxKSGg3dBOZzbuxzNpaxdEt132uYbyNCx4w7gj8R42irIEqsO7RBnRkafRMyEu0d8NJ9DYV9Mkr1UTl-PgJnp9CZhIyl8zftdjR6aLSUsRrd2hMwB8LRoXjkOBz1mT/s72-c/Screen+Shot+2019-01-08+at+20.46.48.png" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6820363325210500439.post-1272036370369248079</id><published>2018-12-09T20:04:00.002-08:00</published><updated>2018-12-09T20:04:50.078-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Ethernet"/><category scheme="http://www.blogger.com/atom/ns#" term="Home Networking"/><category scheme="http://www.blogger.com/atom/ns#" term="Networking"/><category scheme="http://www.blogger.com/atom/ns#" term="Smart Switch"/><category scheme="http://www.blogger.com/atom/ns#" term="VLAN"/><title type='text'>VLAN Terminology</title><content type='html'>So, I recently acquired a Cisco SG200-26 from a colleague at work and set out to swap this in place of my Netgear GS108T Smart Switch - one minor setback, I needed to learn some new VLAN terminology during the process (specifically, what &quot;Interface VLAN Mode&quot; was). When working with VLANs on my Netgear, I&#39;d frequently reference my post on &lt;a href=&quot;https://blog.chriscarini.com/2014/09/increase-esxi-ethernet-ports-through.html&quot;&gt;Increasing ESXi Ethernet Ports through a Smart Switch&lt;/a&gt;&amp;nbsp;and my notes on Tagged, Untagged, and PVID. For easier future reference, here&#39;s a summary of those, in addition to some other VLAN / networking terms I&#39;ll likely need in the future when working with VLANs, especially on the new Cisco switch.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Tagged Port&lt;/b&gt; - A port receiving packets tagged with an &lt;a href=&quot;https://en.wikipedia.org/wiki/IEEE_802.1Q&quot;&gt;IEEE 802.1q&lt;/a&gt; VLAN header. &lt;i&gt;(1)&lt;/i&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Untagged Port&lt;/b&gt; - A port receiving packets untagged (typically because the sending device is not VLAN aware). &lt;i&gt;(1)&lt;/i&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;PVID (Port VLAN ID)&lt;/b&gt; - The VLAN any untagged packets should be assigned to; determines where untagged VLAN packets are forwarded. &lt;i&gt;(1,5,6)&lt;/i&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Ingress&lt;/b&gt; - Packets entering a port. &lt;i&gt;(3)&lt;/i&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Egress&lt;/b&gt; - Packets exiting a port. &lt;i&gt;(3)&lt;/i&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Interface VLAN Mode&lt;/b&gt; - Define how Tagged &amp;amp; Untagged packets are handled on the switch interface. &lt;i&gt;(3)&lt;/i&gt;&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Access&lt;/b&gt; - Allows only &lt;i&gt;&lt;b&gt;one&lt;/b&gt;&lt;/i&gt; untagged VLAN to exist - useful when connecting a VLAN unaware device to a switch for access to &lt;i&gt;only&lt;/i&gt; a specific VLAN.&amp;nbsp;&lt;i&gt;(2,3,4,5)&lt;/i&gt;&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Egress&lt;/b&gt; - Untagged&lt;/li&gt;
&lt;li&gt;&lt;b&gt;PVID&lt;/b&gt; - Automatic set to configured VLAN&lt;/li&gt;
&lt;li&gt;Single VLAN configuration only - port is a member of only one VLAN&lt;/li&gt;
&lt;li&gt;Will accept untagged packets, or tagged packets with VLAN ID to which the port is a member&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;&lt;b&gt;Trunk&lt;/b&gt;&amp;nbsp;- Allows&amp;nbsp;&lt;b&gt;&lt;i&gt;one&lt;/i&gt;&lt;/b&gt;&amp;nbsp;untagged VLAN and&amp;nbsp;&lt;b&gt;&lt;i&gt;multiple&lt;/i&gt;&lt;/b&gt;&amp;nbsp;tagged VLANs to exist - useful when connecting two devices which transfer traffic among several different VLANs (ie, router to switch, or switch to switch). &lt;i&gt;(2,3,4,5)&lt;/i&gt;&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Egress&lt;/b&gt; - Tagged&lt;/li&gt;
&lt;li&gt;&lt;b&gt;PVID&lt;/b&gt;&amp;nbsp;- Does not set PVID - native VLAN cannot be a configured Trunk VLAN or 4095 (discard VLAN)&lt;/li&gt;
&lt;li&gt;Supports multiple VLANs&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;&lt;b&gt;General&lt;/b&gt; - Allows &lt;b&gt;&lt;i&gt;multiple&lt;/i&gt;&lt;/b&gt; untagged VLANs, and &lt;b&gt;&lt;i&gt;multiple&lt;/i&gt;&lt;/b&gt; tagged VLANs to exist - typically suggested to avoid, as Access or Trunk VLAN modes should be sufficient. &lt;i&gt;(2,3,4)&lt;/i&gt;&amp;nbsp;&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Egress&lt;/b&gt; - Tagged&lt;/li&gt;
&lt;li&gt;&lt;b&gt;PVID&lt;/b&gt; - Does not set PVID - native VLAN can be any defined VLAN.&lt;/li&gt;
&lt;li&gt;Supports multiple VLANs&lt;/li&gt;
&lt;li&gt;Allows a mix of tagged and untagged VLANs in the egress direction&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;i&gt;&lt;u&gt;Resources:&lt;/u&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.chriscarini.com/2014/09/increase-esxi-ethernet-ports-through.html&quot;&gt;https://blog.chriscarini.com/2014/09/increase-esxi-ethernet-ports-through.html&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://community.cisco.com/t5/small-business-switches/general-vs-trunk-mode/m-p/2281870/highlight/true#M9574&quot;&gt;https://community.cisco.com/t5/small-business-switches/general-vs-trunk-mode/m-p/2281870/highlight/true#M9574&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.dell.com/community/Networking-General/Difference-between-General-ports-and-Trunk-ports/m-p/2279170/highlight/true#M7627&quot;&gt;https://www.dell.com/community/Networking-General/Difference-between-General-ports-and-Trunk-ports/m-p/2279170/highlight/true#M7627&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://community.linksys.com/t5/Switches/access-general-or-trunk-Tagged-or-not-Getting-desperate/m-p/283715/highlight/true#M5071&quot;&gt;https://community.linksys.com/t5/Switches/access-general-or-trunk-Tagged-or-not-Getting-desperate/m-p/283715/highlight/true#M5071&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.microhowto.info/tutorials/802.1q.html#idp28880&quot;&gt;http://www.microhowto.info/tutorials/802.1q.html#idp28880&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://administrator.de/forum/gibt-pvid-vlans-325880.html#comment-1166889&quot;&gt;https://administrator.de/forum/gibt-pvid-vlans-325880.html#comment-1166889&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://blog.chriscarini.com/feeds/1272036370369248079/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.chriscarini.com/2018/12/vlan-terminology.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6820363325210500439/posts/default/1272036370369248079'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6820363325210500439/posts/default/1272036370369248079'/><link rel='alternate' type='text/html' href='http://blog.chriscarini.com/2018/12/vlan-terminology.html' title='VLAN Terminology'/><author><name>Unknown</name><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-6820363325210500439.post-5264639837333483106</id><published>2018-12-04T19:13:00.000-08:00</published><updated>2018-12-04T19:13:48.049-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Hard Drive"/><category scheme="http://www.blogger.com/atom/ns#" term="NAS"/><category scheme="http://www.blogger.com/atom/ns#" term="Storage"/><title type='text'>Testing / breaking-in new hard drives</title><content type='html'>I tend to forget things, especially when I don&#39;t do them on a regular basis. One great example of this is how I like to test and break-in new hard drives I receive before putting them in a &#39;production&#39; system at home.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;u&gt;Super short version:&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
I make use of &lt;a href=&quot;https://wiki.archlinux.org/index.php/badblocks&quot;&gt;badblocks&lt;/a&gt;&amp;nbsp;(&lt;a href=&quot;https://linux.die.net/man/8/badblocks&quot;&gt;manpage&lt;/a&gt;).&lt;br /&gt;
&lt;br /&gt;
I typically run the below command on a &lt;b&gt;new hard drive&lt;/b&gt; (&lt;i&gt;&lt;span style=&quot;color: #cc0000;&quot;&gt;Danger!&lt;/span&gt;&lt;/i&gt; &lt;i&gt;This command is destructive, it will wipe data on the drive!&lt;/i&gt;):&lt;br /&gt;
&lt;div class=&quot;gistLoad&quot; data-file=&quot;badblocks_new_drive.sh&quot; data-id=&quot;59700046d51915c2f7c58393fb2f9a95&quot; id=&quot;gist-59700046d51915c2f7c58393fb2f9a95&quot;&gt;
&lt;/div&gt;
&lt;br /&gt;
I typically modify the command as below for a &lt;b&gt;hard drive with data on it&lt;/b&gt;: (note the change from `-w` flag to `-n`)&lt;br /&gt;
&lt;div class=&quot;gistLoad&quot; data-file=&quot;badblocks_command_for_existing_drive.sh&quot; data-id=&quot;59700046d51915c2f7c58393fb2f9a95&quot; id=&quot;gist-59700046d51915c2f7c58393fb2f9a95&quot;&gt;
&lt;/div&gt;
&lt;br /&gt;
If the drive test gets interrupted part way through (like when I accidentally disconnect the machine that&#39;s running the test...), one can resume with something like:&lt;br /&gt;
&lt;div class=&quot;gistLoad&quot; data-file=&quot;badblocks_for_partial_drive.sh&quot; data-id=&quot;59700046d51915c2f7c58393fb2f9a95&quot; id=&quot;gist-59700046d51915c2f7c58393fb2f9a95&quot;&gt;
&lt;/div&gt;
&lt;br /&gt;
That&#39;s it! I&#39;ll update this page as I modify my process for testing new drives! And if you have any recommendations / modifications to my process, please let me know!
&lt;script src=&quot;//chriscarini.com/blogContent/gistLoader.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.chriscarini.com/feeds/5264639837333483106/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.chriscarini.com/2018/12/testing-breaking-in-new-hard-drives.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6820363325210500439/posts/default/5264639837333483106'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6820363325210500439/posts/default/5264639837333483106'/><link rel='alternate' type='text/html' href='http://blog.chriscarini.com/2018/12/testing-breaking-in-new-hard-drives.html' title='Testing / breaking-in new hard drives'/><author><name>Unknown</name><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-6820363325210500439.post-8830278789550211368</id><published>2018-11-18T18:50:00.000-08:00</published><updated>2018-11-18T18:50:47.059-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Alerting"/><category scheme="http://www.blogger.com/atom/ns#" term="JetBrains"/><category scheme="http://www.blogger.com/atom/ns#" term="JetBrains Floating License Server"/><category scheme="http://www.blogger.com/atom/ns#" term="Monitoring"/><category scheme="http://www.blogger.com/atom/ns#" term="Python"/><category scheme="http://www.blogger.com/atom/ns#" term="Script"/><category scheme="http://www.blogger.com/atom/ns#" term="Server"/><title type='text'>JetBrains Floating License Server - a quick and dirty license availability monitoring solution</title><content type='html'>Over the past few years, part of my responsibilities at work has been to make sure our developers have access to the JetBrains floating licenses our company purchases for them. These licenses are distributed via the &lt;a href=&quot;https://www.jetbrains.com/help/license_server/getting_started.html&quot;&gt;License Server that JetBrains provides&lt;/a&gt;. When a developer is not able to obtain a JetBrains license, they are typically &#39;dead in the water&#39; as far as productivity goes - it&#39;s really bad.&lt;br /&gt;
&lt;br /&gt;
Historically, we would occasionally check the web UI to determine how many licenses for each product were currently being used. This &quot;occasionally&quot; turned into weekly, then near-daily as we started approaching:&lt;br /&gt;
&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;The renewal date for our licenses&lt;/li&gt;
&lt;li&gt;The maximum limit of licenses for a specific product - remember, running out is really bad!&lt;/li&gt;
&lt;/ol&gt;
&lt;div&gt;
Checking daily started to get annoying - go figure - so I wanted to come up with another solution that would let me sleep better at night. The most &#39;robust&#39; solution would be to get this into our internal, and proprietary, monitoring and alerting framework at work. That would probably take a week or so if I wanted to do it properly (and I did, I just wanted to sleep better sooner).&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
As a quick and dirty solution, I created the below python script to poll our JetBrains License Server every hour and email us a report if a certain number of licenses was exceeded.&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;gistLoad&quot; data-file=&quot;JetBrainsFloatingLicenseServerAlerter.py&quot; data-id=&quot;7f1f32148de84bad129bab451c5ccfd5&quot; id=&quot;gist-7f1f32148de84bad129bab451c5ccfd5&quot;&gt;
&lt;/div&gt;

&lt;div&gt;
Running this with crontab, I didn&#39;t want to get any emails during off hours (nor did my team members), so I setup the script to run every hour during &#39;normal&#39; business hours (PST); respective crontab entry below:&lt;/div&gt;
&lt;div class=&quot;gistLoad&quot; data-file=&quot;crontab+example+-+mon-fri+between+0900+%26+1700&quot; data-id=&quot;7f1f32148de84bad129bab451c5ccfd5&quot; id=&quot;gist-7f1f32148de84bad129bab451c5ccfd5&quot;&gt;
&lt;/div&gt;
&lt;script src=&quot;//chriscarini.com/blogContent/gistLoader.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.chriscarini.com/feeds/8830278789550211368/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.chriscarini.com/2018/11/jetbrains-floating-license-server-a-quick-and-dirty-license-availability-monitoring-solution.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6820363325210500439/posts/default/8830278789550211368'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6820363325210500439/posts/default/8830278789550211368'/><link rel='alternate' type='text/html' href='http://blog.chriscarini.com/2018/11/jetbrains-floating-license-server-a-quick-and-dirty-license-availability-monitoring-solution.html' title='JetBrains Floating License Server - a quick and dirty license availability monitoring solution'/><author><name>Unknown</name><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-6820363325210500439.post-6238792516609906862</id><published>2018-08-19T18:18:00.001-07:00</published><updated>2022-01-09T22:54:17.640-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Home Networking"/><category scheme="http://www.blogger.com/atom/ns#" term="Networking"/><category scheme="http://www.blogger.com/atom/ns#" term="pfSense"/><title type='text'>Installing pfSense 2.4.3 on a PC Engines APU</title><content type='html'>Back in late December 2017, I saw a tweet offering a PC Engines APU + Case + Power Supply for the cost of shipping, and thought &quot;what the heck, may as well try...&quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote class=&quot;twitter-tweet&quot; data-lang=&quot;en&quot;&gt;
&lt;div dir=&quot;ltr&quot; lang=&quot;en&quot;&gt;
15 APUs with cases, US power supply, SD cards for the asking. &lt;br /&gt;&lt;br /&gt;You pay shipping.  If you’re outside the USA be prepared to pay duties and taxes. &lt;br /&gt;&lt;br /&gt;In the case of oversubscription tell me why &lt;a href=&quot;https://twitter.com/pfsense?ref_src=twsrc%5Etfw&quot;&gt;@pfSense&lt;/a&gt; rocks your world. &lt;a href=&quot;https://t.co/LkjXEfAFnR&quot;&gt;pic.twitter.com/LkjXEfAFnR&lt;/a&gt;&lt;/div&gt;
— /nev/dull (@gonzopancho) &lt;a href=&quot;https://twitter.com/gonzopancho/status/943715810874396673?ref_src=twsrc%5Etfw&quot;&gt;December 21, 2017&lt;/a&gt;&lt;/blockquote&gt;
&lt;script async=&quot;&quot; charset=&quot;utf-8&quot; src=&quot;https://platform.twitter.com/widgets.js&quot;&gt;&lt;/script&gt;

&lt;br /&gt;
I&#39;ve heard good things about PC Engines devices, and thought this would be a great device to swap out for my firewall - the 1U server I was using was a bit overkill for my needs, and I&#39;ve been wanting to repurpose it for virtualization anyways.&lt;br /&gt;
&lt;br /&gt;
I had to install pfSense as this device came with no existing installation. Below are the steps I took to get the device up and ready to be configured for my network.&lt;br /&gt;
&lt;h2&gt;
&lt;b&gt;&lt;u&gt;Steps:&lt;/u&gt;&lt;/b&gt;&lt;/h2&gt;
&lt;h3&gt;
Step 1 -&amp;nbsp;Download pfSense&lt;/h3&gt;
&lt;ol&gt;

&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;https://www.pfsense.org/download/&quot;&gt;Link&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Download Image Parameters&lt;/li&gt;
&lt;ol&gt;
&lt;li&gt;&lt;b&gt;Computer Architecture:&lt;/b&gt; AMD64&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Platform:&lt;/b&gt; USB Memstick Installer&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Console:&lt;/b&gt; Serial&lt;/li&gt;
&lt;/ol&gt;
&lt;/ol&gt;
&lt;/ol&gt;
&lt;h3&gt;
Step 2 - Prepare the pfSense Install USB Drive&lt;/h3&gt;
&lt;ol&gt;
&lt;ol&gt;
&lt;li&gt;Plug in your USB drive you will be using to load the pfSense install media, and identify which device it shows up as; we will use `/dev/sdb` in the below examples - update accordingly.&lt;/li&gt;
&lt;li&gt;[Optional] If you want to backup your USB Drive, run the below:&lt;/li&gt;
&lt;ol&gt;
&lt;li&gt;`sudo dd if=/dev/sdb of=/data/backup/usb-backup.dd bs=1M`&lt;/li&gt;
&lt;/ol&gt;
&lt;li&gt;Write the pfSense Install Image to the USB stick&lt;/li&gt;
&lt;ol&gt;
&lt;li&gt;&lt;b&gt;OSX:&lt;/b&gt;&amp;nbsp; `gzcat pfSense-memstick-*-RELEASE-amd64.img.gz | sudo dd of=/dev/sdb bs=1m`&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Linux:&lt;/b&gt; `gzip -dc pfSense-memstick-*-RELEASE-amd64.img.gz | sudo dd of=/dev/sdb bs=1M`&lt;/li&gt;
&lt;/ol&gt;
&lt;/ol&gt;
&lt;/ol&gt;
&lt;h3&gt;
Step 3 - Connect the USB to Serial null-terminating cable&lt;/h3&gt;
&lt;div&gt;
Connect your USB to Serial cable to the computer you plan to use to interact with the APU. Identify what device the USB to Serial cable shows up as - you may try one of the below commands to identify this information:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;pre style=&quot;background-color: #eff0f1; border: 0px; box-sizing: inherit; color: #242729; font-family: consolas, menlo, monaco, &amp;quot;lucida console&amp;quot;, &amp;quot;liberation mono&amp;quot;, &amp;quot;dejavu sans mono&amp;quot;, &amp;quot;bitstream vera sans mono&amp;quot;, &amp;quot;courier new&amp;quot;, monospace, sans-serif; font-size: 13px; font-stretch: inherit; line-height: inherit; margin-bottom: 1em; max-height: 600px; overflow-wrap: normal; overflow: auto; padding: 5px; vertical-align: baseline; width: auto; word-wrap: normal;&quot;&gt;&lt;code style=&quot;border: 0px; box-sizing: inherit; font-family: Consolas, Menlo, Monaco, &amp;quot;Lucida Console&amp;quot;, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace, sans-serif; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline; white-space: inherit;&quot;&gt;dmsg | grep -E &#39;tty|Serial\:&#39;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div&gt;
or&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;pre style=&quot;background-color: #eff0f1; border: 0px; box-sizing: inherit; color: #242729; font-family: consolas, menlo, monaco, &amp;quot;lucida console&amp;quot;, &amp;quot;liberation mono&amp;quot;, &amp;quot;dejavu sans mono&amp;quot;, &amp;quot;bitstream vera sans mono&amp;quot;, &amp;quot;courier new&amp;quot;, monospace, sans-serif; font-size: 13px; font-stretch: inherit; line-height: inherit; margin-bottom: 1em; max-height: 600px; overflow-wrap: normal; overflow: auto; padding: 5px; vertical-align: baseline; width: auto; word-wrap: normal;&quot;&gt;&lt;code style=&quot;border: 0px; box-sizing: inherit; font-family: Consolas, Menlo, Monaco, &amp;quot;Lucida Console&amp;quot;, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace, sans-serif; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline; white-space: inherit;&quot;&gt;ls /dev/tty.*&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;Note:&lt;/b&gt; In the below steps, we&#39;ll assume the USB to Serial adaptor device is /dev/ttyUSB0&lt;/div&gt;
&lt;div&gt;
&lt;h3&gt;
Step 4 - Connect devices to APU (USB to Serial &amp;amp; USB Flash Drive)&lt;/h3&gt;
&lt;div&gt;
With the USB to Serial cable still connected to your main computer, connect the Serial end to the APU; additionally, plug in the USB flash drive we created with the pfSense Installation Media from Step 2.&lt;/div&gt;
&lt;div&gt;
&lt;h3&gt;
Step 5 - Power on your APU&lt;/h3&gt;
Power on the APU - you can use the `screen` command to view the output from the APU during boot up and during the installation process:&lt;br /&gt;&lt;ol&gt;
&lt;li&gt;&lt;b&gt;Serial Device: &lt;/b&gt;Identified in step above.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Speed:&lt;/b&gt; 115200&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Data Bits:&lt;/b&gt; 8&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Parity Bits:&lt;/b&gt; None&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Stop Bits:&lt;/b&gt; 1&lt;/li&gt;
&lt;/ol&gt;
&lt;div&gt;
&lt;pre style=&quot;background-color: #eff0f1; border: 0px; box-sizing: inherit; color: #242729; font-family: consolas, menlo, monaco, &amp;quot;lucida console&amp;quot;, &amp;quot;liberation mono&amp;quot;, &amp;quot;dejavu sans mono&amp;quot;, &amp;quot;bitstream vera sans mono&amp;quot;, &amp;quot;courier new&amp;quot;, monospace, sans-serif; font-size: 13px; font-stretch: inherit; line-height: inherit; margin-bottom: 1em; max-height: 600px; overflow-wrap: normal; overflow: auto; padding: 5px; vertical-align: baseline; width: auto; word-wrap: normal;&quot;&gt;&lt;code style=&quot;border: 0px; box-sizing: inherit; font-family: Consolas, Menlo, Monaco, &amp;quot;Lucida Console&amp;quot;, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace, sans-serif; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline; white-space: inherit;&quot;&gt;screen /dev/ttyUSB0 115200&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;ol&gt;&lt;ol&gt;
&lt;/ol&gt;
&lt;/ol&gt;
&lt;h3&gt;
Step 6 - Follow the installation steps on your screen session to setup pfSense with the desired settings&lt;/h3&gt;&lt;div&gt;&lt;i&gt;&lt;b&gt;Note:&lt;/b&gt; If/when you are prompted to &quot;&lt;span style=&quot;font-family: Menlo; font-size: 14px; font-variant-ligatures: no-common-ligatures;&quot;&gt;Press F12 for boot menu.&lt;/span&gt;&quot; on a MBP with touch bar, use &quot;&lt;span style=&quot;font-family: Menlo; font-size: 14px; font-variant-ligatures: no-common-ligatures;&quot;&gt;[Fn] + [Cmd] + [F12]&lt;/span&gt;&quot; to send the &quot;F12&quot; key.&lt;/i&gt;&lt;/div&gt;
&lt;h2&gt;
&lt;b&gt;&lt;u&gt;Common Problems &amp;amp; Solutions:&lt;/u&gt;&lt;/b&gt;&lt;/h2&gt;
&lt;div&gt;
&lt;b&gt;Problem:&lt;/b&gt;&lt;br /&gt;
I can&#39;t identify what device my USB to Serial adaptor is on OSX.&lt;br /&gt;
&lt;b&gt;Solution:&lt;/b&gt;&lt;br /&gt;
You can likely identify the device with the below command:&lt;br /&gt;
&lt;pre style=&quot;background-color: #eff0f1; border: 0px; box-sizing: inherit; color: #242729; font-family: Consolas, Menlo, Monaco, &amp;quot;Lucida Console&amp;quot;, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace, sans-serif; font-size: 13px; font-stretch: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; line-height: inherit; margin-bottom: 1em; max-height: 600px; overflow-wrap: normal; overflow: auto; padding: 5px; vertical-align: baseline; width: auto; word-wrap: normal;&quot;&gt;&lt;code style=&quot;border: 0px; box-sizing: inherit; font-family: Consolas, Menlo, Monaco, &amp;quot;Lucida Console&amp;quot;, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace, sans-serif; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline; white-space: inherit;&quot;&gt;ls /dev/tty.*&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;b&gt;Problem:&lt;/b&gt;&lt;br /&gt;
When running `dd` to copy the pfSense install image to a USB stick, I get &quot;Operation not supported.&quot; on OSX.&lt;br /&gt;
&lt;pre style=&quot;background-color: #eff0f1; border: 0px; box-sizing: inherit; color: #242729; font-family: Consolas, Menlo, Monaco, &amp;quot;Lucida Console&amp;quot;, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace, sans-serif; font-size: 13px; font-stretch: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; line-height: inherit; margin-bottom: 1em; max-height: 600px; overflow-wrap: normal; overflow: auto; padding: 5px; vertical-align: baseline; width: auto; word-wrap: normal;&quot;&gt;&lt;code style=&quot;border: 0px; box-sizing: inherit; font-family: Consolas, Menlo, Monaco, &amp;quot;Lucida Console&amp;quot;, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace, sans-serif; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline; white-space: inherit;&quot;&gt;dd: /dev/diskN bs=1m: Operation not supported.&lt;/code&gt;&lt;/pre&gt;
&lt;b&gt;Solution:&lt;/b&gt;&lt;br /&gt;
In OSX, the disk needs to be unmounted. If you click the &#39;eject&#39; icon in Finder, it will unmount *and* eject the USB drive. Instead, you want to *just* unmount the drive - this can be done with Apple&#39;s &lt;b&gt;&lt;i&gt;Disk Utility&lt;/i&gt;&lt;/b&gt; using the &lt;b&gt;&lt;i&gt;Unmount&lt;/i&gt;&lt;/b&gt; button, or via the command below:&lt;br /&gt;
&lt;pre style=&quot;background-color: #eff0f1; border: 0px; box-sizing: inherit; color: #242729; font-family: Consolas, Menlo, Monaco, &amp;quot;Lucida Console&amp;quot;, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace, sans-serif; font-size: 13px; font-stretch: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; line-height: inherit; margin-bottom: 1em; max-height: 600px; overflow-wrap: normal; overflow: auto; padding: 5px; vertical-align: baseline; width: auto; word-wrap: normal;&quot;&gt;&lt;code style=&quot;border: 0px; box-sizing: inherit; font-family: Consolas, Menlo, Monaco, &amp;quot;Lucida Console&amp;quot;, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace, sans-serif; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline; white-space: inherit;&quot;&gt;sudo diskutil unmountDisk /dev/diskN&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;
&lt;b&gt;&lt;u&gt;References:&lt;/u&gt;&lt;/b&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;https://www.pcengines.ch/apu1d.htm&lt;/li&gt;
&lt;li&gt;https://www.netgate.com/docs/pfsense/install/installing-pfsense.html&lt;/li&gt;
&lt;li&gt;https://www.netgate.com/docs/pfsense/hardware/writing-disk-images.html&lt;/li&gt;
&lt;li&gt;https://www.netgate.com/docs/pfsense/hardware/connecting-to-the-serial-console.html&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://blog.chriscarini.com/feeds/6238792516609906862/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.chriscarini.com/2018/08/installing-pfsense-243-on-pc-engines-apu.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6820363325210500439/posts/default/6238792516609906862'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6820363325210500439/posts/default/6238792516609906862'/><link rel='alternate' type='text/html' href='http://blog.chriscarini.com/2018/08/installing-pfsense-243-on-pc-engines-apu.html' title='Installing pfSense 2.4.3 on a PC Engines APU'/><author><name>Unknown</name><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-6820363325210500439.post-7306073847452382438</id><published>2018-07-13T10:02:00.001-07:00</published><updated>2018-09-20T08:20:58.597-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Default Password"/><category scheme="http://www.blogger.com/atom/ns#" term="Password"/><category scheme="http://www.blogger.com/atom/ns#" term="Security"/><category scheme="http://www.blogger.com/atom/ns#" term="WiFi"/><category scheme="http://www.blogger.com/atom/ns#" term="Wireless"/><title type='text'>Default Wi-Fi passphrase on ARRIS TG1672G</title><content type='html'>I didn&#39;t think I would find this issue again so soon, not to mention, &lt;b&gt;&lt;i&gt;so&lt;/i&gt;&lt;/b&gt; similar.&lt;br /&gt;
&lt;br /&gt;
Nearly identical to the &lt;a href=&quot;https://blog.chriscarini.com/2018/06/default-wi-fi-passphrase-on-technicolor.html&quot;&gt;Technicolor TC8717T default Wi-Fi passphrase&lt;/a&gt; I blogged about a few weeks ago, it seems that the &lt;a href=&quot;https://arris.secure.force.com/consumers/ConsumerProductDetail?p=a0ha000000NJnzJAAT&amp;amp;c=Touchstone%20Modems%20and%20Gateways&quot;&gt;ARRIS TG1672G (product detail page)&lt;/a&gt;&amp;nbsp;has the same pattern for the default passphrase on the devices.&lt;br /&gt;
&lt;br /&gt;
Below is the &#39;formula&#39; for identifying the default wireless password on the ARRIS TG1672G:&lt;br /&gt;
&lt;br /&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;th align=&quot;left&quot;&gt;SSID&lt;/th&gt;
&lt;td&gt;&lt;span style=&quot;background-color: #b4a7d6; color: #351c75;&quot;&gt;TG1672G&lt;/span&gt;&lt;span style=&quot;background-color: #b6d7a8; color: #38761d;&quot;&gt;1A&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th align=&quot;left&quot;&gt;BSSID&lt;/th&gt;
&lt;td&gt;01:23:45:&lt;span style=&quot;background-color: #9fc5e8; color: #0b5394;&quot;&gt;67:89&lt;/span&gt;:AB&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th align=&quot;left&quot;&gt;Wireless Password&lt;/th&gt;
&lt;td&gt;&lt;span style=&quot;background-color: #b4a7d6; color: #351c75;&quot;&gt;TG1672G&lt;/span&gt;&lt;span style=&quot;background-color: #9fc5e8; color: #0b5394;&quot;&gt;6789&lt;/span&gt;&lt;span style=&quot;background-color: #b6d7a8; color: #38761d;&quot;&gt;1A&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.chriscarini.com/feeds/7306073847452382438/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.chriscarini.com/2018/07/default-wi-fi-passphrase-on-arris.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6820363325210500439/posts/default/7306073847452382438'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6820363325210500439/posts/default/7306073847452382438'/><link rel='alternate' type='text/html' href='http://blog.chriscarini.com/2018/07/default-wi-fi-passphrase-on-arris.html' title='Default Wi-Fi passphrase on ARRIS TG1672G'/><author><name>Unknown</name><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-6820363325210500439.post-2642421383555573358</id><published>2018-07-13T09:42:00.000-07:00</published><updated>2018-09-20T08:20:55.279-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Default Password"/><category scheme="http://www.blogger.com/atom/ns#" term="Password"/><category scheme="http://www.blogger.com/atom/ns#" term="Security"/><category scheme="http://www.blogger.com/atom/ns#" term="WiFi"/><category scheme="http://www.blogger.com/atom/ns#" term="Wireless"/><title type='text'>Default Wi-Fi passphrase on Technicolor TC8717T</title><content type='html'>Recently, while traveling and staying with a good friend (not a &#39;techie&#39; like I might be called), I noticed a few strange things while trying to connect to their wireless network.&lt;br /&gt;
&lt;br /&gt;
First off, their SSID seemed to be a &#39;random&#39; string, and there seemed to be several others; nothing &lt;b&gt;&lt;i&gt;too&lt;/i&gt;&lt;/b&gt;&amp;nbsp;unusual, I suppose. I figured this was just another ISP that provides users with a modem + router + access point combination device that has a wireless network setup by the installation technician. Their password seemed to be a random string, and looked a bit similar to the SSID; probably some strange coincidence.&lt;br /&gt;
&lt;br /&gt;
After getting my devices connected to my friends internet, I attempted to login to the router web interface to poke around. It&#39;s worth noting here, that this friend has noted they have really bad wireless performance in their apartment, and I figured I&#39;d take a look and see if there was anything that could be done to potentially improve their experience. After poking around a bit, I noticed that both 2.4GHz and 5GHz radios were set to a manual channel selection (instead of automatic). After scanning the other wireless networks in the building, it was clear there there was a fair bit of wireless&amp;nbsp;&lt;a href=&quot;https://en.wikipedia.org/wiki/Network_congestion&quot;&gt;network congestion&lt;/a&gt;&amp;nbsp;- perhaps something could be changed here to improve the wireless internet. Now, my friend lives in a very crowded area, so there weren&#39;t any channels that &lt;b&gt;weren&#39;t&amp;nbsp;&lt;/b&gt;being used, but I found some that didn&#39;t have any access points communicating as the main channel and had minimal signal interfering with the channels. I changed the channels, and dropped the transmit power to ~75%.&lt;br /&gt;
&lt;br /&gt;
Now, it started to get interesting when I came across the actual manufacture and model of my friends modem / device.&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/AVvXsEjwtp71_gE_PbIoAAB2E4UkRKhno1Yx_HMzDzFrw-rKf8ljnqrTjDG5EOXemi9r1e25l3lL92hMAfz5L38kTXYVeMx6OxaShyphenhyphenNS67LzDyCf5i9XCkwH8UWnQilb1TcGIYfE0KCM-uT2BWv_/s1600/Screen+Shot+2018-06-18+at+06.42.55.png&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;306&quot; data-original-width=&quot;648&quot; height=&quot;151&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjwtp71_gE_PbIoAAB2E4UkRKhno1Yx_HMzDzFrw-rKf8ljnqrTjDG5EOXemi9r1e25l3lL92hMAfz5L38kTXYVeMx6OxaShyphenhyphenNS67LzDyCf5i9XCkwH8UWnQilb1TcGIYfE0KCM-uT2BWv_/s320/Screen+Shot+2018-06-18+at+06.42.55.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Not being familiar with this device, I quickly did a google search to see if maybe there were firmware updates, and the first result was a CVE page for a vulnerability:&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/AVvXsEi94eYqVWGMGSuVCCkvRLYDJ-BtzSYBemMMeLaUG-mHQjbADP85aeDdC4ECdLhXdLzGNMsfGx-1sqDENd2VOX2hApiZSumEFtarf9BhiYNMi_Ty7ElKbRelC30c8FbqDhMbMN8aUHZPNOCw/s1600/Screen+Shot+2018-06-18+at+06.42.12.png&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;512&quot; data-original-width=&quot;1582&quot; height=&quot;128&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi94eYqVWGMGSuVCCkvRLYDJ-BtzSYBemMMeLaUG-mHQjbADP85aeDdC4ECdLhXdLzGNMsfGx-1sqDENd2VOX2hApiZSumEFtarf9BhiYNMi_Ty7ElKbRelC30c8FbqDhMbMN8aUHZPNOCw/s400/Screen+Shot+2018-06-18+at+06.42.12.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Oh boy. Well, hopefully I can find a firmware / software update that&#39;ll fix whatever this vulnerability is; but first, what is the vulnerability exactly? &lt;a href=&quot;https://www.cvedetails.com/cve/CVE-2017-9522/&quot;&gt;CVE-2017-9522&lt;/a&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/AVvXsEiOl0XDr8VKeVQRsAdA9L-5gR1oGe_VupXywh_lKNV3lGt2m73h3eUdvN6LBaGv7ukmbWG6Ltnvf6iptysv6ujDrCI_4HNNWpwlpDdHATYY-Mt0OruLnoaB5CcZHIyz3CcMPGp0KpmQeAK3/s1600/Screen+Shot+2018-06-18+at+06.45.06.png&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;272&quot; data-original-width=&quot;1600&quot; height=&quot;107&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOl0XDr8VKeVQRsAdA9L-5gR1oGe_VupXywh_lKNV3lGt2m73h3eUdvN6LBaGv7ukmbWG6Ltnvf6iptysv6ujDrCI_4HNNWpwlpDdHATYY-Mt0OruLnoaB5CcZHIyz3CcMPGp0KpmQeAK3/s640/Screen+Shot+2018-06-18+at+06.45.06.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Holy cow. That&#39;s nifty... Wait. My friend&#39;s device probably has this, which is why the password seemed strangely similar. Sure enough, looking closely at the SSID and the wireless interface MAC address (BSSID), it&#39;s pretty easy to identify how the password is formed.&lt;br /&gt;
&lt;br /&gt;
Very simply, the SSID seems to be created from the model number of the device - in this case TC8717T (&lt;a href=&quot;https://www.timewarnercable.com/content/dam/residential/pdfs/support/internet/ModemUserGuides/technicolor-tc8717t-userguide.pdf&quot;&gt;84-page Time Warner Cable User Guide&lt;/a&gt;) - and what appears to be a hex code - say &quot;6F&quot;.&amp;nbsp; For simplicity, let&#39;s say the devices BSSID was 01:23:45:67:89:AB. With this combination, the password for the wireless network would be &quot;TC8717T67896F&quot;. Perhaps slightly easier to visualize:&lt;br /&gt;
&lt;br /&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;th align=&quot;left&quot;&gt;SSID&lt;/th&gt;
&lt;td&gt;&lt;span style=&quot;background-color: #b4a7d6; color: #351c75;&quot;&gt;TC8717T&lt;/span&gt;&lt;span style=&quot;background-color: #b6d7a8; color: #38761d;&quot;&gt;6F&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th align=&quot;left&quot;&gt;BSSID&lt;/th&gt;
&lt;td&gt;01:23:45:&lt;span style=&quot;background-color: #9fc5e8; color: #0b5394;&quot;&gt;67:89&lt;/span&gt;:AB&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th align=&quot;left&quot;&gt;Wireless Password&lt;/th&gt;
&lt;td&gt;&lt;span style=&quot;background-color: #b4a7d6; color: #351c75;&quot;&gt;TC8717T&lt;/span&gt;&lt;span style=&quot;background-color: #9fc5e8; color: #0b5394;&quot;&gt;6789&lt;/span&gt;&lt;span style=&quot;background-color: #b6d7a8; color: #38761d;&quot;&gt;6F&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;br /&gt;
Not great. I wonder how common this &lt;b&gt;&lt;i&gt;actually&lt;/i&gt;&lt;/b&gt; is; since my friend does live in a densely populated area, I wanted to see if there are any other devices that haven&#39;t changed from the default setting.&lt;br /&gt;
&lt;br /&gt;
Sure enough. I used &lt;a href=&quot;https://github.com/IGRSoft/KisMac2&quot;&gt;KisMac2&lt;/a&gt;&amp;nbsp;to quickly scan for wireless networks that just looked like they may be susceptible to this problem. Turns out, there were at least 5 other networks that had the default SSID + password combination. To make matters worse, it seemed that&amp;nbsp;&lt;b&gt;all 5&lt;/b&gt;&amp;nbsp;had not changed the password on the router web interface (&quot;admin/password&quot;; nothing someone can&#39;t quickly find by a google search). So some random person could just come along, connect to folk&#39;s wireless networks without explicit permission, login to their ISP-provided router&#39;s web interface, and completely change any setting they desire - wireless network included.&lt;br /&gt;
&lt;br /&gt;
Looks like I have a few other things besides wireless channels to change in my friends router.</content><link rel='replies' type='application/atom+xml' href='http://blog.chriscarini.com/feeds/2642421383555573358/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.chriscarini.com/2018/06/default-wi-fi-passphrase-on-technicolor.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6820363325210500439/posts/default/2642421383555573358'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6820363325210500439/posts/default/2642421383555573358'/><link rel='alternate' type='text/html' href='http://blog.chriscarini.com/2018/06/default-wi-fi-passphrase-on-technicolor.html' title='Default Wi-Fi passphrase on Technicolor TC8717T'/><author><name>Unknown</name><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/AVvXsEjwtp71_gE_PbIoAAB2E4UkRKhno1Yx_HMzDzFrw-rKf8ljnqrTjDG5EOXemi9r1e25l3lL92hMAfz5L38kTXYVeMx6OxaShyphenhyphenNS67LzDyCf5i9XCkwH8UWnQilb1TcGIYfE0KCM-uT2BWv_/s72-c/Screen+Shot+2018-06-18+at+06.42.55.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6820363325210500439.post-316683228115915743</id><published>2018-06-14T07:24:00.002-07:00</published><updated>2018-12-03T19:03:04.901-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Development"/><category scheme="http://www.blogger.com/atom/ns#" term="IDE"/><category scheme="http://www.blogger.com/atom/ns#" term="IntelliJ"/><category scheme="http://www.blogger.com/atom/ns#" term="JetBrains"/><title type='text'>IntelliJ toString() template using String.format()</title><content type='html'>During a recent code review, a colleague asked me to change a class toString() method to using Java&#39;s &lt;a href=&quot;https://docs.oracle.com/javase/8/docs/api/java/lang/String.html#format-java.lang.String-java.lang.Object...-&quot;&gt;String.format()&lt;/a&gt; method instead of normal string concatenation since it would look cleaner.&lt;br /&gt;
&lt;br /&gt;
I normally use IntelliJ&#39;s code generation here, and was surprised to find that there was not a template for this already. Thus, I set out to quickly create my own. Of course, it made sense to see if anyone tackled this feat already, and sure enough someone had. I made some minor improvements (notable, to detect if a variable is a number, string, date, or object and handle those accordingly. I currently have the following:&lt;br /&gt;
&lt;div class=&quot;gistLoad&quot; data-id=&quot;cf628cf68e4f0cd6b321a87ca61713c0&quot; data-file=&quot;toString_template.txt&quot; id=&quot;gist-cf628cf68e4f0cd6b321a87ca61713c0&quot;&gt;
&lt;/div&gt;
&lt;br /&gt;
A small sample of what it generates:&lt;br /&gt;
&lt;div class=&quot;gistLoad&quot; data-id=&quot;cf628cf68e4f0cd6b321a87ca61713c0&quot; data-file=&quot;ToStringExample.java&quot; id=&quot;gist-cf628cf68e4f0cd6b321a87ca61713c0&quot;&gt;
&lt;/div&gt;
If there are some improvements you see, please let me know, I&#39;d love to adopt them into my template!
&lt;script src=&quot;//chriscarini.com/blogContent/gistLoader.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
</content><link rel='replies' type='application/atom+xml' href='http://blog.chriscarini.com/feeds/316683228115915743/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.chriscarini.com/2018/06/intellij-tostring-template-using.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6820363325210500439/posts/default/316683228115915743'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6820363325210500439/posts/default/316683228115915743'/><link rel='alternate' type='text/html' href='http://blog.chriscarini.com/2018/06/intellij-tostring-template-using.html' title='IntelliJ toString() template using String.format()'/><author><name>Unknown</name><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-6820363325210500439.post-6542656620971311799</id><published>2018-04-18T21:32:00.001-07:00</published><updated>2018-04-18T21:43:55.654-07:00</updated><title type='text'>Python / Flask Performance Profiling</title><content type='html'>I&#39;ve recently been doing work on some python flask web applications my team owns at work. Twice now, I&#39;ve needed to acquire profiling data to help pinpoint where issues were stemming from within the code and dependencies.&lt;br /&gt;
&lt;br /&gt;
In lieu of &lt;b&gt;&lt;i&gt;not&lt;/i&gt;&lt;/b&gt; trying to track down what I&#39;ve learned / researched twice now, I&#39;m recording my methods and tools here for future reference. Hopefully others will be able to make use of this information as well!&lt;br /&gt;
&lt;br /&gt;
I&#39;ve created a small and simple python flask-based webapp which makes use of&amp;nbsp;&lt;a href=&quot;http://werkzeug.pocoo.org/docs/0.14/contrib/profiler/&quot;&gt;Werkzeug&#39;s ProfilerMiddleware&lt;/a&gt;&amp;nbsp;and&amp;nbsp;&lt;a href=&quot;https://jiffyclub.github.io/snakeviz/&quot;&gt;SnakeViz&lt;/a&gt;&amp;nbsp;to visualize a request - you can find this example and the quickstart on &lt;a href=&quot;https://github.com/ChrisCarini/sample-python-profile-flask&quot;&gt;GitHub&lt;/a&gt;. After 7 quick steps, you&#39;ll be presented with something similar to below:&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://user-images.githubusercontent.com/6374067/38844999-ae9c48e6-41aa-11e8-891d-109c3cfc2e10.png&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;645&quot; data-original-width=&quot;800&quot; height=&quot;257&quot; src=&quot;https://user-images.githubusercontent.com/6374067/38844999-ae9c48e6-41aa-11e8-891d-109c3cfc2e10.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;h2&gt;
Generating profiling data&lt;/h2&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;http://werkzeug.pocoo.org/docs/0.14/contrib/profiler/&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;h2&gt;
Viewing profiling data&lt;/h2&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;https://jiffyclub.github.io/snakeviz/&lt;/li&gt;
&lt;li&gt;https://kcachegrind.github.io/html/Home.html&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;script src=&quot;https://chriscarini.com/blogContent/gistLoader.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
</content><link rel='replies' type='application/atom+xml' href='http://blog.chriscarini.com/feeds/6542656620971311799/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.chriscarini.com/2018/04/python-flask-performance-profiling.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6820363325210500439/posts/default/6542656620971311799'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6820363325210500439/posts/default/6542656620971311799'/><link rel='alternate' type='text/html' href='http://blog.chriscarini.com/2018/04/python-flask-performance-profiling.html' title='Python / Flask Performance Profiling'/><author><name>Unknown</name><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-6820363325210500439.post-7440345241720952960</id><published>2017-08-14T07:43:00.000-07:00</published><updated>2018-06-10T18:12:35.747-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Home Networking"/><category scheme="http://www.blogger.com/atom/ns#" term="Linux"/><category scheme="http://www.blogger.com/atom/ns#" term="pfSense"/><title type='text'>pfSense Boot Issue after upgrade to 2.4.0-BETA</title><content type='html'>I was really excited to start using the Telegraf plugin for pfSense, but it was only part of pfSense 2.4.0, where I was running 2.3.4 for my home network.&lt;br /&gt;
&lt;br /&gt;
After talking with some of the pfSense / Netgate folks, they assured me that 2.4.0-BETA was stable enough that I should be able to upgrade without any issue.&lt;br /&gt;
&lt;br /&gt;
I did have one slight issue.&lt;br /&gt;
&lt;br /&gt;
For whatever reason, upon updating, it seems that my hard drives became mapped to a different drive.&lt;br /&gt;
&lt;br /&gt;
Before the upgrade, /etc/fstab showed:&lt;br /&gt;
&lt;div class=&quot;gistLoad&quot; data-id=&quot;905e2c19f756dd047fba51e6580094a2&quot; id=&quot;gist-905e2c19f756dd047fba51e6580094a2&quot;&gt;
&lt;/div&gt;
&lt;br /&gt;
Upon boot, I was greeted with the wonderful:&lt;br /&gt;
&lt;div class=&quot;gistLoad&quot; data-id=&quot;a6849d7897199decb56d9c49b4939568&quot; id=&quot;gist-a6849d7897199decb56d9c49b4939568&quot;&gt;
&lt;/div&gt;
&lt;br /&gt;
In order to fix this permanently, it was as simple as updating the /etc/fstab file to be as follows:&lt;br /&gt;
&lt;div class=&quot;gistLoad&quot; data-id=&quot;baca4dd0c196023966f07cfcd0c3087f&quot; id=&quot;gist-baca4dd0c196023966f07cfcd0c3087f&quot;&gt;
&lt;/div&gt;
&lt;br /&gt;
I&#39;m unsure if some driver changed or what would have caused this; I did try switching the drive from Legacy to AHCI and back again in the BIOS, but that still didn&#39;t yield success. In the end, I just needed to modify the /etc/fstab file, and I was back in business.
&lt;script src=&quot;//chriscarini.com/blogContent/gistLoader.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.chriscarini.com/feeds/7440345241720952960/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.chriscarini.com/2017/08/pfsense-boot-issue-after-upgrade-to-240.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6820363325210500439/posts/default/7440345241720952960'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6820363325210500439/posts/default/7440345241720952960'/><link rel='alternate' type='text/html' href='http://blog.chriscarini.com/2017/08/pfsense-boot-issue-after-upgrade-to-240.html' title='pfSense Boot Issue after upgrade to 2.4.0-BETA'/><author><name>Unknown</name><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-6820363325210500439.post-3591217387801583202</id><published>2015-04-19T07:29:00.001-07:00</published><updated>2015-04-19T07:29:19.506-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android"/><category scheme="http://www.blogger.com/atom/ns#" term="Android 5.x"/><category scheme="http://www.blogger.com/atom/ns#" term="Google"/><category scheme="http://www.blogger.com/atom/ns#" term="Nexus"/><category scheme="http://www.blogger.com/atom/ns#" term="Nexus 4"/><category scheme="http://www.blogger.com/atom/ns#" term="T-Mobile"/><title type='text'>Resolved Issue: Nexus 4 / Android 5.x No Mobile Data Connection</title><content type='html'>&lt;p dir=&quot;ltr&quot;&gt;Having a Google Nexus device is pretty nice - getting updates as soon as they come out, without any bloatware or restrictions. It also comes with the price of dealing with issues.&lt;/p&gt;
&lt;p dir=&quot;ltr&quot;&gt;I had this issue twice now, and realized it was because of an Android update; first to Android 5.0 (which took me over a week to figure out it was the update that caused this) and second to Android 5.1 (this time it only took me a few days).&lt;/p&gt;
&lt;p dir=&quot;ltr&quot;&gt;&lt;b&gt;The Issue:&lt;/b&gt; Lack of mobile data; even after cycling airplane mode, turning the phone off and back on and even resetting the APN settings.&lt;/p&gt;
&lt;p dir=&quot;ltr&quot;&gt;&lt;b&gt;The&lt;/b&gt;&lt;b&gt; &lt;/b&gt;&lt;b&gt;Solution&lt;/b&gt;&lt;b&gt;:&lt;/b&gt; Open up the number dialer and enter: &lt;i&gt;*#*#4636#*#*&lt;/i&gt; (this opens a &#39;Testing&#39; menu) From here, select &#39;&lt;i&gt;Phone&lt;/i&gt;&lt;i&gt; &lt;/i&gt;&lt;i&gt;information&lt;/i&gt;&#39;, in upper right corner click the three dots (the settings menu) and then click &#39;&lt;i&gt;Enable data &lt;/i&gt;&lt;i&gt;connection&lt;/i&gt;&#39;. Wait a few seconds and you should notice the network picking up data.&lt;/p&gt;
&lt;p dir=&quot;ltr&quot;&gt;I&#39;m not sure if this is strictly an issue with Android updates on T-Mobile or if it&#39;s &lt;u&gt;a&lt;/u&gt; similar issue with other carriers. Either way, I hope this helps someone else!&lt;/p&gt;
</content><link rel='replies' type='application/atom+xml' href='http://blog.chriscarini.com/feeds/3591217387801583202/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.chriscarini.com/2015/04/resolved-issue-nexus-4-android-5x-no.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6820363325210500439/posts/default/3591217387801583202'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6820363325210500439/posts/default/3591217387801583202'/><link rel='alternate' type='text/html' href='http://blog.chriscarini.com/2015/04/resolved-issue-nexus-4-android-5x-no.html' title='Resolved Issue: Nexus 4 / Android 5.x No Mobile Data Connection'/><author><name>Unknown</name><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-6820363325210500439.post-3477037147259099203</id><published>2015-03-02T09:00:00.000-08:00</published><updated>2018-05-11T10:08:39.492-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="bash"/><category scheme="http://www.blogger.com/atom/ns#" term="Linux"/><category scheme="http://www.blogger.com/atom/ns#" term="Script"/><title type='text'>Embedding TAR into a Bash Script</title><content type='html'>While poking around some scripts for a solution at work, I came across a very interesting method to embed a script and archive file (or any other data source for that matter) into one file. I&#39;d love to take credit for thinking of this, but I can&#39;t. I stumbled across this while trying to automate a fairly complex OS / package deployment/installation procedure of a server solution. We need to call this installer script and I was trying to send dynamic inputs to it for various prompts throughout; hence me checking to see where exactly these prompts were occurring.&lt;br /&gt;
&lt;br /&gt;
Anyways, below is the general methodology for embedding a payload into a script file:&lt;br /&gt;
&lt;div class=&quot;gistLoad&quot; data-id=&quot;d3e97c4bc7878524fa11&quot; id=&quot;gist-d3e97c4bc7878524fa11&quot;&gt;
&lt;/div&gt;
&lt;script src=&quot;https://gist.github.com/ChrisCarini/d3e97c4bc7878524fa11.js&quot;&gt;&lt;/script&gt;
(&lt;a href=&quot;https://gist.github.com/ChrisCarini/d3e97c4bc7878524fa11&quot;&gt;Direct Link&lt;/a&gt;)
&lt;br /&gt;
I thought this was neat, and I hope to use it myself one day.&lt;br /&gt;
&lt;br /&gt;
Anyone know of any other neat tricks for shell scripts, comment and let me know, I&#39;d love to check them out!
&lt;script src=&quot;https://chriscarini.com/blogContent/gistLoader.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.chriscarini.com/feeds/3477037147259099203/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.chriscarini.com/2015/03/embedding-tar-into-bash-script.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6820363325210500439/posts/default/3477037147259099203'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6820363325210500439/posts/default/3477037147259099203'/><link rel='alternate' type='text/html' href='http://blog.chriscarini.com/2015/03/embedding-tar-into-bash-script.html' title='Embedding TAR into a Bash Script'/><author><name>Unknown</name><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-6820363325210500439.post-2224296365988580159</id><published>2014-12-17T12:00:00.000-08:00</published><updated>2014-12-17T12:51:35.285-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="AppleScript"/><category scheme="http://www.blogger.com/atom/ns#" term="Mac OSX"/><category scheme="http://www.blogger.com/atom/ns#" term="OSX"/><title type='text'>AppleScript adding Windows AeroSnap functionality to Mac OSX</title><content type='html'>So I recently got a MacBook Air for my work laptop, and while I&#39;ve used OSX in the past, I never really used it for a prolonged period. As such, there have been several things I&#39;m still getting used to; there are also some features I&#39;ve really missed from Windows 7, primarily the &lt;a href=&quot;http://en.wikipedia.org/wiki/Features_new_to_Windows_7#Aero_Snap&quot; target=&quot;_blank&quot;&gt;AeroSnap feature&lt;/a&gt;. From transferring files to coding and reading documentation, it&#39;s been incredibly useful to be able to quickly &#39;snap&#39; a window to the left or right side of the screen using &lt;b&gt;[Win]&amp;nbsp;+ [Left]&lt;/b&gt; or &lt;b&gt;[Win]&amp;nbsp;+ [Right]&lt;/b&gt;. In fact, I use it so much when showing people things on the computer that many freak out and say &quot;You&#39;re going too fast&quot;. Regardless, I wanted this feature in OSX.&lt;br /&gt;
&lt;br /&gt;
Initially, I was unable to find a program that accomplished the same functionality I was used to. Years ago, I wrote a quick little AppleScript for a Mac Mini to remotely monitor bandwidth in &lt;a href=&quot;http://blog.chriscarini.com/2011/10/dd-wrt-mac-mini-live-network-bandwidth.html&quot; target=&quot;_blank&quot;&gt;DD-WRT&lt;/a&gt; and &lt;a href=&quot;http://blog.chriscarini.com/2012/12/pfsense-firewall-and-update-to-live-network-bandwidth.html&quot; target=&quot;_blank&quot;&gt;pfSense&lt;/a&gt;; since I had some familiarity with AppleScript I decided to look into that method.&lt;br /&gt;
&lt;br /&gt;
I ended up with a very &#39;hack-ish&#39; way to get the same functionality, and between hitting the shortcut and the window resizing there was a delay long enough to bug me. Either way, heres the AppleScript I came up with:&lt;br /&gt;
&lt;div class=&quot;gistLoad&quot; data-id=&quot;eb3b8903eb1b1fd937ef&quot; id=&quot;gist-eb3b8903eb1b1fd937ef&quot;&gt;
Loading ....&lt;/div&gt;
Files and instructions on usage can be found on the &lt;a href=&quot;https://github.com/ChrisCarini/MacOSXAeroSnapAppleScript&quot; target=&quot;_blank&quot;&gt;repository page&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
As it turns out, my Google-Fu must have been lacking the day I searched for this functionality, as there already exists a program that does what I was looking for and more! It&#39;s called &lt;a href=&quot;http://www.irradiatedsoftware.com/sizeup/&quot; target=&quot;_blank&quot;&gt;SizeUp&lt;/a&gt; and can be purchased for $13USD (as of Dec 2014); it also has an &#39;unlimited free trial&#39;, obviously I chose the latter option.&lt;br /&gt;
&lt;br /&gt;
If anyone has tips on another program or way to accomplish this, I&#39;m always open to learning more and trying new programs.&lt;br /&gt;
&lt;script src=&quot;http://chriscarini.com/gistLoader.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.chriscarini.com/feeds/2224296365988580159/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.chriscarini.com/2014/12/applescript-adding-windows-aerosnap.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6820363325210500439/posts/default/2224296365988580159'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6820363325210500439/posts/default/2224296365988580159'/><link rel='alternate' type='text/html' href='http://blog.chriscarini.com/2014/12/applescript-adding-windows-aerosnap.html' title='AppleScript adding Windows AeroSnap functionality to Mac OSX'/><author><name>Unknown</name><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-6820363325210500439.post-6625277154344905378</id><published>2014-12-13T17:00:00.000-08:00</published><updated>2014-12-13T17:00:01.331-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Networking"/><category scheme="http://www.blogger.com/atom/ns#" term="Wireless"/><title type='text'>Wireless Collisions between Access Points</title><content type='html'>I recently attended a &#39;hands on&#39; class in an area that had less than ideal wireless coverage, signal strength, or speed for the labs in the course. As such, the instructor was prepared with 3 wireless hotspots. Two of the hotspots were placed right next to each other and another&amp;nbsp;attendee said we may get better speeds if the two were separated more. I added &quot;Yeah, and let&#39;s hope they aren&#39;t on the same channel&quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihzREVEDWVd5IpGa8pIMoM8iEby6Bwk-R__gA2XpytCgFsC3TmZ2T-csFqLbJe7cBj6tJvRo00-yruXmhwTany8sdDVULgSP_YgL_0I3RvmF8UjbhsfRhETGq4UzD8iVFyZ8-vN-arq91q/s1600/2.4_GHz_Wi-Fi_channels_(802.11b%2Cg_WLAN).svg.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihzREVEDWVd5IpGa8pIMoM8iEby6Bwk-R__gA2XpytCgFsC3TmZ2T-csFqLbJe7cBj6tJvRo00-yruXmhwTany8sdDVULgSP_YgL_0I3RvmF8UjbhsfRhETGq4UzD8iVFyZ8-vN-arq91q/s1600/2.4_GHz_Wi-Fi_channels_(802.11b%2Cg_WLAN).svg.png&quot; height=&quot;147&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Figure 1 - Graphical Representation of 2.4GHz Band Channels Overlapping - &lt;a href=&quot;http://commons.wikimedia.org/wiki/File:2.4_GHz_Wi-Fi_channels_(802.11b,g_WLAN).svg&quot; target=&quot;_blank&quot;&gt;Wikipedia&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
Now, this isn&#39;t the first time I&#39;ve come across this problem, but I was fairly confident that what I was just saying was merely a snarky comment. I believe some back story and history is due on this topic.&lt;br /&gt;
&lt;br /&gt;
I have a co-worker that is in charge of marketing demo kits; pre-boxed, pre-configured kits that are sent on the road to various trade shows and demos. They are setup in a manner that an individual can take all the equipment (usually a laptop, a wireless router, and a few wireless devices) out and setup with no big fuss. It&#39;s worth noting that the wireless routers are all configured with a few custom ports forwarded (to connect back to a corporate network via VPN, among other things). My co-worker was getting ready for a very large show and had 3 of these demo kits up and running next to each other to simulate the show environment. Devices would randomly drop off the network, which caused issues with the demo; there was no consistency to when or how, they would just disappear. I said I&#39;d help try to resolve it since I have a good deal of experience with networks; after grasping how everything was setup (there were about 3 VMs running on the Laptop, connecting through VPN and to one another, not necessarily a trivial setup) I started trying to figure out why devices would drop. Nothing really came to mind for a bit, until (with my pen) I &#39;simulated&#39; a packet getting sent from the device to the access point on the router. I had an &quot;Ah Ha!&quot; moment; the network drawing that I had only had one kit network layout, which included a router/AP with the same gateway IP and on the same channel. Surely this would make at least a few packets collide, possibly kicking devices off the network. After I called him and told my co-worker this, the settings were changed, and all of a sudden the devices stayed on the network; no drops.&lt;br /&gt;
&lt;br /&gt;
Back to the hands on class. After my comment, I started to think &quot;I mean, all 3 hotspots couldn&#39;t be on the same channel, usually devices are set to &#39;Auto&#39; to help prevent this.&quot; About 5 minutes later, the attendee that said they should be separated had opened up&amp;nbsp;&lt;a href=&quot;http://www.inssider.com/&quot; target=&quot;_blank&quot;&gt;inSSIDer&lt;/a&gt;&amp;nbsp;and pointed out that the two we were talking about were both on channel 1. I verified this with my smartphone with Wifi Analyzer (one of my &lt;a href=&quot;http://blog.chriscarini.com/2014/09/recommended-android-apps.html&quot; target=&quot;_blank&quot;&gt;Recommended Android Apps&lt;/a&gt;). I connected to both, and they both were set to a gateway of 192.168.1.1; wow, this is more or less identical to the issue I saw at work.&lt;br /&gt;
&lt;br /&gt;
In one of the breaks I mentioned this to the presenter, they were very grateful and started trying to make the changes I recommended. They said it wasn&#39;t an option to change the channel, but just changed the IP instead; when that particular hotspot rebooted, I noticed the channel had changed to 11. The session start back up, but with this issue on my mind I thought this was rather odd to not have an option to change the channel, and looked up the manual for the hotspot. I proceed to log in (please, always change your passwords away from the default) and verified that there was an option although hidden fairly well. After the day was over, I showed the presenter and we changed the settings for all 3 hot spots. I recommended that the hot spots be manually set to channels 1, 6 and 11 to have the spread be the greatest between them (see figure 1 above for a graphical representation). These 3 channels have no overlap, so I thought they&#39;d be best considering the hot spots will likely be used together again in the next presentation.&lt;br /&gt;
&lt;br /&gt;
All in all, this is now the second time I&#39;ve run into this issue, and while it would not be initially apparent to me either time, it is now something I&#39;ll look out for in the future.</content><link rel='replies' type='application/atom+xml' href='http://blog.chriscarini.com/feeds/6625277154344905378/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.chriscarini.com/2014/12/wireless-collisions-between-access.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6820363325210500439/posts/default/6625277154344905378'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6820363325210500439/posts/default/6625277154344905378'/><link rel='alternate' type='text/html' href='http://blog.chriscarini.com/2014/12/wireless-collisions-between-access.html' title='Wireless Collisions between Access Points'/><author><name>Unknown</name><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/AVvXsEihzREVEDWVd5IpGa8pIMoM8iEby6Bwk-R__gA2XpytCgFsC3TmZ2T-csFqLbJe7cBj6tJvRo00-yruXmhwTany8sdDVULgSP_YgL_0I3RvmF8UjbhsfRhETGq4UzD8iVFyZ8-vN-arq91q/s72-c/2.4_GHz_Wi-Fi_channels_(802.11b%2Cg_WLAN).svg.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6820363325210500439.post-802485032855469917</id><published>2014-09-14T09:00:00.000-07:00</published><updated>2016-04-09T23:22:18.528-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android"/><category scheme="http://www.blogger.com/atom/ns#" term="App"/><category scheme="http://www.blogger.com/atom/ns#" term="Google"/><category scheme="http://www.blogger.com/atom/ns#" term="Phone"/><category scheme="http://www.blogger.com/atom/ns#" term="Recommendations"/><title type='text'>Recommended Android Apps</title><content type='html'>Below is a list of Android apps that have become an integral part of my smartphone usage. If you have any recommendations or replacements for any of the below, please leave a comment and let me know!&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&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/AVvXsEgAioJS82qdCniXmFRj38BYvZTsJgwRv31s1GEsvSz3kzM2CXBEnk8KgEnzRPk3DMmKNvpR5Xp01HUh8VcvMpMTeKSpGyV3h6ueZRfm7uvX78bKzXJkbbqoK8h3750qnKILjbF_qDn6yewx/s1600/Android_Logo_03.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;200&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgAioJS82qdCniXmFRj38BYvZTsJgwRv31s1GEsvSz3kzM2CXBEnk8KgEnzRPk3DMmKNvpR5Xp01HUh8VcvMpMTeKSpGyV3h6ueZRfm7uvX78bKzXJkbbqoK8h3750qnKILjbF_qDn6yewx/s200/Android_Logo_03.png&quot; width=&quot;170&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;b&gt;&lt;u&gt;The List&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;b&gt;Barcode Scanner&lt;/b&gt; [&lt;a href=&quot;https://play.google.com/store/apps/details?id=com.google.zxing.client.android&quot; target=&quot;_blank&quot;&gt;link&lt;/a&gt;] - Does what it says, scans various barcodes. QR codes can have a good deal of data encoded in them from website URLs to WiFi network information.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Financial Apps&lt;/b&gt; - This is inclusive of about 12 apps from my banks, credit cards, student loans as well as investment accounts. Besides the actual bank/credit card apps, I use Google Finance [&lt;a href=&quot;https://play.google.com/store/apps/details?id=com.google.android.apps.finance&quot; target=&quot;_blank&quot;&gt;link&lt;/a&gt;], Mint&amp;nbsp;[&lt;a href=&quot;https://play.google.com/store/apps/details?id=com.mint&quot; target=&quot;_blank&quot;&gt;link&lt;/a&gt;]&amp;nbsp;and SigFig&amp;nbsp;[&lt;a href=&quot;https://play.google.com/store/apps/details?id=com.sigfig.sigfig&quot; target=&quot;_blank&quot;&gt;link&lt;/a&gt;].&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;ConnectBot&lt;/b&gt; [&lt;a href=&quot;https://play.google.com/store/apps/details?id=org.connectbot&quot; target=&quot;_blank&quot;&gt;link&lt;/a&gt;] - I use this primarily to SSH into my hosting server for quick tasks; &#39;dig&#39;, &#39;whois&#39;, &#39;ping&#39; dropping to a python shell for some quick fun, things of that nature.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Easy Voice Recorder&lt;/b&gt; [&lt;a href=&quot;https://play.google.com/store/apps/details?id=com.coffeebeanventures.easyvoicerecorder&quot; target=&quot;_blank&quot;&gt;link&lt;/a&gt;] - This is for notes I wish to record that are longer than a few sentences or are better done hands free; one of the things I&#39;ve been using this for is recording notes on the rental cars that I get for work.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;ES File Explorer&lt;/b&gt; [&lt;a href=&quot;https://play.google.com/store/apps/details?id=com.estrongs.android.pop&quot; target=&quot;_blank&quot;&gt;link&lt;/a&gt;] - More advanced file browser for the Android OS; I&#39;m almost positive this can be used for network file shares, FTP and maybe even some cloud services.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Fitbit&lt;/b&gt; [&lt;a href=&quot;https://play.google.com/store/apps/details?id=com.fitbit.FitbitMobile&quot; target=&quot;_blank&quot;&gt;link&lt;/a&gt;] - I&#39;m lucky enough to work for a company that gives me HRA money for my steps; $1/day for 5k steps, $2/day if I hit 10k; FitBit syncs with their system so it makes my life easier than having to remember to manually enter in my steps each day.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Flashlight&lt;/b&gt; [&lt;a href=&quot;https://play.google.com/store/apps/details?id=com.devuni.flashlight&quot; target=&quot;_blank&quot;&gt;link&lt;/a&gt;] - When it&#39;s dark and you need a bit of extra light; I&#39;ve used this when roaming around my place late at night, or just to get a bit of extra light in the server rack at work.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;FlightView&lt;/b&gt; [&lt;a href=&quot;https://play.google.com/store/apps/details?id=com.flightview.flightview_free&quot; target=&quot;_blank&quot;&gt;link&lt;/a&gt;] - I travel a fair deal, so this is very useful to track my flight status and lookup my terminal and gate for my flight.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Lux Lite&lt;/b&gt; [&lt;a href=&quot;https://play.google.com/store/apps/details?id=com.vitocassisi.luxlite&quot; target=&quot;_blank&quot;&gt;link&lt;/a&gt;] - This app is very nice. Ever wake up and your screen is just too bright, even on the lowest setting? Yeah, this app fixes that. You can setup a custom mapping of brightness output for a given ambient light (measured by the light sensor on the phone). You can also manually override this at any time should you need more/less brightness. My current map for my Nexus 4 in Lux-&amp;gt;Brightness is [0-&amp;gt;-73%, 4-&amp;gt;-33%, 85-&amp;gt;39%]&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;My Tracks&lt;/b&gt; [&lt;a href=&quot;https://play.google.com/store/apps/details?id=com.google.android.maps.mytracks&quot; target=&quot;_blank&quot;&gt;link&lt;/a&gt;] - When I get a chance to go hiking somewhere new, I love using this app. Made by Google, it tracks everything I&#39;d want to know as an engineer plus allows you to export the track in several formats.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;PdaNet+&lt;/b&gt; [&lt;a href=&quot;https://play.google.com/store/apps/details?id=com.pdanet&quot; target=&quot;_blank&quot;&gt;link&lt;/a&gt;] - For quick WiFi access on my laptop, PdaNet+ uses my cellphone 3G/4G connection and bridges it with the WiFi card to act as an access point so I can get online on my laptop; useful to have at airports and hotels with bad WiFi.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Quora&lt;/b&gt; [&lt;a href=&quot;https://play.google.com/store/apps/details?id=com.quora.android&quot; target=&quot;_blank&quot;&gt;link&lt;/a&gt;] - Thanks to my intellectual friend Rustin who introduced me to Quora, I have become a huge fan. If I ever have that &#39;oh man I&#39;m bored&#39; feeling, Quora is quickly opened and that feeling goes away.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Silent Time&lt;/b&gt; [&lt;a href=&quot;https://play.google.com/store/apps/details?id=com.QuiteHypnotic.SilentTime&quot; target=&quot;_blank&quot;&gt;link&lt;/a&gt;] - Ever sit in a college class and someone&#39;s phone go off and you immediately check yours to make sure it&#39;s on vibrate? Yeah, I stopped doing that sophomore year once I downloaded this app. You can set several events and have your phone automatically silence and vibrate; I had one set for each one of my classes; now I use it for work. My only gripe was I wish it synced with Google Calendar, but that was more when I was in college and my classes changed every semester.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Sleep Cycles&lt;/b&gt; [&lt;a href=&quot;https://play.google.com/store/apps/details?id=and.drouillard.sleepcycles&quot; target=&quot;_blank&quot;&gt;link&lt;/a&gt;] - This app calculates and sets a timer for (a) good times to wake up in the morning if you go to sleep now or (b) good times to go to sleep if you want to wake up at a specific time. Wikipedia has a good page on sleep cycles. I&#39;ve gotten to the point where I rarely use this app because I consistently wake up at the end of my 5th cycle; but on the occasion I need to wake up extra early or am traveling to a client site, I&#39;ll use this app to help me get better sleep.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;TeamViewer&lt;/b&gt; [&lt;a href=&quot;https://play.google.com/store/apps/details?id=com.teamviewer.teamviewer.market.mobile&quot; target=&quot;_blank&quot;&gt;link&lt;/a&gt;] - I use this on the go to remote in to my computers; sometimes is to open a tab I want to read later, but usually it is to view my webcams.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Trigger&lt;/b&gt; [&lt;a href=&quot;https://play.google.com/store/apps/details?id=com.jwsoft.nfcactionlauncher&quot; target=&quot;_blank&quot;&gt;link&lt;/a&gt;] - This app can set some commands to react to NFC tags; I used this to do several things when I left for work, and arrived at work, mostly to save battery life on my old Nexus S.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Unlock with WiFi&lt;/b&gt; [&lt;a href=&quot;https://play.google.com/store/apps/details?id=com.benhirashima.unlockwithwifitrial&quot; target=&quot;_blank&quot;&gt;link&lt;/a&gt;] - A passcode on your phone is a smart idea, but when you&#39;re at home is it really necessary? I didn&#39;t really think so. I found this app originally on the xna developers forum and have been using it since; you can set it up so when the phone is connected to a specific WiFi network, it disables the lock screen, once you disconnect from that WiFi network, the lock screen is enabled once again.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Wifi Analyzer&lt;/b&gt; [&lt;a href=&quot;https://play.google.com/store/apps/details?id=com.farproc.wifi.analyzer&quot; target=&quot;_blank&quot;&gt;link&lt;/a&gt;] - Ever need to see detailed information about the wireless networks around you? Then this app is for you. You can see graphs comparing the Wifi Channels to Signal strength of each of the wireless networks in range, detailed information about wireless networks, wireless channel ratings, and more!</content><link rel='replies' type='application/atom+xml' href='http://blog.chriscarini.com/feeds/802485032855469917/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.chriscarini.com/2014/09/recommended-android-apps.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6820363325210500439/posts/default/802485032855469917'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6820363325210500439/posts/default/802485032855469917'/><link rel='alternate' type='text/html' href='http://blog.chriscarini.com/2014/09/recommended-android-apps.html' title='Recommended Android Apps'/><author><name>Unknown</name><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/AVvXsEgAioJS82qdCniXmFRj38BYvZTsJgwRv31s1GEsvSz3kzM2CXBEnk8KgEnzRPk3DMmKNvpR5Xp01HUh8VcvMpMTeKSpGyV3h6ueZRfm7uvX78bKzXJkbbqoK8h3750qnKILjbF_qDn6yewx/s72-c/Android_Logo_03.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6820363325210500439.post-3899365792003269230</id><published>2014-09-01T06:00:00.000-07:00</published><updated>2018-12-09T19:16:50.883-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ESXi"/><category scheme="http://www.blogger.com/atom/ns#" term="Ethernet"/><category scheme="http://www.blogger.com/atom/ns#" term="Home Networking"/><category scheme="http://www.blogger.com/atom/ns#" term="Networking"/><category scheme="http://www.blogger.com/atom/ns#" term="Server"/><category scheme="http://www.blogger.com/atom/ns#" term="Smart Switch"/><category scheme="http://www.blogger.com/atom/ns#" term="VLAN"/><category scheme="http://www.blogger.com/atom/ns#" term="VMWare"/><category scheme="http://www.blogger.com/atom/ns#" term="Wireshark"/><title type='text'>Increase ESXi Ethernet Ports through a Smart Switch</title><content type='html'>At work, I managed to acquire/save a nice HP server and rescue 2 Dell Smart Switches from being scrapped. I pitched the idea to my boss to use these to setup a server that would help with various tasks at work (the main one at the time was imaging close to 500 computers); he thought the idea was useful and away I went to install ESXi on the server.&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;The hardware I was able to use is as below:&lt;/i&gt;&lt;br /&gt;
- 2x Dell PowerConnect 2808 (PowerConnect 28xx Series)&lt;br /&gt;
- 1x HP DL360 G6 Server w/ ESXi 5.5 (HP Custom Install CD)&lt;br /&gt;
- Ethernet Cables&lt;br /&gt;
&lt;br /&gt;
The DL360 only had 4 Ethernet ports available; I needed one to connect to the work network (the &#39;WAN&#39; in a sense), and I wanted one to be used for management only. This gave me 2 Ethernet ports to work with; I wanted to be able to use more in ESXi to dedicate some to VMs when necessary. I accomplished this using the 2 Dell Smart Switches and VLANs and ended up having 12 Ethernet ports (6 from each switch) that I could use to connect to VMs. One of the ports on the switch was used for the VLAN trunk to the server, and another was used for switch management (if/when necessary).&lt;br /&gt;
&lt;br /&gt;
Below are a few screenshots of some of the config; it should be enough to reproduce this setup or similar; the main concept really just being that I&#39;m using VLANs to make ESXi appear to have more Ethernet ports. I understand that I am imposing a bottleneck and will not actually see Gigabit speeds on each of the ports of the Dell switches; this is something I&#39;m willing to live with for now.&lt;br /&gt;
&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitx0tkhacPX2kh1w0yOZgPjigrnfUYfDa0vPJ48nhJc4_D6mYrc3VDcSHH1Z81oSrAiNQOnFdwexSqe0D_fVwZA51FjrN2NxfWfUZnH1cRiJFRAkuhGWFfczzam4J6tHrxbo3WbLtrXYv9/s1600/Dell2808-VLAN-VLAN_Membership_VLAN_1.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;297&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitx0tkhacPX2kh1w0yOZgPjigrnfUYfDa0vPJ48nhJc4_D6mYrc3VDcSHH1Z81oSrAiNQOnFdwexSqe0D_fVwZA51FjrN2NxfWfUZnH1cRiJFRAkuhGWFfczzam4J6tHrxbo3WbLtrXYv9/s1600/Dell2808-VLAN-VLAN_Membership_VLAN_1.PNG&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Dell 2808 VLAN 1 Membership&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8Sio8KYeUvkIrAPXek96NGJuRyB7tnX8OgM1bokmdpKf_3kcOkOq2_YFUyymKvivDI48yMDnyrycnLg1YWa1yRygndIdq5DHpyJiJ6frXJftevR46rbkw8PxS19t5_opDgn_KYERyzFT0/s1600/Dell2808-VLAN-VLAN_Membership_VLAN_50.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;297&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8Sio8KYeUvkIrAPXek96NGJuRyB7tnX8OgM1bokmdpKf_3kcOkOq2_YFUyymKvivDI48yMDnyrycnLg1YWa1yRygndIdq5DHpyJiJ6frXJftevR46rbkw8PxS19t5_opDgn_KYERyzFT0/s1600/Dell2808-VLAN-VLAN_Membership_VLAN_50.PNG&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Dell 2808 VLAN 50 Membership - This is similar for VLAN 30,40,50,60,70,80; the first number designating the port number on the Dell Switch&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLQme2j4L71Vt9_pBfo69qRe6sKUVNsN_ceBtD_3yCsITRWXKvxCHtzFYTJBRrrH3FCr6YkTaIaWBHXn9l9baNeHTd11K7tY7tbZeCHB30mOMG-THWpfyjEpBOb7P7FZZ6upO7y1FZA8iP/s1600/Dell2808-VLAN-VLAN_Port_Settings_Table-All.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLQme2j4L71Vt9_pBfo69qRe6sKUVNsN_ceBtD_3yCsITRWXKvxCHtzFYTJBRrrH3FCr6YkTaIaWBHXn9l9baNeHTd11K7tY7tbZeCHB30mOMG-THWpfyjEpBOb7P7FZZ6upO7y1FZA8iP/s1600/Dell2808-VLAN-VLAN_Port_Settings_Table-All.PNG&quot; width=&quot;310&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Dell 2808 VLAN Ports PVID Table&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5P9cjBvAH_x-dadt4bvWidp1U1qq0pRJ4PtbOUVbxz0pRr2AYvnZ_Yuxa3j4BsWqz2bGl1KP3j2fR3qYHg667NkfEiHhDRKnurgCcCQGf0iUG9zlPaNX_FLTGyYBtqrDCzKMGbLLxw6lC/s1600/ESXi5.5-VLAN-VirtualSwitchLayout-All.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;291&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5P9cjBvAH_x-dadt4bvWidp1U1qq0pRJ4PtbOUVbxz0pRr2AYvnZ_Yuxa3j4BsWqz2bGl1KP3j2fR3qYHg667NkfEiHhDRKnurgCcCQGf0iUG9zlPaNX_FLTGyYBtqrDCzKMGbLLxw6lC/s1600/ESXi5.5-VLAN-VirtualSwitchLayout-All.PNG&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;vSphere/ESXi Network Configuration for one of the Dell 2808 Switches&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
Note that these screenshots are for one of the two Dell 2808 switches, the other switch is configured identically, the VLANs just end in &#39;5&#39; instead of &#39;0&#39; (so, VLAN 35,45,55,65,75,85).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
One of the many things I learned during this was regarding VLANs and the difference between Tagged, Untagged and PVID. Tagged and Untagged are terms that are relating to the packets coming&amp;nbsp;&lt;i&gt;into&lt;/i&gt;&amp;nbsp;the switch; that is, if the packets are coming from a device that is VLAN aware and is tagging the packets before sending them on to the smart switch.(1) Untagged is just the opposite, its referring to a device that is not aware of VLANs, and as such is forwarding regular packets to the smart switch.(1) PVID (or Port VLAN ID) is in relation to packets that are exiting the switch, so if the switch gets a packet and forwards it onto a device, its the VLAN ID that will be appended to the packet on a particular port. (1,2,3)&lt;br /&gt;
&lt;br /&gt;
It was useful to test that all the traffic (depending on the port) was showing the correct VLAN information; as such, I resorted to Wireshark. Wireshark does require some tweaking depending on if your NIC supports VLAN traffic or not. Wireshark&#39;s Wiki page has some good explanation on how it handles VLANs and what you should expect to see (4). For my particular computer at work (a Lenovo T430), I had some registry tweaks and swap drivers in order to get Windows to allow Wireshark to see the VLAN information from the Ethernet interface properly in the captures (5,6,7,8).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;&lt;i&gt;References:&lt;/i&gt;&lt;/u&gt;&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;http://en.community.dell.com/support-forums/network-switches/f/866/t/18619540.aspx (second post)&lt;/li&gt;
&lt;li&gt;http://h30434.www3.hp.com/t5/Other-HP-Consumer-Products-and-Technologies/What-are-the-difference-of-TAGGED-UNTAGGED-and-PVID/td-p/681519 (second post)&lt;/li&gt;
&lt;li&gt;http://publib.boulder.ibm.com/infocenter/zvm/v5r4/index.jsp?topic=/com.ibm.zvm.v54.hcpa6/hcsc9b3128.htm (IBM PVID Explanation)&lt;/li&gt;
&lt;li&gt;http://wiki.wireshark.org/VLAN&lt;/li&gt;
&lt;li&gt;http://wiki.wireshark.org/CaptureSetup/VLAN&lt;/li&gt;
&lt;li&gt;https://ask.wireshark.org/questions/15524/vlan-tagging-intel-82579lm-and-wireshark-183&lt;/li&gt;
&lt;li&gt;https://ask.wireshark.org/questions/1983/vlan-capture-setup-for-intel-network-card-on-windows&lt;/li&gt;
&lt;li&gt;http://www.intel.com/support/network/sb/CS-005897.htm&lt;/li&gt;
&lt;/ol&gt;
</content><link rel='replies' type='application/atom+xml' href='http://blog.chriscarini.com/feeds/3899365792003269230/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.chriscarini.com/2014/09/increase-esxi-ethernet-ports-through.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6820363325210500439/posts/default/3899365792003269230'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6820363325210500439/posts/default/3899365792003269230'/><link rel='alternate' type='text/html' href='http://blog.chriscarini.com/2014/09/increase-esxi-ethernet-ports-through.html' title='Increase ESXi Ethernet Ports through a Smart Switch'/><author><name>Unknown</name><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/AVvXsEitx0tkhacPX2kh1w0yOZgPjigrnfUYfDa0vPJ48nhJc4_D6mYrc3VDcSHH1Z81oSrAiNQOnFdwexSqe0D_fVwZA51FjrN2NxfWfUZnH1cRiJFRAkuhGWFfczzam4J6tHrxbo3WbLtrXYv9/s72-c/Dell2808-VLAN-VLAN_Membership_VLAN_1.PNG" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6820363325210500439.post-6314235074692913594</id><published>2014-07-08T09:00:00.000-07:00</published><updated>2014-09-04T16:45:31.972-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="bash"/><category scheme="http://www.blogger.com/atom/ns#" term="CloneZilla"/><category scheme="http://www.blogger.com/atom/ns#" term="DRBL"/><category scheme="http://www.blogger.com/atom/ns#" term="man page"/><category scheme="http://www.blogger.com/atom/ns#" term="Script"/><title type='text'>DRBL Man Pages &amp; Auto-Install Script</title><content type='html'>&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;img height=&quot;200&quot; src=&quot;http://drbl.sourceforge.net/img/logo.gif&quot; style=&quot;margin-left: auto; margin-right: auto;&quot; width=&quot;200&quot; /&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;DRBL is &lt;b&gt;D&lt;/b&gt;iskless &lt;b&gt;R&lt;/b&gt;emote &lt;b&gt;B&lt;/b&gt;oot in &lt;b&gt;L&lt;/b&gt;inux&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
I needed to reference these several times recently, and could not always find these online; here they are for anyone to reference.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;u&gt;drblsrv -h&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
Usage:&lt;br /&gt;
/usr/sbin/drblsrv [Option]&lt;br /&gt;
Option:&lt;br /&gt;
-f, --force-yes: &amp;nbsp;force yes, only for Debian-like distribution. It &amp;nbsp;should &amp;nbsp;not &amp;nbsp;be used except in very special situations. Using force-yes can potentially destroy your system!&lt;br /&gt;
-i, --install: &amp;nbsp; &amp;nbsp;install DRBL.&lt;br /&gt;
-u, --uninstall: &amp;nbsp;uninstall DRBL.&lt;br /&gt;
-v, --verbose: &amp;nbsp; &amp;nbsp;verbose mode.&lt;br /&gt;
-t, --testing [y/n]: &amp;nbsp; &amp;nbsp;use packages in testing branch or not.&lt;br /&gt;
-a, --unstable [y/n]: &amp;nbsp; use packages in unstable branch or not.&lt;br /&gt;
-n, --netinstall [y/n]: install the network installation program or not.&lt;br /&gt;
-m, --smp-client [y/n]: use SMP kernel for DRBL clients or not.&lt;br /&gt;
-x, --set-proxy [y/n]: &amp;nbsp;set proxy or not.&lt;br /&gt;
-c, --console-output [y/n]: set console output for client or not.&lt;br /&gt;
-g, --upgrade_system [y/n]: upgrade system or not.&lt;br /&gt;
-k, --client_archi [0/1/2]: set the client&#39;s CPU arch, 0 for i386, 1 for i586, 2 for same level with DRBL server (for x86_64, use 2).&lt;br /&gt;
-o, --client_kernel_from [1/2]: choose client&#39;s kernel image from, 1 from DRBL server running kernel (if available), 2 from ayo repository.&lt;br /&gt;
-s, --skip-select-repository: skip the question for selecting repository.&lt;br /&gt;
-l, --language N &amp;nbsp;Set the language to be shown, where N:&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0: English,&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1: Traditional Chinese (Big5) - Taiwan,&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 2: Traditional Chinese (UTF-8, Unicode) - Taiwan.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;u&gt;drblpush -h&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
Usage: /usr/sbin/drblpush [-c|--config config_file] [-d|--debug] [-e|--accept-one-nic] [-h|--help] [-i|--interactive] [-k|--keep_clients Y/n] [-l|--language index_number] [-m|--client_startup_mode 1/2] [-n|--no_deploy] [-o|--clonezilla_home DIR] [-p|--port_client_no number] [-q|--quiet] [-r|--drbl_mode 0|1|2] [-t|--live_client_branch 0|1|2|3] [-s|--swap_create y/N] [-v|--verbose] [-z|--clonezilla_mode 0|1|2|3] [--skip-drbl-ocs-live-prep] [--drbl-ocs-live-server IP]&lt;br /&gt;
-b, --not-add-start-drbl-srvi Do NOT add and start DRBL related services after the configuration is done&lt;br /&gt;
-c, --config &amp;nbsp; &amp;nbsp; &amp;nbsp;The DRBL config file, text format&lt;br /&gt;
-d, --debug &amp;nbsp; &amp;nbsp; &amp;nbsp; Turn on debug mode when run shell script&lt;br /&gt;
-e, --accept-one-nic &amp;nbsp; Accept to run DRBL service in only one network card. ///NOTE/// This might mess up your network environment especially if there is an existing DHCP service in your network environment.&lt;br /&gt;
-h, --help &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Show this help message&lt;br /&gt;
-i, --interactive Interactive mode, setup step by step.&lt;br /&gt;
-k, --keep_clients Y/n Keep previously saved files for clients.&lt;br /&gt;
-m, --client_startup_mode [1|2] Assign client mode, 1 for graphic mode, 2 for text mode.&lt;br /&gt;
-n, --no_deploy &amp;nbsp; Just create files, do NOT deploy the files into system&lt;br /&gt;
-o, --clonezilla_home DIR &amp;nbsp;Use DIR as the clonezilla image directory&lt;br /&gt;
-p, --port_client_no number The client no. in each NIC port.&lt;br /&gt;
-q, --quiet &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Be less verbose&lt;br /&gt;
-r, --drbl_mode [0|1|2] Assign DRBL mode (0: Full DRBL mode, 1: DRBL SSI mode, 2: Do NOT provide diskless Linux service to clients)&lt;br /&gt;
-s, --swap_create y/N &amp;nbsp; Switch to create and use local swap in clients (yes or no)&lt;br /&gt;
-t, --live_client_branch [0|1|2|3] Assign the Clonezilla live release branch to be used, 0 is stable branch (Debian-based), 1 is testing branch (Debian-based), 2 is alternative stable branch (Ubuntu-based), 3 is alternative testing branch (Ubuntu-based). This option should be used when -z|--clonezilla_mode = 3&lt;br /&gt;
-u, --live_client_cpu_mode [0|1|2] &amp;nbsp;Assign the CPU mode for client when doing Clonezilla job with Clonezilla live (0: i486, 1: i686, 2: amd64)&lt;br /&gt;
-v, --verbose &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Be more verbose&lt;br /&gt;
-z, --clonezilla_mode [0|1|2|3] Assign Clonezilla mode (0: Full DRBL mode, 1: Clonezilla box mode, 2: Do NOT provide clonezilla service to clients, 3: Use Clonezilla live as the OS of clients)&lt;br /&gt;
--skip-drbl-ocs-live-prep &amp;nbsp;Force to skip running drbl-ocs-live-prep&lt;br /&gt;
--drbl-ocs-live-server IP &amp;nbsp;Assign the Clonezilla live server as IP when running drbl-ocs-live-prep&lt;br /&gt;
-l, --language INDEX &amp;nbsp;Set the language to be shown (deprecated! Use environmental LC_ALL or LANG instead).&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [0]: English&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [1]: Traditional Chinese (Big5) - Taiwan&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [2]: Traditional Chinese (UTF-8, Unicode) - Taiwan&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [a|ask]: Prompt to ask the language index&lt;br /&gt;
--ln INDEX &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Set the language to be shown (deprecated! Use environmental LC_ALL or LANG instead).&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [en_US]: English&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [zh_TW.BIG5]: Traditional Chinese (Big5) - Taiwan&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [zh_TW.UTF-8]: Traditional Chinese (UTF-8, Unicode) - Taiwan&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;u&gt;drbl4imp -h&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
Usage:&lt;br /&gt;
/usr/sbin/drbl4imp [Option]&lt;br /&gt;
Option:&lt;br /&gt;
-a, --unstable [y/n]: &amp;nbsp; Use packages in unstable branch or not (Only works for RH-like distribution).&lt;br /&gt;
-b, --batch: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Run /usr/sbin/drbl4imp in batch mode (non-attended mode).&lt;br /&gt;
-e, --accept-one-nic &amp;nbsp; &amp;nbsp;Accept to run DRBL service in only one network card. ///NOTE/// This might mess up your network environment especially if there is an exi sting DHCP service in your network environment.&lt;br /&gt;
-c, --live-client-branch [0|1|2|3] Assign the Clonezilla live release branch to be used, 0 is stable branch (Debian-based), 1 is testing branch (Debian-based), 2 is alternative stable branch (Ubuntu-based), 3 is alternative testing branch (Ubuntu-based). This option should be used when -z|--clonezilla-mode = 3&lt;br /&gt;
-p, --port-client-no &amp;nbsp;NO &amp;nbsp;The client number NO in each NIC port.&lt;br /&gt;
-k, --client-archi [0/1/2]: Set the client&#39;s CPU arch, 0 for i386, 1 for i586, 2 for same level with DRBL server (for x86-64, use 2). This option is for the DRBL client is NFS based, i.e. all files are NFS mounted from server. It&#39;s different from the option &#39;-u&#39;, which is only for clonezilla mode.&lt;br /&gt;
-r, --drbl-mode [0|1|2] Assign DRBL mode (0: Full DRBL mode, 1: DRBL SSI mode, 2: Do NOT provide diskless Linux service to clients). Default value is 0..&lt;br /&gt;
-t, --testing [y/n]: &amp;nbsp; &amp;nbsp;Use packages in testing branch or not (Only works for RH-like distribution).&lt;br /&gt;
-u, --live-client-cpu-mode [0|1|2] &amp;nbsp;Assign the CPU mode for client when doing Clonezilla job with Clonezilla live (0: i486, 1: i686, 2: amd64). This option should be used with -z|--clonezilla-mode = 3.&lt;br /&gt;
-x, --limit-pxe-drbl-client &amp;nbsp;Force the DHCP service managed by DRBL will only allow PXE or DRBL clients to lease IP address. By default all the clients can lease IP address. //NOTE// If you want to use Clonezilla live as the OS of clients when running Clonezilla job, do _NOT_ use this option. Otherwise your client won&#39;t be able to mount the root file system.&lt;br /&gt;
-z, --clonezilla-mode [0|1|2|3] Assign Clonezilla mode (0: Full DRBL mode, 1: Clonezilla box mode, 2: Do NOT provide clonezilla service to clients, 3: Use Clonezilla live as the OS of clients). Default value is 0.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;nbsp; To create a Clonezilla server, using i686 Clonezilla live as the OS of clients, each network card will provide Clonezilla service to 40 clients:&lt;br /&gt;
&amp;nbsp; /usr/sbin/drbl4imp -p 40 -r 1 -z 3 -u 1&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;i&gt;&lt;u&gt;Script to automate the install of DRBL/CloneZilla SE:&lt;/u&gt;&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
# Check if run as root, if not, print message and exit&lt;br /&gt;
if [ &quot;$(whoami)&quot; != &quot;root&quot; ]; then&lt;br /&gt;
&amp;nbsp; &amp;nbsp; echo -e &quot;########\n##\n#\n# NOTICE: This script must be run with root permissions (either as root, or with sudo)!\n#\n##\n########&quot;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; exit -1&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Download GPG key for DRBL to add to apt&lt;br /&gt;
wget -q http://drbl.org/GPG-KEY-DRBL -O- | sudo apt-key add -&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Add the DRBL repo to the sources.list file&lt;br /&gt;
SOURCE_FILE=/etc/apt/sources.list&lt;br /&gt;
echo -e &quot;\n\n# Below are for DRBL Installation #&quot; &amp;gt;&amp;gt; $SOURCE_FILE&lt;br /&gt;
echo &quot;deb http://archive.ubuntu.com/ubuntu precise main restricted universe multiverse&quot; &amp;gt;&amp;gt; $SOURCE_FILE&lt;br /&gt;
echo &quot;deb http://drbl.sourceforge.net/drbl-core drbl stable&quot; &amp;gt;&amp;gt; $SOURCE_FILE&lt;br /&gt;
echo &quot;# End DRBL Installation Repos #&quot; &amp;gt;&amp;gt; $SOURCE_FILE&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Update apt &amp;amp; install DRBL&lt;br /&gt;
apt-get update&lt;br /&gt;
apt-get --assume-yes install drbl&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Sometimes the perl install did not include the IP lib, which is used in some of the drbl install scripts, so lets try to install just in case.&lt;br /&gt;
cpan -i Net::IP&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Run DRBL Install Script&lt;br /&gt;
# Note: &#39;yes &quot;&quot; | &amp;lt;cmd&amp;gt;&#39; just hits enter for the drblsrv command when prompted&lt;br /&gt;
yes &quot;&quot; | drblsrv -i --netinstall n --console-output n --upgrade_system n --client_archi 2 --client_kernel_from 1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Run DRBL Script to setup environment for imaging with CloneZilla&lt;br /&gt;
drbl4imp -b -c 2 -p 40 -k 2 -r 1 -u 2 -z 3&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Setup the script to kick off imaging clients&lt;br /&gt;
echo &quot;Making script to image clients...&quot;&lt;br /&gt;
SCRIPT_NAME=/home/`cat /etc/passwd | grep $EUID | cut -d: -f1`/imageClients.sh&lt;br /&gt;
touch $SCRIPT_NAME&lt;br /&gt;
chmod 755 $SCRIPT_NAME&lt;br /&gt;
echo &quot;#!/bin/bash&quot; &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; &amp;nbsp; &amp;nbsp;&amp;gt;&amp;gt; $SCRIPT_NAME&lt;br /&gt;
echo &quot;echo \&quot;Clearing DHCP Tables...\&quot;&quot; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;gt;&amp;gt; $SCRIPT_NAME&lt;br /&gt;
echo &quot;rm /var/lib/dhcp/dhcpd.leases~&quot; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;gt;&amp;gt; $SCRIPT_NAME&lt;br /&gt;
echo &quot;echo \&quot;\&quot; &amp;gt; /var/lib/dhcp/dhcpd.leases&quot; &amp;nbsp; &amp;gt;&amp;gt; $SCRIPT_NAME&lt;br /&gt;
echo &quot;echo \&quot;Kicking off...\&quot;&quot; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;gt;&amp;gt; $SCRIPT_NAME&lt;br /&gt;
echo &quot;drbl-ocs -b -g auto -e1 auto -e2 -r -x -j2 -p reboot --clients-to-wait 23 -l en_US.UTF-8 startdisk multicast_restore IMAGE_NAME sda&quot; &amp;gt;&amp;gt; $SCRIPT_NAME&lt;br /&gt;
&lt;br /&gt;
echo &quot;Done!&quot;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://blog.chriscarini.com/feeds/6314235074692913594/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.chriscarini.com/2014/07/drbl-man-pages-auto-install-script.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6820363325210500439/posts/default/6314235074692913594'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6820363325210500439/posts/default/6314235074692913594'/><link rel='alternate' type='text/html' href='http://blog.chriscarini.com/2014/07/drbl-man-pages-auto-install-script.html' title='DRBL Man Pages &amp; Auto-Install Script'/><author><name>Unknown</name><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-6820363325210500439.post-651735614649839835</id><published>2014-03-11T19:30:00.000-07:00</published><updated>2016-07-04T14:08:33.992-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Camera"/><category scheme="http://www.blogger.com/atom/ns#" term="Github"/><category scheme="http://www.blogger.com/atom/ns#" term="iSpy"/><category scheme="http://www.blogger.com/atom/ns#" term="PHP"/><category scheme="http://www.blogger.com/atom/ns#" term="Script"/><title type='text'>[Quick Script] iSpy Alert Monitor Script</title><content type='html'>&lt;a href=&quot;http://www.ispyconnect.com/&quot; target=&quot;_blank&quot;&gt;iSpy Open Source Camera Security Software&lt;/a&gt; has some pretty neat features; one of which happens to be Alert Actions for each webcam. I wanted a quick little email sent to me each time a webcam had some movement, which normally would be a feature for subscribers only; as a work around, I wrote this short PHP script which iSpy calls as a URL instead. This works plenty well for my needs, and I may get around to modifying it more over time as I see fit. You can find the code below:&lt;br /&gt;
&lt;div class=&quot;gistLoad&quot; data-id=&quot;077de8ffd20add52eff8&quot; id=&quot;gist-077de8ffd20add52eff8&quot;&gt;
Loading ....&lt;/div&gt;
&lt;br /&gt;
If you have any modifications/improvements to it, please comment and let me know!!

&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;UPDATE [March 15th 2014]&lt;/b&gt;: While writing this post, I couldn&#39;t help but think &quot;Man, I wonder how long it&#39;s going to take before I get annoyed that I&#39;m getting alerts while I&#39;m at home...&quot;. Well, I just found out. As such, I made a small modification to fix this by adding a &#39;lock file&#39;; the script above has been updated, and below you will see the appropriate cron job additions and example times.&lt;br /&gt;
&lt;br /&gt;
&lt;pre style=&quot;background-color: #f0f0f0; border: 1px dashed rgb(204, 204, 204); font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 2px; width: 646.4666748046875px;&quot;&gt;&lt;code style=&quot;word-wrap: normal;&quot;&gt;# For iSpy Cam Alert Script
# When are you not home? Here its triggering at 6AM Mon-Fri
00 06 * * 1-5 touch &amp;lt;absolute_path_to_script_folder&amp;gt;/notHome.lock

# When do you come home? Here its triggering at 4:30PM Mon-Fri
30 16 * * 1-5 rm &amp;lt;absolute_path_to_script_folder&amp;gt;/notHome.lock&lt;/code&gt;&lt;/pre&gt;
&lt;script src=&quot;http://chriscarini.com/blogContent/gistLoader.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.chriscarini.com/feeds/651735614649839835/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.chriscarini.com/2014/03/quick-script-ispy-alert-monitor-script.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6820363325210500439/posts/default/651735614649839835'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6820363325210500439/posts/default/651735614649839835'/><link rel='alternate' type='text/html' href='http://blog.chriscarini.com/2014/03/quick-script-ispy-alert-monitor-script.html' title='[Quick Script] iSpy Alert Monitor Script'/><author><name>Unknown</name><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-6820363325210500439.post-2259527412512201726</id><published>2014-02-22T16:22:00.000-08:00</published><updated>2014-12-13T17:01:31.513-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Google"/><category scheme="http://www.blogger.com/atom/ns#" term="Google Fiber"/><category scheme="http://www.blogger.com/atom/ns#" term="Home Networking"/><category scheme="http://www.blogger.com/atom/ns#" term="Networking"/><title type='text'>Google Fiber Thoughts &amp; Comments</title><content type='html'>I have had Google Fiber for 4 months now(as of late Feb 2014; final installation in late October 2013)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here is a speed test from a wired connection through a NetGear 8-port smart switch that was done on Feb 22, 2014 around 17:00PST&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://result.googlefiber.net/share/30541770.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://result.googlefiber.net/share/30541770.png&quot; height=&quot;320&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
Pet Peeves:&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;YouTube does not seem to automatically sense the connection speed and serve up HD videos by default; very annoying&lt;/li&gt;
&lt;li&gt;Chromecast is the same, sometimes the quality is sub-par (used both access points)&lt;/li&gt;
&lt;li&gt;Exposed the hardware limit of my pfSense box, not really a con, but just annoying that its that fast...&lt;/li&gt;
&lt;/ul&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYvLH73dA7R5dM7fuW_F9VO2H5EXGuH546o2V9gYxQapBnJgAbPWsYiws0aAvFroUZWiPNnJSaS3HFlnPdu0Xh2_bzk-95ivtU7ze9IjlHBSg1Yp5DZXUNoaajop3N4sj50MGMil3C7fjl/s1600/GoogleFiberSpeedTestThroughPFSenseFirewall.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYvLH73dA7R5dM7fuW_F9VO2H5EXGuH546o2V9gYxQapBnJgAbPWsYiws0aAvFroUZWiPNnJSaS3HFlnPdu0Xh2_bzk-95ivtU7ze9IjlHBSg1Yp5DZXUNoaajop3N4sj50MGMil3C7fjl/s1600/GoogleFiberSpeedTestThroughPFSenseFirewall.png&quot; height=&quot;245&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Speed test through my pfSense Firewall; Ironically enough, there were no &#39;share buttons&#39; to make a nice image like above (this is a screen shot), probably because they don&#39;t want people sharing that Google Fiber is slower than advertised.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div&gt;
For context, the network layout is something like:&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; FON -&amp;gt; Google Fiber Box -&amp;gt; Netgear Switch -&amp;gt; pfSense Box -&amp;gt; Internal Test Network&lt;br /&gt;
So the speeds at the Google Fiber Box/Netgear Switch are what I&#39;d expect (fassssstttt!!!), and my internal test network is where its slower (screenshot above). After a good deal of research, I&#39;ve realized this is a hardware limitation of my pfSense box not being able to route traffic much faster. If there is a pfSense guru out there that thinks they can speed up my box, get in touch!&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;u&gt;Updates:&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
&lt;i&gt;July 31st, 2014&lt;/i&gt; - I received an email from the Google Fiber Team saying I was selected to test out some of the next generation of their Fiber devices. I&#39;m excited to see what they have in the pipeline!&lt;br /&gt;
&lt;i&gt;Sept 2nd, 2014&lt;/i&gt;&amp;nbsp;-&amp;nbsp;The YouTube/Chromecast issues I was seeing do not seem to really be a huge issue any more and hasen&#39;t been for a while. Perhaps it was just some intermittent issues I was experiencing.&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://blog.chriscarini.com/feeds/2259527412512201726/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.chriscarini.com/2014/02/google-fiber-thoughts-comments.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6820363325210500439/posts/default/2259527412512201726'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6820363325210500439/posts/default/2259527412512201726'/><link rel='alternate' type='text/html' href='http://blog.chriscarini.com/2014/02/google-fiber-thoughts-comments.html' title='Google Fiber Thoughts &amp; Comments'/><author><name>Unknown</name><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/AVvXsEgYvLH73dA7R5dM7fuW_F9VO2H5EXGuH546o2V9gYxQapBnJgAbPWsYiws0aAvFroUZWiPNnJSaS3HFlnPdu0Xh2_bzk-95ivtU7ze9IjlHBSg1Yp5DZXUNoaajop3N4sj50MGMil3C7fjl/s72-c/GoogleFiberSpeedTestThroughPFSenseFirewall.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6820363325210500439.post-1320953157903351637</id><published>2014-02-22T15:42:00.001-08:00</published><updated>2014-12-13T17:01:31.511-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ESXi"/><category scheme="http://www.blogger.com/atom/ns#" term="Home Networking"/><category scheme="http://www.blogger.com/atom/ns#" term="iSCSI"/><category scheme="http://www.blogger.com/atom/ns#" term="LACP"/><category scheme="http://www.blogger.com/atom/ns#" term="NAS"/><category scheme="http://www.blogger.com/atom/ns#" term="Networking"/><category scheme="http://www.blogger.com/atom/ns#" term="pfSense"/><category scheme="http://www.blogger.com/atom/ns#" term="VLAN"/><category scheme="http://www.blogger.com/atom/ns#" term="VMWare"/><title type='text'>Network Upgrades</title><content type='html'>My network has evolved over the past few years, and I wanted to blog about it for a while now. Since exploring with DD-WRT running on an Asus Wireless Router, I have slowly grown my network setup out.&lt;br /&gt;
&lt;br /&gt;
After playing and using DD-WRT for quite some time, I learned about the pfSense operating system, and installed it on a very old computer (Pentium 3 hardware, I believe).&lt;br /&gt;
&lt;br /&gt;
&lt;hr /&gt;
&lt;br /&gt;
Back in &lt;b&gt;August 2012&lt;/b&gt;, my network looked like this:&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/AVvXsEieM8MxqOFpL3NdjEuM_G0XeWG_Mor9t0KSbAQO3P37DDWOADJGbfIwvYlIqp_kV6cTGOM_2fn2KdAmQPRin90mxQ3pOwglYFTUVH075986EQU7hTlN4-dedKyaDgXAxaLpTJE6tDr9yDAE/s1600/2012-08-19+10.30.50.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEieM8MxqOFpL3NdjEuM_G0XeWG_Mor9t0KSbAQO3P37DDWOADJGbfIwvYlIqp_kV6cTGOM_2fn2KdAmQPRin90mxQ3pOwglYFTUVH075986EQU7hTlN4-dedKyaDgXAxaLpTJE6tDr9yDAE/s1600/2012-08-19+10.30.50.jpg&quot; height=&quot;400&quot; width=&quot;300&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
I started to make a &#39;mini network closet&#39; in my basement; sadly I never finished making it since I graduated and moved out of state since then. But here was its first iteration. I wired 4 outlets (as seen in the upper right hand corner) and rerouted the coax cable from my ISP at the time to this location. With the exception of the CRT monitor you see, all the devices were plugged into the APC UPS.&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
You can see the pfSense Server, a 4 port KVM my cousin sent me a while ago right below that, and below that, a gray Sony Vaio which is a general Debian Linux box for me. To the right of the Sony Vaio is the first computer I built, being used as a FreeNAS box.&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
I also took a part of a patch panel and ran 3 Cat5e cables to my room, and 2 to the master bed room. You can see this(yellow) next to the black modem to the right of the monitor. Below that is a Netgear GS105 5-port unmanaged switch essentially distributing the LAN connection of my pfSense Firewall.&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;hr /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
In early &lt;b&gt;March 2013&lt;/b&gt;, I made a few small (yet expensive) upgrades):&lt;/div&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/AVvXsEgsmdbqna5CxEBgk41gOnWzaA0yjndCZXD7TWSs82U-ZAex8oZPxz7tAay3h18M5WptON2cUUsacSC-_H_Dc0qhBdycFNPK8l7mvhXiJfDQCDOCsk88jVgeuWLhTmi5l_9o13E5WqNv7DXK/s1600/2013-03-07+22.21.57.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgsmdbqna5CxEBgk41gOnWzaA0yjndCZXD7TWSs82U-ZAex8oZPxz7tAay3h18M5WptON2cUUsacSC-_H_Dc0qhBdycFNPK8l7mvhXiJfDQCDOCsk88jVgeuWLhTmi5l_9o13E5WqNv7DXK/s1600/2013-03-07+22.21.57.jpg&quot; height=&quot;400&quot; width=&quot;300&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
I wanted to upgrade the hardware I was running so I could experiment with VMWare ESXi and incorporating that into my network. As such, I built a server using a Supermicro Motherboard with an Atom processor built in, 8GB of ram, an older 150GB SATA2 WD Velociraptor HDD and mounted it all in a 1U Supermicro rackmount server; you can see this below the keyboard in the middle right of the image above.&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
I also was going through a dilemma of wanting to have all of my photos, movies, music and other media backed up; as such, I shelled out for a Synology DiskStation DS1812+ and 4x 3TB HDD. I configured it with Synology Hybrid Raid (Link:&amp;nbsp;&lt;a href=&quot;http://forum.synology.com/wiki/index.php/What_is_Synology_Hybrid_RAID%3F&quot; target=&quot;_blank&quot;&gt;What is Synology Hybrid Raid?&lt;/a&gt;) with 2 disk protection (essentially RAID-6, except the added feature of being able to use disks of different sizes). I aggregated all my data from various other hard drives, and then added 4x 2TB HDDs that had some of the said media; this gives me 12.71TB of usable storage space with the ability for 2 drives to fail before I worry about data loss.&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
Since my biggest worry was losing photos I took abroad in England, Scotland &amp;amp; Wales, I also setup a few cron jobs to replicate my photos to the FreeNAS server, as well as a 2 bay Netgear NAS that was in my room, in addition to my web host, giving me 4 copies (3 local, 1 off site).&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
Since one nice feature of this NAS was it had 2 Gigabit ports that were LACP compatible, I also upgraded my Netgear 5-port Unmanaged Gigabit Switch to a Netgear GS108T 8-port Managed Switch.&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
This new setup gave me a lot more to play with, including VLANs, LACP, ESXi, and iSCSI just to name a few; all of which I&#39;ve implemented on my network.&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;hr /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
In &lt;b&gt;August 2013&lt;/b&gt;, I moved to Kansas City, Missouri and essentially kept the network setup the same; with one rather large upgrade: Google Fiber (Link: &lt;a href=&quot;https://fiber.google.com/about/&quot; target=&quot;_blank&quot;&gt;About Google Fiber&lt;/a&gt;)!&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
My network will surely keep advancing in the coming years, it&#39;s just difficult to forecast exactly what changes it will see.&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://blog.chriscarini.com/feeds/1320953157903351637/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.chriscarini.com/2014/02/network-upgrades.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6820363325210500439/posts/default/1320953157903351637'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6820363325210500439/posts/default/1320953157903351637'/><link rel='alternate' type='text/html' href='http://blog.chriscarini.com/2014/02/network-upgrades.html' title='Network Upgrades'/><author><name>Unknown</name><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/AVvXsEieM8MxqOFpL3NdjEuM_G0XeWG_Mor9t0KSbAQO3P37DDWOADJGbfIwvYlIqp_kV6cTGOM_2fn2KdAmQPRin90mxQ3pOwglYFTUVH075986EQU7hTlN4-dedKyaDgXAxaLpTJE6tDr9yDAE/s72-c/2012-08-19+10.30.50.jpg" height="72" width="72"/><thr:total>0</thr:total></entry></feed>