LINUX.ORG.RU

«вешается» сеть при установке платы видеозахвата

 ,


0

1

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

Есть две серверные ubuntu, одна 17.04 32 bit, вторая 20.04 64 bit.

На обоих сетевые карты видятся, адреса назначаются, друг друга компы «видят», пингуются, интернет шарится, но как только я в pci разъём вставляю карту orient hw-808 на обоих машинах глушится сеть напрочь, интернет перестает шариться, в общем сеть неработоспособна, но сетевые карты адреса им назначенные показывают.

Куда копать не понимаю.

Карта куплена от какой-то конторы, и, вроде, новая. Если предположить, что номер карты системе еще не подсунут, но, тогда, по смыслу, она просто не должна работать, а не вешать напрочь сеть. Видимо udev не может её правильно определить, её устройства…. А, так с отваленной сетью… что перебрать ~120 карт из cardlist?

Или всё-таки проблема в дефектной карте видеозахвата?


Ну, может, карта просаживает питание и сетевым картам перестаёт хватать напряжения для работы передатчика. Линк светится? tcpdump пакеты ловит?

Переформулируйте этот вопрос:

А, так с отваленной сетью… что перебрать ~120 карт из cardlist?

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

Я вобще не понял, что ТС делает. Ещё раз перечитал его пост, получается, что от втыкает карту на горячую в один комп, и от этого перестают работать сетевые карты сразу на двух компах?

mky ★★★★★
()

но как только я в pci разъём вставляю карту orient hw-808 на обоих машинах глушится сеть напрочь

когда я вставляю, то тоже все глушится напрочь

kindof
()

а что там у тебя вообще за материнская плата?
по идее, если разъём не поддерживает hotplug, то должен комп виснуть целиком, а не только сеть (что-то вспомнилось, что в hi-end материнках можно было даже менять оперативку на горячую, но вряд ли это твой случай)

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

то должен комп виснуть целиком

Тут как повезёт, бывало люди на ходу втыкали и как-то всё выживало. Правда ТС молчит, может уже довставлялся...

что в hi-end материнках

Не помню насчёт оперативки, но Hotplug на PCI требовал поддержку не только со стороны материнки (в чипсете и питании PCI слота), но и со стороны платы расширения. В описании его устройства про hotplug не написано.

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

Извините, было поздно уснул…

Нет, конечно я её не втыкал при включённых компах, оба выключил, воткнул и включил. Поведение на обоих компах одинаковое. При включении, примерно на минуту, не более загорается линк сетевой карты, затем гаснет и более не загорается. Комп и первый и второй начинают долго грузиться, хотя при отсутствии карты первый загружается не более минуты, второй тоже около того. А, когда эта карта видеозахвата воткнута, тут начинается…. Более трёх, а может и пяти минут пытается подняться сеть, но видно, что у неё это не получается… После нескольких попыток «30(таймер)/3 минуты» загрузка заканчивается, в терминале видны сетевые карты (ip addr). По команде lspci видна эта карта видеозахвата BT878 на 8 чипах… Всё. Далее взаимодействие с компом бесполезно, от откликается на команды в терминале, но по сети он недоступен, поскольку линк сетевой карты не горит. Если выключить комп, вытащить карту, включить, то оба компа работают как задумано (производителем и мной…)

Проблем с питанием быть не может, оба блока Xilence, новые на 750 и 550 Ватт.

Мать на первом ASUS M2N-E, на втором вроде старенькая epox, ну, можно уточнить, если что.

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

Всё то, что Вы рекомендовали я сделал, что разницы в сравнении, очевидной, я не нашёл, по крайней мере diff моё внимание на этом не фокусирует. Но, при вставке карты ORIENT HW-808 она на старте не автодетектится:

bttv: Bt8xx card found (7) [ 282.933262] bttv: 7: Bt878 (rev 17) at 0000:02:0f.0, irq: 17, latency: 32, mmio: 0xfddf1000 [ 282.933276] bttv: 7: using: *** UNKNOWN/GENERIC *** [card=0,autodetected] [ 288.259071] ————[ cut here ]————

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

Есть разница, конечно между вариантами с картой ORIENT HW-808 и без неё.

Сравнение я вывел в файл,

diff -y dmesg_no_HW-808 dmesg_HW-808 > changes.diff

но для меня там всё не очень очевидно. Может файл выгрузить куда…?!

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

И, на маме и на pci, везде, та, что на маме не задействована, сейчас через pci-e карточке работает локальная сеть, вот она и вешается при вставке этой карты.

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

Оно, когда стартует, на обратной стороне красивое появляеЦо, там восемь красных светодиодов загораются и гаснут…

нашенское оно, родное

ORIENT, Вы можете задать по будням с 10:00 до 18:00 по телефонам:
+7 (915) 460-8454 или +7 (499) 724-1174 доб. 129 или круглосуточно на электронный адрес: support@orientrus.ru

можно обратится, но вероятность близка к 0

Там, помимо bt еще стоит контроллер, видимо арбитр шины. Не факт что онтопиковый драйвер поддерживает.

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

Ну, да стоит PCI6350-AA66PC Из-за него проблемы, так я понимаю? И, сможет ли это заработать на Linux вообще большой вопрос, так?

Оно снято с производства. Давно. Даже на старой версии старого сайта его нет. Поддержка была только под оффтопик.

Онтопик поддерживает bttv, но не в кастомных бордах.

PS Если софт под оффтопик есть можно посмотреть, может там можно ресурсами повилять

pps как варик - пробросить весь слот в виртуалку в оффтопиком )

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

софт есть, но это надо форточки ставить и смотреть, а под linux она все равно пахать не будет из-за этого моста, а это мост по даташиту…

дак можно попробовать выкинуть (вырубить в биосе0 )все конфликтующие девайсы и посмотреть работает ли

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

Да, спасибо, я уже немного покопался в этом направлении и понял, что не получится, а потом этот слот системой-хостом использоваться не будет в случае его проброса в виртуалку, а на ней установлен avreg. Таким образом, теряется смысл использования avreg…

Неожиданно, но, видимо, финиш.

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

Я так понимаю, с ней надо расстаться…

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

На оборудовании ТС это сделать невозможно.

При известном упорстве возможно все ) Весь вопрос в целесообразности

там гражданин контроллер на sata вешает, аргументируя это тем, что он любитель странных конструкций )))

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

Что именно во флагах в выводе ip addr? Если там есть UP и при этом линка нет, значит аппаратные проблемы. То есть, карта определяется драйвером, mac-адрес с ней считывается и т.д., значит по PCI шине с чипом на сетевой карте обмен идёт. «Линк поднимает» сам чип, от драйвера только команда, никакого udev и прочего в этом не участвует. Может, конечно, попробовать mii-tool, попереключать скорости передачи, посмотреть что сообщает карта о противоположной стороне. Ну dmesg почитать/сохранить в файл и сравнить при загрузке с платой видеозахвата и без.

Про питание я писал касательно напряжений на контактах PCI-слота, просто подобное, что исправная карта системой видется, а линка нет, я наблюдал один раз. Оказалось, что карта была немного не довставлена в разъём и одно из напряжений (не помню +5 или +12 до неё не доходило). И именно от этого напряжения был запитан трансивер карты, а PCI-интерфейс от другого. Поэтому в порядке бреда я предположил, что BT878 перегружает/просаживает питание на PCI-шине. Хотя, ИМХО, больше вероятность, что дорожка/контакт сгорит, чем заметно питание просядет.

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

Пишу проверив, UP сетевого интерфейса enp3s0 (он отвечает за первую локальную сеть 172.18.0.1) при вставленной плате видеозахвата есть, он и IP назначенный ему показывает, т.е. всё указывает на то, что сетевой интерфейс работает в штатном режиме, но при этом ни с этой машины, ни с той, что напрямую подключена к нему по интерфейсу enp3s0 не достучаться, нет пингов, нет вообще ничего, и её линк (светодиод) не светится. Этот интерфейс - это сетевая карта TP-LINK TG-3468 ver. 4.0 (PCI-e слот 1)

При этом есть сетевой интерфейс enp7s0 он тоже отвечает за вторую локальную сеть (172.19.0.1). Этот интерфейс - это сетевая карта TP-LINK TG-3269 (PCI слот 1). На его работоспособность не влияет наличие или отсутствие платы видеозахвата ORIENT HW-808.

Кроме того, на этой мат. плате в ещё одном PCI слоте установлена сетевая карта, по-моему D-LINK DGE-548, так вот она, также, не подвержена влиянию наличия/отсутствия платы видеозахвата ORIENT HW-808 в третьем, последнем слоте.

Теперь, вернусь ко второму слоту PCI-e. В нём тоже установлена сетевая карта TP-LINK TG-3468 ver. 2.0.

