Tuesday, April 09, 2024

Re: OpenBSD 7.5 bsd.upgrade hangs after sysupgrade

Дана 24/04/08 06:56PM, Nick Holland написа:
> My 100% guess is that you have a machine that's very dependent upon
> ACPI, and the install kernel's ACPI support is very minimal, or
> has a funny UEFI system. Or a funny BIOS. Some machines work better
> as UEFI, some work better running BIOS. A firmware upgrade may
> change that (which could suck).
>
> There are other ways, though...
>
> First, I would verify that the 7.5 kernel boots -- copy it to /bsd75,
> for example, then "boot bsd75 -s" (the -s is so it doesn't try to go
> multi-user with a mixed new kernel/old userland/packages). If that
> seems happy, just do a "remote upgrade", using the "Manual Upgrade
> (without the install kernel)" process in
> https://www.openbsd.org/faq/upgrade75.html.

Hi Nick, just to report that I managed to upgrade to 7.5, although the process
was definitely not straightforward.

The laptop in question is dual-booted (using rEFInd) with Windows 10, which
supports the built-in Qualcomm Atheros QCA6174 WiFi card, not supported by
OpenBSD. In order for OpenBSD 7.4 to have network access, I had to use Realtek
802.11n USB WiFi adapter. I recalled what happened when I rebooted into Windows
while leaving the USB WiFi adapter in the USB slot: the similar thing as in
bsd.upgrade or the installation kernel - keyboard and mouse were completely
unresponsive, and I had to power off by holding the power button.

Someone more knowledgeable in the internals of OpenBSD and relevant hardware
can probably offer a better explanation; I can only theorize that this doesn't
happen in installed OpenBSD because the Atheros card is switched off in some
way or at least rendered inactive, so it doesn't interfere with the USB WiFi
adapter. OpenBSD kernel from the install media seems to behave more similar to
Windows 10 in this regard - the device(s) report errors, and the system hangs.

So, my successful idea was to:

1. dd install75.img to a USB flash disk from the working 7.4.

2. doas ifconfig urtwn0 down, then physically unplug the USB WiFi adapter and
the USB flash with install75.img from OpenBSD 7.5.

3. **This is a necessary step (tested)!**

Reboot into Windows 10, then insert the USB flash installation medium and
reboot again from Windows 10.

Theory: it is likely that Windows 10 drivers somehow interact with/reset the
built-in Atheros card, enabling the boot loader from the installation medium
to boot, and not hang.

4. Boot from the installation medium. The familiar "(I)nstall, (U)pgrade..."
prompt appears. However, what's really weird is that the installer seems to
be stuck in some kind of infinite loop trying to write to / (which is the
installation filesystem, so it fails -- some kind of autoinstall script?),
writing that error message and **then writing the prompt again.** Typing
half-blindly "u" <Enter> etc, I managed to upgrade to OpenBSD 7.5 (the
infinite loop stopped once the installer started unpacking sets.

* * *

EPILOGUE: if there was ever a fund or a crowdfunding made specifically to
create Qualcomm Atheros WiFi drivers for OpenBSD, I would gladly donate to it.

No comments:

Post a Comment