Two hands hold a rounded rectangular case with a small lollipop-shaped cutout. The case is dark grey with a bit of white protruding between the two halves in the middle.

Add USB-C To Your AirPods The Easy Way

While the death of Apple’s Lightning Connector can’t come soon enough, swapping the ports on their products as “category-defining innovations” seems a bit of a stretch. [Ken Pillonel] has designed a set of streamlined, repairable, USB-C adapters for the AirPods, AirPods Pro, and AirPods Max that show Apple what innovation really means.

If you’ve followed [Pillonel]’s work in the past, you’ll know he’s as a big a fan of repairability as we are here, so this isn’t just a cheap knockoff dongle that’ll be in the trash as fast as your counterfeit wireless earbuds. In the video below, he walks us through his quest start-to-finish to design something compact that gives you all the joys of USB-C without the pain of buying a whole new set of headphones.

We like the iteration on the connector, showing that flexible circuits can do some amazing things, but are still subject to failure at extreme angles. Using a combination of 3D printing, a cool robot sandblasting machine, a pick-and-place, and some old fashioned hand soldering, [Pillonel] treats us to a polished final product that’s put together with actual screws and not adhesive. His designs are all open source, so you can DIY, or he sells finished copies in his shop if you want to give one to your less-than-techy relatives.

[Pillonel] may seem familiar as he’s the guy who added USB-C to the iPhone before Apple and redesigned the AirPods Pro case for repairability. Apple is getting better about repair in some of its devices, for sure, but unsurprisingly, hackers do it better.

Continue reading “Add USB-C To Your AirPods The Easy Way”

Cyberpack Puts All The Radios Right On Your Back

A disclaimer: Not a single cable tie was harmed in the making of this backpack cyberdeck, and considering that we lost count of the number of USB cables [Bag-Builds] used to connect everything in it, that’s a minor miracle.

The onboard hardware is substantial, starting with a Lattepanda Sigma SBC, a small WiFi travel router, a Samsung SSD, a pair of seven-port USB hubs, and a quartet of Anker USB battery banks. The software defined radio (SDR) gear includes a HackRF One, an Airspy Mini, a USRP B205mini, and a Nooelec NESDR with an active antenna. There are also three USB WiFi adapters, an AX210 WiFi/Bluetooth combo adapter, a uBlox GPS receiver, and a GPS-disciplined oscillator, both with QFH antennas. There’s also a CatSniffer multi-protocol IoT dongle and a Flipper Zero for good measure, and probably a bunch of other stuff we missed. Phew!

As for mounting all this stuff, [Bag-Builds] went the distance with a nicely designed internal frame system. Much of it is 3D printed, but the basic frame and a few rails are made from aluminum. The real hack here, though, is getting the proper USB cables for each connection. The cable lengths are just right so that nothing needs to get bundled up and cable-tied. The correct selection of adapters is a thing of beauty, too, with very little interference between the cables despite some pretty tightly packed gear.

What exactly you’d do with this cyberpack, other than stay the hell away from airports, police stations, and government buildings, isn’t exactly clear. But it sure seems like you’ve got plenty of options. And yes, we’re aware that this is a commercial product for which no build files are provided, but if you’re sufficiently inspired, we’re sure you could roll your own.

Continue reading “Cyberpack Puts All The Radios Right On Your Back”

Bluetooth Version 6.0 Core Specification Released

The Bluetooth SIG recently released the core specification for version 6.0 of Bluetooth. Compared to 5.x, it contains a number of changes and some new features, the most interesting probably being Channel Sounding. This builds upon existing features found in Bluetooth 5.x to determine the angle to, and direction of another device using Angle of Arrival (AoA) and Angle of Departure (AoD), but uses a new approach to much more precisely determine these parameters. as defined in the Technical Overview document for this feature.

In addition to this feature, there are also new ways to filter advertising packets, to reduce the number of packets to sift through (Decision-Based Advertising Filtering) and to filter out duplicate packets (Monitoring Advertisers). On a fundamental level, the Isochronous Adaptation Layer (ISOAL) received a new framing mode to reduce latency and increase reliability, alongside frame spacing now being negotiable and additional ways to exchange link layer information between devices.

As with any Bluetooth update, it will take a while before chipsets supporting it become widely available, and for the new features to be supported, but it gives a glimpse of what we can likely expect from Bluetooth-enabled devices in the future.

This Week In Security: Crash Your IPhone, Hack Your Site, And Bluetooth Woes

There have been some hilarious issues on mobile devices over the years. The HTC Dream had a hidden shell that was discovered when a phone rebooted after sending a text containing just the word “reboot”. iOS has gotten in on the fun from time to time, and this time it’s ""::. Type the double quotes, a colon, and any other character, and Apple’s Springboard service crashes.

