PCI GPU имеет те же идентификаторы устройства. Почему?

У меня есть два R9 280's, установленные в моей системе. В Ubuntu, когда я работаю lspci -nn у обоих карты есть тот же идентификатор устройства.

Вывод в качестве примера:

01:00.0 Example GPU 1 [8080:aa68]
04:00.0 Example GPU 2 [8080:aa68]

Заметьте, что идентификаторы устройства "8080:aa68" являются тем же. Таким образом, мой вопрос состоит в том, почему идентификаторы являются тем же? Я пытаюсь пройти через одну из карт к kvm, но оба передаются, потому что идентификаторы являются тем же. Таким образом, что я мог сделать для решения этого?

Обновление 1: я попробовал setpci -s 04:00.0 02.w=aa69 это не делает ничего, что идентификатор устройства остается таким же. Я также попробовал echo "8086 10f5" > /sys/bus/pci/drivers/radeon/new_id но это говорит, что файл существует.

Обновление 2: Если я делаю это echo 0000:04:00.0 > /sys/bus/pci/devices/0000:04:00.0/driver/unbind затем мои системные замораживания

2
задан 29 August 2015 в 21:14

1 ответ

Поскольку они - точно те же аппаратные средства, таким образом, они покажут тот же идентификатор поставщика и тот же идентификатор устройства. Единственной разницей между этими 2 картами является слот, это находится в (вероятно, 1-я часть в Вашем выводе).

можно использовать dmidecode –t slot для соответствия ему выводу от lspci -nn для идентификации их каждый, но Вы не можете сказать KVM это.

для Интересного вопроса, хотя и обычно я оставлял бы его в "Вас, вероятно, нужен другой, отличающийся, карта", когда я столкнулся с этим:

На kernel.org это говорит, что "Запись идентификатора устройства к /sys/bus/pci/drivers/.../new_id попытается динамично добавить новый идентификатор устройства к драйверу устройства PCI. Это может позволить драйверу поддерживать больше аппаратных средств, чем было включено в статическую идентификационную таблицу поддержки устройства драйвера во время компиляции. Формат для идентификатора устройства: VVVV DDDD SVVV SDDD CCCC ММММ PPPP. Это - идентификатор Поставщика, идентификатор Устройства, идентификатор Поставщика Подсистемы, идентификатор Устройства Подсистемы, Класс, Маска Класса и Частные Данные Драйвера. Поля Vendor ID и Device ID требуются, остальные дополнительные. После успешного добавления идентификатора драйвер будет зондировать для устройства и пытаться связать с ним. Например: # echo "8086 10f5" > /sys/bus/pci/drivers/foo/new_id"

И которые приводят меня к команде setpci и U& L тема , который предлагает, можно изменить идентификатор устройства плат PCI.

Поэтому, возможно, можно изменить один из 8080:aa68 к другому идентификатору устройства с одним из этих 2 методов. Действительно выберите идентификатор, который является подобной картой, но возможно немного более старый или более новый, чем тот Вы имеете. Изменение его к случайному идентификатору устройства, вероятно, доставит неприятности.

2
ответ дан 2 December 2019 в 03:52

Другие вопросы по тегам:

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