Re: reboot hesitation on Pi3 running -current
- In reply to: Mark Millard : "Re: reboot hesitation on Pi3 running -current"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 28 Nov 2023 20:47:53 UTC
On Nov 28, 2023, at 12:35, Mark Millard <marklmi@yahoo.com> wrote:
> On Nov 28, 2023, at 12:27, Steve Rikli <sr@genyosha.net> wrote:
>
>> On Tue, Nov 28, 2023 at 12:00:08PM -0800, bob prohaska wrote:
>>> On Tue, Nov 28, 2023 at 09:05:59AM -0800, Steve Rikli wrote:
>>>> On Tue, Nov 28, 2023 at 08:15:30AM -0800, bob prohaska wrote:
>>>>> On Tue, Nov 28, 2023 at 07:20:03AM -0800, Mark Millard wrote:
>>>>>> On Nov 28, 2023, at 07:10, bob prohaska <fbsd@www.zefox.net> wrote:
>>>>>>
>>>>>>> A Pi3 running -current has taken to pausing during a shutdown
>>>>>>> -r in a strange way: It gets to:
>>>>>>>
>>>>>>> Hit [Enter] to boot immediately, or any other key for command
>>>>>>> prompt. Booting [/boot/kernel/kernel] in 5 second more
>>>>>>> detailed help.
>>>>>>>
>>>>>>> It then stops at the OK prompt:
>>>>>>>
>>>>>>> OK boot <---typing boot fails:
>>>>>>>
>>>>>>> unknown command <---this looks strange, the kernel should
>>>>>>> already be loaded
>>>>>>
>>>>>> A possibility here is garbage control characters, say before
>>>>>> the "boot". YOu might want to type just <return> to the first OK
>>>>>> prompt and see if you ever still get "unknown command" once you
>>>>>> do type just "boot" (and <return>).
>>>>>
>>>>> IIRC I've done that in the past with the same result, but memory
>>>>> is hazy and an attempt at a second shutdown -r came back up
>>>>> without hesitation.
>>>>>
>>>>> Another build/install cycle is running now, I'll be more careful
>>>>> next time.
>>>>>
>>>>>> The fact that the countdown stopped at 5 (or other early value)
>>>>>> suggests such extra text at that point.
>>>>>
>>>>> Rubbish on the serial console is a common occurence, but it usually
>>>>> shows up when the USB end is taken down and brought back up. In this
>>>>> case the USB end remained up throughout the reboot cycle, no stray
>>>>> characters were visible.
>>>>
>>>> This topic has come up before here, I believe.
>>>>
>>>> I can confirm the same or very similar behavior on rpi4, and there's no
>>>> USB-serial to disconnect on the remote end, rather an actual serial
>>>> console server which is always-on.
>>>
>>> That's a significant (I think) observation. I couldn't tell where the
>>> stray characters were originating and suspected the USB-serial
>>> adapter. Your experience suggests very strongly the trouble is local
>>> to the serial UART on the Pi or maybe wiring problems.
>>
>> I tend to agree. No USB-serial adapters involved in my setup. Wrt
>> "wiring problem", fwiw I've tried multiple cables and db9 hoods, with
>> both full-pins and 3-wire, no difference. All work as expected on other
>> systems (NUC, various x86 PC, the occasional network gear etc.).
>>
>>> Is it possible that the serial port of the monitoring devices occasionally
>>> echos output from the Pi's console back to the Pi? Seems to me it shouldn't,
>>> but sometimes I see fragments of a login prompt among the rubbish.
>>
>> I imagine it's possible but I doubt it's happening. I've swapped ports on
>> the serial console server as well JIC, again no change, and no other systems
>> or devices exhibit behavior like this.
>>
>>>> Unfortunately it's not consistent behavior, i.e. sometimes the reboot
>>>> proceeds uninterrupted. Sometimes typing 'boot' proceeds normally,
>>>> sometimes typing 'boot' errors and then typing it again proceeds as
>>>> normal.
>>>
>>> Does it sometimes reboot hands-off? Mine does, at least occasionally.
>>
>> Yes, sorry, that's what I meant by "sometimes reboot proceeds uninterrupted".
>>
>>>> I too have been thinking it's spurious chars on the serial console at
>>>> various points, but I've yet to find a common behavior or consistent
>>>> method to reproduce. This doesn't happen on my other serial consoles,
>>>> FreeBSD or Linux. I also don't think it happened early on when this
>>>> rpi4 was running raspbian for a brief time, but I didn't play with
>>>> that setup very long.
>>>>
>>>> So far I believe it's avoidable by not watching the serial console
>>>> during reboot, not necessary (I think) to disconnect the cable. But
>>>> obviously that defeats the purpose of the serial console vs. a blind
>>>> reboot.
>>>
>>> Hopefully "not watching" means disconnecting Rx and Tx from the GPIO
>>> pins. If it means not looking at the display it's a whole 'nother story!
>>>
>>> 8-)
>>
>> Nothing is ever physically disconnected from the rpi4, if that's what you
>> mean. Fyi my rpi4 serial console is via a "Serial Hat" which ultimately
>> connects the appropriate GPIO pins to a db9 connector accessible outside
>> the case, which is in-turn connected to my serial console server.
>>
>> "Not watching" in this context means I do not have an active connection
>> to the serial console server port which communicates with the rpi4 db9
>> serial port.
>>
>> Somewhat analagous to not running tip/cu/minicom from your laptop or
>> whatever system you use to connect to the rpi4 GPIO pins.
>>
>> Another note JIC: there are no keyboard, mouse, HDMI, or USB devices
>> connected to any of the rpi4 ports. Only power, the serial console and
>> a network cable. In that regard it is a neat little headless server,
>> but unfortunately I don't really want to use it in production due to
>> this issue.
>
> I'm going to remind of the known issue with U-Boot on the RPi*'s
> sometimes leading to odd serial connection behavior for the
> transition from U-Boot based UEFI handling the serial connection
> to the FreeBSD UEFI loader handling it.
>
I found some of the old text that referenced one of the examples
of a U-Boot -> Loader text oddity. Here it the 2023-mid-April
text:
QUOTE
But I can report that the prior <ESC>[6n (Query Cursor Position)
before the FreeBSD loader's OK prompt is during U-Boot activity:
part of the escpe sequences just after:
Device 0: Vendor: OWC Rev: 0 Prod: Envoy Pro mini
Type: Hard Disk
Capacity: 228936.5 MB = 223.5 GB (468862128 x 512)
... is now current device
Scanning usb 0:1...
This suggests that U-Boot failed to read/clear some of the
Report Cursor Position text --and that the loader accepts
what it finds already present (probably so that typing ahead
of time would work).
So: Looks to me like a probable U-Boot issue for which a
FreeBSD workaround to ignore text would have other
consequences (lack of effective typeahead for the loader
prompt).
END QUOTE
===
Mark Millard
marklmi at yahoo.com