Tuesday, December 15, 2015

Rebooting Roku Made Easy

Recently, our Roku 2 XD has become prone to lockups. My guess is that one or both of the two channels I mostly use has some sort of memory leak issue or something. I have no recourse other than complaining to the channels providers or to Roku. Don't think either option is likely to get much traction.  The only solution that seemed to work was cycling the power to the unit which has two drawbacks... One, it takes a long time to boot up a roku compared to the startup on say a table lamp; and Two, you have to get up from your comfortable couch and perform the needless ritual of pulling the plug and reconnecting it. I was googling for "rebooting roku" the other day after one of these episodes and found this post on a roku forum in reddit:

I resolved to try it out ASAP and to my amazement and delight I found that the spell worked from the actual Roku remote control. I set about creating a macro in my OpenRemote designer account for just that key sequence. I inserted a 200 milli delay between each key press. I named the macro roku-soft-reboot and put a button for it on the roku controller page of my UI. I resynced my controller app to the designer and reloaded my web page for my system. Drum roll... now I have functional soft reboot of my Roku from the couch. This gets me past the latter of the two drawbacks I mentioned above. It remains to be seen whether this will actually work under real lockup conditions since I don't know how to trigger these events on demand. I will follow up if it works or not once I get a lockup in the wild. Oh hey, if you know how to make a Roku boot faster please let the world know!!!!!!!!

UPDATE: Now I've encountered several of these lockups on the Roku and it will not honor the macro during an actual lockup event :( But you can manually key the sequence and it does reboot. Maybe I need to tweak the delays between the key presses to see if I can get it to respond.

Friday, November 20, 2015

Purging Old Kernels and Headers for Ubuntu Linux

I run my home server on Ubuntu Precise LTS i386 since my server is ancient. All Ubuntu systems will build up old kernel versions due to automated updates (or in my case, semi-automated). Keeping as little as five generations of these will consume over a gigabyte of storage, so it is important to regularly trim these back. This is my manual procedure for performing this task periodically. Before you start you should install the "Boot Repair" package as I use that to see how many images are actually in place so I can determine what needs to be purged.

  1. Run boot repair on my gnome desktop menu: System Tools -> Administration -> Boot Repair
  2. Provide admin password. Wait for scan to complete.
  3. Click lower button: "Create bootinfo summary". Wait for next dialog box to pop open.
  4. Copy URL given and paste into a browser address line.
  5. Scroll down to "menuentry" xml nodes in browser bootinfo display.
  6. Make notes of older kernel grub entries you want to do away with. I keep five generations on my system which is probably overkill. Note that the one I've highlighted in orange above is the first menuentry node in the "Previous Linux versions" section of the document. The ones you want to trim are going to be towards the bottom of that section of the document.
  7. Open a command prompt and from your notes (see step 6) create a command line like this:

          sudo apt-get purge linux-image-3.13.0-{62,61,59,58,57}-generic \
          linux-headers-3.13.0-{62,61,59,58,57} \

          09/20/2016 note....
          On my newer 64-bit xenial system it is now four modules per update as follows:

          sudo apt-get purge linux-image-4.4.0-{34,31,28}-generic \
          linux-image-extra-4.4.0-{34,31,28}-generic \
          linux-headers-4.4.0-{34,31,28} \
          linux-headers-4.4.0-{34,31,28}-generic \


  • Your kernel version will very likely be different from mine.  That is the dot separated  digits (3.13.0) in my case.
  • Your purge numbers will definitely be different from mine. That is the the five numbers contained in the comma separated list in the curly braces (62,61,59,58,57) in all three of my cases. These are the numbers you noted down in step 6 above!!!!
  • The sudo command will of course ask for your administrative password again when you press enter. This is your last chance to prevent a catastrophe!!!!!!!!!!!!
  • If you are removing a single kernel then the entire curly brace regular expression should be removed and replaced by the digits of the kernel you want to remove (example: 62 rather than {62} ). The curly brace construct will not work for the single member case.
  • Finally, that there is no dang undo command, you better aim and fire carefully sir. Don't wreck your system, you have been warned. Your system is, well, your system after all. Don't blame me for your incompetence. You can always take the low road and use Windows products. Happy Motoring!

Saturday, October 24, 2015

Simplified My Digital Cable 

