Press "Enter" to skip to content

nuxx.net Posts

DT Swiss 36 Point Star Ratchet Upgrade

I’m really liking the new 35mm wide wheels that I built for the El Mariachi Ti, and I wasn’t looking to upgrade them until I came across someone on the MMBA Forum selling a set of wheels which included both the 36 point star ratchets and the original 18 point items. I emailed him asking if he’d be willing to sell me just the ratchets separately, and he agreed, sending me both the barely-used ratchets (one race) and the special DT Swiss grease for $60, shipped.

For a while I’ve been interested in high-end-high-engagement hubs, but with the normal retail price for these ratchets at around $89 (without the grease) I wasn’t really willing to pay for it. At this price I was willing to give them a chance. Installation was super easy, as DT Swiss freehubs can be disassembled without tools, or really without even removing the cassette. A bit of cleaning to remove the old grease, some of the, pink Hugi grease was applied, and it was all put back together. Spinning the rear wheel makes a much smoother buzzing sound, the higher engagement is obvious on the work stand, and I’m really looking forward to getting out and trying them on trails.

Now I just hope they don’t spoil me…

Leave a Comment

Dremel Shaft Connector Failure

 

A few weeks back when cutting spokes to build bicycle rim ERD measuring tools my Dremel suddenly stopped spinning reliably. The shaft would vaguely turn, but with and load applied it’d simply stop. This afternoon I pulled it apart and found that there is a rubbery flexible coupling between the motor and drive shaft itself, and this had disintegrated. My parents gave me this tool a bit over 20 years ago, so I’m not surprised that a part like this has eventually failed.

Thankfully this is a common failure (and seems to be a sacrificial part), so $4.75 later via eBay and I have a replacement on the way. It’ll be easy to install and should get things back up and running. I much prefer this to buying a new one. (Rotary tools such as a Dremel are not a tool that I frequently use, but when a need calls for it there aren’t really any suitable replacements.)

UPDATE: The new shaft connector arrived and has been installed (photo). This was very easy to do, and the Dremel is now working like it had before.

Leave a Comment

Wide Wheels for Salsa El Mariachi Ti

Ever since building some 30mm wide Salsa Semi rims for my single speed I’ve been enamored with wider (but not quite fatbike width) rims on normal mountain bikes. I feel that so long as the tire remains ~20% wider than the rim itself the benefits are great: more sidewall support, less tire roll when cornering, and higher volume of air all while rolling resistance seems the same. I recently played with building up a Velocity Dually-based front wheel for the El Mariachi Ti. At 45mm wide it made a 2.4″ Schwalbe Racing Ralph about 63mm wide and felt great to ride, but the heavy rim was noticeable. For me the holy grail would have been a wide wheelset that isn’t any heavier than a more-typical XC set, like the Shimano XT / Stan’s NoTubes Arch EX set that came with the El Mariachi Ti.

With the recent XT freehub failure I got to thinking seriously about new wheels, and after a few months of trawling eBay I found myself with all the parts needed to build up just what I wanted at a sane price: 35mm wide carbon fiber rims from China, high-quality hubs from Switzerland, tires from Germany, and spokes from… wherever spokes come from.

At the same time I was able to switch to a 142×12 rear through axle, which is something I’d been wanting to do for a while, since I’m quite fond of the positive engagement and installed-straight-or-not-installed-at-all nature of a through axle. They can’t become skewed like a traditional quick releases which can be a bit skewed.

In the end they came out great, and even though I only have an hour and a half of riding on them, I’m quite content. Read more about the build below the fold…

3 Comments

2014 Lumberjack 100: Finished

When the day came to begin the training plan leading up to Lumberjack 100 and do an LTHR test, I balked. I set out to do the test, was having a very bad day, quit, and went home. Then, within the week, I decided that I didn’t want to follow the training plan, sold my entry, and changed my plans so that I’d instead head up to ride the NCT, volunteer, and hang out at the race. Since I liked how riding a lot last year made me feel I still tried to ride a bunch, doing the Fun Promotions 6 Hours of Stony Creek race and a bunch of fun/long rides, but I had no intention of doing anything more at Lumberjack than riding one lap as a course marshall and then hanging out. The obligation of following such a plan for a third year was too much.

Without the stress of months of goal-oriented training before the race I wasn’t stressed about the weather, a training routine, or any of the other usual pre-race things.

