LINUX.ORG.RU

Плата PCIe GPIO

 ,


0

4

Коллеги, нужно купить порядка 200 плат PCIe GPIO.

В серверной есть большая красная кнопка, по её нажатию надо срочно что-то сделать.

Какую купить плату, чтобы у неё гарантированно была first class поддержка в линуксе?

Полно всякого железа, который только под винду, такое не нужно.

Именно GPIO на PCI-e насколько мне известно никак. Ближайший вариант: берём pci-e <-> rs232/422/485 на него вешаем что-то типа https://www.advantech.ru/products/gf-5vwk/adam-4050/mod_02b0d2ad-0bbb-498a-8647-b910ce345125 это только как пример, вариантов вагон у индустриальщиков, дальше по сигналу с красной кнопки распихиваем команды по устройствам.

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

в серверной кнопка. Её могут нажать, через неё потечет 5 вольт.

Весь софт в серверной, привязанный к ней, должен поменять своё поведение.

Планируется решать это PCI-E GPIO картой, в которую заходит контакт от кнопки.

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

А что на это скажет товарищ майор?

вообще-то именно товарищ майор её и командует нажать.

Вашу копию допуска по 3-й форме вам пришлют по почте, счастливого отдыха на Черном море.

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

Планируется решать это PCI-E GPIO картой, в которую заходит контакт от кнопки.

Погоди, ты хочешь прямо одну кнопку ко всем серверам напрямую подвести? Шта?

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

Ну тогда можно у товарища майора спросить про сертифицированного производителя таких кнопок и соответствующего софта и оборудования к ним. Наверняка среди его друзей или родственников найдётся такой производитель, который будет рад вам помочь за определённое вознаграждение.

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

Никакие ардуины не обсуждаются.

Окей, смотри:

  • У тебя все сервера скорее всего подключены к общей management-сетке.
  • Ты уже ограничил входные условия таким образом, что кнопка работает только если сервер в принципе жив и работает.

Почему ты не можешь подключить эту кнопку по ethernet? Вообще без ардуин: кнопка - просто ethernet-девайс который рассылает всем определенный пакет.

Зачем нужно железо?

Если ты действительно хочешь тянуть провод от кнопки к 200 серверам в масштабе дата-центра, то ethernet уже решил все связанные с этим проблемы за тебя.

Только не говори, что ответ - «потому что нужно попилить денег на железе». Мне будет очень грустно.

PS: Если уж прям обязательно вести сеть из проводов и прямо обязательно иметь это в виде PCIe-карты, то можно купить отдельный PCIe ethernet (дешевые, как дерьмо и отлично поддерживаются) и провести отдельную сеть. Все равно лучше, дешевле и надежнее выйдет. Для качественного попила денег можно перепаять RJ45-разъемы на что-нибудь проприетарное, чтобы никто ничего не заподозрил.

derlafff ★★★★★ ()
Последнее исправление: derlafff (всего исправлений: 6)
Ответ на: комментарий от derlafff

Почему ты не можешь подключить эту кнопку по ethernet?

требование клиента.

Это был первый вопрос, мы обсудили какие нужны доработки со стороны тех, кто будет слать эту команду, мне рассказали слезные истории о том, как они уже пробовали и как до сих пор ноют в плохую погоду рубцы от последствий несрабатывания и сказали: ставь плату для кнопки.

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

ставь плату для кнопки.

У каждого сервера своя кнопка? Какова длина кабелей? Есть неиллюзорная вероятность, что так будет только хуже. Если вообще возможно.

derlafff ★★★★★ ()
Последнее исправление: derlafff (всего исправлений: 2)
Ответ на: комментарий от max_lapshin

и как до сих пор ноют в плохую погоду рубцы от последствий несрабатывания

Это решается протоколом. Нужно реагировать на потерю сигнала, а не на сигнал.

derlafff ★★★★★ ()

а может проще не извращаться, а взять какойн-нить industrial PC с имеющимся GPIO? у адвантеча к примеру посмотреть…

ну а так - да, LPT порт прекрасно юзается как GPIO. как и COM-порт (правда для RS232 понадобится преобразователь уровней).

а если сделать надо прям срочно и обязательно, даже когда LA > 100 и своппинг - тут надо смотреть в сторону работы с прерываниями, и на GPIO платах не факт что они реализованы (чаще нет чем да). а вот на LPT порту прерівания вполне можно заюзать простым драйвером, солюшны гуглятся за 2 минуты, ну и потом из драйвера дергать юрзерспейс

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

Прикольно, но напрягает последним упоминаемым ядром 2.6.32(10 лет назад примерно). С тех пор GPIO подсистему перетряхнуть успели минимум два раза. Был ли драйвер в апстриме? И подобные вопросы.

Но в целом прикольно, спасибо.

Dark_SavanT ★★★★★ ()

Это чтоб диски грохать когда маски-шоу приходят? Лучше тогда самому наваять что-нибудь аппаратное, а не юзать нечто с программными задержками и глюками.

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

Весь софт в серверной, привязанный к ней, должен поменять своё поведение.

Планируется решать это PCI-E GPIO картой, в которую заходит контакт от кнопки.

