You are not logged in.
JFYI, the upstream developer has a how to build current release from sources for Debian based distros. Version 1.x is a bit old. [0]
Edit /etc/modprobe.d/iwlwifi.conf and change line
options iwlwifi enable_ini=N
to
options iwlwifi enable_ini=0
Thanks go to Janek, who posted fix to https://bugs.debian.org/cgi-bin/bugrepo … 1057260#76
At some point during boot you may be able to press F12 to select the device to boot from. It works here at least. If that works for you, what happens selecting to boot from the usb stick? I guess Secure Boot, Secure Chip and APM are disabled, right? Otherwise USB would not boot here, too. To get the installed Devuan to boot, I had to change the list of boot loaders.
I just got a Lenovo T14 Gen 2 and the BIOS looks like the one from Lenovo support in the first post. How does your BIOS look like? My BIOS can switch UI like graphical or text-mode or such. Maybe that was changed to text-mode, if yours does not look like mine, for example?
I just took images of the BIOS setup to remember myself in future what to disable, hah. In the Security menu, I just disabled Secure Boot, Secure Chip (TPM 2.0) and Absolute Persistence Module. To stop the Windows Bootloader to kick in, you edit the boot order located at "Startup > Boot ->" and move the items with F5 and F6 up and down. There, the Windows Bootloader is top of the list by default. I moved it to the bottom. You have to move the specific USB device, not one of USB HDD / CD / FDD, or the Debian Bootloader to the top. May these infos help you or anyone else having trouble with these Lenovos. It took some boot cycles for me to find out, hah. Another minor tip, change boot type to Diagnostics to see attached harddisks and USB disks at BIOS stage of boot and the needful info to press F1 to enter BIOS. I hate to guess the key to enter BIOSes, like F1 or F2 or Del or ....
Hi Head_on_a_Stick and thanks for your input! I did not know about the debug apt sources at that time. I guess there would have been a dbgsym package for mate-media, too. Well, now I can get Ubuntu packages installed on Debian based distros, hah.
The backtrace frames are empty like all the others, example snipped:
#22 0x00007ffff792c510 in () at /usr/lib/libgtk-3.so.0
#23 0x00007ffff792c709 in () at /usr/lib/libgtk-3.so.0
Mine have far more infos. I will check this evening, if I can get something out of the backtrace, heh. And yes, I reported my backtrace to the debian bug report.
Finally got a backtrace. I had played a bit with the bluetooth speaker, had cycled it on and off several times. Switched off in the end. A while later hovered the icon in the notification area on the panel.
If you got any better understanding on what frame and variables to inspect, let me know. I have it open for a while longer...
[Thread 0x7fffeffff6c0 (LWP 5100) exited]
(mate-volume-control-status-icon:2404): Gtk-WARNING **: 11:44:51.182: Calling gtk_widget_realize() on a widget that isn't inside a toplevel window is not going to work very well. Widgets must be inside a toplevel container before realizing them.
(mate-volume-control-status-icon:2404): GLib-GObject-CRITICAL **: 11:44:51.182: g_object_ref: assertion 'G_IS_OBJECT (object)' failed
(mate-volume-control-status-icon:2404): Gdk-CRITICAL **: 11:44:51.182: gdk_window_get_scale_factor: assertion 'GDK_IS_WINDOW (window)' failed
**
Gtk:ERROR:../../../gtk/gtkwidget.c:5875:gtk_widget_get_frame_clock: assertion failed: (window != NULL)
Bail out! Gtk:ERROR:../../../gtk/gtkwidget.c:5875:gtk_widget_get_frame_clock: assertion failed: (window != NULL)Thread 1 "mate-volume-con" received signal SIGABRT, Aborted.
0x00007ffff702accc in ?? () from /lib/x86_64-linux-gnu/libc.so.6
(gdb) bt full
#0 0x00007ffff702accc in () at /lib/x86_64-linux-gnu/libc.so.6
#1 0x00007ffff6fdbef2 in raise () at /lib/x86_64-linux-gnu/libc.so.6
#2 0x00007ffff6fc6472 in abort () at /lib/x86_64-linux-gnu/libc.so.6
#3 0x00007ffff719eec8 in g_assertion_message
(domain=<optimized out>, file=0x7ffff7ab9071 "../../../gtk/gtkwidget.c", line=<optimized out>, func=<optimized out>, message=<optimized out>) at ../../../glib/gtestutils.c:3256
lstr = "5875\000\177\000\000\000\202![\360ו\222\200H\333UUU\000\000\305y\253\367\377\177\000"
s = 0x555555d5d200 "m\240?"
#4 0x00007ffff71fee2a in g_assertion_message_expr
(domain=domain@entry=0x7ffff7a3f133 "Gtk", file=file@entry=0x7ffff7ab9071 "../../../gtk/gtkwidget.c", line=line@entry=5875, func=func@entry=0x7ffff7abd4f0 <__func__.214> "gtk_widget_get_frame_clock", expr=expr@entry=0x7ffff7ab79c5 "window != NULL") at ../../../glib/gtestutils.c:3282
s = 0x55555580d600 "assertion failed: (window != NULL)"
#5 0x00007ffff796a556 in gtk_widget_get_frame_clock (widget=widget@entry=0x555555b8d220 [GtkLabel])
at ../../../gtk/gtkwidget.c:5875
window = <optimized out>
__func__ = "gtk_widget_get_frame_clock"
#6 0x00007ffff797926f in gtk_widget_realize (widget=widget@entry=0x555555b8d220 [GtkLabel])
at ../../../gtk/gtkwidget.c:5545
priv = 0x555555b8d130
region = <optimized out>
__func__ = "gtk_widget_realize"
#7 0x00007ffff7979468 in gtk_widget_map (widget=0x555555b8d220 [GtkLabel]) at ../../../gtk/gtkwidget.c:5049
priv = 0x555555b8d130
__func__ = "gtk_widget_map"
#8 0x00007ffff76cd7c0 in gtk_box_forall
(container=<optimized out>, include_internals=<optimized out>, callback=0x7ffff771b240 <gtk_container_map_child>, callback_data=0x0) at ../../../gtk/gtkbox.c:2678
box = <optimized out>
priv = 0x555555ba8060
child = <optimized out>
children = 0x0
#9 0x00007ffff771f69f in gtk_container_map (widget=0x555555ba8190 [GtkBox]) at ../../../gtk/gtkcontainer.c:3697
#10 0x00007ffff72ce4e0 in _g_closure_invoke_va
(closure=closure@entry=0x5555555d7bb0, return_value=return_value@entry=0x0, instance=instance@entry=0x555555ba8190, args=args@entry=0x7fffffffd480, n_params=0, param_types=0x0) at ../../../gobject/gclosure.c:895
marshal = 0x7ffff72ccb60 <g_type_class_meta_marshalv>
marshal_data = 0xb8
in_marshal = 1
real_closure = 0x5555555d7b90
__func__ = "_g_closure_invoke_va"
#11 0x00007ffff72e7bbf in g_signal_emit_valist
(instance=0x555555ba8190, signal_id=38, detail=<optimized out>, var_args=var_args@entry=0x7fffffffd480)
at ../../../gobject/gsignal.c:3456
return_accu = <optimized out>accu = {g_type = 0x0, data = {{v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}}
accumulator = 0x0emission = {next = 0x7fffffffd6a0, instance = 0x555555ba8190, ihint = {signal_id = 38, detail = 0, run_type = (G_SIGNAL_RUN_FIRST | G_SIGNAL_ACCUMULATOR_FIRST_RUN)}, state = EMISSION_RUN, chain_type = 0x5555556d48b0 [GtkBox/GtkContainer/GtkWidget/GInitiallyUnowned]}
--Type <RET> for more, q to quit, c to continue without paging--
instance_type = <optimized out>emission_return = {g_type = 0x0, data = {{v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}}
rtype = 0x4 [void]
static_scope = 0
fastpath_handler = <optimized out>
closure = <optimized out>
run_type = <optimized out>
hlist = <optimized out>
l = <optimized out>
fastpath = <optimized out>
instance_and_params = <optimized out>
signal_return_type = <optimized out>
param_values = <optimized out>
node = <optimized out>
i = <optimized out>
n_params = <optimized out>
__func__ = "g_signal_emit_valist"
#12 0x00007ffff72e7dbf in g_signal_emit
(instance=instance@entry=0x555555ba8190, signal_id=<optimized out>, detail=detail@entry=0)
at ../../../gobject/gsignal.c:3606var_args = {{gp_offset = 24, fp_offset = 48, overflow_arg_area = 0x7fffffffd560, reg_save_area = 0x7fffffffd4a0}}
#13 0x00007ffff7979412 in gtk_widget_map (widget=widget@entry=0x555555ba8190 [GtkBox])
at ../../../gtk/gtkwidget.c:5051
priv = 0x555555ba80a0
__func__ = "gtk_widget_map"
#14 0x00007ffff7992480 in gtk_window_map (widget=0x5555557c4540 [GtkTooltipWindow]) at ../../../gtk/gtkwindow.c:6316
child = 0x555555ba8190 [GtkBox]
window = 0x5555557c4540 [GtkTooltipWindow]
priv = 0x5555557c42e0
gdk_window = <optimized out>
link = <optimized out>
display = <optimized out>
#15 0x00007ffff72ce5a9 in _g_closure_invoke_va
(closure=closure@entry=0x5555555d7bb0, return_value=return_value@entry=0x0, instance=instance@entry=0x5555557c4540, args=args@entry=0x7fffffffd7a0, n_params=0, param_types=0x0) at ../../../gobject/gclosure.c:895
marshal = 0x7ffff72ccb60 <g_type_class_meta_marshalv>
marshal_data = 0xb8
in_marshal = 0
real_closure = 0x5555555d7b90
__func__ = "_g_closure_invoke_va"
#16 0x00007ffff72e7bbf in g_signal_emit_valist
(instance=0x5555557c4540, signal_id=38, detail=<optimized out>, var_args=var_args@entry=0x7fffffffd7a0)
at ../../../gobject/gsignal.c:3456
return_accu = <optimized out>accu = {g_type = 0x0, data = {{v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}}
accumulator = 0x0--Type <RET> for more, q to quit, c to continue without paging--
emission = {next = 0x7fffffffd9d0, instance = 0x5555557c4540, ihint = {signal_id = 38, detail = 0, run_type = (G_SIGNAL_RUN_FIRST | G_SIGNAL_ACCUMULATOR_FIRST_RUN)}, state = EMISSION_RUN, chain_type = 0x555555bf4ee0 [GtkTooltipWindow/GtkWindow/GtkBin/GtkContainer/GtkWidget/GInitiallyUnowned]}
instance_type = <optimized out>emission_return = {g_type = 0x0, data = {{v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}}
rtype = 0x4 [void]
static_scope = 0
fastpath_handler = <optimized out>
closure = <optimized out>
run_type = <optimized out>
hlist = <optimized out>
l = <optimized out>
fastpath = <optimized out>
instance_and_params = <optimized out>
signal_return_type = <optimized out>
param_values = <optimized out>
node = <optimized out>
i = <optimized out>
n_params = <optimized out>
__func__ = "g_signal_emit_valist"
#17 0x00007ffff72e7dbf in g_signal_emit
(instance=instance@entry=0x5555557c4540, signal_id=<optimized out>, detail=detail@entry=0)
at ../../../gobject/gsignal.c:3606var_args = {{gp_offset = 24, fp_offset = 48, overflow_arg_area = 0x7fffffffd880, reg_save_area = 0x7fffffffd7c0}}
#18 0x00007ffff7979412 in gtk_widget_map (widget=widget@entry=0x5555557c4540 [GtkTooltipWindow])
at ../../../gtk/gtkwidget.c:5051
priv = 0x5555557c4450
__func__ = "gtk_widget_map"
#19 0x00007ffff7987fbb in gtk_window_show (widget=0x5555557c4540 [GtkTooltipWindow]) at ../../../gtk/gtkwindow.c:6211
window = 0x5555557c4540 [GtkTooltipWindow]
priv = 0x5555557c42e0
container = 0x5555557c4540 [GtkTooltipWindow]
is_plug = <optimized out>
#23 0x00007ffff72e7dbf in <emit signal ??? on instance 0x5555557c4540 [GtkTooltipWindow]>
(instance=instance@entry=0x5555557c4540, signal_id=<optimized out>, detail=detail@entry=0)
at ../../../gobject/gsignal.c:3606var_args = {{gp_offset = 24, fp_offset = 48, overflow_arg_area = 0x7fffffffdcc0, reg_save_area = 0x7fffffffdc00}}
#20 0x00007ffff72ce3b0 in g_closure_invoke
(closure=closure@entry=0x5555555c1e50, return_value=return_value@entry=0x0, n_param_values=1, param_values=param_values@entry=0x7fffffffda60, invocation_hint=invocation_hint@entry=0x7fffffffd9e0) at ../../../gobject/gclosure.c:832
marshal = 0x7ffff72ccca0 <g_type_class_meta_marshal>
marshal_data = 0xa0
in_marshal = 0
real_closure = 0x5555555c1e30
__func__ = "g_closure_invoke"
#21 0x00007ffff72e0d2d in signal_emit_unlocked_R
(node=node@entry=0x5555555c1ea0, detail=detail@entry=0, instance=instance@entry=0x5555557c4540, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7fffffffda60)
at ../../../gobject/gsignal.c:3726
--Type <RET> for more, q to quit, c to continue without paging--
accumulator = 0x0emission = {next = 0x0, instance = 0x5555557c4540, ihint = {signal_id = 36, detail = 0, run_type = (G_SIGNAL_RUN_FIRST | G_SIGNAL_ACCUMULATOR_FIRST_RUN)}, state = EMISSION_RUN, chain_type = 0x555555bf4ee0 [GtkTooltipWindow/GtkWindow/GtkBin/GtkContainer/GtkWidget/GInitiallyUnowned]}
class_closure = 0x5555555c1e50
hlist = <optimized out>
handler_list = <optimized out>
return_accu = 0x0accu = {g_type = 0x0, data = {{v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}}
signal_id = 36
max_sequential_handler_number = 2484
return_value_altered = <optimized out>
#22 0x00007ffff72e7bf5 in g_signal_emit_valist
(instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7fffffffdbe0) at ../../../gobject/gsignal.c:3549
instance_and_params = 0x7fffffffda60
signal_return_type = <optimized out>
param_values = 0x7fffffffda78
node = <optimized out>
i = <optimized out>
n_params = <optimized out>
__func__ = "g_signal_emit_valist"
#24 0x00007ffff7973186 in gtk_widget_show (widget=0x5555557c4540 [GtkTooltipWindow]) at ../../../gtk/gtkwidget.c:4852
parent = 0x0
__func__ = "gtk_widget_show"
#25 0x00007ffff7924e15 in gtk_tooltip_position
(device=<optimized out>, new_tooltip_widget=<optimized out>, display=0x555555688820 [GtkTrayIcon], tooltip=0x555555cac510 [GtkTooltip]) at ../../../gtk/gtktooltip.c:980
window = 0x555555bca030 [GdkX11Window]
screen = 0x5555555a2020 [GdkX11Screen]
anchor_rect = {x = -4, y = -4, width = 36, height = 32}
rect_anchor_dx = 0
cursor_size = 32
settings = <optimized out>
widget_window = <optimized out>
effective_toplevel = <optimized out>
toplevel = 0x555555688820 [GtkTrayIcon]
anchor_rect_padding = <optimized out>
x = 21
y = 15
screen = <optimized out>
device = <optimized out>
window = <optimized out>
tooltip_widget = 0x555555688820 [GtkTrayIcon]
tooltip = 0x555555cac510 [GtkTooltip]
return_value = <optimized out>
#26 gtk_tooltip_show_tooltip (display=display@entry=0x55555559c0e0 [GdkX11Display]) at ../../../gtk/gtktooltip.c:1050
x = 21
y = 15
screen = <optimized out>
--Type <RET> for more, q to quit, c to continue without paging--
device = <optimized out>
window = <optimized out>
tooltip_widget = 0x555555688820 [GtkTrayIcon]
tooltip = 0x555555cac510 [GtkTooltip]
return_value = <optimized out>
#27 0x00007ffff7925011 in tooltip_popup_timeout (data=<optimized out>) at ../../../gtk/gtktooltip.c:1128
display = 0x55555559c0e0 [GdkX11Display]
tooltip = 0x555555cac510 [GtkTooltip]
#28 0x00007ffff7526b47 in gdk_threads_dispatch (data=0x5555558f20e0) at ../../../gdk/gdk.c:769
dispatch = 0x5555558f20e0
ret = 0
#29 0x00007ffff71d619a in g_timeout_dispatch
(source=0x5555558c1f00, callback=<optimized out>, user_data=<optimized out>) at ../../../glib/gmain.c:5007
timeout_source = 0x5555558c1f00
again = <optimized out>
#30 0x00007ffff71d567f in g_main_dispatch (context=0x5555555c3b60) at ../../../glib/gmain.c:3444
dispatch = 0x7ffff71d6170 <g_timeout_dispatch>
prev_source = 0x0
begin_time_nsec = 0
was_in_call = 0
user_data = 0x5555558f20e0
callback = 0x7ffff7526b20 <gdk_threads_dispatch>
cb_funcs = <optimized out>
cb_data = 0x555555d0afd0
need_destroy = <optimized out>
source = 0x5555558c1f00
current = 0x5555556248c0
i = 0
__func__ = "g_main_dispatch"
#31 g_main_context_dispatch (context=0x5555555c3b60) at ../../../glib/gmain.c:4162
#32 0x00007ffff71d5a38 in g_main_context_iterate
(context=0x5555555c3b60, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>)
at ../../../glib/gmain.c:4238
max_priority = 2147483647
timeout = 500
some_ready = 1
nfds = <optimized out>
allocated_nfds = 5
fds = 0x55555561a1d0
#33 0x00007ffff71d5cef in g_main_loop_run (loop=0x5555556ef1f0) at ../../../glib/gmain.c:4438
__func__ = "g_main_loop_run"
#34 0x00007ffff7807bf5 in gtk_main () at ../../../gtk/gtkmain.c:1329
loop = 0x5555556ef1f0
#35 0x000055555555ac67 in main (argc=<optimized out>, argv=<optimized out>)
at ./mate-volume-control/status-icon-main.c:95
error = 0x0
status_icon = 0x555555819c30 [GvcStatusIcon]
app = 0x5555555cb220 [GApplication]entries = {{long_name = 0x55555556032a "version", short_name = 118 'v', flags = 0, arg = G_OPTION_ARG_NONE, arg_data = 0x555555564140 <show_version>, description = 0x555555560460 "Version of this application", arg_description = 0x0}, {long_name = 0x555555560483 "debug", short_name = 100 'd', flags = 0, arg = G_OPTION_ARG_NONE, arg_data = 0x55555556413c <debug>, description = 0x55555556047c "Enable debug", arg_description = 0x0}, {long_name = 0x0, short_name = 0 '\000', flags = 0, arg = G_OPTION_ARG_NONE, arg_data = 0x0, description = 0x0, arg_description = 0x0}}
(gdb)
Hi there, I recently updated to Devuan Daedalus and I realized today, that the volume control applet was missing from panel in my MATE desktop environment. Now then, mate-media, which packages the applet, is not available in Debian Bookworm for some crashing reason[0]. Luckily, I found compatible packages from Ubuntu Jammy Jellyfish[1].
$ ls -1 Downloads/deb/ubuntu/
mate-media_1.26.0-1_amd64.deb
mate-media-common_1.26.0-1_all.deb
mate-media-dbgsym_1.26.0-1_amd64.ddeb
And with some shell-foo I repackaged the Ubuntu deb files, removing the zstd compression.
$ cat Downloads/deb/transform_zst_to_xz.sh
#!/bin/bash
[ -f "${1}" ] || exit 1
case "${1}"
in
*.deb) ;;
*.ddeb) ;;
*) exit 2 ;;
esac
run()
{
local filepath="$(realpath "${1}")"
local filename="$(basename "${1}")"
local pkgname="${filename%\.*}"
mkdir "${pkgname}"
pushd "${pkgname}" || exit 3
ar x "${filepath}"
mkdir DEBIAN
tar -C DEBIAN --zstd -xf control.tar.zst
tar --zstd -xf data.tar.zst
rm -f control.tar.zst data.tar.zst debian-binary
popd >/dev/null
dpkg-deb --build "${pkgname}"
[ ${?} -eq 0 ] && rm -rf "${pkgname}"
}
run "${1}"
exit 0
Also get libglib and libgtk3 debug symbols from debug apt source[2]. See here:
$ cat /etc/apt/sources.list.d/debug.list
deb http://deb.debian.org/debian-debug/ bookworm-debug main
$ apt-get install libgtk-3-0-dbgsym libglib2.0-0-dbgsym
Finally, I can do
$ gdb /usr/bin/mate-volume-control-status-icon
and wait for the crash and get a more complete backtrace with infos from glib and gtk.
P.S.: There are several reports upstream and downstream, but all have missing symbols from glib and gtk. I had the very same backtrace, once, without information from glib and gtk data structures. Now, I am waiting for the next crash, which did not happen again.
[0] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=971783
[1] https://launchpad.net/ubuntu/+source/mate-media
[2] https://wiki.debian.org/AutomaticDebugPackages
I disabled the APT option to always install the recommended packages.
root@deiwl:~# cat /etc/apt/apt.conf.d/99synaptic
APT::Install-Recommends "false";
Pro With that, quite some useless packages and daemons/services will be gone that delay boot time a lot.
Con You have to configure some stuff manually then, like networking? Have that working before changing the APT settings. I use dhcpcd with dhcpcd-ui anyway, for example. So I cannot say for sure.
Be warned Meta packages will no longer work as they install all packages as recommended packages, like for your preferred desktop. You have to install a lot manually.
If you know what you need, you remove a lot of bloat and it feels just like Gentoo, but binary distro.
Updated dhcpcd to 9.4.1+1481aee for chimaera. And removed dhcpcd-ui, since debian updated to latest.
Just a heads-up. 91er ESR released in bookworm [0]. Bullseye 11.2 release [1] got an update of package rustc-mozilla to be able to build newer Firefox versions.
[0] https://packages.debian.org/search?keywords=firefox-esr
[1] https://www.debian.org/News/2021/20211218
I have installed the Ubuntu Focal build. Had some warnings during install that directories were not empty and therefore could not be removed. And alternatives were defect, therefore forcefully resetted. Profiles are put in ~/.mozilla/firefox-esr/ instead of ~/.mozilla/firefox/. Posting right now with the new version.
Have fun!
I am waiting for an updated firefox-esr package, too. One site tells me already, that version 78 is not supported anymore and have issues displaying the site properly.
Well, just a heads up. There is a build of 91.3.0 for Debian Bookworm based systems in Ubuntu PPA [0][1]. Let's see, if they do packages for older Debian releases.
UPDATE Ubuntu Focal > Debian Bullseye > Devuan Chimaera package is building. [2]
[0] https://launchpad.net/~mozillateam/+archive/ubuntu/ppa
[1] https://launchpad.net/~mozillateam/+arc … d/22363857
[2] https://launchpad.net/~mozillateam/+arc … d/22368822
Did you try nvidia drivers from backports / non-free?
See: https://pkginfo.devuan.org/cgi-bin/pack … 10~bpo10+1
And there are other packages for that from backports/non-free. That seems to be supported by kernel 5.10.
Yes, here it shuts down properly...
Last patch:
https://geki.selfhost.eu/hacks/1005-e10 … tach.patch
On a second thought, if your system entered sleep and e1000e called the pm_freeze function things could be corrupted, indeed. And next shutdown and start may go boom?! Another wild guess.
And for WoL, too tricky to patch actually. I just recommend you to set the ethtool disable WoL command early in boot process and not before shutdown. e heh. Just because we want it to stay put from the beginning.
And yes, with this I am out of thoughts....
You got that PCI REMOVE prints once out of dmesg? A normal shutdown would not enter S3? Though, I am out with that. :-D
I patch WOL and PM FREEZE detach thingie and that's it from me. :-)
A ha, and the dmesg output shows what for the freeze?
Since you got no pm tooling, I wonder who enters S3. Only one visible for now is /sbin/halt with its unsetted NETDOWN. If not that, it must be the kernel on its own, then?!
Anyone here knows about sleep state handling?
Well, you want to put NETDOWN=no into /etc/default/halt to disable WoL handling of /sbin/halt. Quite strange parameter to what it is doing in the end.
Though, you still want to disable WoL via ethtool. The more disabling, the better.
And yes, we want to disable WoL, too. We can get a patch to forcefully disable WoL by module parameter. I already spotted the flag in code, which activates WoL. We can, hypothetically for now, reset that in src/param.c, e heh. But even with that hypothetical patch, We want to disable WoL from /sbin/halt. And ethtool will be superfluous, then.
For disabling CONFIG_PM, you have to build your own kernel. There seems to be any pm tooling installed. Otherwise, I just can remind you not to use a 4.x kernel and neither kernel version < 5.5. Unless we see some NIC hang, I am mostly out of thoughts.
A last idea is to check /etc/init.d/halt for hddown= and netdown=, which you can disable by respective configuration settings from /etc/default/halt. In my box, netdown and hdown are set. You may set that configuration parameters, so that they are disabled. I put
read -p "Press enter to halt ($netdown $poweroff $hddown)" reply
before
halt -d -f $netdown $poweroff $hddown
to see what is set.
Just for the fun of it, check kernel commandline parameter[0] pcie_port_pm=off. Maybe that helps disabling sleep states for your pci express slots and NIC. There is also the parameter apm, I wonder. Maybe there is some suspend software installed in /etc/pm, /etc/apm or /etc/acpi and check for such in /etc/default.
Oh, and I remembered just now, if you got to the frozen "reboot: Power down", press Alt + SysRq (Print Screen key) + o for shutdown
See: http://blog.kember.net/articles/reisub- … x-restart/
Well, the /sys/power stuff belongs to Kernel CONFIG_PM I guess. Feel free to disable that. You may also try shutdown -h -P to halt and power off.
Just to verify:
# cat /etc/default/halt
# Default behaviour of shutdown -h / halt. Set to "halt" or "poweroff".
HALT=poweroff
That does not sound like an NIC (driver) issue. At least, if boot already goes noisy.
Then, we need the dmesg output to have a complete view.
Updated patch 1004. I hope I did not add a typo. Half asleep... Edit Compiled.
https://geki.selfhost.eu/hacks/1001-e10 … bled.patch
https://geki.selfhost.eu/hacks/1002-e10 … ages.patch
https://geki.selfhost.eu/hacks/1003-e10 … eeze.patch
https://geki.selfhost.eu/hacks/1004-e10 … s_v2.patch