Thursday, December 29, 2016

Recompile with -fPIC when compiling Samba with ACL

I ran into a problem trying to compile Samba under a Linux From Scratch (LFS) system :
    relocation R_X86_64_32 against function can not be used when making a shared object; recompile with -fPIC
    /usr/lib/libacl.a: could not read symbols: Bad value
I kept trying to figure out what was up with my Samba ./configure arguments. It took a while to realize the problem wasn't in my Samba methods - it was in the ACL compilation. When the Samba error in the make specified about recompiling with -fPIC, you need to recompile the library that it is trying to link. I had to recompile the binary and fix it, and then Samba compiled fine.

Sunday, December 18, 2016

FAILED: Has an address record but no DHCID, not mine.

I am running a little DHCPD/DNS/SQUID server, and after enabling logwatch, I started receiving e-mails in the morning about the following errors :
    Dec 18 19:58:06 home dhcpd: Forward map from to FAILED: Has an address record but no DHCID, not mine.
The computername is not a generic DHCP client - it is a host with a statically assigned address.  This message is somewhat annoying.  To remediate this, I have now added a "ddns-update-style none;"  to each host with a static address, e.g. :
    host computername {
            hardware ethernet       00:25:8c:7f:ef:01;
            fixed-address ;
            ddns-update-style       none;
I may just turn off the dynamic updates all together.  I am not sure they are as important as I initially thought.  We'll see if this will swallow the error first, though.

Sunday, December 4, 2016

New Project From Old, Small Gears

So, if you look closely at the background for this web page, you will see a number of gears turned into a seamless pattern.  Yes, I did that work.  The gears have an interesting history.  My father pulled out an old box one day, and wanted me to check it out.  He pulled three cans of small, aluminum and brass gears out of the box.  As if that wasn't enough, there was a small box containing a worm drive, a few spindles, and some very small pulleys.

I quickly realized that there were different sizes of gears.  The box was given to me before I was really understanding "pitch", "pressure angles" and other attributes associated with gear engineering.

Someone had a suggestion for me, and it is becoming a new project.  Take my fathers old gears that he used to play with as a teenager (yeah, Xboxes, Nintendos, and Segas did not exist - this hails from the time he had to drag his pet dinosaur to and from school through 10 feet of snow, uphill both ways), and turn them into a new table.

My dad does not drink coffee.  So, we shan't call it a coffee table, we'll call it a "hot chocolate table". My family will build a cocoa table using his gears, as a gift to him.  This will be a large project, and hopefully won't take more than 20 years to complete (that is reserved for my car).  Here's what has to be done :
  • Build a gear "depthing" tool - it's a tool in horology (the science of clock making) that is used to set spacing for gears of specific sizes - see a great video from clickspring (youtube) on how to make one
  • I need to figure out how to drill holes in glass - if you want to make a table with a working gear train, you need to be able to see the working gear train - and, since it will be a cocoa table, it will need to be flat so he can put his papers on it, too
  • I need to determine if I should have it powered - meaning plugging the table into an outlet to work itself - and if I need to add some LED lighting accents - or, if I create a lever somewhere that someone can turn to work the gear train
  • I need to determine if there will be small drawers to house things like pens and pencils
The first step is to plan out a basic design.  Something people don't realize is I sketch on paper and a drafting table, not on a computer.  So, I'm starting to get some dimensions so I can build a mock-up design (the mockup will be digital).  Once I have dimensions, I can start to throw together a basic outline on the drafting table that can be photocopied multiple times for various sketches.  Of course, I'll need my families opinion as I go, and probably involve nieces/nephews in the build.  Also, I think I might just do a single page in this entry, so you won't see this until the table is done.  You still get to see the project chronologically throughout the build, and that is what is important.  I see the following basic steps :
  1. Determine requirements (drawers, power, etc)
  2. Determine the count of gears
  3. Sketches/designs that look good
  4. Manufacture needed tools to make it happen
  5. Layout basic table drawings with everything
  6. Learn how to drill holes in glass without breaking it (practice!)
  7. Build the frame
  8. Source safety glass for the table
  9. Build the wooden areas of the table (if there are any)
  10. Create mounting points for the glass, wood, and gears on the frame
  11. Use added layers of glass for the spindles of the gears (must have a second layer of glass for the final, finished surface)
Of course, it might be easier to use plexiglass on the inside of the table, which would mean I don't have to drill glass, just plastic.  Plus, it would be protected from scratches by real safety glass.  Well, I'll come to that bridge when I need to cross it!


Discussions with family means that this table should NOT have any power plugs.  That means, for the gears to run, I would need include batteries for the gears to turn, somehow.  I'll probably use drawers, and have one of those drawers house the batteries.  It means I'll need some wood furnishing, too, but I'd like it to be a bit "industrial", having some bare steel that has been clear-coated to protect it from corroding - however, suggestions from family are to fit in with the rest of the furniture, which is primarily wood, without much bare metal.

Materials that NEED to be used

TeethCountOutside DiaShaft Dia
I have to have a list of the gears that are going to be used, but the gears are all jumbled together.  I separated the gears into compatible teeth (the gears can mesh), and did the calculation on diametral pitch (see my South Bend Gearing page for more details on the calculations). The 192-tooth gear is 4.031" in diameter, which calculates to a pitch of 48.1270156288762.  That seems to be an odd number for a pitch, so (for kicks and giggles) I calculated the approximate diameter of the 192-tooth gear if it had an even pitch of 48.  It calculated to 4.01667" -  not far off (only 0.016").  I may just call them 48 pitch gears, though the pitches are not the same.  The gear inventory list is off to the right.

The gear spindles (from the "shaft diameter" in the chart) are 0.107, 0.115, 0.1285, 0.179, 0.2, 0.226, 0.2265, 0.2275, 0.228, 0.232, 0.233, 0.234, 0.241, 0.2425, 0.243, 0.245, 0.247, 0.25, 0.2965, 0.353, 0.355, 0.357, 0.375, 0.465, 0.48, 0.5, 0.512, and 0.75 inches.  Trying to get them "close" in proximity to diameters shortens the list to 8 diameters :

0.1", 0.2", 0.25", 0.3", 0.375", 0.465", 0.5", 0.75"

Now, I need to plan out the gear train.  I've started thinking I could turn this into a clock, using a stepper motor, but that will require knowing some very specific gear ratios. I do have an extra stepper motor hanging around, so I know I can do that, but it will take some very careful planning on my part, and possibly an RTC (Real Time Clock) module in some electronics design.  We shall see how that turns out.


I needed to obtain approximate dimensions of what I am going to produce, so the family all pitched (no pun intended with a gearing post) in to get me approximate dimensions.  Our cocoa table is 24" x 48" x 15".  However, the request came in from family at no more than 30" x 46", and about 20" tall.  I'll keep the width about the same, 24",  and I'll shorten the length to about 44".  The adding of 5" will remain because people are going to want to see and explore this table (it's the way my dad is).  So, the resulting dimensions of the cocoa table will be sitting about 24" x 44"x 20" tall.  I dropped the dimensions onto an 8.5x11 sheet of paper using a drafters scale and tossed out a couple of sketches :

Yes, I included a blank one in case someone had a better design for the table. No one took me up on that. One of those designs (I won't tell you which one) was done by my niece, who is 8.

Additionally, the designs (from "glass and steel" to "glass and wood" with a number of variants in between containing glass, wood and steel) were sent to family, and a couple of weeks allowed to get some sort of consensus on which design to use.

The voting results came in from the family as :

60% of the votes went to :

20% went to :

And the other 20% went to :

I need to draw up an official orthographic depiction of the table, and the plans, and then identify the gear layout.

I can now start sketching the layout and get the dimensions of the glass area of the table.  Once I have the glass area dimensions defined, I can start to generate gear trains, then lay out the gears onto paper.  Once that is complete, it will be time to build the table!


It's the start of December, and I finally repaired the lathe and finished the base for the gear depth tooling.  The shuttle frame is based on a 1 1/4" chunk of flat bar from Home Depot that I milled a 3/8" slot into.  The two shuttles were turned on the old South Bend to the dimensions identified in the following image from a piece of brass round bar stock (3/4" diameter).  The knurl is simply to allow me to tighten and loosen the shuttles from the frame.  The 3/8-16 thread on the frame-side shoulder did not go all the way to allow a smooth shoulder to fitfit perfectly into the milled slot in the frame with a nut on the other end.  This end was also drilled with a #25 drill bit about 0.5" deep, and then tapped with a #10-24 tap to allow a #10 course thread bolt.  The other shoulder (the one with the needle) was turned down to about 1/2" (I say about because one is 0.5" and the other is 0.4995"), at about 3/4" long.  A #42 drill was used in the needle side about 1/2" deep in order to hold the #14-sized needle.  Two needles were snipped about 1.25" long, then hardened, and then thread locker added to hold the needles in.

The two shuttles attach to the frame with simple 3/8"-16 nuts, and tighten solidly onto the frame.

My next task is to set up the shuttle bushings for specific gear bores identified above.  This means that I now need to turn some bushings that have a #10-24 threaded bolt surface (about 0.196" diameter before cutting threads with the die) about 3/8" long that will screw down into the shuttles.  I need a 0.30-0.31" diameter, 0.125" long collar to ensure the flange where they meet is not interfered with by the nuts holding the shuttle to the frame.  I also need about a 0.25" long (diameter doesn't matter) surface next to that one for a knurl, followed by the actual bushing diameter for the gears, about 0.675" to 0.75" long - length isn't as critical here.  The diameters for the bushings are, again, 0.1", 0.2", 0.25", 0.3", 0.375", 0.465", 0.5", and 0.75" across.  For example, a quick drawing plan (really straight lines, and I got the threading lines as left-handed instead of right handed) might look like :

Those things can then be used to have the gears placed on them to get the distance between the bores for a good gear mesh, and then you can place the needles down, one on one point, and the other where you want it, with a light tap on the hammer to get the proper dimensions for gear placement.

That will then allow me to lay out the entire gear train in the right environment.

As of 2 February 2017, I have currently done the 0.75" bushings (in brass), 0.5" bushings (steel), 0.465" bushing (steel), 0.375" bushing (steel), and 0.350" bushing (steel). That leaves me 0.100", 0.170", 0.220", 0.240", and 0.295". I only have 8 bushings left!

And, as of February 4th, I now have the 0.295" bushings. All of you machinists, please ignore the finish - I really don't care about the finish because as soon as I'm done, the tool goes with the table in a box, probably to never be seen again. The set currently looks like :

I am slowly making progress.  I have 8 out of the 18 bushings left, and they are the 0.100", 0.170", 0.220", and 0.240" bushing pairs.

I finished off the bushings.  The test looks good :

After finishing that tool, the next phase is to get a full layout of the entire table so that I can start placing gears.  The layout will go in a 2-dimensional format, and then we have to add a third dimension on gears protruding through the long braces that will give the table stability.  The table is really starting to take shape in my head (the design phase is still going on) :

I finished the over-all layout, then I finally had a chance to start laying out the gears.  I did not want to destroy the original layout.  Fedex-Kinko's came to the rescue with their large photocopier (used rolls of paper).  I ran three off in black and white (in case I flubbed something up, which would be par for the course).  Then I threw one of the copies onto the temporary "workbench" on the back patio and started marking things out.

Basically, I started with a single gear, marked the center on the layout, and then used a compass to draw a rough estimate of the gear.  From there, it was a matter of using the gear depthing tool made earlier to get things marked and in position on the layout page.

So, I need to finish the gear spacing definition (call it the gear map from here on out), then I'll merge the map with the original drawing, take it back to FedEx-Kinko's and run three full-color copies.  That will allow me to keep one for myself, send the original to my Father, and use the second and third copies to actually mark where the spindles for each gear need to be.  This is going to take a while.

After a few hours this past weekend (May 6th), and then spending another three and a half hours tonight, I am finally about 2/3rds of the way done :

I finished up the final two chains :

I started to question the fact that some lines were overlapping too much for my sanity.  I had a few gears that overlapped when they shouldn't have, and I thought it was because I simply drew the circle too large when drawing them because setting the compass to half the outer gear diameter was so imprecise.  Out of curiosity, I put the calipers up against the bushing centers, and then again against the tips that were used to mark the layout.

I had a difference of a whopping 0.050", meaning I didn't get the bushings completely concentric!  I ran a few tests to make sure it wasn't the shuttles, and those seemed to be okay.  Going back to the bushings, I realized that there is a big difference between cutting threads on bushings with the lathe versus using a die in getting things concentric.  The die cut the threads at an angle, causing the bushings to be slightly out of alignment at times, depending on the shuttle base.  So, it means I cannot trust the layout done with that tool.  That's a lot of wasted hours (60, to be more specific).  Hours spent like this :

But, if I do my math right, it's not totally wasted.  I can use that previous map as a visual layout, and then use the real compass on a drafting table.  That's right.  The results of those wasted hours can give me an overview of where it all needs to go, and the math should get me exact enough to work it.

So... to start over on the gear chain layout.  I HAVE to get that right.  When 0.050" can mean the difference between being too tight to turn or too loose to even engage the gear teeth, I have to be much better on those tolerances.

Remaining To-Do's

Here is the list of things I have to do :
  • Finish Full-Sized Table Gear Map (then plans will be complete)
  • Build Wood Table, and finish appropriately
  • Cut Four Pieces of Glass and Plexiglass To Dimensions, Bending for radius'd corners
  • Drill holes in plexiglass to act as a holder for gear spindles
  • Turn down gear spindles (I MUST get a good finish on these, as visitors will be able to see them, and they have to be polished to prevent binding in the plexiglass frame)
  • Drop in lower glass, then lower plexiglass, add the spindles and gears, add the top plexiglass over the spindles, the upper glass
  • Test the gear train
  • Add RGB LED Lighting
  • Relax