Solved Monitor stopped working (after changing rotation). `EDID has corrupt header`. How do I fix? (And how can I even get a file with a *non*-corrupt EDID?)

Solved issue
that page says:
So what we do now? We need a Correct EDID binary file. We have options how to get it:

Find Correct EDID binary - Reuse existing ones
Generate new EDID binary - Generate from scratch

Find Correct EDID binary

Follow to to the github repo: https://github.com/linuxhw/EDID
...
EDID from scratch

It's certainly possible to generate EDID file from scratch on Linux systems but for now we won't follow this Venue. You may still google it though. You can find examples of generated EDID here: https://github.com/akatrevorjay/edid-generator

that first link: https://github.com/linuxhw/EDID

has a list of digital edid's on file in the repo: https://github.com/linuxhw/EDID/blob/master/DigitalDisplay.md

github says it's too big of a file to display, but the downloaded version has a few different listings for samsung smb2030:
Code:
| Samsung          | SAM063C | SMB2030          | 1600x900  | 19.9 | 2012 | [9385B9ADDC1B](<Digital/Samsung/SAM063C/9385B9ADDC1B>) |
| Samsung          | SAM063C | SMB2030          | 1600x900  | 19.9 | 2010 | [6BF01709A07E](<Digital/Samsung/SAM063C/6BF01709A07E>) |
| Samsung          | SAM063D | SMB2030          | 1600x900  | 19.9 | 2010 | [1588A19780A0](<Digital/Samsung/SAM063D/1588A19780A0>) |
 


github says it's too big of a file to display, but the downloaded version has a few different listings for samsung smb2030

... <facepalms> garr, of course, thank you. I didn't think to shorten it to "SM" when doing ctrl-f cuz I was just looking at the label on the monitor and it just says "SyncMaster",
but okay, that's at least one part of the problem solved!!

Thank you thank you!



EDIT:
Monitors are able to be "hot-swapped" with the computer on, so I doubt you've caused permanent damage. If you can't reset the monitor, replace your DVI/HDMI cable and/or adapter. Or at least unplug and replug them. It might help to leave unplugged for awhile to allow any stored capacitor voltages to drain.

(I almost didn't notice that you added that edit!)

But yeah, that's exactly what I thought! (ie that hot-swapping a monitor couldn't possibly cause such a problem.)

