4 ms·
The author did not test the DFU flow, so I'm not sure why they're blaming the DFU port documentation. Certainly there is a bug in the external disk upgrade seq
by AceJohnny2 8mo ago
The author did not test the DFU flow, so I'm not sure why they're blaming the DFU port documentation.
Certainly there is a bug in the external disk upgrade sequence if switching the disk to a different (also non-DFU? They didn't specify) port solved their problem. But that's not necessarily related to which port is the DFU port.
To be clear, DFU (Device Firmware Upgrade) is a standard USB protocol (from 2004!), for a device to receive upgrades from a host. It is a specific port on the mac because that's all the boot-rom can support. This system does not come into play when booting from or upgrading an external disk, as the author was struggling with, because the external disk cannot be a USB Host to drive the DFU.
And I'm guessing that the reason macOS doesn't give more details is because macOS is likely not involved in the step that fails (maybe iBoot is?), and they didn't develop a way for the failing step to communicate failure data back to macOS. Yet another UX failure.
- numpad0 8mo agoSituation: - The author is running macOS ARM64 - off of a USB disk - plugged into DFU capable USB-C port - that shouldn't be the DFU one according to docs - attempting to run macOS updater - (supposedly)there's nothing else connected to it Outcomes: - updates were failing and rolling back with cryptic errors - errors persist despite all efforts - -> later magically solved after changing the port - -> the problematic port later revealed to be the DFU port - contradictory to Apple documentation Or at least that's how it reads to me. As for reasons, I don't know why anything that can boot from USB can't from DFU-enabled USB port, but maybe it's configured as a special non-USB debug connector while bootloader is executing.
- AceJohnny2 8mo ago- plugged into DFU capable USB-C port This is what I'm contending. No, I don't think this is true. All he found was the upgrading macOS on the external disk, which as documented must not be on a DFU capable USB-C port, did not work when plugged into a port that was documented to not be DFU. The source the author is referring to, Michael Tsai, indeed found that he had plugged his external disk into the DFU port. The author then (reasonably, but IMHO erroneously) deduced that his problem, also solved by changing ports, must thus have had the same cause. I say it may be confounding factors, and the only way to validate the wrong DFU port hypothesis is putting their mac in DFU mode and then running Recovery Assistant (from another machine) against it, on various ports. Tangentially, it is infuriating that Apple would swap what the DFU port is across generations, as if it wasn't confusing enough. Also... > As for reasons, I don't know why anything that can boot from USB can't from DFU-enabled USB port, but maybe it's configured as a special non-USB debug connector while bootloader is executing. My guess is it's because DFU requires the port to be in Device mode, whereas booting from a external disk requires the port to be in Host mode. Apple care about boot time, so perhaps they don't want to waste time in the boot process to check the port in Device mode for a few secs, then switch to Host mode to try external disk booting.
- eduction 8mo ago>This is what I'm contending. No, I don't think this is true If you don't think it's true you're "contesting" it not "contending" it. To "contend" is to argue, so you would only use that if you were adopting the argument you quoted.
- crest 8mo agoFine, but a normal USB stick isn't a DFU capable USB *host*. DFU is a protocol for a *host* to update on a device. Unless you're trying to update the firmware of the USB stick the direction is wrong. At most the DFU capable USB port on the Mac doesn't support booting of USB mass storage devices for some stupid reason.
- deleted 8mo ago[deleted]
- j16sdiz 8mo agoThe author was not saying the document labeled wrong port as DFU port. He is saying the documented _behaviour_ of DFU port is wrong (or, at least, in complete.)
- tgma 8mo agoThe post says: > This is wrong, a discovery that took me about a half dozen attempts to update macOS on an external disk. I have a 16-inch MacBook Pro with an M4 chip, specifically an M4 Pro chip, and the DFU port seems to be the USB-C port on the right side of the Mac, not on the left side." It appears that the author is directly contradicting your read.
- binaryturtle 8mo agoNow the question is: what is left and what is right. For the user this most logically would be whats left and what's right when they look at the open display. For Apple it may be when you look at the top cover with the logo in proper direction. They have odd priorities like that. :D
- simonh 8mo agoThey say it's the left and right ports when facing the left side of the Mac.
- lapcat 8mo ago> It appears that the author is directly contradicting your read. Correct.
- watt 8mo agoThe author just wants to apply system update, and it should "just work". The DFU part is just a distraction, what happened to "just works", as they point out in the article. We should not even _know_ anything about DFU unless we actually _are_ updating firmware.
- lapcat 8mo ago> The author did not test the DFU flow I'd rather not. I'm not even sure that I have all the prerequisites on hand. > I'm not sure why they're blaming the DFU port documentation. 1) The documentation says that macOS cannot be updated on the DFU port. 2) Switching ports allowed my macOS update to succeed after repeated failures on one port. 3) The 14-inch MacBook Pro with M4 chip is documented as different from all other models, but strangely, not the 16-inch MacBook Pro with M4 chip. You don't present any alternative theory for the behavior, just assert that I'm wrong.
- tgma 8mo ago> You don't present any alternative theory for the behavior, just assert that I'm wrong. Not the GP, but it is easy to refute your theory. Just do a DFU with the port indicated by Apple and it works per Apple instructions. I have personally tested this and can attest it works as intended. I don't think one logically needs to be burdened to come up with an alternative theory for why your macOS update process to be able to conclusively refute your implication of Apple docs about which port is DFU being wrong.
- lapcat 8mo ago> it is easy to refute your theory. Just do a DFU with the port indicated by Apple No, it's not easy. I just said, in the comment you replied to, "I'm not even sure that I have all the prerequisites on hand." > I have personally tested this On my Mac model? To be clear, I'm saying that the doc is wrong about my specific, relatively new Mac model, which I bought a year ago. I'm not claiming that the doc is wrong about other, older Mac models.
- tgma 8mo agoI have tested DFU restore on multiple Mac models including MacBook Air {M1, M2, M3, M4}, MacBook Pros {M1 Pro, M1 Max, M3 Max, M4, M4 Max}, Mac mini {M1, M4}, Mac Studio {M1 Max, M3 Ultra} off the top of my head (at least a bunch of older Intel+T2). I am sure many other people would have noticed if the DFU port was marked incorrectly. You are simply too quick to conclude what could be a bug in macOS updater is necessarily tied to DFU port designation. Just as an example, I have a USB-C flash device that is so flaky that sometimes does not work with a port on one direction and connect/disconnect and flipping the direction works. There's just any number of possibilities aside from DFU.
- vbezhenar 8mo agoI'm not sure that it uses standard DFU protocol. When I had to write firmware from Linux, I had to use some software specifically for Mac (idevicerestore) and I had the impression that it was super proprietary stuff.
- xmodem 8mo ago> And I'm guessing that the reason macOS doesn't give more details is because macOS is likely not involved in the step that fails And I guess because of the wide variety of third-party hardware macOS has to support, it's not practical to write a pre-flight check into the update process either.