Closed Caption Access

          I had some time this morning to simplify the way I turn my cable provider's closed captions on and off with my home brew OpenRemote control system. It takes a relatively complex sequence of five button presses on three different buttons on the Suddenlink Pace remote controller to effect toggling the closed captions on/off. So I created a macro to do the work for me with a 300 millisecond pause between each key stroke. It was trivial to create this macro since I already had all three of these keystrokes in the system. The hard part was figuring out how the stupid cable controller turned them on and off since my cable provider has the world's worst documentation. The sequence looks like this:

          Power button, Menu button, Okay button, Okay button, and finally the power button again to return to regular viewing. All these are buttons on the digital cable box remote control.

          Now I can easily invoke/revoke captions on cable broadcast live TV when Glenda or I take a phone call during a program (I don't have DVR). I don't watch much regular cable live broadcast TV but when I do and I want to continue watching without forcing one of us to go to another room this will be very nice convenience feature.

          Here is what my new button looks like on the same panel with all the other cable related functions: ------+

          Here are some links for technologies I use for this system...

software -> http://www.openremote.org/display/HOME/OpenRemote
infrared hardware -> http://www.globalcache.com/

Contact me on google+ if you would like to discuss ending your dependence on multiple infrared remotes with the above and you are in the north east Texas region.

Thursday, September 17, 2015

R100GS Repairs

1.  Hendersen Precision rebuilt the existing broken drive shaft (also sold me a used front yoke to replace the one that failed and was destroyed in the process). Saved $300+ over price of new BMW driveshaft.  Then the bike languished for about 5 years waiting for me to get motivated to finish the following stuff...

2. I installed new Rubber Chicken Racing Garage bronze paralever bushing kit.

3. New paralever rubber bellows fore and aft BMW dealer items.

4. Replaced stock rear strut with lightly used R100RS item sourced from a private individual to lower the rear suspension ($100).

5. Installed bar back kit sourced on Amazon to allow dropping the front forks approximately one inch ($50). Now I can comfortably flat foot the bike from the stock seat. This lowering also allows the paralever to run at a more relaxed angle (flatter) than stock which should improve driveshaft life expectancy.

6. Installed a shorter R100rs monoshock centerstand to once again allow mere mortals to put bike on the centerstand. Sourced from MAX BMW via Ebay.

7. New undersized AGM moto battery sourced from WalMart.

8. New Avon Roadrider rear tire installed (useless tube removed from old tire). Had to find a tubeless style valve stem from NAPA store around the corner.

9. New signal flasher unit sourced from NAPA store around the corner installed.

10. Installed EZA-3 electronic ignition from Ulis Motorradladen. This also required the following...

11. Installed Dyna-CoilDC1-1 (3 ohm)  and mounting bracket for same from Euro Motoelectrics. Only downside to this is the electronic factory tach is no longer working. I guess it should hook into the primary circuit of the coil but I am not sure it is compatible with the new system. Anyway the darn thing is so small and hard to read as to be nearly useless . Ergo, I really don't care about this at all. Also...

12. Had to create a shim for the front cover so that it would clear the newly extended alternator brush terminals. Details Here

Budget Overrun Info:

Drive shaft repair                                          $500.00
Paralever bushing kit (current price)           $139.00
DOT 4 brake fluid                                              $5.33
Monoshock airhead centerstand w/shipping $70.99
State inspection                                               $7.00
Turn signal flasher                                         $14.93
Registration                                                    $50.92
Handlebar riser                                               $49.99
6mm-1.0 x 50mm allen socket head bolts     $14.15
EZA-3 ignition system                                   $250.71
3 ohm Dyna coil                                             $103.69
Paralever clamp + centerstand pieces           $41.90
Avon roadrider 130/80-17 rear tire                $113.65
Silicone Spray                                                    $5.94
R100RS monoshock rear strut (used)           $100.00
Miscellaneous                                                $100.00
Approximate Total                                       $1568.20
+ My Time                                                   (priceless)

Monday, August 24, 2015

Photos for Glenda's parents memorials.

Posted photos of Glenda's folks on their find a grave memorials this AM.
Find them here:

Marie M Myers

Robert G Myers

And her baby sister too!

Jacqueline Myers

Click the photo tab to see the captions I placed on each picture.

Saturday, August 22, 2015

Custom Ignition Install R100GS

I've just completed install of EZA-3 contactless ignition system on my 1990 R100GS. It was considerably more complicated than I bargained for but is done now and I think the results will be satisfactory based on short test runs of the engine only. I won't be able to run the bike on the road for a while yet as the suspension reassembly is yet to be completed. I had two issues that complicated the install beyond what I originally planned for:

1) The system requires a 3 ohm coil like the /5 BMW series used.
2) The system will not clear the stock alternator cover (at least not on my particular bike).

