WizNet W5100 не подключается к современным коммутаторам и маршрутизаторам

У меня есть сборщик данных Arduino с модулем W5100 (см. нижнюю часть рисунка). Простое фиксированное IP-соединение:

 byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; 
 byte ip[] = { 192, 168, 1, 242 };
 Ethernet.begin(mac,ip);  

Это работает с моими старыми маршрутизаторами (Asus WL500, TP-Link MR3420), но не удается подключиться при подключении гигабитного коммутатора или моего нового маршрутизатора (D-Link DWR-116). Светодиод подключения на новых устройствах не загорается или медленно мигает, указывая на повторные попытки подключения. Таким образом, W5100 не может установить физическое соединение.

Я добился успеха, добавив к ним свой коммутатор Surecom, которому 10 лет, но интересно, в чем может быть проблема. Есть ли какая-то конфигурация кабеля, которая используется W5100, но была удалена из этих новых сетевых устройств? (Не уверен, что кабель прямой или перекрестный, пробовать другой кабель - беспорядок, все дело в стене.)

, 👍5

Обсуждение

Проверьте IP-адрес. Возможно, это неправильная подсеть., @Mikael Patel

Я сделал это уже. Оба маршрутизатора настроены на 192.168.1.1. Кроме того, замена маршрутизатора - не единственный способ сделать это не так, достаточно было подключить его к свитчу вместо (старого) маршрутизатора., @Arthur

Проверьте питание модуля Ethernet., @Mikael Patel

Эта штука работает непрерывно уже 4 года. Он просто перестает работать, когда я пытаюсь подключить его к современному маршрутизатору или коммутатору., @Arthur


3 ответа


Лучший ответ:

7

Я думаю, что ваша проблема связана с MAC-адресом, который загружается в W5100. Попробуйте установить 2 младших бита первого байта в 0.

Эти биты определяют, является ли MAC-адрес одноадресным или многоадресным, а также частным или универсальным. Некоторые коммутаторы блокируют запросы ARP, если эти биты установлены неправильно.

Я изменил первый байт MAC-адреса с x'47' на x'44', и все заработало.

,

Спасибо, отличный совет! Немного поэкспериментировал, со странными результатами: мой роутер принимает х46, но не х44, а мой свитч принимает х44 и отказывается от х46. Оставил его на x46, ему не нужен гигабитный коммутатор для отправки нескольких байтов., @Arthur


0

Я только что настроил свой Dell PowerConnect, и он начал принимать W5100. Мне пришлось изменить скорость порта на 10M, и он начал работать. 100M и 1000M не принимали w5100. Раньше у меня было проводное соединение CISCO Wi-Fi 10/100M между ним и w5100, и оно соединяется нормально, но это не основная сеть в моей компании.

,

0

похоже на проблему с mac-адресом. Я погуглил байты MAC-адреса Tp-Link, и это сработало отлично. (это первые 4 байта)

,