On 2022-08-16 12:01, Christian König wrote:
Hi Andriy,
well first of all can you please test that with Linux? If this works on
Linux then there is probably just something missing on the FreeBSD port.
Thank you for the suggestion. This is something that I should have
tested from the start. But I was overly confident that the problem
could not be a port problem as the hardware is so ancient and the port
exists for quite a long while and it's currently on the Linux 5.10 level.
But, yes, it is a port problem after all. I tested Debian with 5.10
kernel and the problem does not exist there.
Here are some log messages from Linux:
[ 397.379974] [drm:drm_helper_probe_single_connector_modes
[drm_kms_helper]] [CONNECTOR:46:DVI-I-1]
[ 397.395520] [drm:radeon_atom_dac_detect [radeon]] Bios 0 scratch
20000 00000014
[ 397.395534] [drm:radeon_atombios_connected_scratch_regs [radeon]]
DFP1 disconnected
[ 397.395546] [drm:radeon_atombios_connected_scratch_regs [radeon]]
CRT2 disconnected
[ 397.395550] [drm:drm_helper_probe_single_connector_modes
[drm_kms_helper]] [CONNECTOR:46:DVI-I-1] status updated from unknown to
disconnected
[ 397.395553] [drm:drm_helper_probe_single_connector_modes
[drm_kms_helper]] [CONNECTOR:46:DVI-I-1] disconnected
[ 397.395557] [drm:drm_helper_probe_single_connector_modes
[drm_kms_helper]] [CONNECTOR:48:DIN-1]
[ 397.411838] [drm:radeon_atom_dac_detect [radeon]] Bios 0 scratch
20000 00000014
[ 397.411856] [drm:radeon_atombios_connected_scratch_regs [radeon]] TV1
disconnected
[ 397.411864] [drm:drm_helper_probe_single_connector_modes
[drm_kms_helper]] [CONNECTOR:48:DIN-1] status updated from unknown to
disconnected
[ 397.411867] [drm:drm_helper_probe_single_connector_modes
[drm_kms_helper]] [CONNECTOR:48:DIN-1] disconnected
[ 397.411873] [drm:drm_helper_probe_single_connector_modes
[drm_kms_helper]] [CONNECTOR:50:DVI-I-2]
[ 397.446829] [drm:drm_add_display_info [drm]] Supported Monitor
Refresh rate range is 0 Hz - 0 Hz
[ 397.446833] [drm:drm_add_display_info [drm]] non_desktop set to 0
[ 397.446845] [drm:radeon_atombios_connected_scratch_regs [radeon]]
CRT1 disconnected
[ 397.446855] [drm:radeon_atombios_connected_scratch_regs [radeon]]
DFP2 connected
I guess that this tells us that the monitor (DVI-I-2 + DFP2) is detected
using some other method, so the detection does need to invoke
radeon_atom_dac_detect for it.
I guess that radeon_dvi_detect() is what is responsible for detecting
DVI monitor connections. So, it looks like the difference could be in
DDC / EDID probing.
Am 16.08.22 um 10:48 schrieb Andriy Gapon:
Out of necessity I had to use an ancient Radeon HD 2600 XT card.
It has two DVI outputs (and one S-video).
I noticed a curious problem, if I attach a monitor to either of the
DVI outputs, then initially there is video output but as soon as
radeonkms driver attaches the monitor goes blank.
But if I attach the same monitor to either of the outputs using its VGA
input and DVI->VGA converter, then the video works fine all the time.
I tested the monitor's DVI input with a different machine and there it
works just fine (and, as I said, it also works fine before radeonkms
is loaded).
Here is a piece of output from the driver with the direct DVI attachment:
[drm] Radeon Display Connectors
[drm] Connector 0:
[drm] DVI-I-1
[drm] HPD1
[drm] DDC: 0x7e50 0x7e50 0x7e54 0x7e54 0x7e58 0x7e58 0x7e5c 0x7e5c
[drm] Encoders:
[drm] DFP1: INTERNAL_KLDSCP_TMDS1
[drm] CRT2: INTERNAL_KLDSCP_DAC2
[drm] Connector 1:
[drm] DIN-1
[drm] Encoders:
[drm] TV1: INTERNAL_KLDSCP_DAC2
[drm] Connector 2:
[drm] DVI-I-2
[drm] HPD2
[drm] DDC: 0x7e40 0x7e40 0x7e44 0x7e44 0x7e48 0x7e48 0x7e4c 0x7e4c
[drm] Encoders:
[drm] CRT1: INTERNAL_KLDSCP_DAC1
[drm] DFP2: INTERNAL_LVTM1
drmn0: [drm] Cannot find any crtc or sizes
The same scenario with additional diagnostics:
https://people.freebsd.org/~avg/radeon-2600-dvi-dvi.txt
And here is with the DVI->VGA configuration:
[drm] Radeon Display Connectors
[drm] Connector 0:
[drm] DVI-I-1
[drm] HPD1
[drm] DDC: 0x7e50 0x7e50 0x7e54 0x7e54 0x7e58 0x7e58 0x7e5c 0x7e5c
[drm] Encoders:
[drm] DFP1: INTERNAL_KLDSCP_TMDS1
[drm] CRT2: INTERNAL_KLDSCP_DAC2
[drm] Connector 1:
[drm] DIN-1
[drm] Encoders:
[drm] TV1: INTERNAL_KLDSCP_DAC2
[drm] Connector 2:
[drm] DVI-I-2
[drm] HPD2
[drm] DDC: 0x7e40 0x7e40 0x7e44 0x7e44 0x7e48 0x7e48 0x7e4c 0x7e4c
[drm] Encoders:
[drm] CRT1: INTERNAL_KLDSCP_DAC1
[drm] DFP2: INTERNAL_LVTM1
[drm] fb mappable at 0xE0243000
[drm] vram apper at 0xE0000000
[drm] size 3145728
[drm] fb depth is 24
[drm] pitch is 4096
The same scenario with additional diagnostics:
https://people.freebsd.org/~avg/radeon-2600-dvi-vga.txt
Not sure if this is something with the hardware...
Thanks!
--
Andriy Gapon
https://standforukraine.com
https://razomforukraine.org