Fast forward to early June, after I’d put in a number of long rides, and my friend Nick began teasing me that I was going to purchase an entry anyway, just to get one at a discount. I had no intention of doing so, but then a friend of mine informed me he wasn’t going to use his entry, making me an offer I couldn’t refuse. That was it, I figured I’d give the race a go. I simply planned on heading up to the race, giving it my best, and seeing how it went. If I dropped out after a lap and sat around for six hours drinking beer watching others finish, that’d be fine. If I rolled in at twelve hours, that’d be fine as well. I just wanted to have fun on what I feel is one of the most beautiful trails in the state. I headed up to my reserved cabin at Camp Mana-Pine on Thursday afternoon, got settled in, and Danielle and Roxie joined me on Friday evening.

The day before the race was a constant downpour, but with the sandy soil in the area it ended up being a blessing. I lined up mid-pack at the start, filtering back to the last third by the time we reached the single track. This worked out well, as the trail was well packed by riders in front of me, and my position even resulted in my meeting the person I’d sold my entry to. Sylvia and I rode a good bit of the first half of the course together before parting ways on one of the climbs. Save for a bit of slowness at the start and my being really impressed at the backwards course layout (I like it a lot more) the first lap was quite uneventful until the end. While I really enjoyed the backwards route, it meant that the last five miles involved some of the most frustrating climbing, and in the midst of this on lap one I started to think about quitting. Then, after the long/fast downhill back to the start, I suddenly felt good. I refilled my pack, grabbed some more bottles, and set off.

