We would like to add the ability for a user to change the mode of the USB Ethernet endpoint that Xebow exposes to the host.
Xebow currently exposes two Ethernet endpoints, RNDIS and NCM. This is because neither driver is fully compatible with all operating systems (see #91). If Xebow is only being connected to a single operating system type, a user may want to disable the other unused Ethernet endpoint which will show up as an invalid device, and may also be periodically rediscovered by the O/S and cause notifications to pop up.
Note that disabling one type of Ethernet endpoint may result in the device being unusable if it is connected to another type of operating system. Due to this, we also need to expose a recovery mechanism if the user encounters this state.
Acceptance Criteria
On the settings page, allow the user to select between the following USB Ethernet modes:
[ ] Auto - Both RNDIS and NCM endpoints are available as connection options.
It is OK for one of these endpoints to be disabled after the other connects successfully, as long as they both become available if neither has a connection (eliminates the need for the network bridge).
[ ] RNDIS - Only the RNDIS endpoint is active.
[ ] NCM - Only the NCM endpoint is active.
[ ] The user can hold a key sequence on device boot to change this setting without the web UI (recovery mechanism).
We would like to add the ability for a user to change the mode of the USB Ethernet endpoint that Xebow exposes to the host.
Xebow currently exposes two Ethernet endpoints, RNDIS and NCM. This is because neither driver is fully compatible with all operating systems (see #91). If Xebow is only being connected to a single operating system type, a user may want to disable the other unused Ethernet endpoint which will show up as an invalid device, and may also be periodically rediscovered by the O/S and cause notifications to pop up.
Note that disabling one type of Ethernet endpoint may result in the device being unusable if it is connected to another type of operating system. Due to this, we also need to expose a recovery mechanism if the user encounters this state.
Acceptance Criteria
Auto
- Both RNDIS and NCM endpoints are available as connection options.RNDIS
- Only the RNDIS endpoint is active.NCM
- Only the NCM endpoint is active.auto
.Design
https://www.figma.com/file/RMYWHeXJoDErWii1jm8C7k/Xebow?node-id=45%3A44