Ethernet контроллер STM32F107 + PHY ST802RT1 + LwIP, прямое соединение кабелем с сервером. При переключении сетевой карты сервера в различные режимы наблюдается картина:
100 Mb / Full - обмен есть 100 Mb / Half - обмен есть 10 Mb / Full - обмен есть 10 Mb / Half - обмена нет
PHY в режиме автосогласования корректно определяет все режимы, далее производится запись битов FES (FES=1 - 100Mbit) и DM (DM=1 - FullDuplex) в регистр ETH_MACCR по результатам автосогласования. Замечено, что если MAC сконфигурирован на FullDuplex, то обмен нормальный, при любых вариантах Full / Half на сервере при соответствии скорости сервера и MAC. Вопрос - почему так происходит и как с этим бороться?
|