Laps two and three were also great, with my race alternating between extended periods of riding alone and being with people, most of whom were great to chat with. By this time Danielle had reached the aid station so I was able to stop briefly, see her and give her a kiss, then carry on. At one point I was riding along with a single speed guy (#89) from AUXILIARY Design & Advertising when I slightly overshot a downhill sandy corner (just after Porn Ridge) on lap three fell over. Thankfully it was no big deal, and I was able to get up and carry on without any problems. I rode away from him on a road section, but he passed me when I stopped to pee,  and I didn’t see him again until the end where he had finished 50 seconds faster than me — probably right about the time I was standing at the side of the course.

Just after setting out at on lap three I noticed that I’d done fairly consistent 3:20 laps, and found that if I pushed a little bit I just might, maybe, be able to do a sub-10 hour Lumberjack. Having not finished in 2012 and done 11:03 in 2013, cutting more than an hour off my best time would feel great, so I went for it. I ended up coming in at 9:51:41 and didn’t get lapped by the leaders. My specific lap times were 3:18:05, 3:25:11, 3:08:26, but the first and second lap times both include the time spent in the pit area, because this was before the lap crossing. (According to these times I technically was lapped by the leaders, but I was at the tent after my second lap and watched Christian Tanguy finish, so I don’t consider that a lapping. After my second lap I took time to lube my chain, so this extended that lap even further. I suspect that my laps were otherwise pretty consistent.)

I’m really glad I didn’t get lapped. While it’s not really disheartening for me (those guys are seriously fast), I didn’t want to get in the way. At one point near the end of my second lap I saw Jorden Wakeley’s dad along the trail a few miles before the end and asked him how the leaders were doing. He let me know that they were about ten minutes back, so I began constantly checking behind me to see where they were. With the long/fast downhill at the end, the last thing I wanted to was be in their way during some manner of sprint. But, it didn’t happen and that was great.

Not long after half-way through the race my Garmin Edge 510 once again had issues, losing ANT+ connectivity just as had happened back on May 4th. I took this as a bit of a challenge and went rode, making sure I felt like I was pushing, but not too hard. RPE, I guess. This had done well for me at recent Barry-Roubaix and Iceman races, so I figured I’d give it a go here, and it worked. I finished, I was happy with my time, and I was sore but felt good at the end. This race was (again) the hardest thing I’ve ever done physically, to the point at which I’ve now got some manner of cold/flu that likely set in with a weakened immune system. Still, I loved it.

I really don’t know if I’ll do the race again next year. This year I loved it, but I loved it because it wasn’t the obligation it had been in years past: it was something I went and did because it’s fun and great and hard. I got to hang out with friends before, during, and after the race, I met a bunch of great new people, and I got to spend a day outdoors doing something I love surrounded by beautiful northern Michigan forest. Ideally next year will be the same, but maybe it won’t. I’m hoping to keep riding hard and do even better next year, but who knows what’ll happen… As long as I keep having fun I’ll be happy.

1 Comment

Shimano XT Freehub (Y3CZ98040) Failure Analysis

The failure of the Shimano XT freehub (Y3CZ98040) on the El Mariachi Ti was frustrating, so I wanted to understand what really went wrong. As far as I can tell, the root cause† is a freehub shell that cracked, allowing at least one bearing to become displaced and work its way into the ratchet mechanism. This caused the symptom of the freehub being extremely hard to turn, moving with very solid, thunking sound when forced.

No preventative maintenance would have caught this, and without inspecting the freehub regularly for hairline cracks (a really difficult task) I wouldn’t have known this problem was starting.

The evidence for this is as follows, with photographs:

  1. The freehub shell was cracked, which I found when trying to disassemble it. I ended up breaking it in two pieces to get it apart, and there are two visible fractures where it broke: a bright, clean one from breaking it apart today, and an oxidized one from the original failure. (Photos: Oxidized break, new/clean break.)
  2. All of the pawls are intact and with sharp edges. (Photo)
  3. There is a worn groove next to the bearing race, but just beyond a lip, which leads back to a recess along the center of the pawl mechanism. I suspect this is where one of the small bearings which came loose worked its way towards the ratchet. (Photo)
  4. There are rounded, ball bearing sized witness marks in the fixed tooth part of the ratchet mechanism in a location which correlates to where the ball bearing is thought to have settled after settling in the recess. (Photo) There are other, smaller witness marks which make me suspect that even more bearings worked their way into the pawls once the failure really took hold. This could explain how I noticed the failure briefly a couple of times before the hub completely locked.

This aligns with problems reported here on MTBR, and this post from that thread states that Shimano has changed the design and heat treating to address this.

In order to disassemble the freehub I first tried fashioning a tool (flat piece of steel about 29mm wide, 4mm thick, and at least 20mm long: photo) to unscrew it. This didn’t work because I did not have a tool for holding the Shimano splined end, but it spread open the crack enough for me to see what the problem was. I then clamped it in a vice, used a screwdriver to break it open, and then used a wrench and a screwdriver to pry the pawl-holding part of the ratchet mechanism out.

This worked pretty well, and after a bit of degreasing I had a clean part. The only downside is the 2.93mm ball bearings used in the hub (photo), which shot/flew/fell all over my workbench and feet when the hub gave way. It’s one of these bearings that worked its way into the ratchet and caused the failure.

† This root cause is only from my perspective. The proper root cause is much deeper than this, perhaps a human or design error that resulted in improper heat treating or sizing of the freehub body, but that’s further than I can reasonably go; something that Shimano would be looking into. Or, as evidenced by the redesign, already did.

Leave a Comment

Lubed Mukluk Freehub

After Saturday’s freehub failure on the El Mariachi Ti I figured I should check up on the freehub in the fatbike. It’s been behaving fine, but as I last lubed it 2+ years ago (and replacement is very expensive) I wanted to be sure everything was fine.

A couple years back Salsa released the video Winterizing The Mukluk Hub in response to too heavy of grease for winter use having been installed by the factory in the freehubs. This would apparently freeze up, cause the pawls to only partially engage, and then break. Pawls aren’t available standalone, so people were left buying replacement freehubs at ~$90/each. Replacing the grease with something lighter was a very good proactive measure, so as soon as I became aware of this (after my first winter of riding the fatbike, but a light winter) I did so with Buzzy’s Slick Honey.

This hub is extremely easy to disassemble, so checking up on the freehub takes little more than removing the wheel, pulling off an endcap, and unscrewing another cap before pulling the freehub off. The cassette doesn’t even have to be removed, although I did so because makes cleaning the freehub itself much easier.

The Slick Honey held up for around 1500 miles, 200+ hours, and an incredibly wide range of conditions. I believe that bike has been ridden in temperatures ranging from 0°F to just over 100°F. Even today, despite being a bit discolored, it still had its familiar texture and was lubricating the pawls as it should. Regardless, I cleaned out the ratchet mechanism and heavily lubricated it before everything went back together. Here’s to another couple of years!

Leave a Comment

Failed Fatbike Superlight Tube

Just about a year ago I switched the fatbike to using Q-Tubes Superlight 26 x 2.4-2.75″ tubes with polyester ribbon rim strips to save weight. This worked, but today I suffered a flat at Poto as a result. It turns out that the place where the tube bulges up through the rim holes has decayed, and these eventually fail to pinholes. I’d patched one a month or two ago, and today’s flat was another.

I’m not sure if the issue is simply from stretching, ozone exposure, UV exposure, or perhaps even the soap used when washing my bike. I mostly suspect UV or ozone, but I don’t know enough about failure modes of this material to say for sure.

I still feel these tubes are the best low cost option for lightening up a fatbike, so I’ll end up ordering a few more, swapping the existing tubes, and going for another year. Even at $20/year in tubes it’s still a lot cheaper than going with some carbon fiber rims. Although, some carbon fiber rims set up tubeless (with the Hope Fatsno hubs picked up in November) would solve a whole bunch of problems at once… They’d just cost a lot.

Leave a Comment

Danielle Saves The Day

84 rides, 2367.44 miles, 213:44:52 is how long the freehub on the Shimano FH-M785 from the Salsa El Mariachi Ti lasted. Today while out on a longish ride (intended to be ~6 hours) with Dana, heading north on Hosner Rd. just north of Drahner (Google Maps), the freehub seized up and the wheel would no longer coast. This happened very briefly last night while riding at River Bends with Danielle, but it was only a gentle tug feeling before it let go again, so I figured it was only transient or something that wouldn’t have been a big deal.

Unfortunately, it was. After acting quirky a couple times over fifteen minutes, and once somewhat badly while riding up Markwood, it went very wrong on the descent from the monastery. Flipping the bike over, it only did this: video. I pulled the wheel, found that it was VERY difficult to advance the freewheel, Dana called her husband Josh (a professional bike wrench) for suggestions, and then I called Danielle for help. She ended up driving out to where we were — about half an hour away — bringing my single speed so I could finish the ride. Sure, it wasn’t great spinning along at 100 – 120 RPM on rail trails and dirt roads, but it worked out pretty well and very surely saved the ride. We were able to do another 54 miles, including some of Bald Mountain South, a full lap of Bloomer, and most of River Bends before calling it a day.

Unfortunately, neither of us had realized just how close we were to doing a century (100 miles). Had I not reset my bike computer during bike changes I would have known to put in another 10 miles… I had plenty of energy and food left, so it wouldn’t have been a problem. Oh well.

Here’s the data for today, as seen in Strava: Part 1: Gears / Part 2: Single Speed.

Leave a Comment

Garmin Express and Proxy Settings

Garmin has recently moved to using Garmin Express for syncing and updating a number of its devices. I recently had to troubleshoot an issue where it wouldn’t work from within a corporate network that uses proxy servers. This has been widely reported on the Garmin Forums (eg: 1, 2), with the general consensus being that Express doesn’t support proxies. It turns out that this is incorrect; Express does support proxies, but because part of it runs as the LocalSystem Account (NT AUTHORITY\SYSTEM) it typically doesn’t have access to the proxy settings.

First, the cause:

Garmin Express has three main components: a service called Garmin Core Update Service which is Garmin.Cartography.MapUpdate.CoreService.exe running as SYSTEM. The second is a tray applet, ExpressTray.exe, which automatically launches on boot running as the currently logged in user. This in turn launches Express.exe, which is the program’s main user interface. The Garmin Core Update Service handles the network communication with Garmin’s servers — something which would normally use proxy servers — but since the default in Windows is not to have proxy settings for the SYSTEM account, this service doesn’t know how to communicate with the outside world.

Now, a couple workarounds:

The first workaround is to change the Garmin Core Update Service to run as the user who needs to run Garmin Express. This works, but may experience wrinkles long-term. Setting the service to run as a specific user requires that user’s password, when password change time occurs (something fairly common on corporate networks) the service will likely fail to start. Additionally, it changes Garmin’s application architecture and may have other untold consequences such as becoming undone when Express updates itself, keeping Express from properly functioning on multi-user machines (read: tablets), etc.

The second workaround is to use the ProxySettingsPerUser policy setting to make the computer have one set of proxy settings for all accounts, user and SYSTEM alike. This is normally defined by Group Policy, but can be manually set by setting the registry value ProxySettingPerUser in HKLM\SOFTWARE\Policies\Microsoft\Windows\CurrentVersion\Internet Settings to DWORD 0x0. After changing this setting, resetting the proxy settings in Internet Options may be necessary.

By having one set of proxy settings system-wide, processes running as the SYSTEM account will then be aware of the proxy settings. However, if the corporate network uses some manner of authentication for its proxy servers then communication may still fail as Express may not have access to appropriate credentials.

I do not feel that either of these is a proper solution, neither good long-term or enterprise-wide, but both are usable for an individual attempting to resolve problems with a one-off installation. Ideally I’d like to see Garmin change Express so that network communication is handled as the user running the UI. Additionally, some customizable proxy options (eg: Use System Settings, Manually Specify Proxy, etc) as many other applications offer would make Express‘ internet communication considerably more flexible.

(This post applies to Garmin Express 3.2.4.0 only. Newer versions may change this behavior.)

6 Comments

darktrain.nuxx.net Server Issues and Disk Replacement

My current webserver, darktrain.nuxx.net, has been working well for a couple years, despite needing a proactive (due to bad BIOS chip) motherboard replacement and the normal quirks. This past Saturday morning, about 10am, one of the hard drives failed. Due to the use of a ZFS mirror pool for the root filesystem this shouldn’t have caused any problems, but it did. On top of that, due to not rebooting the server in 600-some days I ran into a few other quirks. Here’s what all happened, in chronological order, to get it running stable again:

  • Second hard disk, /dev/ada1, fails. ZFS throws up on itself and the storage basically falls out from under the OS. As a result, everything not in memory and database-backed websites fail.
  • An OS initiated reboot wouldn’t work (seemed to loop during sync) I powered off the server manually.
  • Upon powering the server up disk performance was really bad until /dev/ada1 was removed from the mirror pool. After this point disks settled out and all was good.
  • Outbound email from server wasn’t working due to DKIM-Milter / OpenDKIM failing to start. This could be bypassed, but this wasn’t a good solution because the MMBA Forum sends a fair bit of email notifications. DKIM-Milter failed to start because OpenSSL had been rebuilt due to Heartbleed  bug, but as I hadn’t restarted it since upgrading OpenSSL I didn’t notice the issue.
  • DKIM-Milter couldn’t be upgraded from Ports because FreeBSD 9.0-RELEASE (which was still running) had been depreciated and Ports intentionally broken on this release.
  • OS upgraded to FreeBSD 9.2-RELEASE-p6 using freebsd-update. DNS and mail broke, but this was fairly easy to fix. Update otherwise went smoothly.
  • Ports updated, OpenDKIM rebuilt, mail working again.
  • Upgraded ZFS on remaining disk with zpool upgrade -a command, then wrote new bootcode to ada0 using gpart bootcode -b /mnt2/boot/pmbr -p /mnt2/boot/gptzfsboot -i 1 ada0.

At this point the server was stable and I was able to replace the failed disk. The previous setup was with two Seagate ST1000DM003 disks (the mirror pool) and one Crucial M4 SSD (L2ARC). The biggest difficulty in replacing the disk is not the $54.44 cost of the replacement purchase; it’s setting up time to access the server in the data center. Since there was still one free disk bay in the server, instead of just replacing the one failed disk I decided to put two new ones in. These will then be configured into a three-way mirror pool with the SSD L2ARC. It cost a bit more, but now when the next magnetic disk dies (remember, all parts die eventually) I can drop it from the pool and still have two properly working drives, all without another data center visit.

During lunch today I headed over to the facility housing the server in Southfield (conveniently, only 15-20 minutes from work) and within the span of 12 minutes I’d met the escorts, downed the server, swapped the disks, and brought it back up confirming that they are in place and functional.

After getting the disks back I used hints from the FreeBSD Root on ZFS (Mirror) using GPT article to get the new disks partitioned for swap and boot, then added the /dev/ada1p3 and /dev/ada2p3 partitions to the mirror pool and made sure the L2ARC was working. Now everything’s (essentially) back to functionally normal, hopefully with better reliability than before.

So, what’s next? Probably a FreeBSD 10.0-RELEASE upgrade, and better staying on top of patch levels so I don’t suffer the same fate as last time. Being a whole version upgrade there’ll need to be a good bit more planning and testing than this go around, but so long as I’m doing it less urgently, all should be good.

Leave a Comment