hello. Following up on this post, I can now more succinctly describe the problem. The issue appears to be that when the port is configured at boot time, the media autoselect code selects 10baset-fdx on the port with ASF running even though the actual speed should be 100baset-fdx. Typing: ifconfig bge1 up;ifconfig bge1 down causes the autoselect code to select the correct speed and duplex. I realize the ifconfig bge1 down isn't necessary, but I want to show that turning the port off doesn't revert it to the broken state.
What I don't understand is what's different between the initial sequence of configuring the port and doing it again with ifconfig up. I've combed through the if_bge.c file, looking at the initialization differences between bge_init() and bge_attach(), and they look pretty much the same relative to the handling of the phy. Clearly, however, they are not. Also,I've tried to factor out the differences between what the driver in NetBSD-5.2 does, versus the current driver, since the 5.2 driver works correctly relative to the ASF firmware. Any thoughts anyone might have would be greatly appreciated. I feel I'm close to the answer, but don't yet have it. -thanks -Brian
