Manjaro Linux vs. Dell Latitude E7250 Bluetooth

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
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:

unzip Network_Driver_5DFVH_WN32_6.30.223.262_A03.EXE

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:

grep -i -A 5  ramusb216f.copylist Drivers/production/Windows8.1-x64/bcbtums-win8x64-brcm.inf
[RAMUSB216F.CopyList]
bcbtums.sys
btwampfl.sys
BCM20702A1_001.002.014.1443.1572.hex
… snippage …

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:

hex2hcd -o BCM20702A1-0a5c-216f.hcd BCM20702A1_001.002.014.1443.1572.hex

The converted firmware file goes where the loader expected to find it:

sudo cp BCM20702A1-0a5c-216f.hcd /lib/firmware/brcm/

Whereupon next reboot sorted things out:

dmesg | grep -i blue
[    6.024838] Bluetooth: Core ver 2.22
[    6.024868] Bluetooth: HCI device and connection manager initialized
[    6.024872] Bluetooth: HCI socket layer initialized
[    6.024874] Bluetooth: L2CAP socket layer initialized
[    6.024881] Bluetooth: SCO socket layer initialized
[    6.100796] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[    6.100800] Bluetooth: BNEP filters: protocol multicast
[    6.100804] Bluetooth: BNEP socket layer initialized
[    6.157114] Bluetooth: hci0: BCM: chip id 63
[    6.158125] Bluetooth: hci0: BCM: features 0x07
[    6.176119] Bluetooth: hci0: BCM20702A
[    6.177114] Bluetooth: hci0: BCM20702A1 (001.002.014) build 0000
[    7.031228] Bluetooth: hci0: BCM20702A1 (001.002.014) build 1572
[    7.047177] Bluetooth: hci0: DW1560 Bluetooth 4.0 LE
[   13.141854] Bluetooth: RFCOMM TTY layer initialized
[   13.141865] Bluetooth: RFCOMM socket layer initialized
[   13.141872] Bluetooth: RFCOMM ver 1.11

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.

USB Media Card Reader: Contrast Improvement

Consumer electronics designers seem to favor low- or no-contrast markings, with this USB reader falling on the vanishing end of the spectrum:

USB card reader - low-contrast slots
USB card reader – low-contrast slots

I poke the MicroSD card from the AS30V helmet camera into the smaller slot on the top surface, but, contrary to what’s revealed by the camera’s flash, the slot is a black-on-black target.

Well, I finally fixed that:

USB card reader - high-contrast slots
USB card reader – high-contrast slots

Although white tape surely would have sufficed, the roll of fluorescent red came to hand and that’s what it’ll be. The CompactFlash and Memory Stick slots on the front don’t see much traffic and have better access.

I slapped tape on case, trimmed the slots with a razor knife, and declared victory.

Much better!

Soft Vise Jaws

A Round Tuit™ finally arrived for this long-delayed project:

Vise soft jaws - installed
Vise soft jaws – installed

They’re bandsawed from an impossibly heavy-duty U-shaped aluminum extrusion salvaged from a scrap pile; the flanges are 6 and 7 mm thick. I’ll put in a good word for the Proxxon 10/14 TPI blade, because it goes through aluminum plate like butter.

The wood strip under the top flange raises the fillet on the interior angle enough to let the extrusion sit flat on the top vise jaw and square against the gripping side. It’s held in place with double-sided carpet tape.

They’re faced with a rubber sheet I thought was twice as thick when I picked it out of the Big Box o’ Squishy Sheets, but turned out to be two thinner sheets invisibly stuck together. Carpet tape holds one of the sheets to the jaw; I expect the other sheet to fall off in short order.

You’re supposed to embed neodymium magnets in the jaws to hold them to the vise. As far as I can tell, they’re perfectly happy to just sit there all by themselves and, anyway, magnets would grow lethally sharp and bulky steel fur coats in short order.

Squaring the long edge didn’t pose much of a problem:

Vise soft jaws - squaring edge
Vise soft jaws – squaring edge

