У меня есть устройство (высокоскоростная камера), которое связывается через порт Ethernet. Когда я подключаю его к своему компьютеру (Scientific Linux 6.4 x64), на порту компьютера и на камере мигают световые индикаторы, указывая на то, что происходит какая-то передача данных, по крайней мере, на начальном этапе.
Проблема в том, что устройство не видно ни одному из инструментов, предназначенных для работы с ним. Поэтому я хотел бы взаимодействовать с этим устройством на более низком уровне, частично для отладки, частично для обучения и частично для проверки работоспособности.
Я очень плохо знаком с сетевыми технологиями и поэтому, вероятно, запутался в некоторых базовых понятиях, но мне было интересно, есть ли какой-нибудь способ отправить широковещательную рассылку или пакет или какой-то другой способ исследовать / связаться с камерой напрямую?
Я попытался использовать nmap (для проверки связи с диапазонами IP-адресов), и это никуда меня не привело (я не знаю, должен ли IP-адрес камеры, напрямую подключенной к Ethernet, обязательно). Я также попытался использовать arp-scan, но это также не удалось по тем же причинам (нет IP для eth0).
РЕДАКТИРОВАТЬ - Дополнительная информация:
Производитель камеры: AOS
Модель камеры: X-PRI
Программное обеспечение: AOS CaPIICam SDK (Кроме того, он предназначен для работы в Windows, и я попытался запустить его как в собственной среде Windows, так и в Wine, с одинаковыми результатами.)
Я не уверен, какой тип кабеля я использую. Структура проволоки на обоих концах идентична (оранжево-сине-зелено-коричневая), поэтому я предполагаю, что она не пересекается. Я подключаюсь напрямую с камеры -> Кабель -> Компьютер.
Что касается исходного кода, вот он:
int main() {
CCaPIICam MyCam;
CAM_RC rc;
int ndev;
char* sNames[50];
for (int i = 0; i < 50; i++)
sNames[i] = new char[40];
rc = MyCam.GetCamNames(ndev, sNames);
camerror(rc);
getchar();
return EXIT_SUCCESS;
}
где camerror(int) - это просто процедура печати на консоль коммутатора для сообщения о кодах ошибок в соответствии с документацией API. Он прекрасно компилируется и связывается под родной Windows и на виртуальной машине, но camerror() сообщает о "неверном узле" в GetCamNames(), который не определен в документации.