Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add ETH PHY JL1101 (IDFGH-12581) #28

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

Jason2866
Copy link

@github-actions github-actions bot changed the title add ETH PHY JL1101 add ETH PHY JL1101 (IDFGH-12581) Apr 10, 2024
@kostaond
Copy link
Collaborator

@Jason2866 is there any board available with this chip so we could run some tests?

@Jason2866
Copy link
Author

@kostaond Tested and used with this board https://templates.blakadder.com/dingtian_DT-R008.html

@kostaond
Copy link
Collaborator

@Jason2866 thank you very much for your effort! I briefly checked the history of the need of JL1101 driver on the internet (at Tasmota repo). If I understand it correctly, JL1101 has been used as replacement of LAN8720 by Dingtian. Am I right? On the other hand, the driver of JL1101 is based on RTL8201 (it's almost 1 to 1 copy). Have you tested all the features including loopback (its implementation often differs among vendors)? The point is, once we accept a driver to our repository, we need to maintain it and test if all driver's advertised features are fully functional. You can imagine it's not simple nor cheap (requires HW and test resources).

At this point I'm not sure if most of the users really want/need all the features fully functional based on the history of this particular driver and my discussions with other users. Most people are focused on basic PHY functionality (link up/down indication and functional Tx/Rx of course). Therefore, I've been thinking about creating a "generic" PHY driver which would support the basic features of Ethernet PHY's (basic features and interface is standardized under IEEE802.3). The generic driver would be distributed with a warning that some features functionality might be limited if vendor does not fully follow IEEE802.3. I believe it could cover most of the user's needs out of the box without creating a new driver. Would such approach make sense to you? The only thing I'm concerned about right now is speed/duplex indication since it also differs among vendors. I need to think if I'm able to find reliable solution.

As a conclusion, I'm probably not going to accept this PR in any near future. If you really want to make JL1101 driver available to public via Component Registry right now, you are free to do so under your private namespace and repository. Thank you for understanding and your feedback is very welcomed.

@TD-er
Copy link

TD-er commented Apr 29, 2024

I also have it running using ESPEasy on the same Dingtian node here, so I can also do some tests.

What do you need to know or tested?

  • connect/disconnect
  • 10M/100M speed
  • ???

Currently my board is connected to an unmanaged 2.5G/10G switch, but I can also connect it via a managed switch so I can toggle the link speed.

@Jason2866
Copy link
Author

Therefore, I've been thinking about creating a "generic" PHY driver which would support the basic features of Ethernet PHY's (basic features and interface is standardized under IEEE802.3). The generic driver would be distributed with a warning that some features functionality might be limited if vendor does not fully follow IEEE802.3. I believe it could cover most of the user's needs out of the box without creating a new driver. Would such approach make sense to you? The only thing I'm concerned about right now is speed/duplex indication since it also differs among vendors. I need to think if I'm able to find reliable solution.

This sounds interesting. Since maintaining our own fork (which includes the driver) it is fine for me to close this PR.

@kostaond
Copy link
Collaborator

@TD-er if you are interested in the matter, you can add the driver to https://github.com/espressif/esp-idf/blob/master/components/esp_eth/test_apps/main/esp_eth_test_common.c, build, flash and run "ethernet" tests.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants