Регистры PCI-E во время загрузки(видео черный экран)

Прочитал про этот регистр 3e - как то не понятно, как это помогает
Регистр Min_GNT (RO) задает минимальное время, на которое ведущему устройству должно предоставляться управление шиной из расчета на частоту 33 МГц, в интервалах по 0,25 мкс.
или что то напутал?
EDIT 1 - размер - w
Ошибки не исчезают с опытом - они просто умнеют
indeviral
$ cat /etc/udev/rules.d/10-nvidia-fix.rules
KERNELS=="0000:00:17.0", SUBSYSTEMS=="pci",  RUN+="/usr/bin/setpci -s '00:17.0' 3e.b=8"
KERNELS=="0000:04:00.0", SUBSYSTEMS=="pci",  RUN+="/usr/bin/setpci -s '04:00.0' 04.b=7"
Личная и огромная тебе благодарность! Работает после перезагрузки! Решено!
vasek
Прочитал про этот регистр 3e - как то не понятно, как это помогает
Регистр Min_GNT (RO) задает минимальное время, на которое ведущему устройству должно предоставляться управление шиной из расчета на частоту 33 МГц, в интервалах по 0,25 мкс.
или что то напутал?
EDIT 1 - размер - w
Настолько глубоко не копал, пока, спасибо indeviral, но вкратце все сводится к данному триду.
tichm3
но вкратце все сводится к данному триду.
Там упоминается - Bridge Control Register (0x3e)
А если посмотреть все регистры, то увидим такую картинку
setpci --dumpregs | grep 3e
     3e B MIN_GNT
     3e W BRIDGE_CONTROL
И тут я опять не могу понять (нужно лезти в документацию), почему 2 одинаковых - для разных устройств разные назначения???
Если несложно посмотри выводы (при измененных значениях регистров)
setpci -s 00:04.0 COMMAND
setpci -s 00:17.0 MIN_GNT
setpci -s 00:17.0 BRIDGE_CONTROL
Ошибки не исчезают с опытом - они просто умнеют
vasek
Если несложно посмотри выводы (при измененных значениях регистров)
setpci -s 00:04.0 COMMAND
setpci -s 00:17.0 MIN_GNT
setpci -s 00:17.0 BRIDGE_CONTROL
Выводы следующие:
setpci -s 00:04.0 COMMAND
0003
[user@ws ~]$ setpci -s 00:17.0 MIN_GNT
08
[user@ws ~]$ setpci -s 00:17.0 BRIDGE_CONTROL
0008
Не понял твой вопрос. Можешь объяснить.
tichm3
Покажите
setpci --dumpregs | grep 3e
setpci --dumpregs | grep 04
Ошибки в тексте-неповторимый стиль автора©
И дополнительно к выводам, указанным indeviral, покажи
lspci -s 00:04.0 -x
lspci -s 00:17.0 -x
UPD ... Дошло - регистр 3e размером b - MIN_GNT (08); регистр 3e размером w - BRIDGE_CONTROL (00 08)
А смотреть их нужно так - setpci -s 17.0 3e.b и setpci -s 17.0 3e.w
Ошибки не исчезают с опытом - они просто умнеют
indeviral
tichm3
Покажите
setpci --dumpregs | grep 3e
setpci --dumpregs | grep 04
Вывод первой команды $
3e B MIN_GNT
3e W BRIDGE_CONTROL
----
Вывод второй команды $
04 W COMMAND
04 00 - CAP_SLOTID
0004 - ECAP_PB
P.S.: Мануал не помог, все также черный экран. Были подозрения, что грузит не тот модуль glx.
Добавил в xorg.conf
Section "Files"
ModulePath "/usr/lib/nvidia/"
ModulePath "/usr/lib/xorg/modules/"
Section "Module"
Load "glx"
EndSection
Xorg.0.log
[   286.925]
X.Org X Server 1.19.5
Release Date: 2017-10-12
[   286.927] X Protocol Version 11, Revision 0
[   286.927] Build Operating System: Linux 4.9.54-1-lts x86_64
[   286.928] Current Operating System: Linux alice 4.13.6-1-ARCH #1 SMP PREEMPT Thu Oct 12 12:42:27 CEST 2017 x86_64
[   286.928] Kernel command line: initrd=\initramfs-linux.img root=/dev/sda2 rw elevator=deadline quiet splash resume=/dev/sda3 nmi_watchdog=0
[   286.929] Build Date: 12 October 2017  09:59:53PM
[   286.929]
[   286.930] Current version of pixman: 0.34.0
[   286.932] 	Before reporting problems, check http://wiki.x.org
	to make sure that you have the latest version.
[   286.932] Markers: (--) probed, (**) from config file, (==) default setting,
	(++) from command line, (!!) notice, (II) informational,
	(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[   286.935] (==) Log file: "/var/log/Xorg.0.log", Time: Tue Oct 17 09:31:11 2017
[   286.938] (==) Using config file: "/etc/X11/xorg.conf"
[   286.939] (==) Using config directory: "/etc/X11/xorg.conf.d"
[   286.940] (==) Using system config directory "/usr/share/X11/xorg.conf.d"
[   286.941] (==) ServerLayout "Layout0"
[   286.941] (**) |-->Screen "Screen0" (0)
[   286.941] (**) |   |-->Monitor "Monitor0"
[   286.942] (==) No device specified for screen "Screen0".
	Using the first device section listed.
[   286.942] (**) |   |-->Device "Nvidia Card"
[   286.942] (**) |   |-->GPUDevice "Nvidia Card"
[   286.942] (**) |-->Input Device "Keyboard0"
[   286.942] (**) |-->Input Device "Mouse0"
[   286.942] (==) Automatically adding devices
[   286.942] (==) Automatically enabling devices
[   286.942] (==) Automatically adding GPU devices
[   286.942] (==) Automatically binding GPU devices
[   286.942] (==) Max clients allowed: 256, resource mask: 0x1fffff
[   286.944] (WW) The directory "/usr/share/fonts/Type1/" does not exist.
[   286.944] 	Entry deleted from font path.
[   286.944] (WW) `fonts.dir' not found (or not valid) in "/usr/share/fonts/100dpi/".
[   286.944] 	Entry deleted from font path.
[   286.944] 	(Run 'mkfontdir' on "/usr/share/fonts/100dpi/").
[   286.944] (WW) `fonts.dir' not found (or not valid) in "/usr/share/fonts/75dpi/".
[   286.944] 	Entry deleted from font path.
[   286.944] 	(Run 'mkfontdir' on "/usr/share/fonts/75dpi/").
[   286.944] (==) FontPath set to:
	/usr/share/fonts/misc/,
	/usr/share/fonts/TTF/,
	/usr/share/fonts/OTF/
[   286.944] (**) ModulePath set to "/usr/lib/nvidia/,/usr/lib/xorg/modules/"
[   286.944] (WW) Hotplugging is on, devices using drivers 'kbd', 'mouse' or 'vmmouse' will be disabled.
[   286.944] (WW) Disabling Keyboard0
[   286.944] (WW) Disabling Mouse0
[   286.945] (II) Loader magic: 0x55f27d8d9d60
[   286.945] (II) Module ABI versions:
[   286.945] 	X.Org ANSI C Emulation: 0.4
[   286.945] 	X.Org Video Driver: 23.0
[   286.945] 	X.Org XInput driver : 24.1
[   286.945] 	X.Org Server Extension : 10.0
[   286.945] (++) using VT number 1

[   286.945] (--) controlling tty is VT number 1, auto-enabling KeepTty
[   286.947] (II) systemd-logind: took control of session /org/freedesktop/login1/session/c1
[   286.951] (--) PCI:*(0:4:0:0) 10de:08a0:106b:00c2 rev 162, Mem @ 0xd2000000/16777216, 0xc0000000/268435456, 0xd0000000/33554432, I/O @ 0x00001000/128, BIOS @ 0x????????/131072
[   286.951] (WW) Open ACPI failed (/var/run/acpid.socket) (No such file or directory)
[   286.951] (II) "glx" will be loaded. This was enabled by default and also specified in the config file.
[   286.951] (II) LoadModule: "glx"
[   286.952] (II) Loading /usr/lib/nvidia/xorg/libglx.so
[   287.082] (II) Module glx: vendor="NVIDIA Corporation"
[   287.082] 	compiled for 4.0.2, module version = 1.0.0
[   287.082] 	Module class: X.Org Server Extension
[   287.083] (II) NVIDIA GLX Module  340.104  Thu Sep 14 16:40:42 PDT 2017
[   287.083] (II) LoadModule: "modesetting"
[   287.084] (II) Loading /usr/lib/xorg/modules/drivers/modesetting_drv.so
[   287.085] (II) Module modesetting: vendor="X.Org Foundation"
[   287.085] 	compiled for 1.19.5, module version = 1.19.5
[   287.085] 	Module class: X.Org Video Driver
[   287.085] 	ABI class: X.Org Video Driver, version 23.0
[   287.085] (II) LoadModule: "nvidia"
[   287.086] (II) Loading /usr/lib/xorg/modules/drivers/nvidia_drv.so
[   287.095] (II) Module nvidia: vendor="NVIDIA Corporation"
[   287.095] 	compiled for 4.0.2, module version = 1.0.0
[   287.095] 	Module class: X.Org Video Driver
[   287.095] (II) modesetting: Driver for Modesetting Kernel Drivers: kms
[   287.095] (II) NVIDIA dlloader X Driver  340.104  Thu Sep 14 16:18:31 PDT 2017
[   287.095] (II) NVIDIA Unified Driver for all Supported NVIDIA GPUs
[   287.096] (WW) Falling back to old probe method for modesetting
[   287.097] (II) Loading sub module "fb"
[   287.097] (II) LoadModule: "fb"
[   287.098] (II) Loading /usr/lib/xorg/modules/libfb.so
[   287.099] (II) Module fb: vendor="X.Org Foundation"
[   287.099] 	compiled for 1.19.5, module version = 1.0.0
[   287.099] 	ABI class: X.Org ANSI C Emulation, version 0.4
[   287.099] (WW) Unresolved symbol: fbGetGCPrivateKey
[   287.099] (II) Loading sub module "wfb"
[   287.099] (II) LoadModule: "wfb"
[   287.100] (II) Loading /usr/lib/xorg/modules/libwfb.so
[   287.101] (II) Module wfb: vendor="X.Org Foundation"
[   287.101] 	compiled for 1.19.5, module version = 1.0.0
[   287.101] 	ABI class: X.Org ANSI C Emulation, version 0.4
[   287.101] (II) Loading sub module "ramdac"
[   287.101] (II) LoadModule: "ramdac"
[   287.101] (II) Module "ramdac" already built-in
[   287.264] (**) NVIDIA(0): Depth 24, (--) framebuffer bpp 32
[   287.264] (==) NVIDIA(0): RGB weight 888
[   287.264] (==) NVIDIA(0): Default visual is TrueColor
[   287.264] (==) NVIDIA(0): Using gamma correction (1.0, 1.0, 1.0)
[   287.264] (**) NVIDIA(0): Enabling 2D acceleration
xorg.conf
# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig:  version 340.102  (buildmeister@swio-display-x64-rhel04-19)  Mon Jan 16 13:23:00 PST 2017
Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0" 0 0
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Mouse0" "CorePointer"
EndSection

Section "Files"
EndSection

Section "InputDevice"

    # generated from default
    Identifier     "Mouse0"
    Driver         "mouse"
    Option         "Protocol" "auto"
    Option         "Device" "/dev/psaux"
    Option         "Emulate3Buttons" "no"
    Option         "ZAxisMapping" "4 5"
EndSection

Section "InputDevice"

    # generated from default
    Identifier     "Keyboard0"
    Driver         "kbd"
EndSection

Section "Monitor"
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "Unknown"
    HorizSync       28.0 - 33.0
    VertRefresh     43.0 - 72.0
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "Nvidia Card"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BusID	   "PCI:4:0:0"
    BoardName	   "GeForce 320M"
    Option         "AllowEmptyInitialConfiguration"
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    SubSection     "Display"
        Depth       24
EndSubSection
EndSection

Section "Files"

	ModulePath "/usr/lib/nvidia/"
	ModulePAth "/usr/lib/xorg/modules/"
EndSection

Section "Module"
	Load "glx"
	Load "modesetting"
EndSection
vasek
И дополнительно к выводам, указанным indeviral, покажи
lspci -s 00:04.0 -x
lspci -s 00:17.0 -x
UPD ... Дошло - регистр 3e размером b - MIN_GNT (08); регистр 3e размером w - BRIDGE_CONTROL (00 08)
А смотреть их нужно так - setpci -s 17.0 3e.b и setpci -s 17.0 3e.w
Вывод :lspci -s 00:04.0 -x
00:04.0 USB controller: NVIDIA Corporation MCP89 OHCI USB 1.1 Controller (rev a1)
00: de 10 9c 0d 03 00 b0 00 a1 10 03 0c 00 00 80 00
10: 00 a0 48 d3 00 00 00 00 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 de 10 89 cb
30: 00 00 00 00 44 00 00 00 00 00 00 00 00 01 03 01
Вывод lspci -s 00:17.0 -x
00:17.0 PCI bridge: NVIDIA Corporation MCP89 PCI Express Bridge (rev a1)
00: de 10 76 0d 07 00 10 00 a1 00 04 06 40 00 01 00
10: 00 00 00 00 00 00 00 00 00 04 04 00 11 11 00 20
20: 00 d2 00 d3 01 c0 f1 d1 00 00 00 00 00 00 00 00
30: 00 00 00 00 40 00 00 00 00 00 00 00 ff 00 08 00
tichm3
Мануал не помог, все также черный экран. Были подозрения, что грузит не тот модуль glx.
Какой модуль грузит тебе виднее, но по представленным выводам я подметил следующее - получилось совсем не то, к чему стремились
После изменения значения регистров должны быть следующими
- для 00:17.0 3e.b = 08
- для 04:00.0 04.b = 07
А имеем это
- для 00:17.0 - верно: 3e.b = 08
tichm3
30: 00 00 00 00 40 00 00 00 00 00 00 00 ff 00 08 00
- для 04:00.0 - неверно: 04.b = 03 (должно быть 07)
tichm3
00: de 10 9c 0d 03 00 b0 00 a1 10 03 0c 00 00 80 00
Рекомендую смотреть значения регистров до изменения и после изменения, сравнивая выводы
lspci -s 00:04.0 -x
lspci -s 00:17.0 -x
или
hexdump -C /sys/bus/pci/devices/0000\:00\:04.0/config
hexdump -C /sys/bus/pci/devices/0000\:00\:17.0/config
Это нагляднее, так как сразу видны все значения регистров (стандартизованные 64 байт, чтобы смотреть полный вывод, 256 байт, нужно использовать sudo).
Ошибки не исчезают с опытом - они просто умнеют
 
Зарегистрироваться или войдите чтобы оставить сообщение.