Another hacker dug in a bit, and realized that Springboard is trying to jump execution to a null pointer, leading to a crash. It’s very odd that user input breaks the query parser badly enough to jump to null like that. There are a couple interesting questions that we have to ask. Given that the crash trigger is quite flexible, "anything goes":x, is it possible to manipulate that function pointer to be something other than null? And perhaps more importantly, why is the code crashing, instead of an invalid address error as one would expect from a Pointer Authentication Code (PAC) violation? Regardless, the bug seems to be fixed in the latest iOS 18 builds.

Continue reading “This Week In Security: Crash Your IPhone, Hack Your Site, And Bluetooth Woes”

Hackaday Links Column Banner

Hackaday Links: August 18, 2024

They’re back! The San Francisco autonomous vehicle hijinks, that is, as Waymo’s fleet of driverless cars recently took up the fun new hobby of honking their horns in the wee hours of the morning. Meat-based neighbors of a Waymo parking lot in the South Market neighborhood took offense at the fleet of autonomous vehicles sounding off at 4:00 AM as they shuffled themselves around in the parking lot in a slow-motion ballet of undetermined purpose. The horn-honking is apparently by design, as the cars are programmed to tootle their horn trumpets melodiously if they detect another vehicle backing up into them. That’s understandable; we’ve tootled ourselves under these conditions, with vigor, even. But when the parking lot is full of cars that (presumably) can’t hear the honking and (also presumably) know where the other driverless vehicles are as well as their intent, what’s the point? Luckily, Waymo is on the case, as they issued a fix to keep the peace. Unfortunately, it sounds like the fix is just to geofence the lot and inhibit honking there, which seems like just a band-aid to us.

Continue reading “Hackaday Links: August 18, 2024”

Your ESP32 As A USB Bluetooth Dongle

Using Bluetooth on a desktop computer is now such a seamless process; it’s something built-in and just works. Behind that ubiquity is a protocol layer called HCI, or Host Controller Interface, a set of commands allowing a host computer to talk to a Bluetooth interface.  That interface doesn’t have to be special, and [Dakhnod] is here to show us that it can be done with an ESP32 microcontroller through its USB interface.

The linked repository doesn’t tell us which of the ESP32 variants it works with, but since not all of them have a USB peripheral we’re guessing one of the newer variety. It works with Linux computers, and we’re told it should work with Windows too if a HCI driver is present. We might ask ourselves why such a project is necessary given the ubiquity of Bluetooth interfaces, but for us it’s provided the impetus to read up on how it all works.

We can’t find anyone else in our archive who’s made a Bluetooth dongle in this way, but we’ve certainly seen sniffing of HCI commands to reverse engineer a speaker’s communications.

Showing a Raspberry Pi 4 board connected to an ESP32 devboard using jumper wires for the purposes of this project

ESP-Hosted Turns ESP32 Into Linux WiFi/BT Adapter

While we are used to USB WiFi adapters, embedded devices typically use SDIO WiFi cards, and for good reasons – they’re way more low-power, don’t take up a USB port, don’t require a power-sipping USB hub, and the SDIO interface is widely available. However, SDIO cards and modules tend to be obscure and proprietary beyond reason. Enter ESP-Hosted – Espressif’s firmware and driver combination for ESP32 (press release)(GitHub), making your ESP32 into a WiFi module for either your Linux computer (ESP-Hosted-NG) or MCU (ESP-Hosted-FG). In particular, ESP-Hosted-NG his turns your SPI- or SDIO-connected ESP32 (including -S2/S3/C2/C3/C6 into a WiFi card, quite speedy and natively supported by the Linux network stack, as opposed to something like an AT command mode.

We’ve seen this done with ESP8266 before – repurposing an ESP8089 driver from sources found online, making an ESP8266 into a $2 WiFi adapter for something like a Pi. The ESP-Hosted project is Espressif-supported, and it works on the entire ESP32 lineup, through an SDIO or even SPI interface! It supports 802.11b/g/n and even Bluetooth, up to BLE5, either over an extra UART channel or the same SDIO/SPI channel; you can even get BT audio over I2S. If you have an SPI/SDIO port free and an ESP32 module handy, this might just be the perfect WiFi card for your Linux project!

There are some limitations – for instance, you can’t do AP mode in the NG (Linux-compatible) version. Also, part of the firmware has blobs in it, but a lot of the firmware and all of the driver are modifiable in case you need your ESP32 to do even more than Espressif has coded in – this is not fully open-source firmware, but it’s definitely way more than the Broadcom’s proprietary onboard Raspberry Pi WiFi chip. There’s plenty of documentation, and even some fun features like raw transport layer access. Also, of note is that this project supports ESP32-C6, which means you can equip your project with a RISC-V-based WiFi adapter.

Title image from [zhichunlee].