<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>featured on irq5 test</title><link>https://irq5-7854a1fdb9f4.pages.dev/tag/featured/</link><description>Recent content in featured on irq5 test</description><language>en-us</language><lastBuildDate>Thu, 25 Sep 2014 01:04:00 +0000</lastBuildDate><atom:link href="https://irq5-7854a1fdb9f4.pages.dev/tag/featured/feed/" rel="self" type="application/rss+xml"/><item><title>Cloud-Enabling a Bathroom Scale</title><link>https://irq5-7854a1fdb9f4.pages.dev/2014/09/cloud-enabling-a-bathroom-scale/</link><pubDate>Thu, 25 Sep 2014 01:04:00 +0000</pubDate><guid>https://irq5-7854a1fdb9f4.pages.dev/2014/09/cloud-enabling-a-bathroom-scale/</guid><description>&lt;p>Last week as I was making my rounds at the supermarket, I came across this digital bathroom scale on sale.
With some membership card, the discount was almost 50% and at S$16, I thought that was a pretty good deal.
It is &amp;ldquo;wireless&amp;rdquo; in that it has a separate display unit that could be detached from the scale itself.
This bathroom scale had &amp;ldquo;HACK ME&amp;rdquo; written all over it.&lt;/p>&lt;p>&lt;picture>&lt;img src=//farm6.staticflickr.com/5591/15082564568_873cab20b7_c.jpg alt>&lt;/picture>&lt;/p>&lt;p>It turns out that this bathroom scale is the &lt;strong>EB9121&lt;/strong> made by a Chinese (OEM?) company called
&lt;em>Zhongshan Camry Electronic Co. Ltd&lt;/em> (or simply &lt;em>Camry&lt;/em>).
The box specifically mentions that it uses infrared for transmission, and given that I had
&lt;a href=https://irq5-7854a1fdb9f4.pages.dev/tag/infrared rel=noopener>some experience looking at IR signals&lt;/a>, I thought it would be rather straightforward.&lt;/p>&lt;p>&lt;picture>&lt;img src=//farm4.staticflickr.com/3906/15082564748_2feb92e812_c.jpg alt>&lt;/picture>&lt;/p>&lt;p>&lt;a href="https://irq5-7854a1fdb9f4.pages.dev/2014/09/cloud-enabling-a-bathroom-scale/#more">Continue reading…&lt;/a>&lt;/p></description></item><item><title>The Cost of Fixing an Old iPod</title><link>https://irq5-7854a1fdb9f4.pages.dev/2014/07/the-cost-of-fixing-an-old-ipod/</link><pubDate>Thu, 03 Jul 2014 01:43:00 +0000</pubDate><guid>https://irq5-7854a1fdb9f4.pages.dev/2014/07/the-cost-of-fixing-an-old-ipod/</guid><description>&lt;p>My decade-old 4th generation iPod decided to blue screen on me, literally.&lt;/p>&lt;p>&lt;picture>&lt;img src=//farm4.staticflickr.com/3860/14372217330_cd1e6a2895_b.jpg alt="Photo of iPod with crapped screen">&lt;/picture>&lt;/p>&lt;p>I love old stuff and I&amp;rsquo;m rather attached to this very first Apple product that I purchased 10 years ago. So I decided to turn to &lt;a href=http://www.ifixit.com/ rel=noopener target=_blank class=external>iFixit&lt;/a>, the well-known DIY repair store for Apple products, for a replacement LCD screen.&lt;/p>&lt;p>&lt;a href="https://irq5-7854a1fdb9f4.pages.dev/2014/07/the-cost-of-fixing-an-old-ipod/#more">Continue reading…&lt;/a>&lt;/p></description></item><item><title>Exploring HDMI CEC</title><link>https://irq5-7854a1fdb9f4.pages.dev/2013/10/exploring-hdmi-cec/</link><pubDate>Sun, 27 Oct 2013 03:38:00 +0000</pubDate><guid>https://irq5-7854a1fdb9f4.pages.dev/2013/10/exploring-hdmi-cec/</guid><description>&lt;p>Consumer Electronics Control (CEC) allows control of AV devices that are connected via HDMI. This is the feature of HDMI that enables your TV to automatically turn on and switch to the correct input when you switch on your set-top box, for example. It also allows you to control your set-top box using the TV remote (in some cases).&lt;/p>&lt;p>Electrically, the CEC bus is a single-wire bus that is shared between all HDMI devices, thus any CEC message can be received by all connected devices. Each device then claims one or more logical addresses on which it will receive direct CEC commands.&lt;/p>&lt;p>&lt;picture>&lt;source srcset=/posts/2013/img/lg-remote.jpg.webp type=image/webp>&lt;img src=https://irq5-7854a1fdb9f4.pages.dev/posts/2013/img/lg-remote.jpg alt="LG remote" width=800 height=502>&lt;/picture>&lt;/p>&lt;p>One interesting feature in the HDMI CEC specifications is &lt;em>Remote Control Pass Through&lt;/em>, which allows button presses on the remote control to be passed through to HDMI-connected devices. I thought this feature could be used to unify the various remotes in my living room.&lt;/p>&lt;p>However, not all CEC devices are created equal. As usual, some manufacturers will deviate from the specifications, and/or introduce some quirks in their implementation (as you will see later). They also love to brand CEC with their own funky name, such as &lt;em>SimpLink&lt;/em> or &lt;em>Anynet+&lt;/em>.&lt;/p>&lt;h2 id=raspberry-pi-as-a-cec-bridge>Raspberry Pi as a CEC Bridge&lt;/h2>&lt;p>As a quick and dirty way to check out the capabilities of my TV, I used a Raspberry Pi which has a HDMI connection that can be software-controlled. This also meant that I didn’t have to build my own CEC transceiver circuit.&lt;/p>&lt;p>&lt;a href="https://irq5-7854a1fdb9f4.pages.dev/2013/10/exploring-hdmi-cec/#more">Continue reading…&lt;/a>&lt;/p></description></item><item><title>Decoding BCARD Conference Badges</title><link>https://irq5-7854a1fdb9f4.pages.dev/2013/04/decoding-bcard-conference-badges/</link><pubDate>Sat, 13 Apr 2013 01:28:00 +0000</pubDate><guid>https://irq5-7854a1fdb9f4.pages.dev/2013/04/decoding-bcard-conference-badges/</guid><description>&lt;p>Last month, I had the opportunity to fly halfway around the world to attend &lt;em>RSA Conference 2013&lt;/em>. Everyone was given a lanyard and badge which contains your information entered during registration. When you visit booths, they can then scan your badge to collect your information and follow up by sending you spam.&lt;/p>&lt;p>&lt;picture>&lt;source srcset=/posts/2013/img/rsa-conf-pass.jpg.webp type=image/webp>&lt;img src=https://irq5-7854a1fdb9f4.pages.dev/posts/2013/img/rsa-conf-pass.jpg alt="RSA conference pass" width=640 height=427>&lt;/picture>&lt;/p>&lt;p>The scanner varies across different booths, but mostly it&amp;rsquo;s an Android device that ran a custom software. Since it had a large NXP logo, let&amp;rsquo;s try to read it with the &lt;a href="https://play.google.com/store/apps/details?id=com.nxp.taginfolite" rel=noopener target=_blank class=external>NFC TagInfo app&lt;/a>. Looks like the tag identifies itself as a NDEF message but the data is gibberish.&lt;/p>&lt;p>&lt;picture>&lt;img src=https://irq5-7854a1fdb9f4.pages.dev/posts/2013/img/bcard_taginfo.png alt="Data in the BCARD as decoded by TagInfo" width=720 height=1034 class="half noinvert">&lt;/picture>&lt;/p>&lt;p>&lt;a href="https://irq5-7854a1fdb9f4.pages.dev/2013/04/decoding-bcard-conference-badges/#more">Continue reading…&lt;/a>&lt;/p></description></item><item><title>Hacking Functionality into ASUSWRT Routers</title><link>https://irq5-7854a1fdb9f4.pages.dev/2012/12/hacking-functionality-into-asuswrt-routers/</link><pubDate>Mon, 10 Dec 2012 00:10:00 +0000</pubDate><guid>https://irq5-7854a1fdb9f4.pages.dev/2012/12/hacking-functionality-into-asuswrt-routers/</guid><description>&lt;p>This weekend, I spent some time to replace my aged Linksys WRT54G wireless router, which is running DD-WRT. The WRT54G is slow by today&amp;rsquo;s wireless standards and since I sync my iOS devices wirelessly, the speed was getting quite unbearable. When I bought my Macbook Pro in 2007, it already has draft 802.11n support and fast-forward to 2012, my iPad (1st generation) and iPhone 5 both support the 5GHz band.&lt;/p>&lt;p>The &lt;strong>ASUS RT-N56U&lt;/strong> wireless router ranks up there on wireless performance, and the &amp;ldquo;feature&amp;rdquo; I was really after was a router that can run an alternative firmware such as Tomato or DD-WRT. The really good news is, I figured out how to get the functionality I wanted while still using the official ASUS firmware.&lt;/p>&lt;p>&lt;picture>&lt;source srcset=/posts/2012/img/asus-top.jpg.webp type=image/webp>&lt;img src=https://irq5-7854a1fdb9f4.pages.dev/posts/2012/img/asus-top.jpg alt="ASUS router photo" width=1024 height=683>&lt;/picture>&lt;/p>&lt;p>For proper reviews and better photos, you might want to check out these other reviews:&lt;/p>&lt;ul>&lt;li>SmallNetBuilder: &lt;a href=http://www.smallnetbuilder.com/wireless/wireless-reviews/31436-asus-rt-n56u-black-diamond-dual-band-gigabit-wireless-n-router-reviewed rel=noopener target=_blank class=external>ASUS RT-N56U Black Diamond Dual-Band Gigabit Wireless-N Router Reviewed&lt;/a>&lt;/li>&lt;li>FoxNetwork: &lt;a href=http://www.foxnetwork.ru/index.php/en/component/content/article/82-asus-rt-n56u.html rel=noopener target=_blank class=external>ASUS RT-N56U or hardware NAT acceleration&lt;/a>&lt;br>(I quite like their professionally taken product photos and their reverse-engineering work)&lt;/li>&lt;/ul>&lt;p>Read on to find my short review, as well as how you can run your own programs on the router without using a third-party firmware.&lt;/p>&lt;p>&lt;a href="https://irq5-7854a1fdb9f4.pages.dev/2012/12/hacking-functionality-into-asuswrt-routers/#more">Continue reading…&lt;/a>&lt;/p></description></item><item><title>The Apple 30-pin Dock Connector</title><link>https://irq5-7854a1fdb9f4.pages.dev/2012/06/the-apple-30-pin-dock-connector/</link><pubDate>Mon, 25 Jun 2012 23:45:00 +0000</pubDate><guid>https://irq5-7854a1fdb9f4.pages.dev/2012/06/the-apple-30-pin-dock-connector/</guid><description>&lt;p>The 30-pin dock connector first appeared on the iPod 3G in 2003, and has been on all iPods, iPhones and iPads ever since, with the sole exception of the first generation iPod Shuffle. The first gen Shuffle looks like a thumbdrive (or what some would call a &lt;em>pen drive&lt;/em>) and used a USB male connector, whereas the first and second generation iPods had a FireWire port at the top.&lt;/p>&lt;h1 id=ipod-accessory-protocol>iPod Accessory Protocol&lt;/h1>&lt;p>Since its introduction, Apple made several minor modifications to the electronics interface of the dock connector, but the physical connector itself remains unchanged. Collectively, this and the communications protocol is called the iPod Accessory Protocol (iAP).&lt;/p>&lt;p>Initially, they introduced different resistor values on the &amp;ldquo;accessory detect&amp;rdquo; pin when they allowed third-party companies to make docks and car adapters. At that time, the dock connector mainly had audio in and line out functionality (connected to the back of the docks), as well as a serial interface for remote control via the dock. The serial protocol was largely reverse-engineered by &lt;em>maushammer&lt;/em> (website no longer accessible) and &lt;a href=http://web.student.tuwien.ac.at/~e0026607/ipod_remote/ipod_ap.html rel=noopener target=_blank class=external>this guy here&lt;/a> (I think he&amp;rsquo;s called Christoph but it&amp;rsquo;s not on that page). This was also used by car manufacturers to allow iPod playback control from buttons on the steering wheel.&lt;/p>&lt;p>When Apple released the iPod Video that was capable of playing videos in 2005, they added video out (composite and S-video), as well as &lt;a href=http://www.ilounge.com/index.php/news/comments/apple-locks-tv-out-in-new-ipods-breaks-video-add-ons/ rel=noopener target=_blank class=external>an authentication chip&lt;/a> to allow only authorized docks and cables to receive video out (including audio). Soon enough, China caught up with their release of &amp;ldquo;authorized&amp;rdquo; accessories, which contain the authentication chip that can be &lt;a href=http://www.thice.nl/bypassing-apples-video-out-protection/ rel=noopener target=_blank class=external>re-purposed for other use&lt;/a>.&lt;/p>&lt;p>&lt;picture>&lt;source srcset=/posts/2012/img/apple-auth-ic.jpg.webp type=image/webp>&lt;img src=https://irq5-7854a1fdb9f4.pages.dev/posts/2012/img/apple-auth-ic.jpg alt width=600 height=500>&lt;/picture>
&lt;span class=caption>authentication chip&lt;/span>
Authentication chip (image from thice.nl)&lt;/p>&lt;p>Presumably, that was also when they added USB support for iAP, which I&amp;rsquo;m pretty sure also requires an authentication chip. USB support would allow a host to communicate and control the iPod through a USB cable. My car stereo correctly recognizes the iPhone as an iPod over a USB cable.&lt;/p>&lt;p>The &lt;a href=http://www.ilounge.com/index.php/reviews/entry/apple-ipod-camera-connector-ipod/ rel=noopener target=_blank class=external>iPod Camera Connector&lt;/a> was also introduced for the iPod Photo and iPod Video in 2005. This was a small &amp;ldquo;dongle&amp;rdquo; that has a dock connector on one end and a USB port on the other. Oddly, according to an &lt;a href=http://www.everymac.com/systems/apple/ipod/ipod-faq/transfer-photos-digital-camera-to-ipod.html rel=noopener target=_blank class=external>Everymac article&lt;/a>, later iPods released in 2006 do not support this accessory any more. It is unknown if they somehow switched the USB interface to host mode, or if they used a separate chip to emulate this.&lt;/p>&lt;p>In 2008, &lt;a href=http://support.apple.com/kb/HT1384 rel=noopener target=_blank class=external>charging via FireWire was no longer supported&lt;/a> with the introduction of the 2nd generation iPod Touch and 4th generation iPod Nano. The pins dedicated to FireWire in the dock connector are now unused.&lt;/p>&lt;p>&lt;a href="https://irq5-7854a1fdb9f4.pages.dev/2012/06/the-apple-30-pin-dock-connector/#more">Continue reading…&lt;/a>&lt;/p></description></item><item><title>mdns-repeater: mDNS across subnets</title><link>https://irq5-7854a1fdb9f4.pages.dev/2011/01/mdns-repeater-mdns-across-subnets/</link><pubDate>Sun, 02 Jan 2011 03:51:00 +0000</pubDate><guid>https://irq5-7854a1fdb9f4.pages.dev/2011/01/mdns-repeater-mdns-across-subnets/</guid><description>&lt;p>&lt;strong>Update 21-Sep-2011: Added an &lt;a href=#Installation rel=noopener>Installation&lt;/a> section and updated the binaries on Bitbucket.&lt;/strong>&lt;/p>&lt;p>As you may know, I have a couple of Apple devices. Apple is fond of using Multicast DNS (mDNS) for their service discovery. The recent addition to these services being AirPrint (wireless printing service) and AirPlay (wireless audio/video streaming) from your iOS devices.&lt;/p>&lt;p>My home is setup in such a way that the wired and wireless networks are on 2 separate subnets. mDNS uses a multicast address that is &amp;ldquo;administratively scoped&amp;rdquo;, meaning the packets will not travel across subnets. I tried fiddling around with iptables rules and looked around for how I can route these packets across the subnets, but to no avail.&lt;/p>&lt;p>There is another solution - a repeater daemon that sits on the router and repeats packets between the 2 subnets. &lt;a href=http://avahi.org rel=noopener target=_blank class=external>Avahi&lt;/a> is used to provide mDNS services and it has a reflector mode that does exactly this. A more lightweight solution was &lt;a href=http://www.smittyware.com/linux/tivobridge/ rel=noopener target=_blank class=external>TiVoBridge&lt;/a>, which supposedly performs the same task but it&amp;rsquo;s much smaller. I tried to compile and set up TiVoBridge, but it required a config file and I couldn&amp;rsquo;t really get it to work the way I wanted it to. There&amp;rsquo;s an even lighter-weight solution called &lt;a href=http://svn.ninux.org/svn/ninuxdeveloping/say/trunk/ rel=noopener target=_blank class=external>SAY&lt;/a>, but it uses libpcap.&lt;/p>&lt;p>Enter &lt;a href=http://bitbucket.org/geekman/mdns-repeater/ rel=noopener target=_blank class=external>mdns-repeater&lt;/a> - a small Linux daemon that does exactly what I want it to do. I have a Linksys WRT54G which runs dd-wrt. This program was intended to be compiled for and installed on the Linksys router. As with all other programs that run on the router, it requires no configuration.&lt;/p>&lt;p>The default dd-wrt configuration has 2 interfaces - &lt;code>vlan1&lt;/code> for the WAN interface and &lt;code>br0&lt;/code> for the wireless interface (and 4-port switch). The program accepts the arguments &lt;code>vlan1&lt;/code> and &lt;code>br0&lt;/code> and begins repeating packets from &lt;code>vlan1&lt;/code> to &lt;code>br0&lt;/code> and vice-versa. I can now get my iOS devices to detect wired servers like a print server for AirPrint.&lt;/p>&lt;p>&lt;em>mdns-repeater&lt;/em> is released under GPLv2. Feel free to change it to repeat whatever protocol you want. Patches to add functionality and bug fixes are welcome. You can contact me via bitbucket.org, or if you clone the repository my email is in the commits.&lt;/p>&lt;p>&lt;a href="https://irq5-7854a1fdb9f4.pages.dev/2011/01/mdns-repeater-mdns-across-subnets/#more">Continue reading…&lt;/a>&lt;/p></description></item><item><title>Programming the ATtiny10</title><link>https://irq5-7854a1fdb9f4.pages.dev/2010/07/programming-the-attiny10/</link><pubDate>Thu, 15 Jul 2010 22:03:00 +0000</pubDate><guid>https://irq5-7854a1fdb9f4.pages.dev/2010/07/programming-the-attiny10/</guid><description>&lt;p>Recently I wanted to use a really tiny, low pin-count microcontroller for a project, so I decided to buy a few &lt;strong>Atmel ATtiny10&lt;/strong> to experiment with.&lt;/p>&lt;p>To get it working, I would need a compiler and a programmer. I like working with Atmel chips because they have cross-platform development tools. The Arduino IDE that I&amp;rsquo;ve been using comes with &lt;em>avr-gcc&lt;/em> and &lt;em>avrdude&lt;/em>, both of which are really awesome open source tools for compiling and uploading code to the microcontrollers. If you just want the tools without the Arduino IDE, you can get the WinAVR package.&lt;/p>&lt;p>However both of these tools do not work with the ATtiny10 yet. I do not expect a C compiler, but even the GNU assembler that comes with avr-gcc still doesn&amp;rsquo;t support this chip. avrdude recently added support for uploading to the ATtiny10, but only through the STK or AVRISP programmer, which I didn&amp;rsquo;t want to fork out money to buy.&lt;/p>&lt;p>&lt;a href="https://irq5-7854a1fdb9f4.pages.dev/2010/07/programming-the-attiny10/#more">Continue reading…&lt;/a>&lt;/p></description></item></channel></rss>