I‘be been booting off of eMMC on an A7 for years now. I don’t get any of this anymore.
Both things are true - yes the Pi is not the most robust SBC on the market, but the Pi also offers the best value for money hobbyists and tinkerers. You (generalized) and I have completely different priorities and we will accept very different trade-offs: price is important to me - reliability, not as much. I would rather drop $40 on an SBC that may or may not kill my $5-$15 SD card in the next few months than spend >$100 on a rock-solid eMMC-/CF-based one. Most of Pi users are hobbyists who are not running critical code, if it fails they will fix it next weekend. Maybe.
If the pros fail to understand that the needs of hobbyists are different, then this back-and-forth will never cease.
I’m taking about the people I encounter that are trying to use an RPi as an off-the-shelf compute solution for a production device.
The Raspberry Pi is what it is, and is in every way brilliant for it. If you want X amount faster, you pay for that. That's not a Raspberry Pi killer. It's a different category altogether. Those SBCs cost more, and therefore you get more. If you need that, Raspberry Pi isn't what you need. But if you are within the group that Raspberry Pi caters to, it's hard to find better.
It's like saying the new electric Harley Davidson motorcycle is an e-bike killer. Of course it's faster and more powerful and has more this and that more features. It costs more. It's just not the same thing.
PS: The new Rpi 4 with lots of RAM is certainly getting there. I actually use one as my desktop even though I have far more powerful equipment in my studio.
First some comparisons. Kids are seriously rough on technology. We had a fleet of about three hundred laptops, two hundred iPads, and two hundred Pis in the junior school.
In a year, we'd end up with about a hundred laptop screen replacements, two hundred keyboard replacements and about a hundred hard drive replacements. About ten "I accidentally dropped the laptop in the river"s. We'd cycle the laptop out for a brand new one at four years, if it survived.
In the same year, about sixty iPad screen replacements, ten or so battery replacements, and twenty or so river dunkings. Only ever had one hard drive failure, apart from water damage, but the iPads were on a short two-year upgrade cycle.
The Pis were used for the robotics clubs (optional) and programming (compulsary). Pis aren't great for kids and robotics due to lack of protection on the pins for dumb mistakes. We had about twenty fizzle the mysterious smoke every year. About twenty more than experienced SD card failure in the year, usually related to yanking a power cord, not direct write failure. We also had a couple students a year who snapped theirs in half.
All in all, the cost of maintaining the Pi fleet was negligible besides the rest.
The cases are sealed, but they're still permeable to stuff you wouldn't let near your computer because you have a slight respect for technology.
I found fungus growing inside more than one iPad case, usually directly in the boards.
The semantics on this one aren't worth exploring.
That said, I don't think the Pi was ever designed for "serious" industrial usage; I don't think the production runs (or the foundation) could support that, without undoing the core mission.
Is there some more fundamental hardware damage that occurs when USB devices are unplugged without prior warning to the device itself?
2. SD cards can wear out (i.e. too many write-erase cycles) regardless of the filesystem.
3. SD cards have controllers running firmware, doing things like write levelling and bad block remapping. Some cards have bugs, and if the card is lying to the OS about a write completing, or if the remapping table is less resilient than the filesystem's journaling, you get problems even if the OS and everything on it is perfect.
4. Problems like pins with poor connections and power supplies not providing enough current are exacerbated, as microsds have no space for power capacitors and few SD card holders are rated for hundreds of insertion cycles.
5. SD cards start out a lot cheaper than SSDs (easier to find a sub-$10 SD card than a sub-$50 SSD) and the market is awash in fakes
All these problems look very similar - "My RPi stopped booting, I replaced the SD card with a freshly written one and it started booting again" - making forum anecdotes and user bug reports hard to rely on.
And yes, SD cards have flaws.
My question was: if I turn my computer off every day by yanking the power cord, I expect nothing to break, so what am I missing when people seem so wary of doing it?
(Recall that this was all in the context of a parent comment lamenting a lack of a dedicated shutdown button on the RPi.)
Gauranteed 500,000 writes, probably much more, but they have "mission life" quoted at ten years on the vendor cert, so will be ditched after ten years and replaced.
Apparently they are a whole different type of logic design, hence the cost. Even the no-name or branded equivelent I could find were close to $1k each, but given use in safety service we went legit all the way anyway.
Anything with the magic S word stamped on it seems to double in price...
That said, I agree kids are rough on any technology.
iPads, iPhones, Windows, etc.
They're expensive and complicated. Kids can't take the family computer and screw up installing linux 3 times while Mom needs to do something for work. A $25 computer is something a family could easily afford and so could school districts.
It depends on what layer you care about. At the application layer it is completely open. Even if the chip designs and drivers were open source, you could claim that there are proprietary processes and supply chains for the hardware and material themselves. Unless amateurs could build one from scratch you will never be satisfied.
(Unlike typical devices, the CPU doesn’t do system startup and initialize the GPU as an add-on or co-processor, on the Raspberry Pi the situation is more or less reversed.)
It's ok to be closed source IMO, but they should not be marketing themselves like Arduino folks.
Nothing wrong with either approach. But your comment makes out they're a for-profit company with closed-source hardware acting like the good guys.
Not sure it's fair to label them as just another company when they're not-for-profit and pump all their money into a) product development and b) education programmes.
To be honest, if the Pi was open source hardware, everyone would buy the clones (like they do with the Arduino ones) and the charity side would have much less funding.
As opposed to now, when people buy such totally-not-clones as the Banana Pi and Orange Pi? For that matter, Arduino seems to somehow have stayed profitable in spite of getting murdered from every angle by the clones.
The clones are fine for simple stuff. But they really cut every corner possible, so even the chip is counterfeit, which means it doesn't behave like a real Arduino does. Deep sleep will use 1000x as much current on some clones compared to a real Arduino, for example.
You really can't only use clones. You have to develop/test on real Arduino hardware, then deploy to clones. Because the clones aren't reliable in their behavior.
And this binary blob fucks up the thermal control as well.
I'm not down with this injection of skepticism. This is slipperly language trying to make a pretty clearly contrasted situation murky.
Sure, if you just need something to process instructions, maybe the well-defined cpu architecture is enough. But kernels need things like timers to run. They need USB hosts to attach keyboards & mice. They need GPUs to out things to screen. They need power management to not run hot. They need SD(-card) io to access storage.
Yes, you can run any code on an RPi, that is some definition of open. But it should be obvious that for this to be useful & prevalent, a lot more is required, and those layers being locked away, in proprietary systems, that we have to keep reverse-engineering usage of, is a huge detractor from civilization & it's functioning.
> you could claim that there are proprietary processes and supply chains for the hardware and material themselves
> Unless amateurs could build one from scratch you will never be satisfied.
I was not expecting slippery slope to descend quite so quickly! But perhaps you are right!
There is a lot of interest in open source chipmaking these days, and hopefully we indeed do start to see a re-opening of the foundries that lead to such growth & science in the 80's, that created so much progress. Companies like Oracle & IBM certainly seem to have similar desires, to insure that we can satisfy ourselves & learn & grow, first with OpenSPARC in 2005, and OpenPOWER in 2013 certainly indicate that some very big entities in the world see & understand the value of open, through and through. More recently, works like RISC-V & OpenROAD show architectures & processes are once again coming back into focus as a thing that people see the value in opening, in being able to work together in. Google is doing free chip fabrication runs to try to help re-grow this once proud & mighty but clearly ossifying sector that has undergone a massive wave of buy-outs & consolidation. Because we have to keep the knowledge & know-how alive & growing. Because people should be making chips. And too few are these days.
That all said, I think there's a pretty clear cut difference between what you are posting about "proprietary processes and supply chains" versus situations like what we have here, where Broadcom makes chips, then conceals & makes it difficult for anyone but a couple chosen embedded partners to understand or use those chips. It's a bit frustrating that Broadcom continues to use their own proprietary peripherals they've adapted over the decades versus using more off-the-shelf standard-operating peripherals. But it's not necessarily the proprietary bit that makes this so sticky: it's the overarchingly user-hostile attitude of this behemoth, the lengths they seemingly go through to keep amateurs out & away, in contrast to other companies that if not directly support at least don't obstruct upstreaming & open source driver development. I look at the wifi-router world, & Broadcom routers are basically get-what-you-buy now, no ability to customize or change OS. Broadcom used to allow alternate OSes, but since 802.11ac, they have more or less cut off access. This was always proprietary, but at least it was something we could learn about, interface with, but now, it is locked down.
I mean it sucks massively, but I can at least understand it. It's part of why I strongly disagree with the "IP" side of semiconductor products, and believe that we really need to treat everything about computing as if it were straight up math. Doing anything else simply ensures that the knowledge will only very slowly percolate outward in the process of becoming a naturally endemic proficiency of the average modern human.
What more open alternatives are there with similar price and performance? The Beagleboards are ridiculously underpowered compared to a Raspberry Pi 4. I like the ODROIDs but I don't think they're any more open than Raspberry Pi. They also tend to be more expensive.
YMMV on all of this stuff:
* Some folks are doing microcontroller-esque things and care about openness more than performance.
* For my applications, I need the performance. The sort of open hardware, no blob stuff you're talking about would be great on principle but I may or may not take advantage of it. I'm still able to run and develop open-source Linux userspace apps without it.
https://www.pine64.org/rockpro64/ http://wiki.pine64.org/index.php?title=ROCKPro64
If performance is your top concern, you should stick with x86. There's no ARM gear with anywhere near the bang/$ of an Odroid H2+, which is an rpi-like $120 x86 single-board system. It is fantastically well supported by the cpu vendor.
So, yes its obvious that the $35 model (which at a minimum is really more like $45 because its not usable without a powersupply and maybe SD card) is sufficient for a lot of things. But its also being wedged into places where its not $35 anymore and in those cases its fair to compare with more expensive boards if those boards come with features that someone is adding a hat or external device for.
or just nano-itx, both are easier to get cases and power supplies etc.
The ODROID-H2 Case Type 1 has a fan and space for two 3.5" drives for $20. The ODROID-H2 power supply costs $9.40. I'll be astonished if anything compatible with that ASRock board will match that.
After all, I don't care if there are binary blobs from a trusted vendor for the device playing retro video games -- the TV is bound to have more spyware anyway...
Not that I disagree with your overall statement -- certainly I've found myself explaining to folks in a commercial setting that while Raspberry Pi might be a great way to a quick prototype, you're going to need to reimplement against some other hardware. Really what you're getting with the R-Pi is the community that goes with it, who have so far been very loyal to that series of devices.
Because I've gotten basically down to apparently what you're to write drivers for OSes with, and I know there is the annoying "teehee, let's implement OpenGL calls in firmware so the open source software is a stupid passthrough interface to the IC" which is understandably frustrating given I'd hoped to use my Pi to finally get around to driving graphics hardware to do something useful I can grok, but it's far from documentationless unless I'm missing something fundamental.
https://twitter.com/EbenUpton/status/1088440503622909952?s=2...
The outrage and entitlement in the original tweet is laughable. It's an education charity, they need to raise money to fund their cause and do their work. I'm glad they do stuff like this. I bought both versions of the camera.
This is unfortunate & sad, but at least things have been moving forward. The much sadder story is wifi routers. OpenWRT used to have pretty broad support for a wide range of routers, but there have been less & less people making chipsets, and now you're probably getting either Broadcom or Qualcomm/Atheros. Broadcom has never been a "good" player in this space, but since 802.11ac routers started showing up over half a decade ago, the community has been unable to get a foothold in on Broadcom routers (I'm not sure if we have access to the bootloaders that we need, and I'm rather confident that we don't have access to open or closed drivers that we can use to run these Broadcom wifi routers).
It's frankly scary how controlled & inflexible the wifi router world is. This is further compounded by a general un-availability of add-on wifi cards: even though these chips are just PCIe devices, there's incredibly poor availability of things like PCIe cards & m.2 and mpcie cards one might add to a regular PC to make one's own wifi-router.
This is all to say, watching Broadcom has been really a scary, horrifying company to watch. The consumerization- the exclusion of the enthusiast & maker- has been very clear with Broadcom in specific, amid a market that's already shaky & at risk. The rich geeks keep fleeing to enterprise gear, the consumer keeps getting more and more stratified tiers of expensive consumer devices, and the ability to run our own networks keeps seemingly vanishing. And Broadcom is a colossus of a company that has obstructed & prevented the kind of healthy, resilient, community-powered growth that has lead to so much progress in every other sector of computing.
Leaving wifi-router discussion, I'm really hoping we start seeing more Broadcom SoC competitors show up with good offering, more single-board-computer offerings. Amlogic is doing very well with keeping upstream support, their S905X3 is a very nice chip. But the Cortex A55 core is not as powerful as the Broadcom's A73's, & there's not the dual-video out. Folks like MediaTek and Qualcomm have lots of good offerings, but no presence in the maker world. NXP does a pretty good job supporting makers, but usually at a high price point for somewhat aged cores. If you do want to investigate alternatives to RPi, this comparison of the Broadcom-based RPi4 vs an Amlogic S905X3 Odroid-C4 is a decent starting point:
https://www.cnx-software.com/2020/04/24/raspberry-pi-4-vs-od...
https://github.com/librerpi/rpi-open-firmware https://github.com/itszor/vc4-toolchain/issues/7
In a world increasingly more virtualized, multilayered, and interconnected, how would you ensure "purity" in that regard? And can you?
1. Hardware datasheets for all components
2. Bootloader available to view the source for, if not completely open source. I understand bootloader can be proprietary tech and they can use non-commercial compete license but allow people to hack them and at the very least view it.
3. All PCB and gerber files available. Clean schematic documentation.
4. HAL/Middleware - this is by far the most crucial portion. The user should be able to write drivers for anything. Right now, if I want to connect a VR 2048x2048 LCD (3.5" square) with a DSI/MIPI interface, I cannot write a driver for this with RPi. It's not entirely their problem either - the DSI org gatekeeps the datasheet and development for it unless you fork out a generate multi thousand dollar membership.
That's all. Obviously they cannot compel each component manufacturer to open source their silicon... at some point the expectation fades.
...also known as the original IBM PC/XT/AT, which had the BIOS source code available, although still copyrighted to IBM. However, documentation for everything was in general very well done, and the IBM PC Technical Reference manuals had schematics too.
An older (preferably pre-ME, pre-EFI, pre-secure-boot) standard x86 PC, which you might be able to get for free (although "retrocomputing" enthusiasts have driven demand and cost up), I would consider more open than the RPi ecosystem. More relevantly to the article, they have also been able to boot from USB since the mid 2000s. ;-)
https://github.com/librerpi/rpi-open-firmware https://github.com/itszor/vc4-toolchain/issues/7
This is a bit of a nitpick, but assuming point one of your post, tbh as an embedded developer there’s nothing magical or worth protecting in a bootloader. It’s such boring and, in the case of embedded systems on a chip, specialized code that really has no commercial value if the hardware documentation is available except in letting you gatekeep what runs on your chip. As in, anyone with the datasheets can write a bootloader and the bootloader provides no value to someone that has their own (proprietary or knockoff) SoC.
All that is to say, the Broadcom bootloader is closed for the same reason the datasheets and documentation are: it’s to prevent revealing the internals of the chip for fear of making it easier to reverse engineer or clone.
I think you misspelled prototype.
What they should do is to leverage their position in the market and convince Broadcom to open source the bootloader and drivers. There are a bunch of binary blobs from Broadcom that are a mystery as to what they do. No docs, no anything. HAL layer is completely at the mercy of Raspbery Pi.
Raspberry Pi is an ecosystem which is based on proprietary technologies and masquerading as an open source friendly thing.
If you want to support proper open source development (I understand, at some point things get proprietary the closer you get to the hardware, but with RPi, there isn't even a datasheet for the processor that you can get your hands on), buy Beagle board and other alternatives.