Tidying the ends, however, required more setup:

Vise soft jaws - squaring ends
Vise soft jaws – squaring ends

That’s the Sherline Tilting Angle Plate at 90°, with barely enough room on the far side for the base of a Starrett Double Square to set the extrusion vertical; the hand clamp holds it in place while tightening the step clamps. It sits on an aluminum sheet to put its upper end three smidgens over the angle plate, letting me flycut one smidgen for a clean edge.

Now I can retire the old soft jaws, which have served for too many decades and are far too ugly to show; improvised from weatherstripping glued to bent-square copper pipe and intended as a quick fix. You know how that goes …

Garden Soaker Hose Repairs In Use

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
Soaker Hose Connector Clamp – Show view

This one prevents a puddle in the path to the right:

Soaker hose repairs in situ - clamp
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
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
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!

Traffic Signal Timing: Burnett at Rt 55 Clearance Interval

Back in the day, John Forester’s Effective Cycling defined how vehicular bicycling should be done; our now-fragile comb-bound 1980 Third Printing of the 1978 Third Edition still has a place of honor on our bookshelves. I recently discovered his analysis of how traffic signal timing should work online, which says I’ve drawn the wrong conclusions from my observations of the absurdly short green / yellow / red cycle on Burnett Blvd at Rt 55, just in front of NYS DOT’s Region 8 headquarters.

The phasing sequence that is required by current traffic law is as follows:

1. Green, which may be very short when only one vehicle is waiting

2. Yellow, of only sufficient duration to allow a stop from maximum legal speed before entering the intersection

3. Red (a 4-way red), for sufficient additional time for traffic to clear the intersection before the conflicting green appears.

Forester: https://johnforester.com/Articles/Facilities/traffsig.htm

With that in mind, here’s how his analysis stacks up against one of our recent trips through the intersection. The four-digit number in the picture titles gives the time in frames at 60 frame/sec.

We’re stopped one car length behind a long trailer of paving equipment sporting an Iowa license plate. The driver has stopped with the trailer straddling the lane divider line, so we cannot determine which way he will turn. Because we no longer trust turn signals, despite the trailer’s blinking left signal, we will not pull up beside it in the right lane.

Frame 0127, T = 0 s, Δt = 0 s: The signal has just turned green:

Burnett Opposing Green - AS30V - 2020-06-26 - 0127
Burnett Opposing Green – AS30V – 2020-06-26 – 0127

Frame 0264, T = 2.28 s, Δt = 2.28 s: The trailer has started moving and Mary is rolling behind it, with her foot just coming off the ground:

Burnett Opposing Green - AS30V - 2020-06-26 - 0264
Burnett Opposing Green – AS30V – 2020-06-26 – 0264

Frame 0721, T = 9.9 s, Δt = 7.6 s: The signal turns yellow, after DOT’s additional five seconds of green; previously, we had five seconds and would have been able to stop. We’re accelerating as hard as we can, but Mary has barely passed the stop line:

Burnett Opposing Green - AS30V - 2020-06-26 - 0721
Burnett Opposing Green – AS30V – 2020-06-26 – 0721

Of course, entering an intersection on a stale yellow is undoubtedly unwise. It is not so unwise for someone traveling fast, because that person may well clear the intersection before the conflicting traffic starts. It is much more unwise for someone traveling slowly, but it is done and it is lawful.

Forester, ibid.

We’ve traveled about three car lengths in the seven seconds since the trailer started moving. Our bikes will sometimes trigger the signal if we’ve stopped in exactly the right spot over the unmarked sensor loops, but we have never observed our bikes retriggering the signal to lengthen the green or yellow phases as we ride through the intersection.

NYS DOT apparently expects us to stop abruptly when the signal goes yellow, wherever we may be with respect to the stop line and regardless of how fast we may be moving. In fact, given what you’re about to see, we’re expected stop on green to ensure we can start from the stop line during the next green signal.

