711 slave->online_state == EC_SLAVE_ONLINE ? "online" : "OFFLINE", |
711 slave->online_state == EC_SLAVE_ONLINE ? "online" : "OFFLINE", |
712 slave->error_flag ? "ERROR" : "ok"); |
712 slave->error_flag ? "ERROR" : "ok"); |
713 |
713 |
714 off += sprintf(buffer + off, "Data link status:\n"); |
714 off += sprintf(buffer + off, "Data link status:\n"); |
715 for (i = 0; i < 4; i++) { |
715 for (i = 0; i < 4; i++) { |
716 off += sprintf(buffer + off, " Port %i (", i); |
716 off += sprintf(buffer + off, " Port %u: Phy %u (", |
|
717 i, slave->sii_physical_layer[i]); |
717 switch (slave->sii_physical_layer[i]) { |
718 switch (slave->sii_physical_layer[i]) { |
718 case 0x00: |
719 case 0x00: |
719 off += sprintf(buffer + off, "EBUS"); |
720 off += sprintf(buffer + off, "EBUS"); |
720 break; |
721 break; |
721 case 0x01: |
722 case 0x01: |
723 break; |
724 break; |
724 case 0x02: |
725 case 0x02: |
725 off += sprintf(buffer + off, "100BASE-FX"); |
726 off += sprintf(buffer + off, "100BASE-FX"); |
726 break; |
727 break; |
727 default: |
728 default: |
728 off += sprintf(buffer + off, "unknown (%i)", |
729 off += sprintf(buffer + off, "unknown"); |
729 slave->sii_physical_layer[i]); |
730 } |
730 } |
731 off += sprintf(buffer + off, "), Link %s, Loop %s, %s\n", |
731 off += sprintf(buffer + off, ") Link %s, Loop %s, %s\n", |
|
732 slave->dl_link[i] ? "up" : "down", |
732 slave->dl_link[i] ? "up" : "down", |
733 slave->dl_loop[i] ? "closed" : "open", |
733 slave->dl_loop[i] ? "closed" : "open", |
734 slave->dl_signal[i] ? "Signal detected" : "No signal"); |
734 slave->dl_signal[i] ? "Signal detected" : "No signal"); |
735 } |
735 } |
736 off += sprintf(buffer + off, "\n"); |
736 off += sprintf(buffer + off, "\n"); |
737 |
737 |
738 if (slave->sii_alias) |
738 if (slave->sii_alias) |
739 off += sprintf(buffer + off, "Configured station alias:" |
739 off += sprintf(buffer + off, "Configured station alias:" |
740 " 0x%04X (%i)\n\n", slave->sii_alias, slave->sii_alias); |
740 " 0x%04X (%i)\n\n", slave->sii_alias, slave->sii_alias); |
741 |
741 |
742 off += sprintf(buffer + off, "Vendor ID: 0x%08X (%u)\n", |
742 off += sprintf(buffer + off, "Identity:\n"); |
|
743 off += sprintf(buffer + off, " Vendor ID: 0x%08X (%u)\n", |
743 slave->sii_vendor_id, slave->sii_vendor_id); |
744 slave->sii_vendor_id, slave->sii_vendor_id); |
744 off += sprintf(buffer + off, "Product code: 0x%08X (%u)\n", |
745 off += sprintf(buffer + off, " Product code: 0x%08X (%u)\n", |
745 slave->sii_product_code, slave->sii_product_code); |
746 slave->sii_product_code, slave->sii_product_code); |
746 off += sprintf(buffer + off, "Revision number: 0x%08X (%u)\n", |
747 off += sprintf(buffer + off, " Revision number: 0x%08X (%u)\n", |
747 slave->sii_revision_number, slave->sii_revision_number); |
748 slave->sii_revision_number, slave->sii_revision_number); |
748 off += sprintf(buffer + off, "Serial number: 0x%08X (%u)\n\n", |
749 off += sprintf(buffer + off, " Serial number: 0x%08X (%u)\n\n", |
749 slave->sii_serial_number, slave->sii_serial_number); |
750 slave->sii_serial_number, slave->sii_serial_number); |
750 |
751 |
751 if (slave->sii_mailbox_protocols) { |
752 if (slave->sii_mailbox_protocols) { |
752 off += sprintf(buffer + off, "Mailboxes:\n"); |
753 off += sprintf(buffer + off, "Mailboxes:\n"); |
753 off += sprintf(buffer + off, " RX: 0x%04X/%u, TX: 0x%04X/%u\n", |
754 off += sprintf(buffer + off, " RX: 0x%04X/%u, TX: 0x%04X/%u\n", |