====== Оборудование / Драйвера ======
===== Оборудование =====
==== dmidecode ====
**DMI (Desktop Management Interface)** - это интеpфейс упpавления компьютерными системами, набор программных и аппаратных средств для сбора, хранения и отображения данных об оборудовании ПК. Встроена в BIOS всех современных материнских плат, а также осуществляется через API в прикладных ПО.\\
**SMBIOS (System Management BIOS)** - системное управление BIOS.\\
Утилита **dmidecode** позволяет извлечь записи из базы данных **DMI** и отобразить их в требуемом виде. Ставится по умолчанию. \\
С помощью ключа **-t** указывается тип оборудования, по которому нужно извлечь инфу, можно использовать числовой эквивалент.\\
:!: Таблица числовых значений
| 0 | BIOS Information |
| 1 | System Information |
| 2 | Baseboard (or Module) Information |
| 3 | System Enclosure or Chassis |
| 4 | Processor Information |
| 5 | Memory Controller Information (Obsolete) |
| 6 | Memory Module Information (Obsolete) |
| 7 | Cache Information |
| 8 | Port Connector Information |
| 9 | System Slots |
| 10 | On Board Devices Information |
| 11 | OEM Strings |
| 12 | System Configuration Options |
| 13 | BIOS Language Information |
| 14 | Group Associations |
| 15 | System Event Log |
| 16 | Physical Memory Array |
| 17 | Memory Device |
| 18 | 32-Bit Memory Error Information |
| 19 | Memory Array Mapped Address |
| 20 | Memory Device Mapped Address |
| 21 | Built-in Pointing Device |
| 22 | Portable Battery |
| 23 | System Reset |
| 24 | Hardware Security |
| 25 | System Power Controls |
| 26 | Voltage Probe |
| 27 | Cooling Device |
| 28 | Temperature Probe |
| 29 | Electrical Current Probe |
| 30 | Out-of-Band Remote Access |
| 31 | Boot Integrity Services (BIS) Entry Point |
| 32 | System Boot Information |
| 33 | 64-Bit Memory Error Information |
| 34 | Management Device |
| 35 | Management Device Component |
| 36 | Management Device Threshold Data |
| 37 | Memory Channel |
| 38 | IPMI Device Information |
| 39 | System Power Supply |
| 40 | Additional Information |
| 41 | Onboard Devices Extended Information |
| 42 | Management Controller Host Interface |
| 126 | Inactive |
| 127 | End-of-Table |
| 128-255 | Available for system- and OEM- specific information |
==== lshw ====
**lshw (Hardware Lister)** менее информативна, но позволяет получить сведения об оборудовании компьютера в различных форматах (XML, HTML и т.д.), + есть GUI. Утилита использует данные из таблиц **DMI**, конфигурационных файлов, модулей ядра и драйверов.\\
==== lspci ====
Тоже перечень оборудования
# Инфа по видео
lspci -k | grep -EA2 'VGA|3D'
==== Диски ====
[[linux:overall:disk|udevadm]]. Полная инфа по устр-ву, серийники, номера и т.д.
# udevadm info --query=all --name=/dev/sda
===== Драйвера =====
:!: Ubuntu. Правильный вариант установки
ubuntu-drivers devices
sudo ubuntu-drivers autoinstall
Еще команды
ubuntu-drivers devices
sudo ubuntu-drivers --gpgpu list
sudo ubuntu-drivers install nvidia:535
sudo ubuntu-drivers autoinstall
sudo apt --purge remove *nvidia*${DRIVER_BRANCH}*
:!: Ubuntu. Nvidia. Старый вариант
# Смотрим какие версии драйвера Nvidia есть в репозитории:
sudo apt-get update && clear && apt-cache search nvidia-[0-9] | grep 'binary driver'
# Устанавливаем драйвер (nvidia-версия) и программу для его настройки (nvidia-settings):
sudo apt-get install nvidia-304 nvidia-settings
# Создаем xorg.conf:
sudo nvidia-xconfig
# После перезагрузки проверяем какой видео драйвер используется:
lspci -k | grep -EA2 'VGA|3D'
# Для установки более новых версий можно подключить эту репу
sudo add-apt-repository ppa:graphics-drivers/ppa
Смотрим какие версии драйвера Nvidia есть в репозитории:
sudo apt-get update && clear && apt-cache search nvidia-[0-9] | grep 'binary driver'
Устанавливаем драйвер (nvidia-версия) и программу для его настройки (nvidia-settings):
sudo apt-get install nvidia-304 nvidia-settings
Создаем xorg.conf:
sudo nvidia-xconfig
Перезагружаем компьютер.
После перезагрузки проверяем какой видео драйвер используется:
lspci -k | grep -EA2 'VGA|3D'
Получится примерно такой вывод, в последней строке указано название используемого видео драйвера
03:00.0 VGA compatible controller: NVIDIA Corporation G92 [GeForce 9800 GT] (rev a2)
Subsystem: Elitegroup Computer Systems Device 1a0e
Kernel driver in use: nvidia
:!: Восстановление работы в случае аварии
Восстановление работы в случае аварии, например черный экран при входе в систему:
# Запускаем виртуальный терминал
ctrl+alt+F1
# Удаляем проприетарный драйвер, например nvidia
sudo apt purge nvidia*
# Обновляем конфигурацию и ребут
sudo dpkg-reconfigure xserver-xorg
# Так же, в случае проблем можно проверить/перезапустить графический сервер
systemctl restart display-manager
:!: Некорректно удален драйвер Nvidia
Некорректно удален после чего все пошло по звезде, старый не работает, новые не ставятся\\
При попытке что то удалить или поставить сыпятся ошибки зависимостей\\
Вероятно связано с удалением через "apt --purge", удалилось что то не все или слишком много\\
В общем решение почистить хвосты с помощью dpkg и можно ставить снова\\
# Посмотреть все зависимости nvidia-340
dpkg-divert --list | grep nvidia-340
#Затем для каждой из них выполнить
# dpkg-divert --remove /your/path
# /your/path - путь, на который ругается /usr/lib/x86_64-linux-gnu/libGL.so.1
apt --fix-broken install
apt update
apt upgrade
ubuntu-drivers devices
ubuntu-drivers autoinstall