Подтвердить что ты не робот

Драйвер ethernet низкого уровня для чтения битов с phy-слоя

Можно ли считывать биты непосредственно из физического интерфейса Ethernet-соединения из стандартного интерфейса ethernet компьютера?

Например, предположим, что я хочу использовать разъем Ethernet для ноутбука в качестве дифференциального логического зонда (используя стандартный Ethernet-кабель). Могу ли я просто написать драйвер, чтобы получить бит, или есть ли ограничение на то, насколько низкий драйвер может пойти?

По сути, физический уровень просто отправляет поток бит в драйвер устройства или выполняет какое-либо декодирование, которое будет влиять на интерпретацию битов или вызвать неисправность устройства (например, с использованием другой схемы кодирования).

Я предполагаю, что это сводится к тому, может ли мы использовать Ethernet-порт как любую стандартную цифровую дифференциальную линию связи, написав подходящий драйвер или ограничимся спецификацией ieee (8b/10b и т.д.)..

4b9b3361

Ответ 1

Чтобы ответить коротко, возможно, нет.

Вот некоторые причины, по которым:

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

Интерфейс аппаратного обеспечения PHY:. Затем следующий шаг заключается в том, что это просто не контролируется процессором, где выполняется ваш код, но через интерфейс PHY Chip ethernet, и там у вас нет (легко ) способ мигать и контролировать его. Некоторые разные чипы PHY позволяют вам различный уровень доступа, но я сомневаюсь, что вы найдете что-то, что позволит вам напрямую управлять интерфейсом передачи, и даже если бы это произошло, его пришлось бы внедрить в драйвер, который также маловероятен. Ethernet PHY Controller

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

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

Ответ 2

Вы можете использовать libpcap/WinPcap для этого. Тем не менее вы не полностью свободны в выборе того, что вы пишете/читаете на проводе. например преамбула и ЮФО должны быть там. Это настолько фундаментально (из-за помехоустойчивости), что типичное оборудование просто не поддерживает ничего другого.

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