Hello, I write a network driver, and I try to understand how to communicate with phy. I see several methods, but did not found documentation on the differences, and when to use each of these methods: 1. using generic phy - a. I think we use it when we don't know the exaxt phy (?), though I'm not sure of that. b. use mii_if_info struct to register the read/write API between mii & phy. mii.mdio_read = custom_mdio_read_mii; mii.mdio_write = custom_mdio_write_mii; c. ethtool is used with mii_if_info and the registered functions 2. using external phy. a. I think we use it when we don't know the exaxt phy (?), though I'm not sure of that. b. use mii_bus to register the read/write API between mii & phy. mii.read = custom_mdio_read_mii; mii.write = custom_mdio_write_mii; c. not sure how ethtool is used in this case (?)... 3. using internal phy (?) - not sure how ethtool is used in this case (?)... Thanks for any feedback, Ran _______________________________________________ Kernelnewbies mailing list Kernelnewbies@xxxxxxxxxxxxxxxxx http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies