Category Archives: Gadgets

Remote keyboard for IBM PC-AT

(Flashback date: 12/April/1996)

Part of my moving back to my house after renovation, I was setting up my reading room/library, dozens of boxes with books to be unwrapped, sorted and put in its proper places.

While at it I came across my Under Graduation project report. I graduated from University of Madras in March 1996, after studying for 4 years Electronics & Communications Engineering (B.E.) at Sri Venkateswara College of Engineering, Pennalur, Sriperumbudur, Tamil Nadu.

The Project titled “Hand-Held Remote Keyboard for IBM PC-AT” was aimed at using an off the shelf TV Remote control as a keypad for PC-AT desktops. The project involved research and development of hardware and the supporting software on MS-DOS platform. I was part of four member team which consisted of G.Rajaji, K.Rajesh Kannan, N.Udaya Kumar & T.N.C.Venkata Rangan (myself). Each of us were good on different subjects, for instance Ji was good in designing and building Electronic circuits, Rajesh was good in research and study, U.D. was our calculations and maths guy, as for myself I took care of MS-DOS software programming. Yes, we made a great team.

Project Remote control serial cable

One of the difficulty we faced was on sourcing in India (then) the necessary Infra-Red sensor (Sharp IS1U60 or equivalent). The big electronic firms had the product with them but were not willing to sell/donate 2 to 3 units we wanted, they talked of selling only 1000s of units. Finally we wrote through my cousin Sarathy R who was in U.S.A working in an electronics firm who managed to source it from their vendor contacts, then it was a matter of couriering it to India. Apart from the sensor, we found it difficult to identify the nessary components for the design including the Voltage comparator (LM324). Then the challenge of programming, reading raw values from the RS-232 serial port of IBM was non-trivial. But after many weeks we got everything working and it gave us the satisfaction of having designed and built something on our own.

This was certainly not a me-too project!!!

Download the full project report from here (MS Word, Acrobat PDF)

Innovative stand for iPad

Today I was in Coimbatore for a customer visit. In the evening while returning to Airport before my flight to Chennai I had few hours free time, spotted Fun Mall on the way and went there. After roaming around a huge Reliance super market, came away empty handed from the Multiplex ticket counter (both Cuckoo and Queen I had seen earlier), I went to thje food court for a snack @Sree Annapoorna.

I was surprised to find a self-ordering service, each dining table sported an iPad fixed to the table with a stand. I was told that they are offering this service for over a year now!

Annapoorna-iPad (2)

The stand was the most interesting bit to me, seem to be indigenously made, felt sturdy, kept iPad safe & secure, it allowed movement of iPad on both the sides – making it easy for people sitting on either side of the table to see and use the iPad without moving it.

Annapoorna-iPad3

I pressed for a coffee which got served promptly, then accidentally pressed for bill, the waiter came to me with a bill immediately!!!Filter coffee from Annapoorna Kovai

Ubuntu Live for Surface Pro and MacBook Pro

Yes, I do love Windows & I love my Surface Pro device.

Having got few gray hairs has thought me never to leave office with just one device or one set of cables especially when travelling. Irrespective of the device & OS, something can go wrong with OS or the App you are using just before a presentation. I am not as paranoid as the master Dr.Nitin Paranjape on this, but it’s a smart idea to carry an OS on the go for emergencies. This will help you boot your device, connect to wi-fi, browse a website at the minimum when your device or OS fails.

To do this, the other day I bought a 16GB USB flash drive, downloaded latest Ubuntu OS and used Lili  to load Ubuntu into the USB drive. It was simple to follow and get done, remember to select ISO/IMG/ZIP in step2 & FAT32 in step4. Once the device is ready, next steps were to test the USB drive in my Surface Pro & then on one of the MacBook Pro’s in my office.

Surface Pro

Every Surface Pro device comes with UEFI (Unified Extensible Firmware Interface) for secure boot. You need to turn it off if you wish to boot from USB drives containing non-signed OS like Linux distros including Ubuntu. To turn off Secure boot, shut down the device, then press Volume-Up rocker while powering ON the device, in the BIOS screen that appears disable Trusted Platform Module & Secure boot (instructions here). Then power OFF the device. Insert the USB drive into the port, press Volume-Down rocker while powering ON the device (instructions here). You should see USB/Ubuntu boot option, selecting that should show you Ubuntu trial option, click on that and your Surface Pro should boot to Ubuntu OS.

Ubuntu-USB-SurfacePro

I tried Wi-Fi, Browsing, Music & Video Playing, LibreOffice – all worked fine.

MacBook Pro

In MacBook Pro there are no extra steps prior to booting to USB drives. Power OFF the device, plug the USB drive to port, hold down ‘option’ key and powering ON. I tried in this too Wi-Fi, Browsing, Music & Video Playing, LibreOffice – all worked fine.

Ubuntu-USB-MacBookPro

The advantage with carrying Ubuntu in a USB drive is that, nothing is changed on your device’s hard disk. You can use Ubuntu from the USB drive without leaving any trace on your device. That’s an interesting thought, but don’t feel too cozy you still can’t escape from government surveillances around the world!!!

Multiple WiFi antennas and load balancer in my home

Nearly four years back when I last did network wiring & setup in my home I used two wireless (Wi-Fi) access points daisy chained. Though it worked fine, I had to configure two SSIDs in mobile devices. This problem became acute with the proliferation of mobile devices in the house , at last count I had about 6 wireless devices – My main phone (Nokia Lumia 925), Wife’s phone (Nokia Lumia 820), my Surface Pro, her iPad3, my backup phone (Micromax A90S) and Son’s Laptop. I had an Airtel DSL broadband connection and a manual failover with a BSNL DSL broadband connection. Though the Airtel connection was stable and went down rarely, an automatic failover and load-balancing the traffic (so that I don’t waste the free traffic in BSNL) would be great. With 6 wired devices – Apple iMac, HP Officejet Pro 8600, Apple TV, XBOX 360, Toshiba TV, Tata SKY DTV automatic failover became a must have.

Thanks to articles in the Internet, I figured out I could multiple Access Points with the same SSID but getting a load-balancer at affordable price proved to be tough. I ended up spending days browsing online, visiting electronic stores in vain. Almost all the electronic shops didn’t understand what I wanted, but thanks to a local store in my area I was made to speak with Zyxel sales person for Chennai. For load-balancing two DSL broadband connections he recommended me to go with Zyxel USG50 costing Rs.15,000!!!, it’s a powerful device with Dual-WAN, 4 Gigabit ports, IPSEC VPN, 3G WAN & more but it was an overkill for my home usage. I enquired with him for the lower end Zyxel SBG3300-N but was not available in India and at $250 in Amazon USA that too was expensive for my need.

TPLink-Load-Balance-Broadband-Router-ADSL2-Modem-Router

Finally I came across TP-Link Load Balance Broadband Router (TL-R470T+)  which was available for Rs.3566 ($58)  from Snapdeal.com. The device was compact, provided 4 configurable wired WAN Ethernet Ports and had good reviews about it. To connect the two DSL broadband RJ11 ports (Airtel, BSNL) I had, to the two WAN Ethernet ports in LB I had to buy two modems. That is to convert the analogue/Phone line RJ-11 to digital/Ethernet RJ-45. All the 3 DSL modems I had with me where with wireless Access Points, which I planned to reuse in multiple locations as Access Points. After a quick search I found TP-Link ADSL2+ Modem Router (TD-8817)  for just Rs.852 again from Snapdeal.com, the product had good reviews in abroad sites as well as in Flipkart & Snapdeal from Indian users who vouched it worked well with both Airtel & BSNL broadband. The device was super compact & checking the user guide ensured it was easy to configure.

TPLink-Load-Balance-Broadband-Router-ADSL2-Modem-Router-Home-Networking

Top level steps:

Once I got the devices it was matter of connecting & configuring them. I managed to finish the whole task (Ethernet wiring was done prior and tested by Electrical Engineer) in about 5 hours.

1.The Airtel DSL connection went to TP-Link Modem1, BSNL DSL connection to TP-Link Modem2. Then it was configuring each of the modems to respective TELCO settings.

2. Once that was done I connected an Ethernet cable from Modem1 (Airtel) to TP-Link Load-Balancer Port 1 (WAN port) and another cable from Modem2 (BSNL) to TP-Link Load-Balancer Port 2 (WAN/LAN Port). Then it was configuring the load-balancer which was fairly easy.

3. Connecting an Ethernet cable from LAN port of Load-Balancer to D-Link 16-Port Ethernet switch DGS-1016D I had.

4. Placing each of the 3 wireless Access Points I had in separate rooms (2 in first floor and 1 in ground floor of my house) and connecting them to individual Ethernet ports (which was connected by wire to D-Link Ethernet switch). Configuring each of the wireless Access Points by login to their respective consoles separately.

3-Wireless-Devices-Same-SSID

Configuration for each of the devices (3 + 3):

Airtel – TP Link Modem1 (TD8817)

Follow the instructions that came with the modem to connect & configure. It will involve powering the device, connecting an Ethernet cable from modem LAN port to your PC, connecting RJ-11 cable from your phone line splitter device, then opening a web browser in your PC to go to http://192.168.1.1. Default username and password both are admin.

Airtel-DSL-TPLink-Modem

  1. Change the device password from default to something secure
  2. In Interface Setup-Internet, change Virtual Circuit to PVC0, VPI: 1, VCI: 32, ATM QoS: UBR, ISP: PPPoA/PPPoE. In Servicename: Airtel, Username: <Airtel given username>, Password: <Airtel given password>, Encapsulated: PPPoE LLC, Bridge Interface: Activated. In IP Address Get IP Address: Dynamic, NAT: Enable
  3. Lastly in Interface Setup-LAN, Router Local IP section change IP Address: 192.168.2.1, IP subnet mask: 255.255.255.0, DHCP: Disabled. I am basically created a different subnet for this (Airtel) connection by opting for last but one octet as 2, as I plan to create a different subnet for the BSNL modem.
  4. Once you save the settings, you may not get the page reloaded but that’s fine. It will be a good idea to check whether you are able to browse the internet after the modem restarts. Since we have disabled DHCP, your PC won’t get an IP address, so you need to manually assign an IP say 192.168.2.40, subnet 255.255.255.0 and gateway as 192.168.2.1. Remember to remove this manual IP settings in your PC before you connect your next device to your PC.

BSNL – TP Link Modem2 (TD8817)

Follow the instructions that came with the modem to connect & configure. It will involve powering the device, connecting an Ethernet cable from modem LAN port to your PC, connecting RJ-11 cable from your phone line splitter device, then opening a web browser in your PC to go to http://192.168.1.1. Default username and password both are admin.

BSNL-DSL-TPLink-Modem

  1. Change the device password from default to something secure
  2. In Interface Setup-Internet, change Virtual Circuit to PVC2, VPI: 0, VCI: 35, ATM QoS: UBR, ISP: PPPoA/PPPoE. In Servicename: BSNLBroadband<your phone number 8 digits>, Username: <BSNL given username>, Password: <BSNL given password>, Encapsulated: PPPoE LLC, Bridge Interface: Activated. In IP Address Get IP Address: Dynamic, NAT: Enable
  3. Lastly in Interface Setup-LAN, Router Local IP section change IP Address: 192.168.1.1, IP subnet mask: 255.255.255.0, DHCP: Disabled. I am basically created a different subnet for this (BSNL) connection by opting for last but one octet as 1, as I have created a different subnet for the Airtel modem.
  4. Once you save the settings, you may not get the page reloaded but that’s fine. It will be a good idea to check whether you are able to browse the internet after the modem restarts. Since we have disabled DHCP, your PC won’t get an IP address, so you need to manually assign an IP say 192.168.1.40, subnet 255.255.255.0 and gateway as 192.168.1.1. Remember to remove this manual IP settings in your PC before you connect your next device to your PC.

Load Balancer – TP Link TL-R470T+

Follow the instructions that came with the router to connect & configure. It will involve powering the device, connecting an Ethernet cable from the LAN port (port 5) to your PC, then opening a web browser in your PC to go to http://192.168.0.1. Default username and password both are admin.TP-Link-TPR470T-Back-side

1.After a success login, when the quick setup dialog comes dismiss it. Select in the next screen the total WAN Ports as 2 (as that’s our case) image

2. Choose WAN1 to be configured. Set WAN Connection type to Static IP. Enter IP: 192.168.2.2(has to be from the same subnet as Airtel Modem), Subnet: 255.255.255.0, Default Gateway: 192.168.2.1 (recollect this was our Airtel Modem IP), Primary DNS: 8.8.8.8 (Google Public DNS), Secondary DNS: 8.8.4.4.

TP-Link-TPR470T

3. Choose WAN1 to be configured. Set WAN Connection type to Static IP. Enter IP: 192.168.1.2(has to be from the same subnet as BSNL Modem), Subnet: 255.255.255.0, Default Gateway: 192.168.1.1 (recollect this was our BSNL Modem IP), Primary DNS: 8.8.8.8 (Google Public DNS), Secondary DNS: 8.8.4.4.

4. In Network-LAN-DHCP screen, DHCP Server: Enabled, Start IP Address: 192.168.0.50, End IP Address: 192.168.0.254, Lease time: 120, Default Gateway: 192.168.0.1, DNS Server 1: 8.8.8.8, DNS Server 2: 8.8.4.4

5. I didn’t do any changes in default Advanced-Traffic Control-Bandwidth Control screen. In the Advanced-Load Balance-Configuration page, select “Enable Bandwidth Based Balance Routing” and select WAN1 & WAN2 to distribute the load between the two DSL broadband connection.

6. The router has ability to configure traffic to particular WAN based on time in the page Advanced-Load Balance-Policy Routing, but I didn’t go for it. In Advanced-Load Balance-Link Backup, you should see two WAN Ports: WAN1, WAN2, select Mode: Failover, Status: Active, Press Add. This should automatically enable WAN2 when WAN1 fails, which is what we want.

TP-Link-TPR470T-Failover

7.Change the device password from default to something secure. Check all the settings once, reboot all the devices.

Wireless Access Points

The configuration for the 3 Wireless Access Points are broadly the same, so I won’t detail individual steps which vary between the devices (Zyxel, Netgear, D-Link). Instead I will outline the idea below.

1.Set the individual device IP as 192.168.0.31 for Wi-Fi AP1, 192.168.0.32 for Wi-Fi AP2, 192.168.0.33 for Wi-Fi AP3; subnet: 255.255.255.0. Remember the idea is to have all the devices in the same subnet as the Load-balancer (in our case the last but one octet has to be 0)

2.Set in each device the same SSID: <MYCOMMONSSID>. You can give any name you wish, but ensure the exact same name (including the case) is given as SSID in all the 3 devices.

3. Set the same encryption type, same shared key in all the devices. Encryption: WPA2-PSK [AES], Shared Key: <MYSECRETPASSWORD>. You can give any password/shared key you wish, but ensure the exact same (including the case) is given in all the 3 devices.

4.Set the wireless channel to be different in each device say Channel 3 for Wi-Fi AP1, Channel 6 for Wi-Fi AP2, Channel 9 for Wi-Fi AP3. The idea is to space out the channels between the APs, to avoid signal collisions

5. Set the same wireless mode in all 3 devices, in my case the least common denominator for all the 3 devices I had was Mode: B & G, so I selected the same in all the 3 devices

6. Set in all 3 devices, DHCP: Disabled, DNS: From ISP as we will get these details from the Load-balancer. There can be only DHCP server and in our case it will be the load-balancer

7.Change all the devices password from default to something secure. Check all the settings once, reboot all the devices including the Ethernet switch to avoid any ARP remembrances

Devices

From each of your mobile devices, select the SSID (you should see just one where ever you go in your house now), type in the common password (shared key) and voila, you should get connected. When you move too quickly (like running) from one room to another give the device a minute to switch from one wireless AP to another. In my case I found the Nokia Lumia phones to switch without any fuss when I moved between rooms, but strangely iPad3 takes a whole minute to readjust. But after the initial delay all the device I had worked seamlessly across the access point and between the two DSL broadband connections.

Update: How to expose local server through LB?

Few weeks after publishing this post, on 15th April 2014 I received an email from a reader Mr.Sarathy RPS saying “Thank you for the excellent post on the load balancing router. I took the clue and implemented the exact same in my office. I have a challenge now! We have an internal TFS which needs to be exposed to outside world with a specific port open. We are using a static IP and it was configured as virtual server in our Netgear router before, it was working fine. Now with this new setup, what needs to be configured on the Airtel modem & what in the load balancing router. In the load balancing router, I  have given a specific IP to the server“.

I suggested to him with this reply “While it will be possible to configure a server behind the LB, since it its behind two NAT (Modem & LB) it may prove to be difficult to setup. I will suggest this. Put a plain 4 Port Network Switch, connect your MODEM to that, from Port1 of your switch connect it to your LB. In Port 2/3/4 you can connect your server. Now you need to configure the Modem to route the Static IP to the server, this configuration should be very similar to what you did with Netgear router earlier. This article might help

Sarathy had followed up on this and figured out a solution to his requirement. He was kind enough to share the solution with readers of my blog. Thanks Sarathy.

You can download the documentation here or read below, on the steps Sarathy followed to expose his local server to internet through the load balancer & modem.

 

Toshiba 46 Inches TV

In my newly renovated house, I have setup a new room for my son and I was shopping around for a TV in this room. My requirement was a LED TV which is 40 to 46 inches, Full HD, 3+ HDMI ports (as I had to connect his XBOX 360, TataSky DTH, DVD Player) and most importantly cost less than Rs.50000. I was clear I didn’t want to pay premium for a brand and No Smart TV as my son has got a Windows 8 Laptop with HDMI Port which he can connect if wants to do anything on the Internet. With this requirement I went looking for one online, in shops around the city (Croma, Reliance, Viveks) and I didn’t find what I was looking for. The Chinese brands like AoC, Vu or Indian brands like Videocon or Micromax had 39/40” at attractive rates but none of them had 3 HDMI ports.

After much search, I narrowed to this one – Toshiba 46PX200 LED TV. I got a good deal for it from Snapdeal.com for Rs.51599 with free shipping (this was after discount of Rs.2701 from listed price). After 2 delays Snapdeal seller got the TV delivered to me in about 8 days. It came well packed in a wooden case and Toshiba engineer came next day to install it.

Toshiba 46PX200 46 Inches

Specification of Toshiba 46PX200:

Size: 46 Inches, 4 HDMI ports, 2 x USB ports supporting 28 video file formats, Full HD 1920 x 1080 resolution and mostly importantly 3 years manufacturer warranty.

Toshiba 46PX200 Ports

All worked fine and I was surprised to see that the TV had Ethernet/Wi-Fi and Internet Apps. There were apps for YouTube, Dailymotion and many other European news channels as well. What I liked most was the ease of YouTube setup, the TV showed a 6 digit hexadecimal and directed me to enter it from any browser at youtube.com/activate. I did that and that’s all it took to configure YouTube to my Google Account, no tedious entering of email ID, password with clumsy TV remote. The video playback was great. Overall my son is enjoying this TV & I consider this to be a good buy.

Dual HDMI Video Card

After upgrading my Workstation at office with Dual 27” monitors I felt it was time to upgrade the graphics card as well. My Desktop PC was having ATI Radeon HD 4890, though this card has been working well for my purpose for few years, the DVI cables to monitor was giving problems. I wanted to go for the easier to connect – HDMI connector. After searching I narrowed down on Zotac GeForce GTX 650 Ti 2GB (ZT-61102-10M) for $149.99 + taxes at Newegg.com.

Zotac GeForce GTX 650 Ti 2GB (ZT-61102-10M) comes with 2GB GDDR5 memory, NVIDIA GeForce GTX 650 Ti CPU, 2 HDMI Ports along with 2 DVI (which I don’t plan to use), Max resolution of 2560 x 1600. I got the card from USA few days back and its working fine. The NVIDIA driver software & configuration feels easier to install, use & update than the ATI version.

Zotac Geforce GTX 650Zotac Geforce GTX 650-ports

The graphics card in PCMark8 test did admirable numbers:

pcmark

pcmark2

pcmark3

Tamil keyboard app for Windows Phone 8

I have written earlier about Windows Phone 8 (~Nokia Lumia phones) supporting display of “Tamil” language texts. The support is not 100%, though you could read Tamil texts, you couldn’t type in Tamil (Tamil IME/Keyboard was missing). I am expecting Microsoft to release an IME for Tamil in their future updates (I am not privy to any release plans or dates).

In the meanwhile I was finding it difficult to correspond in Tamil with friends using my Nokia Lumia 925. Tired of waiting, I had our mobile team at Vishwak Solutions write a basic app that allows Tamil text typing. The app is live and available for free download from Windows Phone store (India, USA, Singapore, Malaysia, UK). The app allows you to use a basic Tamil touch keyboard, copy the typed text to clipboard. Once the text is copied you can switch to any app of your choice & paste the text.

