cpu: IXP425, phy: RTL8201CP
IAL400, ethtool

Мануальный форсаж режимов без autonegotiation не работает, с autonegotiation все ок
если смотреть на линк с другой стороны то при установлении 100(10)-HD переходит в half duplex и обратно возвратить не возможно, только через включение autoneg
10-FD установить невозможно
сам же phy(по статусу) при этом находится в 10-FD
Встречал ли кто такую ситуацию или это у меня проблемы с драйвером?

статус вычитываю так:
Код
...                   ixEthAccMiiReadRtn(phyAddr,  IX_ETH_MII_STAT_REG, &statRegval);
     if(!autoneg) {
...
                  if(ixEthMiiPhyId[phyAddr] == IX_ETH_MII_RTL8201CP_PHY_ID) {

                                 ixEthAccMiiReadRtn(phyAddr, 0x19, &regval25);
                                 if(regval25&0x01)
                                         *speed100 = TRUE;
                                 *fullDuplex = ( (statRegval & (IX_ETH_MII_SR_10T_HALF_DPX|IX_ETH_MII_SR_TX_HALF_DPX)) != 0);

                         }
...
    }


И соответственно устанавка режимов:
Код
     if(speed100)
         regval |= 0x2000;
     if(fullDuplex)
         regval |= 0x0100;