But according to what I've been able to google up,
it actually can
(under certain weird conditions I don't know whether or not anybody really understands?)
cause corruption to the data on the monitor itself,
which apparently is known to cause exactly the kind of problems I seem to be experiencing...

And yeah, like I said, I coincidentally already had the monitor unplugged for hours yesterday before testing it again today,
so obviously any capacitors would be already well discharged.
(
Plus, the EEPROM memory isn't volatile/transient like that anyway, right?
(I mean, otherwise monitors would "forget" how they're supposed to work if they were left unplugged for a while!)
)
 
We only have partial Markdown support, sadly. BBCode works.
 
Although if I didn't already have a system backup/restore tool set up,
setting one up now wouldn't help me with this anyway...
:rolleyes:
 
I believe some bios have a setting which affects rotation/monitors etc etc

No idea if this is one of them....maybe worth a look ?
 
But yeah, that's exactly what I thought! (ie that hot-swapping a monitor couldn't possibly cause such a problem.)

But according to what I've been able to google up,
it actually can
(under certain weird conditions I don't know whether or not anybody really understands?)
cause corruption to the data on the monitor itself,
which apparently is known to cause exactly the kind of problems I seem to be experiencing...
You may be on the right track, but my general experience tends toward simpler explanations for most problems. If at all possible, I would test your monitor on a different computer, using only a true DVI cable, and no adapter.


However, it seems that the menu button on my monitor is not bringing up the OSD. Maybe I need to plug it in to the computer for that to work?
The monitor should turn on and provide the menu without a computer, so this is a bad sign. Unplugging the power for 10 seconds or so should do a "soft reset" (according to another link about resetting Samsung monitors)... but you've done that.

I would try a few more times to unplug/replug the power and see if you can get to the menu. A factory reset might restore the "corrupt EDID headers" reported by dmesg.

Or... are the EDID headers really corrupt? Could dmesg also be indicating that the computer and monitor are just not properly communicating? That is... back to the cable and adapter as possible culprits, and my suggestion above to use a different computer, a different (DVI) cable, and no adapter.

At the end of the day, anything can fail, at any time... cables, adapters, output or input ports, or the monitor itself. The monitor may or may not be dead, but it may or may not have anything to do with you tinkering around with xrandr settings.

I have owned quite a few Samsung SyncMaster monitors or TV's and none have ever failed. I still have a couple left, but the rest I've given away. None ended up in the recycle heap.

I hope you can recover yours... good luck!
 
You may be on the right track, but my general experience tends toward simpler explanations for most problems.

Yeah, I'd generally agree, but I guess my intuition is kinda leaning towards this indeed actually being that EDID problem
(well, assuming it's fixable at all, and not just old hardware burning out some buried components that aren't practically fixable...)



I did get the OSD working,
and did the reset
(I think, anyway -- the onscreen feedback wasn't actually the clearest),
but it didn't help,
and I did end up needing to just reboot the computer again
|
And I'm pretty sure that it's adding in an additional complicating factor,
whether I'm looking at xorg or at a tty when I plug in the monitor,
but I can't think of any way to really work around that...
(
btw, when I'm working in a tty, I use a shell function that does this:
Code:
 export (systemctl --user show-environment | command grep '^XAUTHORITY=') #< for systemd
 export DISPLAY=:0.0
)



If at all possible, I would test your monitor on a different computer, using only a true DVI cable, and no adapter.

Well, I tested it on someone else's windows computer,
and windows didn't even recognize anything was plugged in...

I don't actually have any computers with a DVI output though
(in fact, I can't remember ever even seeing a DVI output on anything... maybe they were just never popular around here for some reason??)




So I messed around a bunch,
and it seems to be completely fixed now.

Like, set the display configuration back up the way I had it before,
tested rebooting, sleep/wake, and switching between xorg and tty's,
and I'm not getting any errors anymore
(
Well, on sleep-and-wake I got the messages:
Code:
 [Sat Aug 26 01:38:33 2023] [drm] Found smc ucode version: 0x00011200
 [Sat Aug 26 01:38:33 2023] [drm] PCIE GART of 1024M enabled (table at 0x0000000000162000).
 [Sat Aug 26 01:38:33 2023] radeon 0000:00:01.0: WB enabled
 [Sat Aug 26 01:38:33 2023] radeon 0000:00:01.0: fence driver on ring 0 use gpu addr 0x0000000020000c00
 [Sat Aug 26 01:38:33 2023] radeon 0000:00:01.0: fence driver on ring 3 use gpu addr 0x0000000020000c0c
 [Sat Aug 26 01:38:33 2023] radeon 0000:00:01.0: fence driver on ring 5 use gpu addr 0x0000000000072118
 [Sat Aug 26 01:38:33 2023] debugfs: File 'radeon_ring_gfx' in directory '0' already present!
 [Sat Aug 26 01:38:33 2023] debugfs: File 'radeon_ring_dma1' in directory '0' already present!
 [Sat Aug 26 01:38:33 2023] [drm] ring test on 0 succeeded in 0 usecs
 [Sat Aug 26 01:38:33 2023] [drm] ring test on 3 succeeded in 3 usecs
 [Sat Aug 26 01:38:33 2023] debugfs: File 'radeon_ring_uvd' in directory '0' already present!
but that was absolutely all,
and there were certainly no weird behaviors/freezing anymore.
)

Like, I don't understand any of this at all,
but since everything is apparently working normally now,
I'm just gonna accept that,
and just assume for now that the problem is solved.

Although I sure aint gonna bother trying to mess around with rotation again....



Anyway, everything else in this post below this is just the record of what I tried and what the results were.
I expect it's of no interest to anyone, but since I ended up writing it all anyway as I was going through the process, I guess I'll just include it.
















[LONG AND BORING:]

I guess I should try it with a VGA cable too, though, just for completeness's sake.

... yeah, VGA works fine on the windows computer.

VGA does not seem to work with my opensuse tumbleweed,
but that was a bug I had already encountered
(maybe with a different monitor? I forget the exact details...)

ie, I suspect VGA does work with eg the mxlinux live-usb, but I'll have to double-check later...

(
I suspect my VGA problems are from regression bugs in newer kernel (and/or maybe kde plasma specific stuff),
but man I don't want to mess around with distrohopping right now...
)



Welp, I'll just run xrandr now (ie while I have the VGA plugged in)
and see if xorg freaks out again,
and if I end up being forced to reboot again anyway,
I mayaswell test out the live-usb...

[Yeah, it bugged out and froze up.]



Tried the mxlinux live-usb,
and... now everything is working there?
(ie VGA and HDMI(DVI) output both working fine)

I did get some dmesg errors, but nowhere near as many...:
Code:
 1060   │ [ 2610.996826] EDID block 0 (tag 0x00) checksum is invalid, remainder is 168
 1061   │ [ 2610.996849]  [00] BAD  00 ff ff ff ff ff ff 00 4c 3d 3d 06 46 4b 54 5a
 1062   │ [ 2610.996855]  [00] BAD  23 15 01 03 80 2c 19 78 2a b8 11 a6 75 7b ff 27
 1063   │ [ 2610.996859]  [00] BAD  13 50 54 bf ee ff 7f 7f 81 00 9f 00 81 0f 95 0f
 1064   │ [ 2610.996862]  [00] BAD  01 01 01 01 01 01 3f 3f 7f ff 7f ff 67 3f 1f 70
 1065   │ [ 2610.996865]  [00] BAD  1f 00 fb f9 10 00 00 1e 00 00 00 ff 00 38 7f 1e
 1066   │ [ 2610.996869]  [00] BAD  51 0f 00 0a 20 20 20 20 3f 20 00 00 00 fc 00 53
 1067   │ [ 2610.996872]  [00] BAD  4d 42 32 30 33 3f 0a 3f 3f 3f 3f 3f 00 00 00 ff
 1068   │ [ 2610.996875]  [00] BAD  00 4f 5f 4d 7f 39 30 3f 3f 3f 3f 0f 3f 3f 01 ff
 1069   │ [ 2610.996885] [drm:radeon_dvi_detect [radeon]] *ERROR* HDMI-A-1: probed a monitor but no|invalid EDID
 1070   │ [ 2611.147920] [drm:radeon_dvi_detect [radeon]] *ERROR* HDMI-A-1: probed a monitor but no|invalid EDID
 1071   │ [ 2611.329950] [drm:radeon_dvi_detect [radeon]] *ERROR* HDMI-A-1: probed a monitor but no|invalid EDID
(I guess just the first time I plugged it in any never again?)

and:
Code:
 1073   │ [ 3627.320093] (my custom kmsg): about to try switching to a tty
 1074   │ [ 3636.496423] [drm:radeon_atom_pick_dig_encoder [radeon]] *ERROR* chosen encoder in use 0
 1075   │ [ 3675.726996] (my custom kmsg): and back

but yeah, those were just silent error messages,
without any accompanying weird behavior or freezing.

[
btw, neofetch output
Code:
 #mxlinux (working with laptop screen and hdmi)
  OS:        	MX x86_64
  Host:      	12003NG ThinkPad E525
  Kernel:    	6.0.0-6mx-amd64
  Shell:     	fish 3.1.2
  Resolution:	1366x768, 1600x900
  DE:        	Plasma 5.20.5
  WM:        	KWin
  Theme:     	adwaita-dark-amoled-master [GTK2/3]
  Icons:     	Papirus-mxbluedark [GTK2/3]
  Terminal:  	yakuake
  CPU:       	AMD A4-3300M APU (2) @ 1.900GHz
  GPU:       	AMD ATI Radeon HD 6480G
  Memory:    	3947MiB / 15475MiB

 #ostw (working with just hdmi)
  OS:        	openSUSE Tumbleweed x86_64
  Host:      	12003NG ThinkPad E525
  Kernel:    	6.4.11-1-default
  Packages:  	3374 (rpm), 48 (nix-default), 9 (flatpak)
  Shell:     	fish 3.6.1
  Resolution:	1600x900
  DE:        	Plasma 5.27.7
  WM:        	KWin
  WM Theme:  	Breeze
  Theme:     	[Plasma], Adwaita-dark [GTK2/3]
  Icons:     	[Plasma], breeze-dark [GTK2/3]
  Terminal:  	yakuake
  CPU:       	AMD A4-3300M APU (2) @ 1.900GHz
  GPU:       	AMD ATI Radeon HD 6480G
  Memory:    	2759MiB / 15452MiB
]



Guess now I'm back on opensuse I'll try plugging it in again
(before I spend a bunch of time setting my workspaces back up)

Gonna try VGA first, then the HDMI(DVI)...

VGA:
...
works

HMDI(DVI):
...
still messed up....

in tty, trying...:
#(1)
$ xrandr --verbose --output LVDS-1 --auto
#=>
Code:
		 crtc 0:     1366x768  60.04 +0+0 "LVDS-1"

#(2)
$ xrandr --verbose --output HDMI-1 --auto
#=>
Code:
		 screen 0: 2966x900 783x237 mm  96.09dpi
		 crtc 1:     1600x900  60.00 +1366+0 "HDMI-1"
		 crtc 0: disable
		 crtc 1: disable
		 screen 0: revert
		 crtc 0: revert
		 crtc 1: revert

...

moved back to xorg,
blindly copy-paste-enter into konsole:

$ xrandr --verbose --output HDMI-1 --auto
#=>
Code:
	 screen 0: 2966x900 783x237 mm  96.09dpi
	 crtc 1:     1600x900  60.00 +1366+0 "HDMI-1"

....

HA, IT'S FIXED??!!



... well, sorta, mostly.

After unplugging and re-plugging the VGA and HDMI a few times,
I still got weird freeze-ups
(mostly or entirely with the HDMI, I think?)

But it worked again to blindly enter into konsole
$ xrandr --verbose --output HDMI-1 --auto

Code:
 [Fri Aug 25 23:55:00 2023] EDID has corrupt header
 [Fri Aug 25 23:55:00 2023]	[00] BAD  ff ff ff ff ff ff 00 7f 3f 3f 06 7f 7b 5f 7f 23
 [Fri Aug 25 23:55:00 2023]	[00] BAD  1d 01 03 80 2c 19 78 3a f8 11 fe 55 4b 9b 27 13
 [Fri Aug 25 23:55:00 2023]	[00] BAD  50 54 bf ef 80 71 4f 81 00 95 00 81 0f 95 0f 01
 [Fri Aug 25 23:55:00 2023]	[00] BAD  01 01 01 01 01 30 2a 40 c8 60 fc 64 30 18 50 13
 [Fri Aug 25 23:55:00 2023]	[00] BAD  00 bb f9 10 00 00 1f 00 00 00 ff 00 38 4b 1e 7f
 [Fri Aug 25 23:55:00 2023]	[00] BAD  0f 00 0f 3f 3f 3f 20 20 3f 00 00 00 ff 00 5f 4d
 [Fri Aug 25 23:55:00 2023]	[00] BAD  7e 3f 30 33 3f 0a 20 20 20 20 20 00 00 00 ff 00
 [Fri Aug 25 23:55:00 2023]	[00] BAD  48 56 4d 42 39 30 30 32 30 31 0a 20 20 01 b7 02
 [Fri Aug 25 23:55:00 2023] [drm:radeon_dvi_detect [radeon]] *ERROR* HDMI-A-1: probed a monitor but no|invalid EDID
 [Fri Aug 25 23:55:01 2023] EDID block 0 (tag 0x00) checksum is invalid, remainder is 130
 [Fri Aug 25 23:55:01 2023] [drm:radeon_dvi_detect [radeon]] *ERROR* HDMI-A-1: probed a monitor but no|invalid EDID
 [Fri Aug 25 23:55:01 2023] EDID block 0 (tag 0x00) checksum is invalid, remainder is 105
 [Fri Aug 25 23:55:01 2023] EDID block 0 (tag 0x00) checksum is invalid, remainder is 51
 [Fri Aug 25 23:55:01 2023] [drm:radeon_dvi_detect [radeon]] *ERROR* HDMI-A-1: probed a monitor but no|invalid EDID
 [Fri Aug 25 23:55:01 2023] EDID block 0 (tag 0x00) checksum is invalid, remainder is 196
 [Fri Aug 25 23:55:01 2023] [drm:radeon_dvi_detect [radeon]] *ERROR* HDMI-A-1: probed a monitor but no|invalid EDID
 [Fri Aug 25 23:55:32 2023] [drm:atom_op_jump [radeon]] *ERROR* atombios stuck in loop for more than 5secs aborting
 [Fri Aug 25 23:55:32 2023] [drm:atom_execute_table_locked [radeon]] *ERROR* atombios stuck executing C074 (len 205, WS 0, PS 0) @ 0xC090
 [Fri Aug 25 23:55:37 2023] [drm:atom_op_jump [radeon]] *ERROR* atombios stuck in loop for more than 5secs aborting
 [Fri Aug 25 23:55:37 2023] [drm:atom_execute_table_locked [radeon]] *ERROR* atombios stuck executing C074 (len 205, WS 0, PS 0) @ 0xC090
 [Fri Aug 25 23:55:37 2023] [drm:atom_execute_table_locked [radeon]] *ERROR* atombios stuck executing BB1E (len 816, WS 0, PS 0) @ 0xBB56
 [Fri Aug 25 23:55:42 2023] [drm:atom_op_jump [radeon]] *ERROR* atombios stuck in loop for more than 5secs aborting
 [Fri Aug 25 23:55:42 2023] [drm:atom_execute_table_locked [radeon]] *ERROR* atombios stuck executing C074 (len 205, WS 0, PS 0) @ 0xC090
 [Fri Aug 25 23:55:47 2023] [drm:atom_op_jump [radeon]] *ERROR* atombios stuck in loop for more than 5secs aborting
 [Fri Aug 25 23:55:47 2023] [drm:atom_execute_table_locked [radeon]] *ERROR* atombios stuck executing C074 (len 205, WS 0, PS 0) @ 0xC090
 [Fri Aug 25 23:55:47 2023] [drm:atom_execute_table_locked [radeon]] *ERROR* atombios stuck executing BB1E (len 816, WS 0, PS 0) @ 0xBB56
 [Fri Aug 25 23:57:13 2023] [drm:atom_op_jump [radeon]] *ERROR* atombios stuck in loop for more than 5secs aborting
 [Fri Aug 25 23:57:13 2023] [drm:atom_execute_table_locked [radeon]] *ERROR* atombios stuck executing C074 (len 205, WS 0, PS 0) @ 0xC090
 [Fri Aug 25 23:57:18 2023] [drm:atom_op_jump [radeon]] *ERROR* atombios stuck in loop for more than 5secs aborting
 [Fri Aug 25 23:57:18 2023] [drm:atom_execute_table_locked [radeon]] *ERROR* atombios stuck executing C074 (len 205, WS 0, PS 0) @ 0xC090
 [Fri Aug 25 23:57:18 2023] [drm:atom_execute_table_locked [radeon]] *ERROR* atombios stuck executing BB1E (len 816, WS 0, PS 0) @ 0xBB56
 [Fri Aug 25 23:59:22 2023] mckmsg(my_custom_kernel_message): in tty, after plugging in hdmi
 [Sat Aug 26 00:00:19 2023] [drm:atom_op_jump [radeon]] *ERROR* atombios stuck in loop for more than 5secs aborting
 [Sat Aug 26 00:00:19 2023] [drm:atom_execute_table_locked [radeon]] *ERROR* atombios stuck executing C074 (len 205, WS 0, PS 0) @ 0xC090
 [Sat Aug 26 00:00:24 2023] [drm:atom_op_jump [radeon]] *ERROR* atombios stuck in loop for more than 5secs aborting
 [Sat Aug 26 00:00:24 2023] [drm:atom_execute_table_locked [radeon]] *ERROR* atombios stuck executing C074 (len 205, WS 0, PS 0) @ 0xC090
 [Sat Aug 26 00:00:24 2023] [drm:atom_execute_table_locked [radeon]] *ERROR* atombios stuck executing BB1E (len 816, WS 0, PS 0) @ 0xBB56
 [Sat Aug 26 00:05:46 2023] [drm:atom_op_jump [radeon]] *ERROR* atombios stuck in loop for more than 5secs aborting
 [Sat Aug 26 00:05:46 2023] [drm:atom_execute_table_locked [radeon]] *ERROR* atombios stuck executing C074 (len 205, WS 0, PS 0) @ 0xC090
 [Sat Aug 26 00:05:51 2023] [drm:atom_op_jump [radeon]] *ERROR* atombios stuck in loop for more than 5secs aborting
 [Sat Aug 26 00:05:51 2023] [drm:atom_execute_table_locked [radeon]] *ERROR* atombios stuck executing C074 (len 205, WS 0, PS 0) @ 0xC090
 [Sat Aug 26 00:05:51 2023] [drm:atom_execute_table_locked [radeon]] *ERROR* atombios stuck executing BB1E (len 816, WS 0, PS 0) @ 0xBB56
 [Sat Aug 26 00:07:39 2023] mckmsg(my_custom_kernel_message): hdmi fixed???
 [Sat Aug 26 00:33:40 2023] mckmsg(my_custom_kernel_message): about to unplug hdmi
 [Sat Aug 26 00:36:05 2023] [drm:radeon_atom_pick_dig_encoder [radeon]] *ERROR* chosen encoder in use 1
 [Sat Aug 26 00:36:06 2023] [drm:radeon_atom_pick_dig_encoder [radeon]] *ERROR* chosen encoder in use 0
 [Sat Aug 26 00:36:45 2023] mckmsg(my_custom_kernel_message): ^ that was me switching from xorg to tty with vga plugged in
 [Sat Aug 26 00:37:15 2023] mckmsg(my_custom_kernel_message): gonna unplug vga
 [Sat Aug 26 00:38:01 2023] mckmsg(my_custom_kernel_message): (^ no dmesg messages for switching from xorg to tty and back)
 [Sat Aug 26 00:38:11 2023] mckmsg(my_custom_kernel_message): gonna plug in hdmi
 [Sat Aug 26 00:38:18 2023] [drm:radeon_dvi_detect [radeon]] *ERROR* HDMI-A-1: probed a monitor but no|invalid EDID
 [Sat Aug 26 00:38:18 2023] EDID block 0 (tag 0x00) checksum is invalid, remainder is 235
 [Sat Aug 26 00:38:18 2023] [drm:radeon_dvi_detect [radeon]] *ERROR* HDMI-A-1: probed a monitor but no|invalid EDID
 [Sat Aug 26 00:38:18 2023] EDID block 0 (tag 0x00) checksum is invalid, remainder is 56
 [Sat Aug 26 00:38:18 2023] EDID block 0 (tag 0x00) checksum is invalid, remainder is 146
 [Sat Aug 26 00:38:18 2023] [drm:radeon_dvi_detect [radeon]] *ERROR* HDMI-A-1: probed a monitor but no|invalid EDID
 [Sat Aug 26 00:38:19 2023] EDID block 0 (tag 0x00) checksum is invalid, remainder is 2
 [Sat Aug 26 00:40:08 2023] [drm:radeon_atom_pick_dig_encoder [radeon]] *ERROR* chosen encoder in use 1
 [Sat Aug 26 00:40:13 2023] [drm:atom_op_jump [radeon]] *ERROR* atombios stuck in loop for more than 5secs aborting
 [Sat Aug 26 00:40:13 2023] [drm:atom_execute_table_locked [radeon]] *ERROR* atombios stuck executing C074 (len 205, WS 0, PS 0) @ 0xC090
 [Sat Aug 26 00:40:18 2023] [drm:atom_op_jump [radeon]] *ERROR* atombios stuck in loop for more than 5secs aborting
 [Sat Aug 26 00:40:18 2023] [drm:atom_execute_table_locked [radeon]] *ERROR* atombios stuck executing C074 (len 205, WS 0, PS 0) @ 0xC090
 [Sat Aug 26 00:40:18 2023] [drm:atom_execute_table_locked [radeon]] *ERROR* atombios stuck executing BB1E (len 816, WS 0, PS 0) @ 0xBD1F
 [Sat Aug 26 00:40:18 2023] [drm:radeon_dvi_detect [radeon]] *ERROR* HDMI-A-1: probed a monitor but no|invalid EDID
 [Sat Aug 26 00:40:45 2023] mckmsg(my_custom_kernel_message): froze up, switched to tty
 [Sat Aug 26 00:43:04 2023] [drm:atom_op_jump [radeon]] *ERROR* atombios stuck in loop for more than 5secs aborting
 [Sat Aug 26 00:43:04 2023] [drm:atom_execute_table_locked [radeon]] *ERROR* atombios stuck executing C074 (len 205, WS 0, PS 0) @ 0xC090
 [Sat Aug 26 00:43:09 2023] [drm:atom_op_jump [radeon]] *ERROR* atombios stuck in loop for more than 5secs aborting
 [Sat Aug 26 00:43:09 2023] [drm:atom_execute_table_locked [radeon]] *ERROR* atombios stuck executing C074 (len 205, WS 0, PS 0) @ 0xC090
 [Sat Aug 26 00:43:09 2023] [drm:atom_execute_table_locked [radeon]] *ERROR* atombios stuck executing BB1E (len 816, WS 0, PS 0) @ 0xBB56
 [Sat Aug 26 00:45:09 2023] [drm:atom_op_jump [radeon]] *ERROR* atombios stuck in loop for more than 5secs aborting
 [Sat Aug 26 00:45:09 2023] [drm:atom_execute_table_locked [radeon]] *ERROR* atombios stuck executing C074 (len 205, WS 0, PS 0) @ 0xC090
 [Sat Aug 26 00:45:14 2023] [drm:atom_op_jump [radeon]] *ERROR* atombios stuck in loop for more than 5secs aborting
 [Sat Aug 26 00:45:14 2023] [drm:atom_execute_table_locked [radeon]] *ERROR* atombios stuck executing C074 (len 205, WS 0, PS 0) @ 0xC090
 [Sat Aug 26 00:45:14 2023] [drm:atom_execute_table_locked [radeon]] *ERROR* atombios stuck executing BB1E (len 816, WS 0, PS 0) @ 0xBB56
 [Sat Aug 26 00:46:52 2023] [drm:atom_op_jump [radeon]] *ERROR* atombios stuck in loop for more than 5secs aborting
 [Sat Aug 26 00:46:52 2023] [drm:atom_execute_table_locked [radeon]] *ERROR* atombios stuck executing C074 (len 205, WS 0, PS 0) @ 0xC090
 [Sat Aug 26 00:46:57 2023] [drm:atom_op_jump [radeon]] *ERROR* atombios stuck in loop for more than 5secs aborting
 [Sat Aug 26 00:46:57 2023] [drm:atom_execute_table_locked [radeon]] *ERROR* atombios stuck executing C074 (len 205, WS 0, PS 0) @ 0xC090
 [Sat Aug 26 00:46:57 2023] [drm:atom_execute_table_locked [radeon]] *ERROR* atombios stuck executing BB1E (len 816, WS 0, PS 0) @ 0xBB56
 [Sat Aug 26 00:47:40 2023] [drm:atom_op_jump [radeon]] *ERROR* atombios stuck in loop for more than 5secs aborting
 [Sat Aug 26 00:47:40 2023] [drm:atom_execute_table_locked [radeon]] *ERROR* atombios stuck executing C074 (len 205, WS 0, PS 0) @ 0xC090
 [Sat Aug 26 00:47:45 2023] [drm:atom_op_jump [radeon]] *ERROR* atombios stuck in loop for more than 5secs aborting
 [Sat Aug 26 00:47:45 2023] [drm:atom_execute_table_locked [radeon]] *ERROR* atombios stuck executing C074 (len 205, WS 0, PS 0) @ 0xC090
 [Sat Aug 26 00:47:45 2023] [drm:atom_execute_table_locked [radeon]] *ERROR* atombios stuck executing BB1E (len 816, WS 0, PS 0) @ 0xBB56
 [Sat Aug 26 00:48:36 2023] [drm:atom_op_jump [radeon]] *ERROR* atombios stuck in loop for more than 5secs aborting
 [Sat Aug 26 00:48:36 2023] [drm:atom_execute_table_locked [radeon]] *ERROR* atombios stuck executing C074 (len 205, WS 0, PS 0) @ 0xC090
 [Sat Aug 26 00:48:41 2023] [drm:atom_op_jump [radeon]] *ERROR* atombios stuck in loop for more than 5secs aborting
 [Sat Aug 26 00:48:41 2023] [drm:atom_execute_table_locked [radeon]] *ERROR* atombios stuck executing C074 (len 205, WS 0, PS 0) @ 0xC090
 [Sat Aug 26 00:48:41 2023] [drm:atom_execute_table_locked [radeon]] *ERROR* atombios stuck executing BB1E (len 816, WS 0, PS 0) @ 0xBB56
 [Sat Aug 26 00:53:18 2023] mckmsg(my_custom_kernel_message): ... aaand we're back (after blindly entering into konsole in xorg ${xrandr --verbose --output HDMI-1 --auto}
 [Sat Aug 26 01:01:22 2023] mckmsg(my_custom_kernel_message): gonna unplug hmdi again
 [Sat Aug 26 01:03:23 2023] mckmsg(my_custom_kernel_message): hdmi plugged back in, no problems
 [Sat Aug 26 01:03:35 2023] mckmsg(my_custom_kernel_message): gonna try switching to tty
 [Sat Aug 26 01:04:57 2023] mckmsg(my_custom_kernel_message): switched back and forth between xorg and tty a few times. no problems at all?

Then I unplugged the hdmi,
I think tried entering again like
$ xrandr --verbose --output HDMI-1 --auto
and
$ xrandr --verbose --output HDMI-1 --mode 1600x900 --refresh 60.00
and then replugged the hdmi,
and now... it seems to be working completely??

Even switched back and forth between xorg and the tty's a bunch,
and now I'm getting no errors in dmesg??

I dunno, I don't understand any of this at all,
but if everything is apparently working normally now,
I guess I'll just accept that
and just assume for now the problem is solved..?

Although I guess I should test nothing weird happens after a reboot
or waking it up from sleep/suspend...



... Yeah, everything really does seem to be working now??
Rebooting, sleep-wake, and doing tty-switches,
absolutely no problems.
(
On sleep-and-wake I got the messages:
Code:
 [Sat Aug 26 01:38:33 2023] [drm] Found smc ucode version: 0x00011200
 [Sat Aug 26 01:38:33 2023] [drm] PCIE GART of 1024M enabled (table at 0x0000000000162000).
 [Sat Aug 26 01:38:33 2023] radeon 0000:00:01.0: WB enabled
 [Sat Aug 26 01:38:33 2023] radeon 0000:00:01.0: fence driver on ring 0 use gpu addr 0x0000000020000c00
 [Sat Aug 26 01:38:33 2023] radeon 0000:00:01.0: fence driver on ring 3 use gpu addr 0x0000000020000c0c
 [Sat Aug 26 01:38:33 2023] radeon 0000:00:01.0: fence driver on ring 5 use gpu addr 0x0000000000072118
 [Sat Aug 26 01:38:33 2023] debugfs: File 'radeon_ring_gfx' in directory '0' already present!
 [Sat Aug 26 01:38:33 2023] debugfs: File 'radeon_ring_dma1' in directory '0' already present!
 [Sat Aug 26 01:38:33 2023] [drm] ring test on 0 succeeded in 0 usecs
 [Sat Aug 26 01:38:33 2023] [drm] ring test on 3 succeeded in 3 usecs
 [Sat Aug 26 01:38:33 2023] debugfs: File 'radeon_ring_uvd' in directory '0' already present!
but that was absolutely all.
)

So I guess I'll call that fixed?

Although I sure aint gonna bother trying to mess around with rotation again....
 
Last edited:
... Yeah, everything really does seem to be working now??
Rebooting, sleep-wake, and doing tty-switches,
absolutely no problems.
Awesome, glad it's working again! Well done! :cool:

If you would, please go back and edit the Title of the thread... I think there is a "dropdown box" that allows you to mark the thread as "Solved." Thanks!
 
Awesome, glad it's working again! Well done! :cool:

Hey, don't say that to me -- as far as I can tell, mxlinux solved the problem for me somehow,
which I wasn't expecting and still find utterly baffling.

If you would, please go back and edit the Title of the thread... I think there is a "dropdown box" that allows you to mark the thread as "Solved." Thanks!

I thought I did already set it as "solved?" It's showing up that way to me, at least...?
 
I thought I did already set it as "solved?" It's showing up that way to me, at least...?
Oops, sorry... I must have missed it. But I see it now. Thanks!


Hey, don't say that to me -- as far as I can tell, mxlinux solved the problem for me somehow,
which I wasn't expecting and still find utterly baffling.
MX Linux magic is pretty powerful, but maybe the reset and reboot helped too? And your persistence! ;)
 
Last edited:
maybe the reset and reboot helped too?

I dunno, I did a lot of rebooting and resetting before that, and it was only after I tried it under mxlinux that anything seemed to actually change...






Anyway, I think these are all my notes on useful things I learned / set up / improved / got more comfortable with while fixing this:




fishfunction for getting your own custom marker messages to show up in dmesg output
Code:
 function mckmsg --description 'My Custom Kernel Message'
 	echo (string join '' 'mckmsg(my_custom_kernel_message): ' "$argv") | sudo tee /dev/kmsg
 end
usage:
$ mckmsg "Here's where I did [foo]:"

(
btw,
dmesg -W (uppercase W) waits and prints any new messages that come after that point,
while dmesg -w (lowercase w) prints everything that's already happened first, and then acts the same as dmesg -W

Oh yeah, and
$ journalctl -b -1 gets the dmesg output etc from the previous boot
)




$ xrandr --query
$ xrandr --query --verbose
and
$ xrandr --verbose --output HDMI-1 --auto
$ xrandr --verbose --output HDMI-1 --mode 1600x900 --refresh 60.00
(
also, I saved that for myself in a fishfunction
Code:
 function xh -d 'xrandr hdmi'
 	xrandr --verbose --output HDMI-1 --mode 1600x900 --refresh 60.00
 end
)




fishfunction for making sure you can do stuff from a tty more or less the same as from a terminal in xorg:
Code:
 function export_xauthority
	# note: "systemctl" is for systemd
	export (systemctl --user show-environment | command grep '^XAUTHORITY=')
	export DISPLAY=:0.0
 end
usage: just call in a tty
$ export_xauthority




added logic to my shell prompt to tell me when I'm in a tty,
and which one I'm in,
by adding to fishfunction "fish_prompt.fish":
Code:
 #[...]
	# logic for getting
		set -l part_tty ''
		set -l tty_var (tty)
		if string match -raq '^/dev/(tty.+)$' $tty_var
			set part_tty (string match -rag '^/dev/(tty.+)$' $tty_var)' '
		else if string match -raq '^/dev/(pts.+)$' $tty_var
			# do nothing
		else
			# do nothing
		end

 #[...]
	# and then for printing, i then just include that ($part_tty) with the other stuff i echo for my prompt, like:
		set -l line2	(string join ''	              	\
		            	               	$part_hostname	\
		            	               	' '           	\
		            	               	$part_tty     	\
		            	               	$part_ssh     	\
		            	               	$part_pwd     	
		            	)
	# (the part where it gets printed/echo'd is actually later)
 #[...]




Oh yeah, and I kinda did this earlier, but:
fishfunction for making sure my external keyboard actually works as a US layout
(rather than the german layout on the physical laptop keyboard)
in both xorg and in tty's
(and also reset the key repeat rate back to normal in xorg if it gets reset):
Code:
 function kbm -d "set keyboardmap layout (not just setxkbmap)"
	#
		set -l	switch_to $argv
		set   	switch_to (echo "$switch_to" | string_lower)
		switch	    	"$argv"
		      	case	"us" 'en'	;	                      	                                   	                  	
		      	    	         	 	sudo sed -ri          	's|(^KEYMAP=).+?$|\1us|'           	/etc/vconsole.conf	
		      	    	         	 	sudo sed -ri          	's|(^XKBLAYOUT=).+?$|\1us|'        	/etc/vconsole.conf	
		      	    	         	 	sudo loadkeys         	                                   	us                	
		      	    	         	 	DISPLAY=:0.0 setxkbmap	                                   	us                	
		      	case	"de"     	;	                      	                                   	                  	
		      	    	         	 	sudo sed -ri          	's|(^KEYMAP=).+?$|\1de-nodeadkeys|'	/etc/vconsole.conf	
		      	    	         	 	sudo sed -ri          	's|(^XKBLAYOUT=).+?$|\1de|'        	/etc/vconsole.conf	
		      	    	         	 	sudo loadkeys         	                                   	de                	
		      	    	         	 	DISPLAY=:0.0 setxkbmap	                                   	de                	
		      	case	""       	;	
		      	    	         	 	sce red "# error bad arg ( $switch_to )"
		      	    	         	 	return 1
		      	case	"*"      	;	
		      	    	         	 	sce red "# error bad arg ( $switch_to )"
		      	    	         	 	return 1
		end
	#
			DISPLAY=:0.0 xset r rate 300 100
 end
usage:
$ kbm de
or
$ kbm us
(or $ kbm en if I forget the name is actually us not en)
 
Last edited:
btw,
dmesg -W (uppercase W) waits and prints any new messages that come after that point,
while dmesg -w (lowercase w) prints everything that's already happened first, and then acts the same as dmesg -W
thanks for sharing that. i hadn't come across or used the -W option for dmesg before. that is much more efficient when the new stuff is all i am looking for.
 
thanks for sharing that. i hadn't come across or used the -W option for dmesg before. that is much more efficient when the new stuff is all i am looking for.
oh yeah, and there's an android app you can get with F-Droid, ConnectBot, that was handy for ssh-ing in cuz i don't have a second proper computer right now...
 
one of these days i'll get around to figuring out ssh and hopefully scp. for now since i don't need anything like that often, i use Warpinator on android, mx linux and linux mint to just transfer the odd file here or there.
 
one of these days i'll get around to figuring out ssh and hopefully scp. for now since i don't need anything like that often, i use Warpinator on android, mx linux and linux mint to just transfer the odd file here or there.

If you have more than one computer,
you should DEFINITELY try out ssh!
It's way easier than you think it is!

(
And sshfs is also awesome
-- it lets you mount stuff on another computer (even all the way up to its root),
and then just treat it exactly as though it was a directory on the local computer.

As for scp, I only used it like once or twice,
because I ended up using rsync instead,
and as far as I know it's strictly better
(or rather, I mostly use it through its python wrapper rsyncy)
-- although there's a few things unison is probably better for...
)




But yeah, to set up ssh, all I've ever needed to do is:

On both computers you want to ssh between:

Code:
 sudo systemctl enable --now sshd.service    	
 sudo systemctl enable --now avahi-daemon.service  	
 sudo systemctl enable --now avahi-daemon.socket   	
 sudo systemctl enable --now avahi-dnsconfd.service
(assuming systemd)

and:
Code:
 touch ~/.hushlogin
 ssh-keygen

then, on hostname_A:
ssh-copy-id -i ~/.ssh/id_rsa.pub hostname_B.local

and on hostname_B:
ssh-copy-id -i ~/.ssh/id_rsa.pub hostname_A.local

Then you should just be able to do,
on hostname_A:
ssh hostname_B.local
to ssh into hostname_B
(
I once or twice found adding the flag:
-o StrictHostKeyChecking=no
to ssh and ssh-copy-id
helped get past some early bugs when I was setting it up on a new install for the first time.
)



And I typically used ssh -Y hostname_A.local to "enable trusted X11 forwarding",
but I just use shell functions that wrap up all those details most of the time
(
ssh is one of those commands that seems to practically have the entire alphabet upper and lower case as possible flags,
but the only other ones I've personally ever found relevant sometimes are -n/-f and -t
)
and of course I have my shell prompt set up to make it clear if I'm in an ssh session and what host it is,
and have stuff in my profile to handle that whole export_xauthority thing
(there's an environment variable $SSH_CLIENT to check to handle that logic)
etc etc


Also, sometimes I find the hostname gets changed to like hostname_A-2.local for some reason
(some weird race-condition bug in avahi?)
and I need to run sudo service avahi-daemon restart to fix that.
|
Also, I know the non-systemd equivalent of that was:
sudo /etc/init.d/avahi-daemon restart
which is maybe useful for figuring out the non-systemd equivalents of the other stuff?




Anyway, once you get ssh working, sshfs and rsync(/rsyncy) are easy to also get into.
(
for rsync I usually just use
rsyncy -aAX /path/to/src /path/to/dest
although you have to remember it treats src differently depending on whether you include a trailing slash on it
ie
src copies the dir src itself into dest, as a single thing (trying to make dest contain a copy of src)
src/ copies the contents of src into dest (trying to make dest be a copy of src)

(on dest, trailing slash or not doesn't make a difference)

there's also --delete
(and --delete-excluded if you're using excludes),
and --dry-run = -n

... also it can be weird about colons in filenames, since it uses them for like
rsyncy -aAX hostname_B.local:src/ dest
/
rsyncy -aAX src/ hostname_B.local:dest
(I forget offhand what workaround I've used in the past when I've run into that)

-- I also use rsyncy a bunch for just locally (including with external drives) doing backups and things
(unless the src is a btrfs subvolume, in which case I use sudo btrfs subvolume snapshot -r src dest)
)
 
i appreciate you taking the time to write up that explainer.
On both computers you want to ssh between:

Code:
sudo systemctl enable --now sshd.service 
sudo systemctl enable --now avahi-daemon.service 
sudo systemctl enable --now avahi-daemon.socket 
sudo systemctl enable --now avahi-dnsconfd.service
i feel like the sshd.service part helps answer my question about whether or not i need both client and server packages installed since it isn't provided by the client package from debian or ubuntu. i'd not seen avahi-dnsconfd mentioned before, but did find that each also has a separate package for it.
Also, I know the non-systemd equivalent of that was:
sudo /etc/init.d/avahi-daemon restart
which is maybe useful for figuring out the non-systemd equivalents of the other stuff?
i appreciate that since my main system runs mx linux and i rarely boot with systemd. with sysV init i believe i've seen the service command used to stop and start before. man service shows a --restart option that i may look into if i get that far.
Anyway, once you get ssh working, sshfs and rsync(/rsyncy) are easy to also get into.
that also sounds quite helpful. i have been using the luckyBackup gui frontend to handle my local (to an attached external drive) /home backups. rsync was one of those commands it felt like using the wrong options would mess up the intended result so having the gui work out the proper ones was helpful.
 
i feel like the sshd.service part helps answer my question about whether or not i need both client and server packages installed since it isn't provided by the client package from debian or ubuntu.

Oh yeah, I forgot back when I used like kubuntu I had to install one or two additional ssh things separately first
(I think it was just apt install openssh-server?)

i'd not seen avahi-dnsconfd mentioned before, but did find that each also has a separate package for it.

All that avahi stuff is something to do with letting your computers find each other by their hostname.local in your LAN.
(
I've never had to learn about the details properly,
cuz I've always managed to fix any practical problems I've encountered after just a bit of flailing around poking things in confusion,
and then gotten back to whatever I was actually trying to do before.
)




But yeah, that is unfortunately far too often the linux experience:
Sometimes you want to tweak some little thing that should be trivial,
and you end up disappearing down a rabbit hole for hours or days,
maybe never get what you actually wanted even after banging your head against a wall for so long...
|
And then after that experience,
you hear about some tool/technique/workflow,
and go like:
"yeah, that sounds cool/useful/interesting, but I don't want to disappear down yet another rabbit hole like that..."
but then when you finally actually get around to trying it,
it takes like 10 minutes and you suddenly have a new super power and you're going "why the HECK didn't I just try this years ago???"...

(
Like one thing for myself, I think I really need to dig into what "remote desktop" stuff actually is and what you can do with it...
Although I currently only have one computer after my other one exploded,
and the new one I ordered from tuxedo hasn't arrived yet
)




oh btw, as for rsync,
if you do have an android,
I just used kdeconnect to mount my phone's filesystem wirelessly...
like, with kdeconnect installed on both the phone and your computer,
the phone'll show up in the dolphin "places" panel (F9 by default if it's not shown),
and then you can just click that and it'll open it in something like:
/run/user/1000/fd400087_5c0e_46c3_815a_3dc46d04db16/storage/emulated/0/
(I think that bit underlyingly actually uses sshfs itself...)

and then used like eg:
rsyncy -aAX ~/dir_full_of_music_or_video_or_whatever/ /run/user/1000/fd400087_5c0e_46c3_815a_3dc46d04db16/storage/emulated/0/copy_of_dir_full_of_music_or_video_or_whatever
(
-aAX are just flags to do the copy preserving the maximum amount of metadata,
I just just them by default although it probably generally doesn't actually matter
)
or alternatively:
rsyncy -aAX ~/dir_full_of_music_or_video_or_whatever /run/user/1000/fd400087_5c0e_46c3_815a_3dc46d04db16/storage/emulated/0/location_you_want_the_copy_to_end_up_under

and adding the --delete flag will synchronize any changes you made to the src over to the dest
(ie if you moved/renamed/deleted stuff in the src)

[
or like, obviously, just do first
cd /run/user/1000/fd400087_5c0e_46c3_815a_3dc46d04db16/storage/emulated/0
and you could shorten those to:
rsyncy -aAX ~/dir_full_of_music_or_video_or_whatever/ copy_of_dir_full_of_music_or_video_or_whatever
rsyncy -aAX ~/dir_full_of_music_or_video_or_whatever location_you_want_the_copy_to_end_up_under
rsyncy -aAX --delete ~/dir_full_of_music_or_video_or_whatever/ copy_of_dir_full_of_music_or_video_or_whatever
rsyncy -aAX --delete ~/dir_full_of_music_or_video_or_whatever location_you_want_the_copy_to_end_up_under
and the dry-run -n can just hang off the end like
rsyncy -aAX --delete ~/dir_full_of_music_or_video_or_whatever location_you_want_the_copy_to_end_up_under -n
]


(
The part where you use the dolphin GUI to trigger the (I think) sshfs connection is slightly flakey,
but I haven't figured out if there's a way to cut it out of the process yet.
)

Also obviously you can just drag-and-drop stuff to and from your phone to your computer,
but using rsync is way faster for big stuff,
and if the transfer gets interrupted or whatever, you can just restart it and it'll automatically fix whatever mess might've been left behind.
 

Members online


Latest posts

Top