Hi Platon,
When you talk about "L2 addresses" do you mean MAC addresses or IP addresses? I ran the script you suggested and all the diagnostic registers of the switch are in zero. This is the output of the script:
REGISTER Port0 Port1 Port2 Port3 Port4
N_TXBYTE 0 0 0 0 0
N_TXFRM 0 0 0 0 0
N_RXBYTE 0 0 0 0 0
N_RXFRM 0 0 0 0 0
Diagnostic Registers Read Sucessfully
Does that mean they are not configured? I am turning the rotary switch into position "1" before turning on the switch. After that, I run this py script to set one of the PHYs to be a slave as one of my boards is configured as master:
eth_switch = SJA1105_Platform(8)
#enable access to configuration register
reg = eth_switch.smi_read(4,17)
reg |= 0x0004
eth_switch.smi_write(4,17,reg)
#configure PHY 1 (address 4) as slave
reg = eth_switch.smi_read(4,18)
reg &= 0x7FFF
eth_switch.smi_write(4,18,reg)
#disable access to configuration register
reg = eth_switch.smi_read(4,17)
reg &= ~(0x0004)
eth_switch.smi_write(4,17,reg)
#enable link control
reg = eth_switch.smi_read(4,17)
reg |= 0x8000
eth_switch.smi_write(4,17,reg)
Then, I execute the program on my two boards but as I said before, they are only able to send frames but not receive them. Do you know what should the diagnostic registers of the switch have? If there is any documentation available that does not require NDA, I would appreciate you could point me to it. I am working on my own so I don't have a company that can back me up for the NDA. I only posses the AH1508 document but it does not have much information that can help me solve my issue.
Thanks!
Best regards,
Jorge