My coil was the stock 1990 coil. I solved that issue by ordering and installing a DC1-1 Dynacoil from Euromotoelectrics with bracket. I had to drill and bend the bracket to work with existing mounting bolts and nuts for original equipment bosch coil bracket. I also spent a good deal of time crimping and soldering and heat shrinking insulation to hopefully allow reinstallation of stock system down the road if desired. All loose wiring is zip tied to give a reliable and hopefully safe install over time. I purchased some metal allen cap screws to replace the plastic screws provided in the EZA-3 kit. Plastic hardware doesn't hold much appeal to me! The biggest issue was the fact that after installation I did not have adequate clearance under the cover for the new hardware installed on the nose of the alternator assembly! This was very unexpected and I could not decide how to approach a work around. After fretting for a week or so about various bodges I had envisioned using, my son (licensed helicopter mechanic) suggested shimming the entire cover with a homemade shim underneath it. That was a brilliant idea and I immediately set about creating the shim. I found an old piece of laminate flooring plank in the garage of appropriate thickness (about 8mm). I drew the outline on the material and cut the outline. I then used a hole saw to create enough room to draw guidelines on the inner side adjacent to the vent channels. I went to work with various tools... coping saw, various drills, vibra-tool with sanding head etc. A couple of hours of fussy work later I had a custom shim. I painted it black with krylon to blend with the stock cover better and voila. I used some playdoh to check my installed clearance and it is just perfect. Photos below. No more silly flyweight mechanical advance. Looking forward to riding again soon!
 My new custom cover shim and longer cap screws needed to install cover now. I had these 45mm cap screws but they aren't quite long enough so I am going to get some 50mm for the final installation.
 EZA-3 installed on nose of alternator all loose wiring neatly bundled and zip tied. EZA-3 module screws into former condenser mounting boss (/5 style ignition) above alternator. The old ignition can is a gutted unit but I could carry a spare and the original coil if I was going on a long ride for emergency repair.
 Custom drilled and bent EME bracket and my custom wiring bodges to keep all original wiring intact.
All new wiring neatly bundled and zip tied to new 3 ohm coil.

Ulis Motorradladen (EZA-3)
EME 3 ohm dynacoil

Tuesday, June 30, 2015

6v R60 headlight info

1st upgrade: 6V CP48871 60/55W H4 halogen bulbs (1600/1000 lumens, 3150/3100°K color)

LED upgrade: 6V-36V 2000 Lumens 18W Motorcycle Headlight Lamp Bulb H4 PH7 PH11 Adaptor Led Light Color Temperature: 6000k-6500k (very close to daylight range our eyes are best at utilizing). Found and purchased on Ebay (~$24 with shipping) (google or flea bay search for some of the above)

Noticeably brighter than halogen light to observer. This one works on stock six volts very well and does not rely on generator being spun up to get brighter like the halogen upgrade it replaced. Claimed 50,000 hour life (should last me a lifetime). I can carry the old halogen in my toolbox for an emergency spare as I adapted the wiring harness to plug into the original three prong female plug for easy roadside replacement if necessary. I am thrilled to have an additional 400 Lumens of visibility on tap to get the attention of distracted automobile operators. Don’t have to sit at the light and rev the engine to maintain a bright headlight is a very nice bonus also. The cooling fan is so quiet that you can barely perceive the sound of the motor by placing your ear firmly on the headlight bucket too.

Not sure if the light pattern with this new bulb is consistent with the H4 halogen envelope it replaced. This is not a real big deal for me as this is mostly a day time use vehicle. I haven’t tried it on the highway at night yet either. Not sure if I will have issues with state safety inspection either. In the past I’ve never seen them do anything beyond making sure I can swap the beams from the riding position on the bike so I may be fine on this.

State safety inspection went off smoothly no questions or problems. If it looks stock it is stock as far as they care apparently.

Installation notes: The largest adapter ring at the bottom of the image must be used in the H4 reflector for the classic BMW application. You can discard the spring and the other three adapters. The green wire is the negative ground connection. Not really clear which of the other two is low/high beam mine wound up reversed against my original 1966 BMW handlebar switch when I used the blue wire as highbeam (I think). I may go back in and swap them later if I decide it is desirable or needed.

Thursday, March 19, 2015

Got my softsqueeze music player installed and integrated to my logitech media server this AM. This is a screen shot of the server in action playing thru the softsqueeze software and the speaker system on my ancient computer. I have 3,785 songs on it so far. Just converted a couple of old Willie Nelson vinyl's this morning. Still have a pretty substantial stack of old records to process though. Now I can listen to my collection while I process new records though making it considerably less monotonous to do.

The media server is written in perl and the player is written in java. So this is a real example of the "Synergy" you always hear tech company managers blathering on about all the time. In this case it is the synergy of the best of software worlds working hand in hand with what may be the worst of all possible worlds. I leave it to you to figure out which is which. :D