Re: HP T430 "Thin Client": Won't sysupgrade without HDMI monitor attached.
Tobias Fiebig - Sat, 07 May 2022 at 13:18:45 > I also very faintly remember people complaining about similar issues > with Mac hardware some years ago (non OpenBSD related, though). The > solution for them back then was soldering together a small plug with > some resistors to make the board 'think' a monitor was connected; also > sold as a commercial product: > https://www.bol.com/nl/nl/p/hdmi-display-port-dummy-plug-4-k-display-emulator/920090918849/ years ago, my intel NUCs also did not boot in eufi mode without hdmi display attached when upgrading. i was just about to buy one of these dummy plugs, but legacy BIOS mode solved it. -f --
Re: HP T430 "Thin Client": Won't sysupgrade without HDMI monitor attached.
On 5/7/22 5:40 PM, Mike Larkin wrote: On Fri, May 06, 2022 at 11:39:51PM -0400, Nick Holland wrote: ... For giggles, I did a "gop" and a "video" at the boot> prompt, and both came back with no response, just another boot> prompt. just 'gop' amd 'video'? These should be "machine gop" and "machine video". huh. yep. Just like it says in "man boot", which I did look at, but read it wrong. Slightly complicated that "gop" and "video" at the boot> prompt alone produce no error message and no output. "machine video" and "machine gop" listed a bunch of valid configs. Putting "machine gop 1" or "machine video 1" in /etc/boot.conf changed nothing, still getting a reboot when trying to boot bsd.rd with no monitor attached, and a successful boot when the monitor is plugged in. Nick.
Re: HP T430 "Thin Client": Won't sysupgrade without HDMI monitor attached.
On Fri, May 06, 2022 at 11:39:51PM -0400, Nick Holland wrote: > On 5/6/22 2:30 PM, Nick Holland wrote: > > On 5/6/22 12:48 PM, Theo de Raadt wrote: > > > Florian Obser wrote: > > > > > > > So, if you end up with a /bsd.upgrade on the running system that is > > > > still mode 0700, your bootloader is on the fritz. > > > > > > > > If you have a /bsd.upgrade that's 0600 your bootloader found the kernel > > > > and tried to boot it, but the installer didn't get very far. > > > > > > > > If there is no /bsd.upgrade after a reboot and no email to root the > > > > installer got rebooted by a watchdog process, otherwise you got an email > > > > to root detailing the upgrade process. > > > > > > A very nice 3-way split. > > > > Brilliant, even. > > > Then once you figure out which one of those 3 is happening, it is easy > > > to reason about how to create further differentiations and see which is > > > happening. > > > > I was very much guessing it was /boot, but no. > > -rw--- 1 root wheel 4609699 May 6 13:13 bsd.upgrade > > > > So ... it's booting bsd.upgrade and failing, which explains why copying > > bsd.upgrade (aka bsd.rd) to /bsd tossed it into a lala-loop. > > > > Unfortunately, this machine doesn't retain dmesg buffer between boots. > > > > so ... booted bsd.rd with a monitor attached, and grabbed the dmesg below. > > > > I'm looking at this: > > > > efifb0 at mainbus0: 1920x1080, 32bpp > > > > If the system is booted (bsd) without a monitor attached, that says: > > > > efifb at mainbus0 not configured > > > > Getting to the boot> prompt, typing "boot bsd.rd", unplugging the monitor > > and hitting "ENTER" resulted in a successful boot of the bsd.rd kernel (and > > efifb is showing the monitor as connected). > > > > I tried bsd.rd renamed "bsd" so it would only boot bsd.rd, and then firing > > the machine up and plugged the monitor in AFTER the boot process (probably) > > started hoping to see some indication on the screen of the crash. Result: > > no display until the kernel crashes and the system reboots. > > > > Nick. > > Got contacted by someone off-list who told me they "fixed" this problem > on their machine by switching to a serial console, which is cool, but my > machine doesn't have a serial console. (set tty com0 resulted in a hang, > as it was probably waiting for the UART to say, "Sent that first character" > and it never does). > > Is it possible that bsd.rd *must* have some kind of output device? > efifb fails to configure without a monitor attached, so no console output? > > For giggles, I did a "gop" and a "video" at the boot> prompt, and both came > back with no response, just another boot> prompt. > just 'gop' amd 'video'? These should be "machine gop" and "machine video". > Nick. >
Re: HP T430 "Thin Client": Won't sysupgrade without HDMI monitor attached.
On 5/6/22 2:30 PM, Nick Holland wrote: On 5/6/22 12:48 PM, Theo de Raadt wrote: Florian Obser wrote: So, if you end up with a /bsd.upgrade on the running system that is still mode 0700, your bootloader is on the fritz. If you have a /bsd.upgrade that's 0600 your bootloader found the kernel and tried to boot it, but the installer didn't get very far. If there is no /bsd.upgrade after a reboot and no email to root the installer got rebooted by a watchdog process, otherwise you got an email to root detailing the upgrade process. A very nice 3-way split. Brilliant, even. Then once you figure out which one of those 3 is happening, it is easy to reason about how to create further differentiations and see which is happening. I was very much guessing it was /boot, but no. -rw--- 1 root wheel 4609699 May 6 13:13 bsd.upgrade So ... it's booting bsd.upgrade and failing, which explains why copying bsd.upgrade (aka bsd.rd) to /bsd tossed it into a lala-loop. Unfortunately, this machine doesn't retain dmesg buffer between boots. so ... booted bsd.rd with a monitor attached, and grabbed the dmesg below. I'm looking at this: efifb0 at mainbus0: 1920x1080, 32bpp If the system is booted (bsd) without a monitor attached, that says: efifb at mainbus0 not configured Getting to the boot> prompt, typing "boot bsd.rd", unplugging the monitor and hitting "ENTER" resulted in a successful boot of the bsd.rd kernel (and efifb is showing the monitor as connected). I tried bsd.rd renamed "bsd" so it would only boot bsd.rd, and then firing the machine up and plugged the monitor in AFTER the boot process (probably) started hoping to see some indication on the screen of the crash. Result: no display until the kernel crashes and the system reboots. Nick. Got contacted by someone off-list who told me they "fixed" this problem on their machine by switching to a serial console, which is cool, but my machine doesn't have a serial console. (set tty com0 resulted in a hang, as it was probably waiting for the UART to say, "Sent that first character" and it never does). Is it possible that bsd.rd *must* have some kind of output device? efifb fails to configure without a monitor attached, so no console output? For giggles, I did a "gop" and a "video" at the boot> prompt, and both came back with no response, just another boot> prompt. Nick.
Re: HP T430 "Thin Client": Won't sysupgrade without HDMI monitor attached.
On 5/6/22 12:48 PM, Theo de Raadt wrote: Florian Obser wrote: So, if you end up with a /bsd.upgrade on the running system that is still mode 0700, your bootloader is on the fritz. If you have a /bsd.upgrade that's 0600 your bootloader found the kernel and tried to boot it, but the installer didn't get very far. If there is no /bsd.upgrade after a reboot and no email to root the installer got rebooted by a watchdog process, otherwise you got an email to root detailing the upgrade process. A very nice 3-way split. Brilliant, even. Then once you figure out which one of those 3 is happening, it is easy to reason about how to create further differentiations and see which is happening. I was very much guessing it was /boot, but no. -rw--- 1 root wheel 4609699 May 6 13:13 bsd.upgrade So ... it's booting bsd.upgrade and failing, which explains why copying bsd.upgrade (aka bsd.rd) to /bsd tossed it into a lala-loop. Unfortunately, this machine doesn't retain dmesg buffer between boots. so ... booted bsd.rd with a monitor attached, and grabbed the dmesg below. I'm looking at this: efifb0 at mainbus0: 1920x1080, 32bpp If the system is booted (bsd) without a monitor attached, that says: efifb at mainbus0 not configured Getting to the boot> prompt, typing "boot bsd.rd", unplugging the monitor and hitting "ENTER" resulted in a successful boot of the bsd.rd kernel (and efifb is showing the monitor as connected). I tried bsd.rd renamed "bsd" so it would only boot bsd.rd, and then firing the machine up and plugged the monitor in AFTER the boot process (probably) started hoping to see some indication on the screen of the crash. Result: no display until the kernel crashes and the system reboots. Nick. OpenBSD 7.1-current (RAMDISK_CD) #468: Tue May 3 12:18:55 MDT 2022 dera...@amd64.openbsd.org:/usr/src/sys/arch/amd64/compile/RAMDISK_CD real mem = 1686781952 (1608MB) avail mem = 1631703040 (1556MB) random: good seed from bootblocks mainbus0 at root bios0 at mainbus0: SMBIOS rev. 2.8 @ 0x6a8a7000 (23 entries) bios0: vendor AMI version "N41 v01.06" date 03/14/2019 bios0: HP HP t430 Thin Client acpi0 at bios0: ACPI 6.1 acpi0: tables DSDT FACP FPDT FIDT MCFG DBG2 DBGP HPET LPIT APIC NPKT SSDT SSDT SSDT SSDT SSDT SSDT SSDT SSDT UEFI DBGP SSDT WDAT NHLT WSMT acpihpet0 at acpi0: 1920 Hz acpimadt0 at acpi0 addr 0xfee0: PC-AT compat cpu0 at mainbus0: apid 0 (boot processor) cpu0: Intel(R) Celeron(R) N4000 CPU @ 1.10GHz, 1096.97 MHz, 06-7a-01 cpu0: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,SDBG,CX16,xTPR,PDCM,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,DEADLINE,AES,XSAVE,RDRAND,NXE,PAGE1GB,RDTSCP,LONG,LAHF,3DNOWP,PERF,ITSC,FSGSBASE,TSC_ADJUST,SGX,SMEP,ERMS,MPX,RDSEED,SMAP,CLFLUSHOPT,PT,SHA,UMIP,IBRS,IBPB,STIBP,SENSOR,ARAT,XSAVEOPT,XSAVEC,XGETBV1,XSAVES,MELTDOWN cpu0: 4MB 64b/line 16-way L2 cache cpu0: apic clock running at 19MHz cpu0: mwait min=64, max=64, C-substates=0.2.0.2.4.2.1.1, IBE cpu at mainbus0: not configured ioapic0 at mainbus0: apid 1 pa 0xfec0, version 20, 120 pins acpiprt0 at acpi0: bus 0 (PCI0) acpiprt1 at acpi0: bus -1 (RP01) acpiprt2 at acpi0: bus -1 (RP02) acpiprt3 at acpi0: bus 1 (RP03) acpiprt4 at acpi0: bus 2 (RP04) acpiprt5 at acpi0: bus -1 (RP05) acpiprt6 at acpi0: bus -1 (RP06) acpiec0 at acpi0: not present acpipci0 at acpi0 PCI0: 0x 0x0011 0x0001 "ALPS0001" at acpi0 not configured "WCOM508E" at acpi0 not configured "FS4304" at acpi0 not configured acpicmos0 at acpi0 "INT33A1" at acpi0 not configured "PNP0C14" at acpi0 not configured "PNP0C0C" at acpi0 not configured "USBC000" at acpi0 not configured "PNP0C14" at acpi0 not configured acpipwrres at acpi0 not configured acpipwrres at acpi0 not configured acpipwrres at acpi0 not configured acpipwrres at acpi0 not configured acpipwrres at acpi0 not configured acpipwrres at acpi0 not configured acpipwrres at acpi0 not configured acpicpu at acpi0 not configured acpitz at acpi0 not configured pci0 at mainbus0 bus 0 pchb0 at pci0 dev 0 function 0 "Intel Gemini Lake Host" rev 0x03 "Intel Gemini Lake GNA" rev 0x03 at pci0 dev 0 function 3 not configured "Intel UHD Graphics 600" rev 0x03 at pci0 dev 2 function 0 not configured "Intel Gemini Lake HD Audio" rev 0x03 at pci0 dev 14 function 0 not configured "Intel Gemini Lake MEI" rev 0x03 at pci0 dev 15 function 0 not configured ppb0 at pci0 dev 19 function 0 "Intel Gemini Lake PCIE" rev 0xf3: msi pci1 at ppb0 bus 1 re0 at pci1 dev 0 function 0 "Realtek 8168" rev 0x15: RTL8168H/8111H (0x5400), msi, address 04:0e:3c:12:53:85 rgephy0 at re0 phy 7: RTL8251 PHY, rev. 0 ppb1 at pci0 dev 19 function 1 "Intel Gemini Lake PCIE" rev 0xf3: msi pci2 at ppb1 bus 2 iwm0 at pci2 dev 0 function 0 "Intel Dual Band Wireless-AC 9260" rev 0x29, msix xhci0 at pci0 dev 21 function 0 "Intel Gemini Lake xHCI" rev 0x03: msi, xHCI 1.0 usb0 at xhci0: U
Re: HP T430 "Thin Client": Won't sysupgrade without HDMI monitor attached.
Florian Obser wrote: > So, if you end up with a /bsd.upgrade on the running system that is > still mode 0700, your bootloader is on the fritz. > > If you have a /bsd.upgrade that's 0600 your bootloader found the kernel > and tried to boot it, but the installer didn't get very far. > > If there is no /bsd.upgrade after a reboot and no email to root the > installer got rebooted by a watchdog process, otherwise you got an email > to root detailing the upgrade process. A very nice 3-way split. Then once you figure out which one of those 3 is happening, it is easy to reason about how to create further differentiations and see which is happening.
Re: HP T430 "Thin Client": Won't sysupgrade without HDMI monitor attached.
On 2022-05-06 12:00 -04, Nick Holland wrote: > here's a weird one. > > HP T430 Thin Client, reloaded with OpenBSD. > In it's intended use, it runs Linux in BIOS boot mode. OpenBSD's > installer will boot that way, but the kernel is unable to see the > 16g storage device. In UEFI boot mode, OpenBSD works well, > including running X. This machine has ONLY HDMI and DisplayPort > video connections (one each). There's no com port on the box for > an alternative view of what is going on. > > The problem comes when I put them to work without a monitor. > > The machine will boot fine, run fine...but sysupgrade fails to upgrade > the system. It downloads the intended files, it reboots, and a few > moments later, it's back up and running -- the old kernel. Plug an > HDMI monitor in, run sysupgrade again, and it sees the upgrade marker > and does the upgrade. Textbook Heisenbug :-/ > > For giggles, I did a sysupgrade -k (keep the files), let it reboot, > in the root directory was bsd.upgrade as expected. I copied Not realy, -k keeps stuff in /home/_sysupgrade. bsd.upgrade gets deleted by the installer. My guess is bsd.rd panics when there is not monitor plugged in. You could plug in a monitor to see why it panics, oh wait... :P > bsd.upgrade to /bsd, forcing it one way or another to run > bsd.upgrade ... and the result was a hung system. Never came back > after the reboot, no idea why. When I moved it to be near an HDMI > monitor, it promptly booted, complained about permissions on > bsd.upgrade, but upgraded perfectly (but I am not sure which of > the two copies of the kernel it used). > > What can I do to help provide info to determine what is going on > here? I can't debug this, but I can tell you a bit about the interaction between sysupgrade(8), the bootloader and the installer in bsd.rd. >From there you can figure out how for you got. sysupgrade downloads the sets into /home/_sysupgrade and verifies them. Then it creates /auto_upgrade.conf and installs /home/_sysupgrade/bsd.rd as /bsd.upgrade. so bsd.upgrade is a bsd.rd, there is nothing special about it. /bsd.upgrade is installed with mode 0700. Then it execs reboot. The bootloader checks if there is an executable(!) /bsd.upgrade available, if so it does a chmod u-x /bsd.upgrade and boots it. If not it consults /etc/boot.conf and boots /bsd or whatever /etc/boot.conf says. The installer then checks if this is an unattended upgrade by checking if bsd.upgrade and auto_upgrade.conf are present. If so it runs an unattended upgrade. Very early in that process, after checking the disks and mounting all partitions, the installer delets bsd.upgrade and auto_upgrade.conf. So, if you end up with a /bsd.upgrade on the running system that is still mode 0700, your bootloader is on the fritz. If you have a /bsd.upgrade that's 0600 your bootloader found the kernel and tried to boot it, but the installer didn't get very far. If there is no /bsd.upgrade after a reboot and no email to root the installer got rebooted by a watchdog process, otherwise you got an email to root detailing the upgrade process. -- I'm not entirely sure you are real.
HP T430 "Thin Client": Won't sysupgrade without HDMI monitor attached.
here's a weird one. HP T430 Thin Client, reloaded with OpenBSD. In it's intended use, it runs Linux in BIOS boot mode. OpenBSD's installer will boot that way, but the kernel is unable to see the 16g storage device. In UEFI boot mode, OpenBSD works well, including running X. This machine has ONLY HDMI and DisplayPort video connections (one each). There's no com port on the box for an alternative view of what is going on. The problem comes when I put them to work without a monitor. The machine will boot fine, run fine...but sysupgrade fails to upgrade the system. It downloads the intended files, it reboots, and a few moments later, it's back up and running -- the old kernel. Plug an HDMI monitor in, run sysupgrade again, and it sees the upgrade marker and does the upgrade. Textbook Heisenbug :-/ For giggles, I did a sysupgrade -k (keep the files), let it reboot, in the root directory was bsd.upgrade as expected. I copied bsd.upgrade to /bsd, forcing it one way or another to run bsd.upgrade ... and the result was a hung system. Never came back after the reboot, no idea why. When I moved it to be near an HDMI monitor, it promptly booted, complained about permissions on bsd.upgrade, but upgraded perfectly (but I am not sure which of the two copies of the kernel it used). What can I do to help provide info to determine what is going on here? Nick. OpenBSD 7.1-current (GENERIC.MP) #493: Tue May 3 12:14:02 MDT 2022 dera...@amd64.openbsd.org:/usr/src/sys/arch/amd64/compile/GENERIC.MP real mem = 1686781952 (1608MB) avail mem = 1618399232 (1543MB) random: good seed from bootblocks mpath0 at root scsibus0 at mpath0: 256 targets mainbus0 at root bios0 at mainbus0: SMBIOS rev. 2.8 @ 0x6a8a7000 (23 entries) bios0: vendor AMI version "N41 v01.06" date 03/14/2019 bios0: HP HP t430 Thin Client acpi0 at bios0: ACPI 6.1 acpi0: sleep states S0 S3 S4 S5 acpi0: tables DSDT FACP FPDT FIDT MCFG DBG2 DBGP HPET LPIT APIC NPKT SSDT SSDT SSDT SSDT SSDT SSDT SSDT SSDT UEFI DBGP SSDT WDAT NHLT WSMT acpi0: wakeup devices SIO1(S3) HDAS(S3) XHC_(S4) XDCI(S4) RP01(S4) PXSX(S4) RP02(S4) PXSX(S4) RP03(S4) PXSX(S4) RP04(S4) PXSX(S4) RP05(S4) PXSX(S4) RP06(S4) PXSX(S4) acpitimer0 at acpi0: 3579545 Hz, 32 bits acpimcfg0 at acpi0 acpimcfg0: addr 0xe000, bus 0-255 acpihpet0 at acpi0: 1920 Hz acpimadt0 at acpi0 addr 0xfee0: PC-AT compat cpu0 at mainbus0: apid 0 (boot processor) cpu0: Intel(R) Celeron(R) N4000 CPU @ 1.10GHz, 1096.97 MHz, 06-7a-01 cpu0: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,SDBG,CX16,xTPR,PDCM,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,DEADLINE,AES,XSAVE,RDRAND,NXE,PAGE1GB,RDTSCP,LONG,LAHF,3DNOWP,PERF,ITSC,FSGSBASE,TSC_ADJUST,SGX,SMEP,ERMS,MPX,RDSEED,SMAP,CLFLUSHOPT,PT,SHA,UMIP,MD_CLEAR,IBRS,IBPB,STIBP,SSBD,SENSOR,ARAT,XSAVEOPT,XSAVEC,XGETBV1,XSAVES,MELTDOWN cpu0: 4MB 64b/line 16-way L2 cache cpu0: smt 0, core 0, package 0 mtrr: Pentium Pro MTRR support, 10 var ranges, 88 fixed ranges cpu0: apic clock running at 19MHz cpu0: mwait min=64, max=64, C-substates=0.2.0.2.4.2.1.1, IBE cpu1 at mainbus0: apid 2 (application processor) cpu1: Intel(R) Celeron(R) N4000 CPU @ 1.10GHz, 1096.97 MHz, 06-7a-01 cpu1: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,SDBG,CX16,xTPR,PDCM,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,DEADLINE,AES,XSAVE,RDRAND,NXE,PAGE1GB,RDTSCP,LONG,LAHF,3DNOWP,PERF,ITSC,FSGSBASE,TSC_ADJUST,SGX,SMEP,ERMS,MPX,RDSEED,SMAP,CLFLUSHOPT,PT,SHA,UMIP,MD_CLEAR,IBRS,IBPB,STIBP,SSBD,SENSOR,ARAT,XSAVEOPT,XSAVEC,XGETBV1,XSAVES,MELTDOWN cpu1: 4MB 64b/line 16-way L2 cache cpu1: smt 0, core 1, package 0 ioapic0 at mainbus0: apid 1 pa 0xfec0, version 20, 120 pins acpiprt0 at acpi0: bus 0 (PCI0) acpiprt1 at acpi0: bus -1 (RP01) acpiprt2 at acpi0: bus -1 (RP02) acpiprt3 at acpi0: bus 1 (RP03) acpiprt4 at acpi0: bus 2 (RP04) acpiprt5 at acpi0: bus -1 (RP05) acpiprt6 at acpi0: bus -1 (RP06) acpiec0 at acpi0: not present acpipci0 at acpi0 PCI0: 0x 0x0011 0x0001 "ALPS0001" at acpi0 not configured "WCOM508E" at acpi0 not configured "FS4304" at acpi0 not configured acpicmos0 at acpi0 "INT33A1" at acpi0 not configured "PNP0C14" at acpi0 not configured acpibtn0 at acpi0: PWRB "USBC000" at acpi0 not configured "PNP0C14" at acpi0 not configured acpipwrres0 at acpi0: DRST acpipwrres1 at acpi0: DRST acpipwrres2 at acpi0: DRST acpipwrres3 at acpi0: DRST acpipwrres4 at acpi0: DRST acpipwrres5 at acpi0: DRST acpipwrres6 at acpi0: WRST acpicpu0 at acpi0: C1(@1 halt!), PSS acpicpu1 at acpi0: C1(@1 halt!), PSS acpitz0 at acpi0acpitz0: TZ01: failed to read _TMP acpitz0: TZ01: failed to read _TMP acpivideo0 at acpi0: GFX0 acpivout0 at acpivideo0: DD1F cpu0: Enhanced SpeedStep 1096 MHz: speeds: 1101, 1100, 1000, 900, 800 MHz pci0 at mainbus0 bus 0 pchb0 at pci0 dev 0 function