Как найти оборудование/ название чипсета с помощью терминала в Linux

Это не удается, так как printfинтерпретирует некоторые буквы с обратной косой чертой в своем первом аргументе как специальные.

Обычно при использовании printfвы указываете

  1. Статическая строка форматирования, возможно содержащая заполнители для данных, которые должны быть взяты из других аргументов, и
  2. Другие переменные данные, которые будут использоваться в заполнителях в строке статического форматирования.

Это означает, что первый аргумент printfможет всегда быть строкой в ​​одинарных кавычках.

В оболочке вы можете использовать просто %sв качестве заполнителя практически для всего в строке форматирования, если только вам не нужны такие вещи, как заполнение слева/справа (, например. %20sдля использования 20 символов для строки с выравниванием по правому краю -или %-20sдля строки с выравниванием по левому краю -), определенное количество знаков после запятой в числах с плавающей запятой(%.3fдля трех знаков после запятой ), или нулем -заполнение целых чисел(%08dдля восьми цифр, нулем -заполнение )и т. д.

Например, чтобы напечатать строку, используйте %sв строке форматирования:

v='\u\$'
printf 'PS1 will be set to "%s"\n' "$v"   # or just:  printf '%s\n' "$v"
PS1="$v"

или

PS1='\u\$'
printf 'PS1 was set to "%s"\n' "$PS1"   # or just:  printf '%s\n' "$PS1"

Будет выведено

PS1 will be set to "\u\$"

и

PS1 was set to "\u\$"

См. printf(1)и/или printf(3)в вашей системе(man 1 printfиman 3 printf).


Также обратите внимание, что PS1не нужно экспортировать.

5
28.01.2020, 16:45
1 ответ

Идентификатор PCI вашего конкретного набора микросхем используется четырьмя вариантами в семействе, и для того, чтобы различать их, необходимо просмотреть идентификатор возможности в регистрах конфигурации PCI. Раздел 19.1.36 таблицы данных содержит подробности; соответствующая информация хранится по смещению 0xE5 в регистрах конфигурации, а биты со 2 по 4 по этому смещению сообщат вам, какой у вас вариант:

  • 111 = PM45
  • 001 = GM45
  • 011 = GL40
  • 100 = ГС45

Вы должны увидеть это с помощью lspci -xxx -d 8086:2a40. Но я сомневаюсь, что вы найдете утилиту, которая выдаст вам имя чипсета, используя эту информацию.

В вашем случае соответствующая строка в выводе lspci -xxx

e0: 09 00 0a 61 b1 6d 51 1f b9 e1 00 00 00 00 00 00

Это нужно читать задом наперёд; 80 бит возможностей — это 0xE1B91F516DB1610A0009. Биты 44 :42 — это 011 (, шестое значение в строке — 0x6D, 0b01101101, а биты 4 :2 — это 011 ).

1
28.04.2021, 23:25

Теги

Похожие вопросы