Лол, для этого RS232 за глаза хватит, которая в любом серваке есть. Зачем велосипедить?

Oberstserj ★★ ()
Последнее исправление: Oberstserj (всего исправлений: 1)
Ответ на: комментарий от max_lapshin

и сказали: ставь плату для кнопки.

И надо было ответить что-то в стиле «я сам резберусь». Бред же? Тебе тупо нужна шина, на которой будет висеть логическая единица, которая при нажатии кнопки просядет в ноль. Берешь пин на сом-порту и опрашиваешь состояние на шине. Если ноль, то…

Что за велосипеды ты развел?)

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

Ничего не понятно, но очень интересно! Что хотел то? Прерывания есть в PCIe, msi… Провод длинный и что-то легко-воспламеняемое, wifi, usb наконец, com, эмуляция com, за Ethernet в серверной вообще молчу, etc.

Один экстрасенс предлагает собрать девайс (не понятно для какой цели с оптической развязкой) другой телепатически задаёт вопросы. У вас всё ок, ребята?

Stack77 ()
Ответ на: комментарий от max_lapshin

мне рассказали слезные истории о том, как они уже пробовали…

В серверной? Слёзные истории с Ethernet в серверной?

Обложки динамитом всё здание, только людей выведи, и жми красную кнопку! Ибо такие не нужны…. Сказочники…

Stack77 ()

Покупаешь рубильник(можно старый советский) от высокого напряжения( ну там 4 КилоВольт, или иное из того что есть в наличии), подводишь контакты близко к SSD карточкам на серверах. В момент «Ч» - включаешь рубильник.

И никаким микроскопом и иным средством уже из SSD ничего не вытащишь !

Можешь добавить силовых контактов на оперативную память - не помешают !

Просто и с гарантией ! =))

А вот с жесткими дисками и прочим, это уже сложнее. Тут только экскаватор или что то по тяжелее.

Atlant ★★★★★ ()
Последнее исправление: Atlant (всего исправлений: 2)
Ответ на: комментарий от izzholtik

Можно было понять, если бы девайс использовался отдельно от сервера, а так ТС хочет получить пару байт данных (или сколько там, по сути бита для триггера достаточно, ну пусть с учётом проверок на целостность - несколько байт) в загруженную ОС с работающим Ethernet, usb, etc, но для этих целей почему-то хочет пользовать шину, которая предназначена для высокоскоростной передачи данных. Цель сего действа непонятна. А «наплакались с Ethernet в серверной» - это совсем каламбур.

Stack77 ()
Ответ на: комментарий от Puzan

С PCIe плохо, что там частота большая — дешевые микроконтроллеры с кучей ног не поставишь. А ТСу нафиг не нужны бешеные скорости реакции, как я понимаю. Так что, ему бы на ISA в самый раз было.

А т.к. ISA (да и медленный PCI по сути) — уже труп, то остается наиболее простой вариант — USB!

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

в серверной кнопка. Её могут нажать, через неё потечет 5 вольт. Весь софт в серверной, привязанный к ней, должен поменять своё поведение.

Жесть-то какая! Чего ж ты сразу не сказал об этом? Все решается совершенно элементарно: к кнопке присобачивается ESP32, там крутится элементарный софт, который в случае нажатия на кнопку в нужный порт начинает отдавать «ахтунг». Все заинтересованные подключаются к айпишнику еспшки на нужный порт и поллят данные. Как только получат «ахтунг», запускают термоядерный реактор и уничтожают все нелегальное и запрещенное =D

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

Слушай, если заказчик - дебил конченый и не умеет нормально сетевые приложения писать, это ж не значит, что нужно над собой издеваться?!!

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

О том и речь, PCIe, даже PCI с минимальной частотой в 33 МГц здесь совершенно не нужен, это такой не хилый оверхед.

По USB - да очень просто, любой AVR на который влезит программная эмуляция usb + немного рассыпухи.

Но опять же, а зачем? Если есть уже Ethernet!

Мне кажется, ТС сам не знает, чего они хотят. Разве что бабла попилить на железе, как выше кто-то заметил. Хз.

Stack77 ()
Последнее исправление: Stack77 (всего исправлений: 2)
Ответ на: комментарий от Stack77

ТС прекрасно знает, чего он хочет, и уже неоднократно дал понять, что ардуино, ESP, скрипты на баше и прочие наколеночные поделия его не интересуют.
Отдельных лучей поноса посылаю лично тебе за предложение использования софтовой реализации USB на AVR в проекте, который требует отказоустойчивости. Там же контрольные суммы не проверяются, чтобы в тайминги уложиться, лол. Предложение соединять устройства с разным питанием без гальванической развязки - это вообще без комментариев. Стена вон там, ты знаешь, что нужно об неё сделать.

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

вообще-то именно товарищ майор её и командует нажать.

Товариз Майор сам себе маски шоу делает и сам себе улики уничтожает?

Что-то странное вы пишите.

torvn77 ★★★★★ ()

вы упоролись что ли

зачем вам pci-e- вы эту кнопку дрочить что ли собрались с частотой 100 миллионов раз в секунду?

ethernet до точки, там ардуина. если надо по месту - usb2lpt

salozar ()