посмотрел. Там внутри есть вызов HAL_ETH_Init(), а затем в зависимости от того что она вернула, ставится или не ставится NETIF_FLAG_LINK_UP. Ну соответственно, если кабеля нет то и не будет этого флага. Это так раньше было. Сейчас я его искусственно поднял, и все работает и с кабелем и без него.