Опишу поведение компьютера, когда установлена плата видеозахвата ORIENT HW-808 в третьем PCI слоте, второй и первый заняты сетевыми картами, второй слот PCI-e занят сетевой картой TP-LINK TG-3468 ver. 2.0, из первого слота извлечена сетевая карта TP-LINK TG-3468 ver. 4.0:

TP-LINK TG-3468 ver. 2.0 - горит светодиод, сетевая карта в режиме UP - локальная сеть 172.18.0.1 доступна.

Теперь, меняю во втором слоте PCI-e сетевую карту TP-LINK TG-3468 ver. 2.0 на TP-LINK TG-3468 ver. 4.0 - горит светодиод, сетевая карта в режиме UP - локальная сеть 172.18.0.1 доступна.

Вывод сетевые карты TP-LINK TG-3468 ver. 2.0 и TP-LINK TG-3468 ver. 4.0 во втором слоте работают при наличии установленной платы видеозахвата ORIENT HW-808.

Если повторить всё то же самое но в первом слоте PCI-e с этими картами, то ситуация противоположная, ни одна из этих карт не зажигает светодиод линка, ходя по команде ip addr каждая из них в состоянии UP c присвоенным IP-адресом.

Для меня это поведение странно, понять в чём дело не могу.

И, если эти две сетевые карты TP-LINK TG-3468 ver. 2.0 и TP-LINK TG-3468 ver. 4.0 одновременно установить в оба слота, не важно какую куда, но при этом вынуть плату видеозахвата ORIENT HW-808, то обе эти сетевухи зажигают свои светодиоды.

Всё описанное применимо только к слотам PCI-e и не применимо к двум слотам PCI, в третьем установлена ORIENT HW-808.

И, последнее в этой части, если ORIENT HW-808 заменить на одночиповую, безродную китайщину, то сетевые карты в слотах PCI-e ведут себя корректно, зажигают свои светодиоды.

Теперь немного про асинхронный контроллер PCI6350-AA66PC, установленный на плате видеозахвата ORIENT HW-808. Ubuntu 20.04 он вполне определяется: 01:08.0 PCI bridge: Hint Corp HiNT HB4 PCI-PCI Bridge (PCI6150) (rev 20) Но, на плате PCI6350, а выводе lspci (PCI6150), думаю, это не критично.

Создаются устройства /dev/video0-7 (по числу чипов bt878a на плате), а также устройства vbi0-7

В /etc/modprobe.d/video4linux.conf внесена строка options bttv card=0x69 tuner=-1 autoload=0

Она была под безродную одночиповую китайщину… эту строку я не менял. На общий полёт она пока влиять не должна.

Главный вопрос почему две PCI-e карты в первом слоте ведут себя таким образом как описано выше, отказываются зажигать свои светодиоды при наличии платы видеозахвата ORIENT HW-808, и, включают их при её отсутствии???

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

Я вам уже посоветовал сравнить dmesg в одном и другом случаях.

Можете ещё сравнить конфигурацию сетевой карты в проблемном слоте (lspci -vvv) при наличии и отсутствии ORIENT HW-808. Раз на плате видеозахвата PCI-мост, можно предположить, что BIOS как-то неправильно конфигурирует PCIe сетевую карту (нехватает ресурсов).

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

Сравнительный вывод lspci -vvv двух сетевых карт PCI-e TP-LINK TG-3468 ver. 2.0 и ver. 4.0 при установленной и извлечённой плате видеозахвата ORIENT HW-808.

https://pastebin.com/UEXrjVAm