The app was developed using C# & XAML (Initially we tried with HTML & Javascript but went with XAML). We are aware the experience is not smooth switching between Tamil & English and on other areas, unfortunately we were constrained due to restrictions of Windows Phone API and had to develop this around those limitations.

We are planning to release the full source code in Github shortly, will update this blog post once done.

Update (12/Feb/2014): We have published the full source code in Github here for anyone to download and use under Artistic license 2.0.

Tamil-Keyboard-WindowsPhone-App

Fixing connection problem with Kindle DX

I have a old (sounding strange to say 3 years to be old) Kindle, Kindle DX model that I gifted to my son as I bought a new Kindle Paperwhite 3G. Kindle DX was registered to my Amazon account, when I tried to deregister I got an error “Your kindle is unable to connect at this time. Please try again later. If the problem persists, please restart your Kindle from the Menu in Settings and try again. OK“. I tried restarting, it didn’t help. Kindle DX has only Cellular (2G/3G) connectivity, so I couldn’t get the device connected to Internet through my House Wi-Fi. I took the device to my office and try from there, it didn’t connect from there. Then I tried factory reset the device, once the device came back to life I couldn’t connect so couldn’t register.

Finally, I wrote to Amazon kindle support. I got an email reply saying that the issue can’t be solved through email and they needed me to call them over phone or live chat. I went to their live chat page. I spent some 25 minutes with the first support person who went through the canned steps of restart, reset, try connecting – nothing helped. He didn’t even know that Kindle DX doesn’t have WiFi connection. Then he transferred me to a Kindle expert! (which makes me wonder whether I was talking to a Kindle novice so far), she tried to get me to do the same steps of restart, reset. I protested and said I was willing to pay for shipping and getting the device physically serviced if necessary. Then she gave me instructions on how to go to 611 page in Kindle – this is a hidden page which gives diagnostic information.

To go to 611 page: On your Kindle, open the 611 page by selecting the Home button first, then press Menu, select Settings, then Hold ALT button down while pressing Y-Q-Q then release.

The above page listed all the device information including IMSI & ICCIDs. Then after few more back and forth steps, she identified the problem to be with the connection (!!!). To fix that she asked me to go to 311 Page.

To go to 311 page: Go to Home, select Menu, select Settings, Hold ALT button down while pressing E-Q-Q, and then release.

Doing the above, it showed a dialog, “Switching Wireless Providers, Your Kindle will lose its connection….” and asked for confirmation. On pressing OK, it showed a list of all available wireless providers (cellular networks). I selected one of the 3G networks and tried to access Kindle shop, it worked. Then I went to the same page and selected “Switch automatically (recommended).

Then I was able to register the device to my son’s amazon account & download his purchased books. Everything worked fine & I thanked the Kindle Expert!

Windows Phone 8 GDR3, Nokia Lumia Black

For my Nokia Lumia 925, I got the updates about a week or so back. I got both Nokia Lumia Black firmware upgrade and Windows Phone OS GDR3, I didn’t notice at that time these two were different, so I don’t remember whether both came together or I got GDR3 (aka Update 3) sometime earlier.

The Nokia Lumia Black Firmware update (WPcentral article) is about improvements to Glance Screen (which I never had any complaints), camera and Bluetooth 4.0 LE.

About-Black

I found the GDR3 to be more interesting, this adds Driving mode (a welcome feature), screen orientation lock (I wish there was a quick access to this through a button), App switcher improvements, custom ringtones and Wi-Fi during setup (an annoyance in WP before this).

About-GDR3

Wireless headphone

intex-wireless-headphone

The other day I was looking for a wireless headphone I can connect to my TV to watch without disturbing others in the room. I came across this product from Intex IT HP904FM in Flipkart. I purchased it for Rs.629 (599 + 30 for shipping). Since the price was low I didn’t expect much, but I was pleasantly surprised on the quality of the device and build. It was comfortable to wear around the ear.

The headphone had many features, Wireless Headphone, Microphone, FM Radio and child monitoring device (the base station is the Microphone). The wireless range was good, working fine everywhere with in a 1500 Sq. Feet apartment, it was extremely easy to pair (just two button press – Reset, Scan). The FM Radio sound was good within the building as well. Overall, a nice buy.