[HN Gopher] If you own an M2 MacBook Air or MacBook Pro there's ...
       ___________________________________________________________________
        
       If you own an M2 MacBook Air or MacBook Pro there's an update for
       your cable
        
       Author : cheeaun
       Score  : 93 points
       Date   : 2023-02-16 15:48 UTC (7 hours ago)
        
 (HTM) web link (www.macworld.com)
 (TXT) w3m dump (www.macworld.com)
        
       | rollulus wrote:
       | What could possibly be the use for any sort of logic in such
       | cable be, given that on both ends of it there's already a
       | computer as well?
        
         | duskwuff wrote:
         | USB PD negotiation.
         | 
         | The MagSafe connector only has three distinct contacts (there
         | are five pins, but it's mirrored), so there has to be some
         | protocol translation between USB PD and the single control
         | signal used in MagSafe.
        
         | tesseract wrote:
         | * Translation between USB PD and whatever communication
         | protocol runs on the center Magsafe pin (in Magsafe 1 and 2 it
         | was Dallas 1-wire)
         | 
         | * Disabling power output when the cable is not connected to a
         | computer, so that a metal object touching the spring pins can't
         | create a dangerous short circuit
         | 
         | * Driving the LED
        
         | traceroute66 wrote:
         | > What could possibly be the use for any sort of logic in such
         | cable be, given that on both ends of it there's already a
         | computer as well?
         | 
         | Maybe because MacBooks can be charged via both USB-C and
         | MagSafe connector it forms part of the safety mechanism against
         | frying your motherboard and/or against arcing during
         | connection/disconnection. Especially on the higher-end of the
         | spectrum (e.g. 16-inch MacBooks with 140W MagSafe).
         | 
         | Sort of like the same way electric car chargers handshake
         | before throwing amps down the cable.
        
         | cal85 wrote:
         | Just been scratching my head about this. Then I thought, is it
         | just so they can detect authentic Apple cables and scold you
         | for using an inauthentic one? Because iOS definitely does that.
         | Some kind of challenge/response thing that requires a full
         | Turing machine maybe.
         | 
         | Another thought was something to do with monitoring current or
         | degradation but I cant see why they couldn't do the same things
         | from either the computer in the power adaptor or the computer
         | in the actual computer.
        
       | Fauntleroy wrote:
       | In a few more years, security will simply cease to exist
       | entirely.
        
       | adolph wrote:
       | _There's no way to directly update the cable, but it should
       | update automatically when plugged into your Mac. While you can
       | check the firmware of your power adapter by attaching it to your
       | Mac and clicking on the Apple logo in the top left corner of the
       | menu bar, then About This Mac, System Report, and Power, it's not
       | clear how to check the specific firmware version of the cable._
       | 
       | So presumably there is some UART to the cable, and the cable to
       | the power adapter. Is it all stuffed in the cable treated as a
       | USB device or is there some proprietary control on the laptop
       | side to communicate with the cable?
        
         | FateOfNations wrote:
         | The only interface the computer normally has to the cable is
         | the single control pin on in the middle of the MagSafe
         | connector, so they are likely having to do something more
         | sophisticated than UART.
         | 
         | (Apple could have had you plug the other end that has the USB-C
         | connector into the computer to do the firmware update, but that
         | isn't particularly intuitive or user friendly).
        
       | crazygringo wrote:
       | Between this and "Help, Bing Won't Stop Declaring Its Love for
       | Me", man... HN headlines are making me _laugh_ today.
       | 
       | Keep it up, technological progress! :)
        
       | ripvanwinkle wrote:
       | "Everything that can physically accommodate a processor and be
       | powered, will eventually have a processor"                 -
       | Anonymous
        
         | adolph wrote:
         | Goes like peanut butter with the jelly of Atwood's Law: any
         | application that can be written in JavaScript, will eventually
         | be written in JavaScript
         | 
         | https://blog.codinghorror.com/the-principle-of-least-power/
        
       | conductr wrote:
       | > It's not clear what the firmware fixes or patches
       | 
       | I'm on M2 MB Air, and it seems odd to me that it (seems to) runs
       | off battery even when plugged in and fully charged. Mine has been
       | plugged in at desk for over a week, every day when I get on it
       | says it's "Power Source: Power Adapter" yet it battery charging
       | goes "On Hold" and dwindles as if it's running off battery all
       | day. For example, it's mid-day for me and I'm at 79% but it's
       | never been unplugged.
       | 
       | My last was a MB Air 2013 so maybe this is new behavior that I'm
       | just not used to, but it seems strange. If I had to unplug and
       | leave, I'd expect to be leaving with 100% charge.
       | 
       | Edit: "Optimized Battery Charging" was turned on as commenter
       | mentioned, thanks for the tech support HN!
        
         | robostac wrote:
         | If it thinks it's going to be plugged in for a long time (based
         | on previous usage) it'll pause the charging around 80% to
         | preserve the battery health.
         | 
         | https://support.apple.com/en-us/HT
        
         | EricE wrote:
         | One of the many utilities I love that comes with my Set App
         | subscription is AlDente Pro. As others have pointed out, it
         | allows me to set 80% as the max for my battery and it also will
         | change the color of the LED on the magsafe connector to green
         | once it gets to 80% and charging stops.
         | 
         | I had optimized battery charging enabled but my Mac seemed to
         | always charge to 100% - with Al Dente I can force it to do what
         | I want.
         | 
         | And recently I found Al Dente pausing charging because the
         | battery temp got too warm. So then I went down a rabbit hole
         | and found out I could tweak the fans up slightly higher with
         | iStat Menus (also part of my Set app sub). There are other
         | utilities that will do similar things - those just happen to be
         | two I use, especially since I tend to use my MBP plugged in the
         | majority of the time.
        
         | crummy wrote:
         | Are you using the stock charger? I would see similar behaviour
         | on my 2018 MBP when I used a USB-C charger without enough
         | power.
        
         | davidbarker wrote:
         | It sounds like Optimized Battery Charging may be turned on.
         | 
         | https://support.apple.com/en-us/HT212049
        
           | conductr wrote:
           | Yep, solved! Did not know about this setting (kind of buried
           | in the Settings UI) - thanks for the tech support!
        
           | [deleted]
        
         | count wrote:
         | 80% is the 'ideal storage' condition for the battery. If it's
         | always charging to 100%, the battery life is pretty
         | dramatically shortened. Apple enabled this new charging manager
         | that tries to learn your patterns (if you always unplug in the
         | AM and leave with it, it'll learn to charge to 100% before you
         | leave, for example). You can also click the battery icon in the
         | tray (if you have that turned on) and tell it to charge to 100%
         | 'right now', which only takes a minute or two with a full size
         | charger.
         | 
         | This is a positive thing for the life of your battery, but if
         | you do want to disable it, there's a setting in System Settings
         | - click the 'i' in the circle next to Battery Health, and turn
         | off 'Optimize Battery Charging' there.
        
       | falcolas wrote:
       | Probably see more and more of this as cables continue the trend
       | of becoming computers that abstract the communication between the
       | two plugs.
        
         | powersnail wrote:
         | Given the trend, I've really come to see all electric cables as
         | not-yet-evolved computers, the same way every light bulb is a
         | low resolution display.
        
         | danpalmer wrote:
         | A worrying trend given that most people buy the cheapest cables
         | they can from companies who may have questionable motives or
         | state backing.
        
           | hooverd wrote:
           | I'm more worried about companies forbidding third party
           | cables or bricking cables you own. "Sorry, this cable was
           | only licensed for 100 charging cycles. Please buy a new one,
           | for your safety of course."
        
             | pathartl wrote:
             | No reason to forbid cables when you can just remove
             | physical ports.
        
             | traceroute66 wrote:
             | [flagged]
        
               | pc86 wrote:
               | Where in the comment above do they even mention Apple?
        
               | boramalper wrote:
               | I don't like their tone but they have a point.
               | Historically Apple has been fussier than many other
               | companies.
        
               | hooverd wrote:
               | If anything, consumer hardware is amazingly fungible,
               | compared to the things B2B manufacturers do.
        
               | hooverd wrote:
               | I didn't say anything about Apple. I just don't trust
               | hardware companies to not DRM everything if they know
               | they can get away with it.
        
               | tpxl wrote:
               | I have been given a 'you need an official USB-C - 3.5mm
               | jack adapter' warning by a non-apple brand. So yeah, this
               | is happening.
        
           | closewith wrote:
           | I wonder if there's a viable business model in "free" cables
           | that inject ads into video streams.
        
             | hooverd wrote:
             | Don't give them ideas.
        
               | closewith wrote:
               | Maybe the "free" ad-supported cables could have limited
               | charging or data transfer speeds, but those features
               | could be unlocked by paying a subscription or watching
               | more ads.
        
             | Tostino wrote:
             | Please, just stop with that thought.
        
               | closewith wrote:
               | Maybe we could integrate an IOT M2M eSIM so there's no
               | way to block the ad server.
        
               | Tostino wrote:
               | You monster...
        
       | noodlesUK wrote:
       | I'm really surprised that these cables have updatable firmware.
       | Surely that makes the attack surface that much larger?
        
         | Arrath wrote:
         | Just waiting for an 'illegal peripheral' exception when I try
         | to use a cable condom, if those exist for anything other than
         | USB yet.
        
       | exabrial wrote:
       | When you have so much money and you don't know how to spend it...
       | this is what you get.
        
       | peterkelly wrote:
       | Apple's lightning-to-HDMI cable contains an embedded ARM SoC with
       | 256MB of memory running the XNU kernel and a daemon that performs
       | video decoding.
       | 
       | https://panic.com/blog/the-lightning-digital-av-adapter-surp...
        
         | baq wrote:
         | I would like to post something substantial or whatever but how
         | can you add anything to that...?
         | 
         | Mind blown.
        
           | [deleted]
        
         | adolph wrote:
         | That post is a classic and the first thing I thought of when I
         | saw the headline.
        
       | ericboehs wrote:
       | Can you brick your cable if you unplug it during the upgrade?
        
         | simlevesque wrote:
         | That's what I was about to ask. It says that the cable should
         | update itself transparently, but there can always be a chance
         | of corruption. Maybe the cable keeps the old FW and only boots
         | the new one if it is signed.
        
           | prewett wrote:
           | Presumably there is space for two copies of the firmware, and
           | once the new one decompresses and checksums correctly you
           | update the firmware-start pointer.
        
         | mecsred wrote:
         | Any reasonable manufacturer will rotate firmware images and
         | have the bootloader fall back to the most recent validated
         | image. Though I imagine this could happen if this practice
         | becomes common enough that you get it on some 5$ gas station
         | charging cable kinda thing.
        
           | avian wrote:
           | A reasonable manufacturer looks at its bottom line and
           | doesn't waste his engineering hours and BOM costs (double the
           | flash memory!) on silly features like that. Either that or
           | there are many unreasonable manufacturers out there.
        
             | tesseract wrote:
             | Cost (reputational as well as CSR hours and the actual
             | replacement units) of a bunch of warranty claims for
             | bricked units is a factor too.
             | 
             | In practice pretty much every embedded device I've worked
             | on that has supported in-field firmware updates has had
             | either double buffering and/or a recovery mode to limit the
             | possibility of bricking.
             | 
             | For the products where every last penny really needs to get
             | squeezed out of the BOM (toys, low-end appliances, ...) the
             | ability to do in-field firmware upgrades itself is IME
             | often one of the first things to go.
        
             | 15155 wrote:
             | "Double the flash memory" !!
             | 
             | - How much do you think the NOR flash costs inside this
             | cable?
             | 
             | - How big do you think the firmware actually is?
             | 
             | - 16MB Winbond NOR flash is like $0.70 with no price breaks
             | (for me, I am not Apple making 1 million units) - there's
             | no way they need 1MB for two slots, much less 16MB.
             | 
             | - These cables retail for $49.
             | 
             | Two firmware boot slots is standard practice because it is
             | essentially free to provide in any higher-end consumer
             | electronic device: especially one that is explicitly
             | designed to be unplugged easily.
             | 
             | How many support claims are saved on this $49 cable because
             | mid-update bricking does not occur?
        
         | readams wrote:
         | Sounds like the firmware is actually stored in RAM and loaded
         | when you plug in the cable.
        
           | tenebrisalietum wrote:
           | Really that shouldn't be called firmware (the actual firmware
           | would be the fixed code that receives second-stage code from
           | the host), but "software" doesn't fit that either. Maybe
           | "controllerware" or something like that.
        
             | nagisa wrote:
             | This is how CPU/GPU microcode is loaded too, though... Is
             | that not firmware?
        
               | tenebrisalietum wrote:
               | What I always understood firmware to be is: a ROM that
               | gives a CPU something to do when power is applied, as RAM
               | is blank on power on and things like storage devices
               | can't just put stuff in RAM without being directed by the
               | CPU (which doesn't have code to do that at power on
               | unless provided by a ROM).
               | 
               | Depending on the scope of the device (from multipurpose
               | PC down to single-purpose things like microwaves, gas
               | pumps, hard drives, LCD controllers) the firmware may
               | just allow an operating system to be loaded or actually
               | be all the code the appliance needs for its CPU.
               | 
               | If the CPU is embedded in a peripheral, then:
               | 
               | - it has to have some small ROM that does nothing but
               | wait for an image to come in from a bus (USB, etc.) and
               | then execute. The sound chip in Nintendo's Super NES is
               | an example, on power on/reset it has a 64 byte boot ROM
               | that does nothing but wait for data to come in from the
               | main 65816 CPU and then runs that code when received.
               | 
               | - the host has to have some way of externally programming
               | the peripheral's RAM directly and resetting the
               | peripheral's CPU but not the peripheral's RAM. I suppose
               | JTAG could be used for this.
               | 
               | My opinion: CPU microcode isn't firmware - CPU microcode
               | sets the configuration of internal connections/parameters
               | in the CPU. It's kind of like a settings file. But: I
               | think recent microcodes do actually include code (see
               | Xucode) but that code is meant to be the behavior of
               | advanced instructions and not designed to be something
               | that tells the CPU what to do from the moment it's
               | powered on.
        
               | [deleted]
        
               | reportingsjr wrote:
               | There are plenty of things that have firmware, but run it
               | out of RAM. FPGAs do this, and some microcontrollers.
               | Dialog, now Renasas, has microcontrollers that run their
               | firmware out of RAM.
               | 
               | Commonly there is a hardware peripheral that pulls the
               | firmware from a couple of places (could be an onboard
               | ROM, could be jtag, or other) and loads it in to RAM.
        
       | brenouchoa wrote:
       | I was having problems charging with my magsafe cable and for the
       | last month was using the usb-c port to charge. Today i took if of
       | the drawer and it is magically working again. I am using the beta
       | mac os 13.2 so it may have solved my problem.
        
         | brenouchoa wrote:
         | I spoke too soon. My cable is still blinking orange after i
         | plug it in. I will try to reboot.
        
       ___________________________________________________________________
       (page generated 2023-02-16 23:03 UTC)