Но, я разницы не увидел, как-будто ничего не изменилось....(((

Версия BIOS самая последняя:

description: Motherboard product: M2N-E vendor: ASUSTeK Computer INC. physical id: 0 version: 1.XX serial: 123456789000 *-firmware description: BIOS vendor: Phoenix Technologies, LTD physical id: 0 version: ASUS M2N-E ACPI BIOS Revision 5001 date: 03/23/2010 size: 128KiB BIOS

Вывод lspci -vvv, данные моста PCI6350-AA66PC, он же по даташиту асинхронный контроллер (мост/bridge, распаянный на плате видеозахвата ORIENT HW-808).

https://pastebin.com/HPND7NUG

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

Что касается вывода dmesg при отсутствующей и вставленной плате видеозахвата,

Плата видеозахвата отсутствует:

[ 3.657464] r8169 0000:03:00.0 enp3s0: renamed from eth3

[ 18.885927] r8169 0000:03:00.0 enp3s0: Link is Down

[ 20.474434] r8169 0000:03:00.0 enp3s0: Link is Up - 100Mbps/Full - flow control rx/tx

[ 20.474448] IPv6: ADDRCONF(NETDEV_CHANGE): enp3s0: link becomes ready

Вывод со вставленной платой видеозахвата:

[ 3.699468] r8169 0000:03:00.0 enp3s0: renamed from eth2

[ 225.507565] r8169 0000:03:00.0 enp3s0: Link is Down

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

В выводе lspci разница в номер устройства на шине и диапазоне (Region) памяти. То есть ваш HW-808 забирает 1 Мбайт адресного пространства и сетевой карте даются другие адреса. Вроде, не должно влиять. Может ещё какая разница есть в Capabilities, чтобы посмотреть нужно lspci запускать от root (через sudo).

Вобще с драйвером r8169 много шаманизма. Можете просто попробовать перевести интерфес в DOWN, потом в UP (от root):

ip link set dev enp3s0 down 
ip link set dev enp3s0 up

Можете попробовать выгрузить (modprobe -r r8169) и загрузить его (modprobe r8169), перед выгрузкой перевести использующие этот драйвер сетевые интерфейсы в DOWN. А после загрузки в UP.

Пока не важен ip-адрес, главное чтобы светодиод загорелся.

У вас там при загрузке сообщения ядра выводятся на экран или заставка? Если отключить заставку, чтобы на экран сыпались сообщения, можно попытаться снять видео (телефоном) чтобы и экран и светодиод линка были рядом, может будет понятно при каком сообщении гаснет линк.

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

Спасибо за конструктивную помощь!

Что имеем:

  1. Переименование интерфейсов enp2s0 в enp4s0 при вставке HW-808

  2. Интерфейс enp3s0 в статусе UP при стартовой загрузке и вставленной HW-808, при этом изменилось поведение, почему неизвестно, я ничего не менял, теперь при загрузке светодиод на этой карте вообще ни на секунду не желает «возгораться», молчит и всё.

  3. lspci под root ничего конструктивного не даёт, сохранить в файл не получается, максимум, что могу только фото с телефона.

  4. modbrobe -r r8169 и modprobe r8169 выгружает и загружает модуль. Ничего не происходит.

  5. командой ip link set dev enp3s0 (enp4s0) down интерфейсы выключаются. Последовательное их включение, enp3s0 - светодиод не загорается, enp4s0 - светодиод загорается на enp3s0, если переткнуть провод в enp4s0, то загораются светодиоды и на этой карте, которая до вставки HW-808 носила название enp2s0.

  6. Естественно, никакой локальной сети на enp3s0 нет, есть только загоревшийся светодиод, проблема с их переименованием осталась…(((

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

lspci под root ничего конструктивного не даёт

Да, это какой-то странный баг, можете попробовать через tee или только одной устройство и можете добавить опцию -PP, чтобы было понятнее к какой шине что подключено:

sudo lspci -vvv -PP | tee /tmp/tmp-file
# или
sudo lspci -vvv -PP -s 2:0  > /tmp/tmp-file
# число 2 из вывод lspci, то что стоит перед "Ethernet controller:"

Но, сначала разберитесь с линком (светодиодом). У вас при подключении HW-808 переконфигурируется все PCI и сетёвки могнут именоваться по другом. Но MAC-адрес у сетёвок не меняется. MAC-адрес это то, что вы выводе ″ip addr″ или ″ip link″ в строке link/ether. Сначала без HW-808 определите какой MAC у enp3s0 (карта в первом PCIe слоте), запишите его в файл, а потом с HW-808 посмотрите как называется сетёвка с таким MAC-адресом.

Если названия отличаются, то попробуйте руками DOWN enp3s0 и UP эту сетёвку с новым именем. Если линк появляется, то руками назначить адрес на это новое имя:

ip addr add 172.18.0.1/24 dev НОВОЕ_ИМЯ

и пинговать.

mky ★★★★★
()

но как только я в pci разъём

Оно всё именно PCI, или же PCIe? Если PCI без E, то платы могут попаcть на одно прерывание, а их у контроллера PCI всего 4 (хотя контроллеры можно каскадировать вроде бы, и на материнках с большим количеством PCI слотов контроллер был не один). Далее, если обоим картам захотелось режим bus master, то всё, привет. Как-то так вот оно раньше было.

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