3 ms·
On a similar note I've been wanting to buy and use a fully "free" phone - one where I have complete control over most if not all things. But it appears to me th
by user_7832 3y ago
On a similar note I've been wanting to buy and use a fully "free" phone - one where I have complete control over most if not all things. But it appears to me that unless you use a regular "phone", there is no way you can DIY your way into building a "modern" phone bit by bit like how a desktop could be made.*
Calling/4g/5g require specific hardware that seems difficult to integrate at a hobbyist level (unlike say installing Linux which is possible in an afternoon even for some not familiar with it.) And even though you could get android to run on a raspberry pi, it appears impossible to use something like google pay (which likely requires safetynet) on it.
I'm not sure if the reason is the "blobs" that ARM uses instead of drivers but it is disappointing that I can't take something like the Snapdragon 8 Gen 2 dev kit, dualboot linux and android and use it like a phone-laptop hybrid. /Disappointed rant over
(Here's the kit - https://developer.qualcomm.com/hardware/snapdragon-8-gen-2-hdk https://developer.qualcomm.com/hardware/snapdragon-8-gen-2-h...)
* - technically even laptops like with an SBC or the framework board. I can make the hardware but the software challenges seem huge. If anyone familiar with ARM development has any info/suggestions, I'd love to know more.
- gigel82 3y agoAre you saying you can build a modern desktop without any binary blobs? Full control of all firmware (including the CPU microcode and things like Intel ME)? What about WiFi cards? I'd say that hasn't been true for at least 20 years.
- user_7832 3y ago> Are you saying you can build a modern desktop without any binary blobs? Full control of all firmware (including the CPU microcode and things like Intel ME)? What about WiFi cards? I'd say that hasn't been true for at least 20 years. Not exactly. What I mean is the average x64 Intel/AMD device is relatively much more "controllable" than an equivalent smartphone, assuming decent BIOS/UEFI options are provided. If I want to customize the looks with rainmeter, or even system-level tweaks (eg mactype), it's relatively trivial on desktop OSes (possibly excluding recent locked-down MacOs versions). I can even jump between Windows and Linux and Hackintosh/MacOs and BSD as I have a "pretty decent" level of control. A rooted android phone is also quite decent, however issues start creeping in the further you stray from what your manufacturer provided. It starts of with things like Widevine/DRM not playing nice (unless you have a Titan M chip or something similar), and the further you go (stock rom -> custom rom with gapps/microG -> deGoogled rom), the more painful it becomes to even use ""basics" like whatsapp. I guess all this is a very roundabout way of saying that desktop OS is a first class citizen (mostly), while mobile OSes (which are necessary for booking an Uber/paying at the checkout POS/navigating with Google Maps with turn-by-turn nav) do not have other freedoms. And while the hardware absolutely exists for an arm board to do it all with the right daughterboards, doing mobile stuff on a desktop is impossible, and doing desktop stuff on mobile is limiting thanks to software.
- Arnavion 3y ago>What about WiFi cards? For this specifically, ath9k cards don't have blobs. You can get upto a/b/g/n with them. Depends on whether you consider n to be modern enough or not.
- salawat 3y agoBaseband and cryptographic shenanigans are a pox to FLOSS/H. Particularly on the hardware front, since there is a vested interest/requirement for operating Telco's to maintain backdoor functionality/capabilities for the local government. It's just like payment processing. Everyone having their own stack is such a great sounding idea, but the Establishment/System is tuned such that it can never happen, and in the event it does, it's guaranteed to be dismantled because every ne'er- do-well will start exploiting it, and the vast majority of people are not interested in protecting themselves... They want someone else to do it for them. It's one of those nice things we just can't seem to get our shit straight enough as a society to have.
- NovaDudely 3y agoThe base-band issue is the Achilles heel of the whole idea. Depending on which government you are under, even trying to implement the exact same functionality via open software is seen as tampering with a radio device and can get you in a lot of trouble. With that one move, they have effectively killed any possibility of a completely open system ever happening.
- oneplane 3y agoI strongly depends on what you mean by 'control' and 'made'. In a sense it all depends on the depth of control and making your own; nearly all modern silicon requires proprietary software to initialise it to a usable state, and almost all hardware can't really run on its own and needs supporting devices which can cause an otherwise open design to end up closed anyway (even if it is something tangentially adjacent like a required PMIC). Some CPUs and SoC can be operated to their fullest capabilities with pure open hardware and software designs where you have all the control in the world (if we draw the line at silicon diffusion and packaging), but those usually lack one thing or another making them less feasible for common modern use. Often these are things like memory controllers and I/O where internal SoC peripherals need special initialisation before they are usable. Even in cases where the driver side of things is reverse-engineered a bunch of Real-Time OS code needs to be loaded at boot time to get things like GPUs, Basebands and storage to work at all. So far, there are practically no cases where those have been reverse-engineered and replaced. For a lot of internet-commenting-people, 'open' means something specific to them, like changing some design aspects like colours and fonts, or installing cracked software. Those are mostly just end-user features and have little to do with openness. This has a sad side-effect making searching for 'open' information get littered with what essentially boils down to appearance and recompositions of existing software. Perhaps we need 'levels' of openness or other words to describe what we mean. The Snapdragon example is a good one in that it essentially uses an openly available and targetable ISA, but closed system design which still makes it impossible to use as-is (thus needing the blobs you mentioned). On one hand it's all legal and NDA stuff, on the other hand it's also laziness and cheaping out on the long-term usability. If a company were to spend just a little of their marketing budget on finding out the parts of the hardware that doesn't need all that NDA coverage, making open software to run the hardware becomes much easier.
- user_7832 3y agoGood points, ideally I'd say the software should at least be non-proprietary or at least source-available, but in reality I would settle for anything where I can control at least the software (OS level) side of things.