LINUX.ORG.RU

Перезагрузка PCI-устройства

 , ,


1

2

Подскажите, Есть удалённый Linux-комп. В нём некое устройство PCI, которое иногда подвисает. Комп просто перестаёт его видеть. Перезагрузка компа не помогает. Помогает только передёргивание питания компа. Может есть какая команда которая на аппаратном уровне гасит PCI и заводит заново?

Ответ на: комментарий от anonymous

> На этом устройстве в разрыв цепей питания

Видел как AVGN протирает ножевой разъём ватной палочкой. Может, с PCI это тоже работает?

ZenitharChampion ★★★★★
()

У меня был компьютер - Celeron 1300. Там был USB 1.1. поэтому я вставил PCI-платку с USB 2.0. В Windows и Linux она работала хорошо. Но в одном дистрибутиве Linux выпадала. Даже появлялось иксовое окно с сообщением dmesg об этом! Что интересно, дистр - не что попало, а CentOS 5.11.

Современные версии ядра Linux поддерживают технологию PCI hotplug. Я не знаю как ей пользоваться, но подозреваю что в случайный момент вставлять нельзя. И вытаскивать, очевидно, тоже: отбиндить надо. Я даже задавал вопрос на форуме на эту тему.

ZenitharChampion ★★★★★
()
Последнее исправление: ZenitharChampion (всего исправлений: 1)

От материнки идет PERST, вот не уверен что им можно управлять. Но идея что hotplug-опция вероятно поможет - правильная, ведь после вставки карточки налету она должна быть как-то сброшена. Но должно ли это поддерживаться материнкой - не знаю, вроде должно, разве нет? И если у тебя обычный комп - ничего не сделаешь. По идее ребут компа (без выключения) и должен приводить к вызову этого сброса, если устройство спроектировано верно (проблема отсутствия сброса была в первых моих поделках) - это ты самопальщину запускаешь, или всё-таки покупную карту какую-то?

I-Love-Microsoft ★★★★★
()

Если не на нулевой шине то можно, примерно так:

echo '0000:06:00.0' > '/sys/bus/pci/devices/0000:06:00.0/driver/unbind'

это отвяжет драйвер и соотв, может вызвать перезагрузку устройства. Для некоторых можно попробовать запись 1 в файл типа reset где-то в /sys/bus/pci/devices/0000:06:00.0/*

Я так видеокарты для qemu перегружаю.

soomrack ★★★★★
()
Ответ на: комментарий от ZenitharChampion

Чистил я слот PCI от окисла как-то. Берёте тонкую плоскую отвёртку, и вертикальными движениями (если двинуть в сторону - сломаете разъём) очищаете по очереди все контактные площадки аккуратно.

Только что-то кажется мне, что дело там не в контакте.

AlexAT
()
Ответ на: комментарий от soomrack

у меня по моей скудной документации команда __dev -stop выгружает драйвер. Но когда происходит енто зависание, на эту команду ответ что-то типа - драйвер не загружен. А на __dev -up выскакивают ошибки как при отсутствии платы. Ну как будет подвис Ваш вариант попробую. Спасибо. Благо, не так часто это случается.

seroga_sod
() автор топика
Ответ на: комментарий от vaddd

Дорогое нынче удовольствие. Это комп управления светодиодным экраном, Чтоб его поменять - все остальные контроллеры менять придётся.

seroga_sod
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.