Sunday, December 29, 2013

I Hate Big Box ISP's

Sometimes I hate "big box" Internet service providers.  In this case, Comcast (or Xfinity, which ever name you'd prefer) is my target.

We had a power outage in this area a week and a half ago.  Normally, this is not an issue.  However, this was wide-spread enough that Comcast decided to add custom routes in the network, and hasn't figured out how to remove them.

What it means for me

I have to have Internet access for my job.  I need it to be accessible from both sides (public to the private network, and vice-versa).  However, I cannot ping the public IP address that they provide from the public side.  I can't connect to it from there, either.  Since I'm an idiot with some networking experience, I start looking at trace routes.  From the inside :

traceroute to virtualserver (XXX.XXX.XXX.XXX), 64 hops max, 52 byte packets
 1  router (192.168.1.1)  7.623 ms  1.502 ms  1.832 ms
 2  XXX.XXX.XXX.XXX (XXX.XXX.XXX.XXX)  10.849 ms  11.573 ms  11.102 ms
 3  te-0-5-0-16-sur04.saltlakecity.ut.utah.comcast.net (68.87.220.177)  11.262 ms  13.049 ms  11.200 ms
 4  te-0-5-0-8-sur03.saltlakecity.ut.utah.comcast.net (69.139.231.57)  11.564 ms
    te-0-10-0-4-ar02.sandy.ut.utah.comcast.net (69.139.231.97)  15.901 ms *
 5  te-2-3-ar01.saltlakecity.ut.utah.comcast.net (68.86.180.65)  16.767 ms  14.778 ms  15.931 ms
 6  pos-0-9-0-0-cr01.denver.co.ibone.comcast.net (68.86.90.233)  27.885 ms  28.708 ms  24.411 ms
 7  te3-5.ccr01.den03.atlas.cogentco.com (154.54.10.33)  36.089 ms  246.011 ms  185.173 ms
 8  te0-1-0-3.ccr22.den01.atlas.cogentco.com (154.54.83.33)  24.435 ms
    te0-6-0-3.ccr22.den01.atlas.cogentco.com (154.54.45.185)  27.180 ms
    te0-1-0-3.ccr22.den01.atlas.cogentco.com (154.54.83.33)  26.129 ms
 9  be2131.mpd22.mci01.atlas.cogentco.com (154.54.26.130)  81.675 ms  82.868 ms  87.086 ms
10  be2157.ccr22.ord01.atlas.cogentco.com (154.54.6.118)  89.675 ms  88.852 ms
    be2159.mpd22.ord01.atlas.cogentco.com (154.54.24.82)  92.166 ms
11  be2140.ccr22.bos01.atlas.cogentco.com (154.54.43.186)  124.252 ms  122.275 ms
    be2138.ccr22.bos01.atlas.cogentco.com (154.54.43.202)  124.109 ms
12  endurance-international-group.demarc.cogentco.com (38.97.106.34)  122.540 ms  122.649 ms  123.540 ms
13  * * *
14  vpslinkrouter (XXX.XXX.XXX.XXX)  122.334 ms  124.073 ms  127.955 ms
15  virtualserver (XXX.XXX.XXX.XXX)  121.408 ms  121.116 ms *

From the outside looking back to that IP address :

traceroute to XXX.XXX.XXX.XXX (XXX.XXX.XXX.XXX), 30 hops max, 40 byte packets
 1  vpslinkrouter (XXX.XXX.XXX.XXX)  0.063 ms  0.082 ms  0.073 ms
 2  72.22.78.1 (72.22.78.1)  0.297 ms  0.392 ms  6.757 ms
 3  237.252.148.207.static.yourhostingaccount.com (207.148.252.237)  0.232 ms  0.259 ms  0.316 ms
 4  te0-7-0-4.ccr22.bos01.atlas.cogentco.com (38.97.106.33)  0.654 ms  1.991 ms  1.971 ms
 5  be2096.ccr22.jfk02.atlas.cogentco.com (154.54.30.41)  6.401 ms be2097.mpd22.jfk02.atlas.cogentco.com (154.54.30.117)  6.502 ms  6.519 ms
 6  be2061.ccr21.jfk05.atlas.cogentco.com (154.54.3.70)  6.563 ms  6.502 ms  6.400 ms
 7  be2073.ccr21.jfk10.atlas.cogentco.com (154.54.0.230)  8.090 ms be2074.ccr21.jfk10.atlas.cogentco.com (154.54.86.226)  7.971 ms be2073.ccr21.jfk10.atlas.cogentco.com (154.54.0.230)  6.892 ms
 8  comcast.jfk10.atlas.cogentco.com (154.54.13.162)  57.804 ms  57.789 ms  57.833 ms
 9  he-2-1-0-0-cr01.newyork.ny.ibone.comcast.net (68.86.83.101)  61.152 ms he-2-4-0-0-cr01.newyork.ny.ibone.comcast.net (68.86.83.105)  58.932 ms  58.892 ms
10  comcast-isc.pao1.isc.org (68.86.88.222)  77.619 ms  77.642 ms  77.613 ms
11  he-1-13-0-0-cr01.denver.co.ibone.comcast.net (68.86.85.246)  100.511 ms  100.459 ms  100.443 ms
12  pos-0-11-0-0-ar01.sfsutro.ca.sfba.comcast.net (68.86.90.226)  109.087 ms  112.585 ms  111.537 ms
13  te-0-1-0-5-sur03.saltlakecity.ut.utah.comcast.net (162.151.9.214)  111.017 ms  109.492 ms  111.080 ms
14  te-6-1-acr04.saltlakecity.ut.utah.comcast.net (68.87.170.222)  110.072 ms  108.898 ms  110.121 ms
15  * * *
16  * * *
17  * * *
18  * * *
19  * * *
20  * * *
21  * * *
22  * * *
23  * * *
24  * * *
25  * * *
26  * * *
27  * * *
28  * * *
29  * * *
30  * * *

Outbound traffic was routed from SLC, UT, USA to Denver, CO, USA.  In Denver, things take a different path than the inbound traffic.  In fact, inbound traffic is getting routed through New York City, NY, USA.  Even with THAT, it should be easy to pin point the problem.

Why I hate "Big Box" ISP's

So, I jump on the phone with them.  2 hours and 25 minutes (yes, I tried for this long), 8 transfers (3 times at the same group, too), 9 "that's beyond what I can do for you", and two online chat sessions later, my phone battery dies.  Not one idiot works for Comcast that knew that when I talked about an IP address in Denver that was their router, I wasn't meaning my home network router.  When this contract is over (if I can find a good ISP), kiss Comcast good bye.  If someone wants to pitch in to buy me a fiber connection, I'd be one happy camper!  But, in the mean time, I have to deal with big box idiots that associate "router" with "in house wireless" rather than a nice Foundry device sitting at their Denver office.

Wednesday, December 11, 2013

It's a Dangerous World Out There

The Honda Civic has been giving me fits again - it has a really loud rattle at idle, and it's been getting worse.  Sure, I'd love to be able to work on the vette again - to try and get back to the electrical, but it's not going to happen until I have a stable method of transportation.  I borrowed what is called a "mechanics stethoscope" - it's a mutation off of a doctors stethoscope, but instead of the diaphragm at the bottom (the thing you put on your back), it has a loose rod.

Here's how it works.  You put the usual binaural "ear pieces" where they'd normally go (if you put them elsewhere, I do NOT want to ever use your mechanics stethoscope).  Then, when the rattle is happening on the car, you simply place the rod onto various parts of the engine or components - making absolute certainty that you do NOT get it stuck in moving parts such as fans or belts.  You will hear a slightly amplified form of the rattle depending on how close to the rattling part you really are.

Here's my experience.  I went out with this to check the loud rattle on the civic.  Since it was cold (14 degrees), I put the ear pieces to my ears before I went out to the car so I could also put on the balaclava.  I'd suggest NOT doing this - every time I bumped the bottom end of the stethoscope, there was a really loud "thump" that seemed to cause pain.  Once I had the car started and the hood up, I began methodically setting the rod onto various components.  The engine block was first (new engine, wanted to make sure it was okay), transmission was next (wanted to make sure there wasn't a bad bearing or torque converter going on, or a stripped gear), and then the usual suspects.  It all stopped with the alternator.  It seemed to be the loudest.  The tool seems like it worked well.  I needed to remove the alternator to get it checked.

Here's the result.  I titled this post "It's a Dangerous World Out There".  So where was the danger?  Aside from not getting the thing caught in any moving parts, what could possibly have happened?  Well, I identified the alternator as a potential problem (and then saw the pulley on the alternator sitting at a bad angle).  So, I decided to remove it.  While I was laying underneath the car, clothing starting to stick to the concrete beneath me, with a large wrench to remove the alternator bolts, and not having much feeling due to the cold at this point, I dropped the wrench.  Normally this is not a problem.  However, I've been in the cold for a bit so the bridge of my nose is numb (right where the wrench hit), and I'm already frustrated.  Luckily, I was wearing glasses, which broke the fall of the wrench.  I rolled out from underneath the car, bent the glasses back to shape, felt kind of odd about my nose (no blood from the inside, so it's not broken), and went back to work.

Every time I stood up, I felt a little weird.  When I finished up as much as I could (the alternator is still there and needs to be disconnected), I went inside to console my sweet wife (another failure).  Looking in the mirror later that weekend told me I did break the skin.  Apparently, it's hard to take me seriously when I've been hit right between the eyes.


Friday, November 1, 2013

Steering Column ... Tilt / Telescopic Reassembled

Disclaimer : I am not Jim Shea - I do not have his understanding of steering columns, nor could I possibly pretend to do so.  If anyone is looking at GM steering columns from the mid-60's to the late 70's, I'd strongly suggest a visit to http://jimshea.corvettefaq.com, since Jim Shea provided many hours of work to the public.  I believe he worked for Saginaw (the company that built the steering columns for GM during that period), and his hours of labor back then paid off big dividends for the rest of the Corvette community (or anyone rebuilding a GM column for that matter).

Since you are still reading, you are probably wondering what my problem was.  Obviously, it was in the steering column.  On my C3 Corvette, I took the steering wheel off to clean it, realized I had a horn contact retainer broken, and had to dismantle the column to get down to there.  While I was there, I had a lock cylinder to replace (I am re-keying the car as I go), so I had to take things a little bit further apart.  On the way into the dismantling, I thought I'd clean some of the components up, including a "sticking" turn signal.  The turn signal repair resulted in a separate post, and I started to put things back together again.  Unfortunately, after installing the lock cylinder, I couldn't get the key out.  The key-release was failing to allow everything to disengage.  Checking online, a 1977 Corvette steering column is not available.  I can order columns from others that don't match up, but should be close, but that was a $975 price tag I couldn't swallow.

Enter Jim Shea.  His documentation goes well beyond the factory installation manual, well beyond the factory service manual, and so far beyond the depth of the Haynes/Chiltons manuals that it's not even funny.  I knew I had to dismantle it, find what I thought was a broken part, and reassemble the column.  I tore it down to the tilt mechanism :


First, a few things.  In the above photo, you can see the tilt joint for the column.  I had to remove everything on the outside.  You can also see the key-release lever on the right side of the column.  This is simply a rotating (axis is down the centerline of the column, not perpendicular to the column), and it connects to the ignition rod on the left side of the column.  The joint sits in the actual column, with an external piece of plastic called the lower "bowl".


On the left side, inside the bowl but the outside of the column sleeve, is the ignition switch joint.  There are three pieces here, the shaft that connects to the actual ignition switch on top of the steering column (farther down the column), a guide (the ignition rod guide), and a key-like thing (the ignition rack).

So, I looked, and realized that (when I was making a silicon mold almost 10 years ago) I ended up getting silicon into the lower bowl housing, where the key release bar slid - and it was binding everything.  I grabbed my small files and cleaned it out, slapped some WD-40 into there, and ensure it rotated as needed.  Just a word of caution - the telescopic shaft comes right out.  If you don't need it, be very careful with it, you don't want grease all over your carpet.


I reassembled it, and tested (still no telescopic hardware installed, just the tilt, the upper bowl (where the turn signal switch sits) and everything below that.  The key release now works, and the turn signal works, everything is almost installed to the point I can install the telescopic parts of the steering column.  After finishing the telescopic, it's just a matter of cleaning up the steering wheel and putting it back on.  Looking good!

Tuesday, October 15, 2013

Catching TrendNet "End-Of-Motion" Signals

Anyone using a CGI to grab notifications from a TrendNet IP camera will know that the TrendNet doesn't send a signal when all is clear - it simply sends repetitive "motion" signals.  It makes it difficult to receive an "all clear" without doing some fancy "touches", and you won't get it in any sort of real-time status.  So, how can you grab an "All Clear", and have it happen when the camera stops recording (meaning that you can configure a camera to record an extra 30 seconds, then get the "all clear" when the recording stops) ?  Well, it turns out it's simple, if you are using Samba.  Here's how I did it.

Configure Samba :

The later versions of Samba (e.g. 3.x) include "VFS" modules - or "Virtual File System" modules - which allow Samba to handle virtual tasks such as translating new lines on-the-fly, or checking new files for virus or malware.  There is are two included VFS module for auditing, and one will log messages when a file is closed.  The full_audit.so VFS module is the one we need.  It's included, so we simply need to enable it.  Open your /etc/samba/smb.conf, and in the [global] section :
    vfs objects = full_audit
    full_audit:prefix = %u|%I|%m|%S
    full_audit:success = close
    full_audit:failure = none
    full_audit:facility = local6
    full_audit:priority = DEBUG
    
If the priority is NOTICE, you will get the messages into /var/log/messages, so beware of your config.  I went with DEBUG, so that I can then restrict that to one destination (I'll talk about that later).

The secret is in the "full_audit:success" and "full_audit:failure" parameters.  These allow you to configure what system calls you want logged, either on failure or on success.  In the above configuration, I log nothing on failures, and I log "close" on successes.  This means that the syslog configuration will get a log message for every time a file is closed (whether being written to or just read from).  The log messages look like :
    Oct 15 22:44:01 localhost smbd[20487]: anne|10.0.0.73|mediacenter|movies|close|ok|disney/the_little_mermaid.mp4
    Oct 15 22:44:02 localhost smbd[20487]: secuser|10.0.0.41|tv-ip322p-0015f|camerashares|close|ok|path_to_storage/20131015/22/224315.mp4
    
So, since we will end up with all closings, you want to ensure either the username ("secuser" in the above messages) doing the writing or the hostname (tv-ip322p-0015f) that is writing to the Samba share is unique and you can filter out the rest of the stuff.  In my case, the host is "tv-ip322p-0015f", so I can easily just watch for those messages for closings from the camera(s) in question through logcheck, and have an instantaneous notification via e-mail when each camera clears itself and stops recording.  However, since we want the notification to enter our event server (e.g. Nagios), and... since full_audit already runs through syslog, it's simply a matter of setting up a named-pipe.

Named Pipe Creation :
  1. Create the named-pipe :

    mkdir /etc/syslog.pipes
    mknod /etc/syslog.pipes/sambaEvents p
    chmod 600 /etc/syslog.pipes/sambaEvents
    
    
  2. Next, configure syslog to write to that named pipe.  In your syslog config (e.g. /etc/rsyslog.conf), add a line such as (make sure it matches your customizations) :

    local6.* |/etc/syslog.pipes/sambaEvents
  3. Then, restart syslog :

    /etc/init.d/rsyslog restart
  4. Finally, you will have to write a tool that reads from your named-pipe.  In my case, I'm setting up an eventserver, and I'm using a plugin for that one.  For anyone else, you can do a cron (example http://svn.silverhawk.net/files/syslogSambaEvent.sh) such as :

    * * * * * /usr/local/bin/syslogSambaEvent.sh < /etc/syslog.pipes/sambaEvents

    That will run the job once a second looking for messages from the queue, and then e-mail them out if they match my tv-ip322p.
SELinux note :
    Oct 16 08:30:21 cottonwoodheights rsyslogd-2039: Could not open output pipe '/etc/syslog.pipes/sambaEvents' [try http://www.rsyslog.com/e/2039 ]
    Oct 16 08:30:24 cottonwoodheights setroubleshoot: SELinux is preventing /sbin/rsyslogd from 'read, write' accesses on the fifo_file sambaEvents. For complete SELinux messages. run sealert -l 0f6ad628-c737-452f-a4a2-fbf240519594
If you are running SELinux, you will probably see something like the above.  Simply run the sealert command it names, and follow the directions the command provides.  You may also find more messages in there for the script that reads from the named pipe.

Added Notifications :

Just a note, if you want other functions (for example, if the camera you are using doesn't have a "motion detected" notification method but does capture only the motion video, you can add the "open" to the full_audit:success line such as "full_audit:success = open,close"), I grabbed a list from the vfs_full_audit.c source, so these are things you can monitor if you really want, but beware things like "pwrite" are called multiple times in a file write, not just once for the entire file, so you could have a log inundated with verbose messages.
    aio_error
    aio_force
    aio_fsync
    aio_is_offline
    aio_read
    aio_set_offline
    aio_write
    brl_cancel_windows
    brl_lock_windows
    brl_unlock_windows
    chdir
    chflags
    chmod
    chmod_acl
    chown
    close
    closedir
    connect
    connectpath
    create_file
    disconnect
    disk_free
    fchmod
    fchmod_acl
    fchown
    fget_nt_acl
    fgetxattr
    file_id_create
    flistxattr
    fremovexattr
    fs_capabilities
    fset_nt_acl
    fsetxattr
    fstat
    fsync
    ftruncate
    get_alloc_size
    getlock
    get_nt_acl
    get_quota
    get_real_filename
    get_shadow_copy_data
    getwd
    getxattr
    init_search_op
    kernel_flock
    lchown
    lgetxattr
    link
    linux_setlease
    listxattr
    llistxattr
    lock
    lremovexattr
    lseek
    lsetxattr
    lstat
    mkdir
    mknod
    notify_watch
    ntimes
    open
    opendir
    pread
    pwrite
    read
    readdir
    readlink
    realpath
    recvfile
    removexattr
    rename
    rewinddir
    rmdir
    seekdir
    sendfile
    set_quota
    setxattr
    stat
    statvfs
    streaminfo
    strict_lock
    strict_unlock
    symlink
    sys_acl_add_perm
    sys_acl_clear_perms
    sys_acl_create_entry
    sys_acl_delete_def_file
    sys_acl_free_acl
    sys_acl_free_qualifier
    sys_acl_free_text
    sys_acl_get_entry
    sys_acl_get_fd
    sys_acl_get_file
    sys_acl_get_perm
    sys_acl_get_permset
    sys_acl_get_qualifier
    sys_acl_get_tag_type
    sys_acl_init
    sys_acl_set_fd
    sys_acl_set_file
    sys_acl_set_permset
    sys_acl_set_qualifier
    sys_acl_set_tag_type
    sys_acl_to_text
    sys_acl_valid
    telldir
    translate_name
    unlink
    write
    

Wednesday, October 9, 2013

Alarm Switch Installed

Well, it's amazing what you can accomplish when you have a little time.  I was able to install the alarm lock cylinder into the fender (wires, lock retainer, and gasket), and I was able to get the hood hinges in place and connected to the body and the hood.

I need to figure out how to adjust the hood at this point, and then I can install the hood support (which I received - thanks, Corvette Central!), and then finish plumbing the carburetor.  That would leave simply the headlights, steering column reassembly, electrical testing, door glass adjustment (need to get the battery in place to do the adjustment, which is also why I needed to get the electrical tested, which is why I needed the alarm switch functional and installed).

So, here's my to-do list (yes, it has gotten to the point that it is very specific) :
  • Reassemble the Turn Signal Switch and Ignition Switch
  • Install the Tilt/Tele Steering Wheel Components
  • Have Someone Clean the Steering Wheel Leather (Not sure how expensive)
  • Install the Steering Wheel
  • Hood Adjustment
  • Plumb the Fuel-Filter-to-Carburetor Lines
  • Headlights
    • Obtain Ford Probe Headlight Motors (model year 1993 to 1997, about $60 for the set)
    • Wire up a Headlight Control Relay (from Napa, EC23 $15 and BK3007884 $9)
    • Manufacture a Bracket to Hold the Probe Headlight Motors (not sure how much this will cost)
    • Assemble the Electric Headlight System
    • Get the Headlight Bezels and Lids Painted to Match (at $300 a pint for the color coat alone)
    • Install Headlights Themselves
  • Probe Electrical Connections (before Adjusting the Door Glass)
  • Connect the Battery
  • Adjust the Door Glass
  • Disconnect the Battery
  • Install Door Panels
  • Ensure Interior Light Bulbs are in Working Order
  • Complete Air Ducts
  • Install the Drivers' Dash Panel
  • Obtain a Map Pocket ($85) for the Passengers' Side and Install (with Springs)
  • Install the Passengers' Side  Dash Panel
  • Bolt Down the Center Console
  • Bolt Down the Parking Brake Cover
  • Install Transmission Tunnel Covers
  • Bolt Down the Seats and Test
  • Connect the Battery and Test All Electrical Components (EXCEPT FOR STARTER)
  • Fill with coolant
  • Add Oil and Prime the Oil Pump
  • Add a LITTLE Gasoline to the Tank
  • Add Gear Oil to the Tremec TKO II
  • Add Windshield Washer Fluid
  • Lift Rear Wheels into the Air (don't want to have the transmission fail to disengage)
  • Connect the Battery
  • Put some Gasoline in a Glass cup in Preparation to Test Fire
  • Test Fire
  • Stop Engine
  • Engage Wheels with the Ground
  • Start, and Drive a Short Distance (less than a mile)
  • Return and Check the Oil
  • Raise the Back End
  • Run the Car in Gears for 20 Minutes Each (Transmission Break In)
  • Drop the Car
  • Check the Oil
  • DRIVE IT LIKE I STOLE IT

Tuesday, October 8, 2013

CentOS 6 and Standard X ScreenSavers

I use CentOS as a desktop, primarily because I need to be able to work on scripts and ensure they work on the servers before I throw the things over to the servers for production runs.  However, the default number (and style) of screensavers for Gnome are pitiful.  Popart, the insecure "photos", and some weird "gnome feet" screen saver.  Because of this, I needed to have the original X screen savers.

I'm using CentOS 6.4, and due to previous histories, I knew I needed packages named with the following :
    gnome-screensaver (already installed)
    xscreensaver-base
    xscreensaver-extras
    xscreensaver-extras-gss
    xscreensaver-gl-base
    xscreensaver-gl-extras
    xscreensaver-gl-extras-gss
    
I loaded up http://rpm.pbone.net/ (way better than http://rpmfind.net/), and tracked down RedHat EL6 RPM URL's.  Then threw them into the following command :
    yum install ftp://ftp.muug.mb.ca/mirror/fedora/epel/6/x86_64/xscreensaver-base-5.11-7.el6.respin1.x86_64.rpm \
    ftp://ftp.muug.mb.ca/mirror/fedora/epel/6/x86_64/xscreensaver-gl-extras-5.11-7.el6.respin1.x86_64.rpm \
    ftp://ftp.muug.mb.ca/mirror/fedora/epel/6/x86_64/xscreensaver-gl-base-5.11-7.el6.respin1.x86_64.rpm \
    ftp://ftp.muug.mb.ca/mirror/fedora/epel/6/x86_64/xscreensaver-gl-extras-gss-5.11-7.el6.respin1.x86_64.rpm \
    ftp://ftp.muug.mb.ca/mirror/fedora/epel/6/x86_64/xscreensaver-extras-gss-5.11-7.el6.respin1.x86_64.rpm \
    ftp://ftp.muug.mb.ca/mirror/fedora/epel/6/x86_64/xscreensaver-extras-5.11-7.el6.respin1.x86_64.rpm
    
This gave me a requirement for a package that was missing with the following error :
    Error: Package: 1:xscreensaver-base-5.11-7.el6.respin1.x86_64 (/xscreensaver-base-5.11-7.el6.respin1.x86_64)
               Requires: xorg-x11-resutils
     You could try using --skip-broken to work around the problem
     You could try running: rpm -Va --nofiles --nodigest
    

I found the missing package that was required (news to me), and fired off the command :

    yum install ftp://ftp.muug.mb.ca/mirror/fedora/epel/6/x86_64/xscreensaver-base-5.11-7.el6.respin1.x86_64.rpm \
    ftp://ftp.muug.mb.ca/mirror/fedora/epel/6/x86_64/xscreensaver-gl-extras-5.11-7.el6.respin1.x86_64.rpm \
    ftp://ftp.muug.mb.ca/mirror/fedora/epel/6/x86_64/xscreensaver-gl-base-5.11-7.el6.respin1.x86_64.rpm \
    ftp://ftp.muug.mb.ca/mirror/fedora/epel/6/x86_64/xscreensaver-gl-extras-gss-5.11-7.el6.respin1.x86_64.rpm \
    ftp://ftp.muug.mb.ca/mirror/fedora/epel/6/x86_64/xscreensaver-extras-gss-5.11-7.el6.respin1.x86_64.rpm \
    ftp://ftp.muug.mb.ca/mirror/fedora/epel/6/x86_64/xscreensaver-extras-5.11-7.el6.respin1.x86_64.rpm \
    ftp://ftp.muug.mb.ca/mirror/fedora/epel/6/x86_64/xorg-x11-resutils-7.1-10.el6.x86_64.rpm
    

Success!  Note that you will have TWO screen saver options.  If you use gnome-screen saver and hot keys to lock your workstation, you should continue to use that one (your new screensavers will show up in it's configuration pane).  If you open the first one and it says it needs to stop the gnome screen saver, cancel that, close that preferences pane, and open the other one.

Sunday, October 6, 2013

Steering Column - Coming Together

With some bad engineering drawings, a bad memory, and some skill with Tetris from growing up, I finally figured out how the steering column's Tilt/Telescopic components fit together.  There were a few steps to get me to a point that the Chevrolet manuals talked about :

  1. Find out how the light dimmer switch shaft sets into the housing.
  2. Find out how the turn signal switch connects to the dimmer switch (hint - it uses a plastic carrier that sets into a plastic shell that the tilt/telescopic lever runs through).
  3. Understand how the wiring fits into the wiper/turn signal switch carrier housing (that also houses the ignition lock cylinder)
  4. Locate a suitable pivot pin for the wiper/turn signal switch that connects the switch to the housing.
  5. Put that all together in one fell swoop (you kind of have to do this - without the housing, the parts will fall out, and without the parts in the right place, the housing won't connect.
For the pivot pin, I had lost mine, and found out that no one sells a replacement.  Goofing off, I realized that my Honda Civic (metric) had six bolts for the timing belt cover, and (since I had replaced the engine this year) I had the old bolts laying around.  Those bolts fit into the threads for the housing, and the shoulder on the bolt had a slightly larger diameter (that's a good thing) than what it should be (it wouldn't fit into the switch).  I grabbed my drill, slapped the bolt into the chuck, and grabbed a file.  I basically turned the shoulder without a lathe until it was the right size.

Then I ran out to grab the ratchet to install it..... and found the old pivot bolt still in the socket from nine months ago!  I compared them, and they were almost identical, the original had an extra pivot pin on the end (e.g. two shoulders of different sizes with a threaded section sandwiched in between).  The "replacement" would have still worked, but I opted for the original (anyone wonder why?).

I set about installing everything, and had success in getting those parts completely installed (complete with a new ignition lock cylinder).  Next up, finishing the rest of the assembly, which I can now use the AIM for (the assembly instruction/engineering diagrams at the factory).