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

esp_tinyusb port ECM/RNDIS supprt (IEC-176) (IEC-178) #72

Open
2 tasks done
chegewara opened this issue Oct 2, 2024 · 4 comments
Open
2 tasks done

esp_tinyusb port ECM/RNDIS supprt (IEC-176) (IEC-178) #72

chegewara opened this issue Oct 2, 2024 · 4 comments

Comments

@chegewara
Copy link

Answers checklist.

  • I have read the documentation of the component in question and the issue is not addressed there.
  • I have searched the issue tracker for a similar issue and not found a similar issue.

General issue report

Hi,
quick test with USB-NCM shows it is working, but there is problem with ECM/RNDIS. (v1.4.5)
According to changelog ECM/RNDIS support should be added:

## 1.1.0

- Added support for NCM, ECM/RNDIS, DFU and Bluetooth TinyUSB drivers https://github.com/espressif/idf-extra-components/commit/79f35c9b047b583080f93a63310e2ee7d82ef17b

but only NCM is enabled in CMakeLists

if(CONFIG_TINYUSB_NET_MODE_NCM)
    list(APPEND srcs
         tinyusb_net.c
         )
endif() # CONFIG_TINYUSB_NET_MODE_NCM

When trying to build with ECM enabled in menuconfig i get many (10) undefined reference to errors.

Thanks

BTW NCM is using different callback than ECM, so the init_cb callback on NCM is not working (no big issue)

tud_network_link_state_cb <--- NCM
tud_network_init_cb <--- ECM/RNDIS
@github-actions github-actions bot changed the title esp_tinyusb port ECM/RNDIS supprt esp_tinyusb port ECM/RNDIS supprt (IEC-176) Oct 2, 2024
@igrr igrr transferred this issue from espressif/idf-extra-components Oct 2, 2024
@github-actions github-actions bot changed the title esp_tinyusb port ECM/RNDIS supprt (IEC-176) esp_tinyusb port ECM/RNDIS supprt (IEC-176) (IEC-178) Oct 2, 2024
@tore-espressif
Copy link
Collaborator

@chegewara Thank you very much for trying this out.

The engineer who mainly worked on this left some work unfinished, ie here we wanted to remove support for ECM/RNDIS because it was never implemented in esp_tinyusb in a first place espressif/idf-extra-components#235

ATM, we want to upgrade to TinyUSB v0.17 which contains refactored NCM driver, if it works OK, we don't plan to implement ECM/RNDIS mainly because of maintenance cost

@chegewara
Copy link
Author

chegewara commented Oct 10, 2024

That's sad there is no plan to add ECM, because NCM is not supported on android.

I hope espressif don't plan to remove current ECM code, so maybe community will expand it (maybe I will try to work on it, if it's not a problem).

Thanks for good work on USB

Btw I think RNDIS is supported in tinyusb

@emaayan
Copy link

emaayan commented Nov 26, 2024

so essentially this means i cannot make esp usb look like ethernet card to windows right? cause that only works with rndis

@tore-espressif
Copy link
Collaborator

so essentially this means i cannot make esp usb look like ethernet card to windows right? cause that only works with rndis

Could you please try the attached instructions? It works OK on my Win10 machine
win10-native-ncm.pdf

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

No branches or pull requests

3 participants