Frame 0983, T = 14.2 s, Δt = 4.4 s: The signal turns red. The trailer is visible on the left, beyond the median signage, but we haven’t reached the middle of the intersection. I’m lined up with the rightmost lane of westbound Rt 55 and Mary is about in the center lane. The white car on our right is stopped, the black car is slowing to a stop:

Burnett Opposing Green - AS30V - 2020-06-26 - 0983
Burnett Opposing Green – AS30V – 2020-06-26 – 0983

Frame 1101, T = 16.2 s, Δt = 2.0 s: The opposing signal goes green for Rt 55 traffic, while we’ve barely reached the middle of the intersection:

Burnett Opposing Green - AS30V - 2020-06-26 - 1101
Burnett Opposing Green – AS30V – 2020-06-26 – 1101

Frame 1205, T = 18.0 s, Δt = 1.8 s: I’m lined up with the median, Mary’s in the center lane of eastbound Rt 55, putting us squarely in front of drivers who may be unable to see us through the stopped cars. The drivers to our left are, fortunately, waiting, unlike a previous crossing:

Burnett Opposing Green - AS30V - 2020-06-26 - 1205
Burnett Opposing Green – AS30V – 2020-06-26 – 1205

Frame 1440, T = 21.9 s, Δt = 5.7 s: After 22 seconds, we’ve cleared the intersection and are proceeding eastbound on Rt 55:

Burnett Opposing Green - AS30V - 2020-06-26 - 1440
Burnett Opposing Green – AS30V – 2020-06-26 – 1440

Forester observes the all-red phase must be lengthened to allow cyclists to clear the intersection. Right now, two seconds isn’t enough. Ten seconds would suffice for a pair of reasonably fit, albeit aging, cyclists.

This system fails to provide the required safety in the case of bicycles for three opposite reasons.

1. Bicycles are small and are harder to see. In particular, the most visually impressive part of the bicycle and rider is low down where it is easily shielded from view by the hoods of motor vehicles. Sometimes the only part of the cyclist that can be seen by drivers waiting at the stop line with other vehicles on their left is the head of the cyclist.

2. The cyclist crossing a typical intersection is close to the fronts of the line of cars waiting at the stop line on the cyclist’s right. This is not good judgement on the part of the cyclist, but so much emphasis has been put on staying far right that this position is typical.

3. The cyclist who is traveling slowly, or, more importantly, is starting from a minimum-duration green, is barely into a wide intersection when the conflicting green appears.

The result is a car-bike collision as one of the vehicles in the lanes nearest the curb starts up, or speeds up, and hits the cyclist who suddenly appears in front of it.

Forester, ibid.

I’ve had a DOT engineer tell me, sneeringly, that they don’t design facilities for “professional cyclists”, which commuting to work evidently made me; he was not, however, a “professional driver” even though he used a car for a similar purpose. It’s obvious DOT doesn’t design facilities for “ordinary” cyclists, either, and the evidence suggests they don’t design facilities for cyclists, period, full stop.

I still want someone from NYS DOT to explain how this “makes our highway systems safe and functional for all users“, perhaps by bicycling with us through the intersection a few times, but I’ve never gotten a response, let alone an answer, to anything I’ve ever sent their way.

USB Charger: Abosi Waveforms

For comparison with the Anonymous White Charger of Doom, I bought a trio of Abosi USB chargers:

Abosi charger - dataplate
Abosi charger – dataplate

The symbology indicates it’s UL, but not CE, listed. Consumer Reports has a guide to some of the symbols; I can’t find anything more comprehensive.

Applying the same 8 Ω + 100 µF load as before:

Abosi charger - 8 ohm 100 uF detail - 100 ma-div
Abosi charger – 8 ohm 100 uF detail – 100 ma-div

The voltage (yellow) and current (green, 100 mA/div) waveforms look downright tame compared to some of the other chargers!

I made a cursory attempt to crack the case open, but gave up before doing any permanent damage. Hey, that UL listing (and, presumably, the interior details) means they’re three times the price of those Anonymous chargers!