Ed Nisley's Blog: Shop notes, electronics, firmware, machinery, 3D printing, laser cuttery, and curiosities. Contents: 100% human thinking, 0% AI slop.
Being that type of guy, I’m reasonably sure I would not have bought what’s now clearly labeled as an OXO Radial Pepper Grinder for use as a salt mill:
OXO Salt Mill – corrosion
Mary recalls we got it at Target, back when one could go places and buy things, and I vaguely recall contemplating a wall of OXO gadgets. It’s been a while and I neglected to save the packaging for future reference.
Obviously not stainless steel, but not lethal, so we’ll continue abusing it.
After three years, the retainer holding the front bathroom door open against winds blowing through the house on stormy days finally fractured, right at the top of the towel rack where you’d expect it:
Bathroom Door Retainer – fractured
I was all set to add reinforcing pins and whatnot, then came to my senses and just made the whole thing a few millimeters larger:
Bathroom Door Retainer – stronger
Customer feedback indicates white blends better with the background.
I made a few minor tweaks to the original design, including slightly larger bumps to hold it against the towel bar that, regrettably, put corresponding gouges into the bar. Who knew they used such soft plastic back in the day?
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Although the Dell Latitude E7250 allegedly had Bluetooth capability and the Blueman applet tried connecting to my Bluetooth headsets, the connection aways failed and nothing worked. There’s a WLAN module stuck in an M.2 socket inside the laptop providing both WiFi and Bluetooth:
Dell E7250 – DW1560 card in place
A bit of searching suggested the driver wasn’t loading properly, which became obvious after I knew where to look:
dmesg | grep -i blue
… snippage …
[ 5.678610] Bluetooth: hci0: BCM20702A1 (001.002.014) build 1572
[ 5.678851] bluetooth hci0: Direct firmware load for brcm/BCM20702A1-0a5c-216f.hcd failed with error -2
[ 5.678853] Bluetooth: hci0: BCM: Patch brcm/BCM20702A1-0a5c-216f.hcd not found
[ 10.854607] Bluetooth: RFCOMM TTY layer initialized
[ 10.854613] Bluetooth: RFCOMM socket layer initialized
[ 10.854619] Bluetooth: RFCOMM ver 1.11
Without having the proper firmware / patch loaded, the module won’t work, even though the TTY / socket layers know it’s present, which explains why Blueman did everything except actually connect to the headsets.
More searching suggested you must extract the firmware HEX file from the Windows driver. Feeding the Service Tag into the Dell support site, then feeding “Bluetooth” and “Windows 8.1, 64-bit” (preinstalled on the laptop) into the Drivers & Downloads tab gets you the relevant EXE file: Dell Wireless 1550/1560 Wi-Fi and Bluetooth Driver. It turns out to be a self-extracting ZIP file (in Windows, anyway), so unzip it all by yourself:
This produces a blizzard of HEX files in the newly created Drivers/production/Windows8.1-x64 directory. Each firmware HEX file is keyed to the USB Product Code identifying the unique USB gadget, found with lsusb:
lsusb
… snippage …
Bus 002 Device 003: ID 0a5c:216f Broadcom Corp. BCM20702A0 Bluetooth
… snippage …
The DW1560 apparently has a USB RAM interface, with the specific HEX file identified in the CopyList stanza of the INF file corresponding to that USB Product Code:
However, the Linux firmware loader needs a different file format with a different name, mashed together from the HEX file, USB Vendor, and USB Product codes:
The firmware may be in one of the myriad Bluetooth packages not installed by default, so perhaps identifying & installing the proper package would sidestep the hocus-pocus.
Maybe next time?
Now I can wear my Bose Hearphones in Zoom sessions with the E7250, because my Pixel 3a phone heats up almost to the gets-bendy level while thrashing its battery to death.
Just for completeness, here’s what the various soaker hose clamps look like in the garden, as solid models only let you visualize the ideal situation:
Soaker Hose Connector Clamp – Show view
This one prevents a puddle in the path to the right:
Soaker hose repairs in situ – clamp
Bending the hoses around the end of a bed puts them on edge, with this clamp suppressing a shin-soaking spray to the left:
Soaker hose repairs in situ – end-on clamp
The clamp at the connector closes a leak around the crimped brass fitting, with the other two preventing gouges from direct sprays into the path along the bottom of the picture:
Soaker hose repairs in situ – clamps and connector fix
All in all, a definite UI improvement!
As far as I can tell, we have the only soaker hose repairs & spritz stoppers in existence. Hooray for 3D printing!
The Anker 13 A·h USB power pack on the rack provides juice for a week’s worth of rides, letting the M20’s internal battery keep its clock & settings alive between rides. I recently forgot to turn on the USB pack and discovered the camera shut down just after I cleared the end of the driveway.
As you should expect, the battery had swollen so much its pull tab … pulled off … when I tried to extract it:
SJCAM M20 – stuck battery
So, we begin.
Pry off the trim ring around the lens by jamming a small screwdriver in any of the three slots:
SJCAM M20 – lens ring removed
Then pry off the entire front panel:
SJCAM M20 – camera front panel
Thereby exposing the battery’s rectangular protrusion and three contacts next to the optical block:
SJCAM M20 – camera interior – battery terminals
Avoid shorting the brass terminals with, say, a small screwdriver, while shoving the battery out of the camera until you can grab it with your fingers and haul it out the rest of the way:
SJCAM M20 – swollen battery case – left
Yeah, that puppy looks all swoll up:
SJCAM M20 – swollen battery case – right
Remove the all-enclosing label to reveal the bag inside:
SJCAM M20 – swollen battery bag
Pull the bag out to reveal the protection PCB:
SJCAM M20 – battery case interior
Snip the wires and salvage the case against future need.
I bought the camera with three batteries, all three of which are now similarly swollen. I also got two official SJAM batteries with an official SJAM charger; both of those batteries seem to be in fine shape. I expect the codes on the five bags would reveal two different lots, but I’m not going to sacrifice a nominally good battery to find out.
All three swollen battery bags show the same BEP 782633PL lot code and 1704 date code. I bought everything in January 2018, so those batteries had been sitting on the shelf for the better part of a year. Maybe that’s why they offered a “deal” for two spare batteries along with the camera?
Installing one of the unswollen batteries, reconfiguring the camera’s settings & clock, and giving it a charge from the Anker USB pack put it back in operation.
Nothing prizewinning, but better than no picture at all:
Garage Robin – recovered image
Note that you start by copying a reasonable chunk of the partition from the Memory Stick / (micro)SD Card first, to prevent a bad situation from getting worse.
Now I can remember the easy way the next time around this block …