Live data from Hacker News

Android's new Bluetooth stack rewrite (Gabeldorsh) is written with Rust

android.googlesource.com

381–390 of 393 posts

Re: Android's new Bluetooth stack rewrite (Gabeldorsh) is written with Rust

#381

Earlier quoted context omitted.

Care to expand? Is that why Software Define Radio is still so much a niche and expensive?

Nearly all modern radio chipsets are mostly software defined. That includes WiFi, LTE and GPS. The radio frontend is typically a downmixer and then straight into digital. Some of the typically "software" bits like FFT's, various encodings, checksums, clock recovery etc. are frequently done in digital hardware acceleration blocks for performance, and saving power. If you were writing the firmware of the device, you ne…

> all the chips don't have their firmware documented (again mostly to avoid publishing documentation that proves they are violating someone elses patents)

:O

Enlightenment moment :(

Re: Android's new Bluetooth stack rewrite (Gabeldorsh) is written with Rust

#382

Earlier quoted context omitted.

Aren't they considered "essential patents" that must be made available at a reasonable price?

Generally yes. But you would need to spend 3 years in court to get that to work.

Follow-on question for the sake of debate: what if you got a bunch of smaller wannabe startups and interests backing a group effort to do exactly this for a pool of things? Would the legal fees scale linearly? :/

Re: Android's new Bluetooth stack rewrite (Gabeldorsh) is written with Rust

#383

Earlier quoted context omitted.

too bad more and more of android was moved into play services over time

It wasn't. Play services is just add on features that proxy app permissions and centralize push notifications -- no actual Android features moved into Play services that I know of. Ie: auto filling SMS OTP codes. It feels like Android is being sucked up that way, but that's because there are a lot of really nice features in there, like push notifications, geofencing, etc. You can still run Android without GMS core an…

how do i get SMS OTP copy buttons on my google-free android device?

Re: Android's new Bluetooth stack rewrite (Gabeldorsh) is written with Rust

#384

Earlier quoted context omitted.

It wasn't. Play services is just add on features that proxy app permissions and centralize push notifications -- no actual Android features moved into Play services that I know of. Ie: auto filling SMS OTP codes. It feels like Android is being sucked up that way, but that's because there are a lot of really nice features in there, like push notifications, geofencing, etc. You can still run Android without GMS core an…

What would get open-source mapping out of this "1990s GPS model"?

Stop geocoding by separating out addresses into singular fields, for one. Stop showing mostly irrelevant contours on maps, for another. OsmAnd~ is unfortunately the only game in town, and the UX is freaking terrible.

Re: Android's new Bluetooth stack rewrite (Gabeldorsh) is written with Rust

#385
post #286

Earlier quoted context omitted.

Prior to Android, all we had were closed source low powered feature phones and Blackberries. I...what? Even if we want to ignore the iPhone for whatever reason, the Palm Treo, Nokia N900, and Windows Phone were firmly established by the time Android started getting demoed--and that was the variant that was very much reminiscent of Windows Phone, with a strong emphasis on the cursor keys over a touchscreen. The rest o…

I missed a comma in that: closed source phones, low power feature phones, and Blackberries. The N900 is a different, rare breed that did not see widespread adoption. Fun fact: the first Android phone was the sooner, and it looked and behaved much like a blackberry. Still have mine, in fact.

I loved my Symbian E62

Re: Android's new Bluetooth stack rewrite (Gabeldorsh) is written with Rust

#386
post #364

Earlier quoted context omitted.

Well, the original posts report some frankly tragic scenarios - so bad that they “reboot to initialize” just to keep sane - in what are some pretty ubiquitous devices. Or not?

"Reboot to initialize" is ugly as hell and very brittle, but it's good enough for most I/O devices like keyboards or headphones. If the kernel is able to properly reinitialize the chip with all of its old association information, it might even be indistinguishable from a few hundred ms of interference. (Rebooting on errors is in fact quite common for all kinds of hardware in high-radiation environments, and is a pret…

Fine, but you're rationalizing living with poor execution. I'm rationalizing with deep (perhaps goldplating) correctness.

Re: Android's new Bluetooth stack rewrite (Gabeldorsh) is written with Rust

#388
post #386

Earlier quoted context omitted.

"Reboot to initialize" is ugly as hell and very brittle, but it's good enough for most I/O devices like keyboards or headphones. If the kernel is able to properly reinitialize the chip with all of its old association information, it might even be indistinguishable from a few hundred ms of interference. (Rebooting on errors is in fact quite common for all kinds of hardware in high-radiation environments, and is a pret…

Fine, but you're rationalizing living with poor execution. I'm rationalizing with deep (perhaps goldplating) correctness.

I'm not "rationalizing", and neither are you.

You're arguing that it's not enough to make a correct implementation, but that it's also important to break compatibility with incorrect implementations.

I'm arguing that a better implementation that is compatible with current protocols is strictly better than a better implementation that is not Bluetooth-compatible.

If you make a piece of hardware that is good (e.g. doesn't randomly crash and need to be rebooted by the kernel), why is it a bad thing for it to try to connect to some flaky BT headset?

Re: Android's new Bluetooth stack rewrite (Gabeldorsh) is written with Rust

#389
Will this allow higher bitrates for audio without the arbitrary quality restrictions of the current stack? A developer has even implemented a patch for the old one, but never got a response from the dev team: https://itnan.ru/post.php?c=1&p=456476

Re: Android's new Bluetooth stack rewrite (Gabeldorsh) is written with Rust

#390

Earlier quoted context omitted.

Android used BlueZ in the earlier versions, but they changed to bluedroid for reasons I don't know, but I believe it was (in part?) developed by broadcom and thus was probably better supported (licensing probably played a huge part, too, since bluedroid uses a more permissive license)

Part of the reason was that Broadcom could directly support the connectivity guys. We just didn't realize how awful it was, but given that the the Android team didn't have that big of a connectivity team at the time, it seemed like a good idea. The Glass connectivity team (of which Zach and I were a part of) actually had a few more engineers than the main Android team did, and given that connectivity was absolutely c…

I don't have the foggiest about the politician issues. I was shocked to hit up the bluez repo copyright in the README[1], from the beginning 2000, to 2001, then a Qualcomm email address for one Max Krasnyansky until 2003. Practically ancient history but still a very interesting detail to me that I would never have guessed

I really really really appreciate you writing in. It feels.lile there is so little to go on, so little available to understand the weird twists & turns of how the world, the software world especially, developed. A little bit of background & insight is so refreshing to hear. Thanks again!

[1] https://git.kernel.org/pub/scm/bluetooth/bluez.git/tree/READ...

Post reply on HN