14 ms·
Samsung Blu-ray players bricked because of an XML config file
- Someone1234 6y agoThat's why: "What does a factory reset entail?" is a fascinating question. Everyone assumes you'll lose your settings during a factory reset, but what isn't as clear cut: Does it revert the firmware to whatever it was shipped with (bugs and all)? Some vendors do, but most vendors do not. A legitimate factory reset (inc. firmware) mechanism or USB boot/reflash would have likely saved Samsung considerable amounts of money here (relative to mailing all of them two ways, they could have e.g. sent out free USB keys with the firmware).
- squeezingswirls 6y agoThat article explains why that solution it isn't possible: 'there seems to be no way to recover the devices from the boot loop using normal means – such as a USB stick, CD or network – because the crash happens too early in the boot sequence.'
- rhn_mk1 6y agoIt would have been possible if it was done this way in the first place.
- Someone1234 6y agoThus, the discussion on how factory resets could/should work in consumer electronics...
- toast0 6y ago> Does it revert the firmware to whatever it was shipped with (bugs and all)? Some vendors do, but most vendors do not. I think that's the only reasonable thing to do. Have the original firmware either as an actual rom, or only writable with an enable jumper flipped; use a power on key sequence to boot from the original firmware, copy to normal firmware and reboot into normal firmware (which is now the original firmware). Run through that process during manufacturing to confirm it works. Regularly test that all released firmware images, especially those in the original firmware slot can successfully upgrade (or at least not crash). Preferably include current firmware version in all requests so you can give workaround responses as needed when you figure out you broke something -- in the hostname is ideal, as you can use that to work around version specific certificate issues. The reason a Blu-Ray player (or a video game console) might not let you go back to original firmware is to prevent reverting to earlier firmwares that allowed copied media, etc. For those, you probably want to have a 'safe' firmware slot (or two, ideally) that drives the factory reset process, and only reflash those slots on some updates (to reduce testing needs)
- jonhohle 6y agoAs the owner of the device, I couldn’t care less if reverting to earlier firmware has been exploited. Are device manufacturers making more money from customers or studios?
- toast0 6y agoDevice manufactures can't make money from customers if studios blacklist their players.
- flatiron 6y agoIsn’t all this crazy when pirates can just download the damn movie with no problem. They are just punishing the paying customer. I have a plex server and have zero issues.
- toomuchtodo 6y agoCopyright theater.
- gruez 6y ago>I think that's the only reasonable thing to do. But that'd also mean you need double the flash capacity, which drives up the BOM cost.
- phildenhoff 6y agoNot necessarily. I worked on the team the managed the OS for an embedded hardware project (radio equipment) and our disk was partitioned four ways: 1. current operating system 2. previous operating system (and next, on upgrade) 3. data partition, shared across both current and previous OS 4. factory reset partition That means if we needed to do a factory reset we could just load the firmware archive from the fourth partition onto the second partition and execute a normal upgrade, albeit to an older version. Since upgrade packages were small, maybe 500MB?, we could easily cut a little space from the rest of the partitions to make it fit without having to increase the flash capacity.
- petepete 6y agoI tried a factory reset with my Samsung TV after a firmware update injected advertising into the UI. Unfortunately it remained on the current firmware version and just cleared the settings.
- vezycash 6y ago>Samsung TV after a firmware update injected advertising into the UI. Wouldn't Samsung and the rest have stopped this if people just returned the TV?
- petepete 6y agoProbably. Connivingly they waited for 9 months after I bought the TV before releasing the firmware update. I wrote a guide years ago on blocking them via DNS which loads of people found useful. These days a PiHole is probably a better option. https://gist.github.com/peteryates/b44b70d19ccd52f62d66cdd4bcef1e52 https://gist.github.com/peteryates/b44b70d19ccd52f62d66cdd4b...
- RandomBacon 6y agoDid you buy it with a credit card? Check to see if your credit card has additional return/warranty periods. Or, if you have the time and opportunity, sue the manufacturer in small claims court. Better yet, tell your friends and family about how the ads start after the return period closed, and encourage everyone not buy that garbage in the first place.
- rahimnathwani 6y agoI like the way you can erase and recover a Mac to a fresh install of MacOS, without needing a USB key or another working Mac. As long as you have an unmetered internet connection, you can recover to the same version of MacOS that shipped with the device.
- rootsudo 6y agoThat's a pretty horrid way. It used to be a time where you could just run a recovery partition to reinstall your operating system outside of re partitioning your hard drive.
- NobodyNada 6y agoEvery maOS install includes a recovery partition which works as you describe. However, if your hard drive is screwed up thoroughly enough, the recovery partition may not be accessible. In that case, you can still access Internet Recovery, which is located on some sort of ROM and allows you to redownload a working recovery image from Apple's servers.
- rahimnathwani 6y agoI've seen non-Mac laptops ship with a recovery partition but: 1. The recovery partition takes up some space, and 2. You (or malware) can mess up the recovery partition, and 3. The recovery partition doesn't exist if just upgraded the storage (e.g. replace the HDD with an SSD). Macbooks have other failings (e.g. increasingly hard to upgrade/replace hardware yourself) but the operating system recovery works better than anything I've seen for Windows or Linux. Chromebooks have a factory reset key sequence, but that requires a working ChromeOS on the drive.
- JaimeThompson 6y agoModern Dell systems support Internet recovery at least in the business class line. Just tested it a few weeks ago on a Dell all-in-one.
- Nextgrid 6y ago
- iforgotpassword 6y agoIn this case it wasn't even a firmware update that bricked the device. Just some meta data that told the device how to behave. So a factory reset should still have deleted that stupid XML file from the flash storage, which would totally have fixed the issue. Even with all the paranoia they could have had about reverting to an old firmware version and breaking copy protection through exploits. Just wipe the freaking flash storage and keep the current firmware.
- kelnos 6y agoThe one issue I can see with this if the original firmware has an outdated TLS trust store, reverting to the original firmware might make it impossible to update it via normal means. Whether or not this is good or bad is an exercise left up to the reader.
- toast0 6y agoSamsung runs their own CA with a long expiration, so at least they aren't affected by trust store issues. Amazon had an issue with this on Kindles though, if you didn't online update your Kindle in time, you have to do an offline update -- i think that one might have been sha-2 signatueres rather than a CA expiration though --- not sure.
- catalogia 6y ago> Does it revert the firmware to whatever it was shipped with (bugs and all)? Some vendors do, but most vendors do not. I think if it doesn't revert to the firmware it had when shipped by the factory, it shouldn't be considered a factory reset.
- richarme 6y agoJust a guess, but I would assume the term factory reset referred to clearing user settings before devices commonly had firmware update capabilities. So the legacy name should not be used to imply how the function should work in relation to firmware downgrade.
- dogma1138 6y agoIt really depends how these things are setup. Factory resetes that reset the EEPROM basically usually means that the hardcoded values form the ROM/Firmware will be used on the next boot. However you usually have another tier today which is flash storage which isn’t a mechanism that can be easily reset with a “factory reset” because it involves a file system. If the bad config files are on the flash you need a factory reset mechanism that basically tells the main firmware or boot loader to recreate the file system on the next boot.
- grishka 6y agoThat's how factory reset works on Android — it simply erases the entire /data partition, which is the only one normally mounted read-write. Recovery might subsequently initialize an empty file system there, but bootloader certainly does not. (you're usually able to do a wipe from both) The OS itself then initializes it all from scratch on the first boot.
- devrand 6y agoDownside of this is that you could end up in a different broken state: ex. What if the original firmware now has too old of a CA bundle? This could be avoided by using your own PKI for updates (and bundle your own root), but I assume most devices out there are using Web PKI for updates.
- 0x0001 6y agoBetter write a firmware to avoid this problem i have written in the past firmware for devices that don't affect the user experience including CA's, server domain or ip and other parts that don't require a full firmware update, better to "waste" development time thinking of all future problems that are out or your hand than bother the final users IMO. As a developer you should think every problem you could face or you aren't using the best practices of software development.
- monkpit 6y agoIf you could factory-reset to the original firmware on internal ROM (with buggy xml parser), wouldn’t you still get stuck in the boot loop? They way I understood it, the write up in the article says that the XML is downloaded and parsed during boot. Edit: I guess if you disabled network access you could boot. Derp
- molticrystal 6y agoIf they included a factory reset, a good one besides being accessible early in the boot process, would erase and restore the filesystem on the flash chip to how it originally shipped. So that policy file will either be erased or a safe default. Then you just keep it offline until Samsung fixes the file on their server so you don't have to reset it again. They fixed it a few days later so it is safe now, so even old firmware should be safe to go online.
- _ph_ 6y agoProgramming errors happen, but thats why I don't get, that companies still use programming languages, where such errors result in a crash vs. an error which can be handled and recovered from. A faulty XML file shouldn't render the whole machine unusable.
- andrewxdiamond 6y agoNot sure if the language is at play, you can write shitty software in any language
- _ph_ 6y agoYes, you can create a mess in any language. However, a lot of languages protect you against a lot of potential mistakes and also give you means of safely recovering from errors. The XML parser might not be better when written in another language, but if it is called from within an error handler, the calling program could recover from the error.
- tedunangst 6y agoWhat language makes it impossible to write if parse(config) == false then reboot?
- thirtyseven 6y agoIn this case the XML file parsed fine, but the contents (specifically an empty element that the firmware expected to be populated) caused a crash.
- tedunangst 6y agoI guess I should rephrase. What language makes it impossible to call abort() after a required XML element is found to be missing?
- renewiltord 6y ago
- pengaru 6y agoAre these running Tizen?
- tpmx 6y agoProbably. Samsung hired thousands of c++ developers in a particular low-cost country to build Tizen. You can't really hire that many quality developers that quickly, and it showed.
- mlvljr 6y agoКак не стыдно!
- perryizgr8 6y agoTizen is not a bad system by itself. For example, all Samsung watches run it, and they're the best wearables after iwatch.
- tpmx 6y agoIt kinda is shitty, though. Do remember that it was built as a replacement for Android on smartphones, then when that, in a 100% expected way completely failed, was was relegated to the TV and smartwatch platforms where general requirements are perhaps 5x less. Those two platforms probably only use the best 20-30% core functionality of what was built. And they're still second tier...
- tpmx 6y agoI think the best approach is to never, ever connect a device like a TV, Blu-ray player, etc to the internet. That's the only way they'll survive. So far no HDMI-based attacks. Hotglue the ethernet port?
- excalibur 6y agoDon't forget to lock all of your consumer electronics in Faraday cages to keep the Weefees out.
- colejohnson66 6y agoThat doesn’t work if your BluRay player requires an internet connection. Yes, they exist.
- tpmx 6y agoPlease do name and shame.
- colejohnson66 6y agoI don’t know of any off the top of my head, but I have seen them. Besides that though, firmware updates require an internet connection, and those updates contain keys for newer AACS versions. So if you want to play a just-released movie, you may need a player capable of AACS 72 (or whatever it’s at now), but yours may only support AACS 52 (out of the box). MakeMKV does require an update for each new AACS version.
- philistine 6y agoI have a TCL tv that has the Roku firmware on it. I have never connected it to the internet, but I made sure I could update it without the internet. When I shopped for a tv, I was adamant I needed a tv I could update via USB, and Roku’s firmware allows it. All is not lost.
- kevin_thibedeau 6y ago
- lizardmancan 6y agod if you d
- userbinator 6y agoOne thing you have to understand is that these internet-connected Blu-ray players in question are programmed to log their activities and send copies of this information to Samsung. In some ways, this is even more disturbing than the bricking. Only corporate greed can create a media player that watches you and needs constant firmware updates. I have a VCR and DVD player which still work, and things like this are the reason I'm not buying any newer standalone players. It reminds me of this old meme (I'm not aware of a Blu-ray version): https://files-cdn.sharenator.com/pirate-dvds-s800x825-43988.jpg https://files-cdn.sharenator.com/pirate-dvds-s800x825-43988....
- jonpurdy 6y agoI have been wondering for the past two decades: when will media companies will realize that better quality == sales? This sort of happened with iTunes Store when they got rid of DRM on the audio tracks, and with streaming video services (though the quality is severely lacking compared to Blu-Ray/HQ ripped Blu-Ray). You still get the best experience (and quality) going through BitTorrent.
- pipeep 6y agoI'm with you, and I prefer "dumb" devices, but you can still buy these blu-ray players and not connect them to the internet. The internet connectivity is sold as an additional feature so that you can use your blu-ray player to watch Netflix. I agree that I don't want logging on a device like this, but if I was going to connect one of these to the internet, I would at least want regular security updates.
- RandomBacon 6y agoVote with your wallet. Don't buy these internet devices. All it takes is for a visiting family member or friend who wants to watch Netflix while you're in another room/asleep/etc to click okay.
- untog 6y agoEasier said than done. It’s increasingly difficult to find a “dumb” TV these days. Almost all have smart functionality. (and besides, most TVs have other ways of watching Netflix that ought to be more convenient for a visitor. A $30 Roku stick is all you need)
- harry8 6y agoYou broke it, you bought it Samsung. Full refund. Pick up the device at your expense or provide disposal costs as well. Warranty is not any part of the issue if you come into my house and break a thing I own and is my property.
- duncan_bayne 6y agoWhat makes you think that what they broke is your property? Read the EULA. It almost certainly specifies that what you think you own, has in fact just been licensed to you.
- harry8 6y agoNo. This is actually nonsense. Nobody has read the Eula. Nobody has knowingly and willingly agreed to those terms (if they exist). No vendor has expected those terms to be read (if they even exist). No vendor has explained those terms to a customer. There is a contract for exchange of ownership. You can't actually break that contract with unconscinable means such as fine print that nobody reads nor is expected to read nor has had explained. Read a EULA if you like but it will do absolutely nothing for you nor will it alter the law and the application of the law. Maybe you'll enjoy the read though? It is an item, purchased in a shop in exchange for money. There's rather a lot of established law about that.
- duncan_bayne 6y ago> You can't actually break that contract with unconscinable means such as fine print that nobody reads nor is expected to read nor has had explained. You shouldn't be able to, but I think in most jurisdictions you most certainly can. https://en.wikipedia.org/wiki/End-user_license_agreement#Enforceability_of_EULAs_in_the_United_States https://en.wikipedia.org/wiki/End-user_license_agreement#Enf...
- eucryphia 6y agoOur Samsung home theatre sound system's bluray stopped working years ago, everything else works fine. We have a few Samsung products and each one has a particularly annoying problem. The worst part is the support, I post a polite request on their website and always get a very concise unhelpful answer. I no longer buy Samsung products.
- crispyporkbites 6y agoThis is one of the many reasons hardware companies stop supporting older tech. It’s just not in their interests to push updates down to them, and can seriously back fire
- dreamcompiler 6y agoYet another reason for the warning don't connect your 'smart' TV, DVD player, or any other entertainment device to your wifi router. If you need Netflix, use a standalone device such as a Roku and connect it to the TV with HDMI.
- electro_blah 6y agosmart my arse. it's as smart as the guy who designed/programmed it.
- shannifin 6y agoI was wondering what had happened to my blu-ray player; thanks for posting this!
- ajuc 6y agoThese things can get really tricky. We once almost bricked our devices (electronic magnifier/OCR for low vision people) with an update that added automatic calibration for the cheap crappy OEM touchscreen we used in some devices. It was so crappy all the screens we had in our company had the same serial numbers and returned different coordinates when you clicked in the same spot :) Fortunately libev has calibration - you can provide a matrix to transform all touchscreen events with. We added calibration step - the software asked user to touch 4 corners on the screen, calculates inverse matrix and saves it to configuration for better touchscreen accuracy. We tested it extensively, and uploaded the version to our update server. The next day customers started calling :) turns out libev (which reads the configuration during booting) had a "feature" that parsed the numbers in the configuration using the default system locale. German locale uses . as thousands separator and , as fraction separator. So, when you did the calibration and restarted the device with German locale your screen transformed the touschscreen events multiplying them by thousands - so you couldn't click on anything, so you couldn't use the device or click "update software". It was even worse if you used german locale, saved the calibration configuration and then changed locale to English - then it simply crashed during boot because of wrong number format :) Fortunately we left one usb port accessible so users could attach usb mouse and click "update" if they had the first situation, or download the whole firmware on an usb pendrive and update from it. BTW the libev bug is fixed, now it always reads the configuration using C locale. Guess what happened when we updated the linux on our systems half a year later and that change was included :)