helloSystem / ISO

helloSystem Live and installation ISO
https://github.com/helloSystem/
BSD 3-Clause "New" or "Revised" License
805 stars 59 forks source link

MacBook Pro booting the ISO with nothing in the SD slot will panic re… #521

Closed u20230812 closed 10 months ago

u20230812 commented 10 months ago

…boot.

These usb quirks allow the driver to bypass discovery on an empty device. This will only work on SD readers matching the following vendor:product ID.

Bus 002 Device 003: ID 05ac:8406 Apple, Inc. Internal Memory Card Reader
probonopd commented 10 months ago

Thanks @u20230812. A very welcome commit.

Please retest on hello-0.9.0_0I39-FreeBSD-13.2-amd64.iso and newer.

Possibly this fixes:

u20230812 commented 9 months ago

@probonopd the recent quirks added to get people booting on other MacBooks makes sense to unblock them and get a usable system.

However, I dug in to this with a logic analyzer and noticed a few things.

  1. Between AppleEFI, Linux, helloSystem, FreeBSD, and GhostBSD there is not much of a difference in how the SD slot gets probed/enabled. helloSystem > 0.6 without quirks is the only OS that crash/reboots.
  2. I did not notice these quirks for other OSes/EFI.
  3. There are a number of USB readers that can be connected so this problem won't go away easily.

I suspect there is a storage driver configuration problem and I have not yet singled stepped the code. The fact that we disabled all discovery commands to an empty device and it no longer crashes leads me to believe we need to configure the driver to skip a device if it electrically present but not responding to discovery commands.

Can you provide guidance on what changed > 0.6 so I can narrow this down a little better?

https://github.com/u20230812/images/blob/main/analyzer-2023-09-10-153011_002.jpeg

https://github.com/u20230812/images/blob/main/capture-2023-09-10-153155_002.png

probonopd commented 9 months ago

Wow, that is dedication :+1:

hello-0.6.0_0F54-FreeBSD-12.2-amd64.iso was based on FreeBSD 12.2 whereas the current experiemental build is based on 13.2.

The first one using FreeBSD 13.x was helloSystem 0.7.0.

So maybe something changed in FreeBSD 12.x vs. 13.x regarding SD card handling. But then, are you saying that FreeBSD and GhostBSD are not crashing there?