diff -r aabbfdacc2cc -r 4e32bcc6b361 master/slave.c --- a/master/slave.c Tue Apr 11 14:38:34 2006 +0000 +++ b/master/slave.c Tue Apr 11 14:39:17 2006 +0000 @@ -124,6 +124,7 @@ slave->dl_link[i] = 0; slave->dl_loop[i] = 0; slave->dl_signal[i] = 0; + slave->sii_physical_layer[i] = 0xFF; } return 0; @@ -619,6 +620,8 @@ const uint8_t *data /**< Kategorie-Daten */ ) { + unsigned int i; + if (ec_slave_locate_string(slave, data[0], &slave->eeprom_group)) return -1; if (ec_slave_locate_string(slave, data[1], &slave->eeprom_name)) @@ -626,6 +629,9 @@ if (ec_slave_locate_string(slave, data[3], &slave->eeprom_desc)) return -1; + for (i = 0; i < 4; i++) + slave->sii_physical_layer[i] = (data[4] & (0x03 << (i * 2))) >> (i * 2); + return 0; } @@ -1011,7 +1017,22 @@ EC_INFO(" Data link status:\n"); for (i = 0; i < 4; i++) { - EC_INFO(" Port %i: link %s, loop %s, %s\n", i, + EC_INFO(" Port %i (", i); + switch (slave->sii_physical_layer[i]) { + case 0x00: + printk("EBUS"); + break; + case 0x01: + printk("100BASE-TX"); + break; + case 0x02: + printk("100BASE-FX"); + break; + default: + printk("unknown"); + } + printk(")\n"); + EC_INFO(" link %s, loop %s, %s\n", slave->dl_link[i] ? "up" : "down", slave->dl_loop[i] ? "closed" : "open", slave->dl_signal[i] ? "signal detected" : "no signal");