Skip to content

Add get/set ethernet address functions and ACPI MAC address pass through functionality to cdc_ncm driver

Charles Hyde linux-acpi linux-usb 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v3 Latest3 patches 1 replyIn review

Patches in v3 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/3net: cdc_ncm: add get/set ethernet address functionsdrivers/net/usb/cdc_ncm.c+73 -10 replies
2/3ACPI: move ACPI functionality out of r8152 driverdrivers/acpi/Makefile drivers/acpi/acpi_mac_passthru.c drivers/net/usb/r8152.c +1 more+95 -400 replies
3/3net: cdc_ncm: Add ACPI MAC address pass through functionalitydrivers/net/usb/cdc_ncm.c+64 -101 reply

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v3 yet.

Read the v3 thread

Cover letter [PATCH v3 0/3] Add get/set ethernet address functions and ACPI MAC address pass through functionality to cdc_ncm driver

In recent testing of a Dell Universal Dock D6000, I found that MAC address pass through is not supported in the Linux drivers. However, this same device is supported in Windows 10 (Pro) on my personal computer, in as much as I was able to tell Windows to assign a new MAC address of my choosing, and I saw through wireshark the new MAC address was pushed out to the device. Afterward, Windows reported a new IP address and I was able to view web pages.

This series of patches give support to cdc_ncm USB based Ethernet controllers for programming a MAC address to the device, and also to retrieve the device's MAC address. This patch series further adds ACPI MAC address pass through support specifically for the cdc_ncm driver, and generally for any other driver that may need or want it, in furtherance of Dell's enterprise IT policy efforts. It was this latter that I initially found lacking when testing a D6000 with a Dell laptop, and then I found ifconfig was unable to set a MAC address into the device. These patches bring a similar level of functionality to cdc_ncm driver as is available with the Realtek r8152 driver, and is available with Windows.

The cdc_ncm driver limits the ACPI MAC address pass through support to only the Dell Universal Dock D6000, so no other cdc_ncm device will be impacted.

Today's v3 patch series includes a function named get_ethernet_addr() which replaces two instances where the same code snippet was located in teh previous patch series. I also created a post reset function to set the MAC address, if there exists an ACPI MAC address pass through (MAPT) method. Oliver Neukum had requested a post reset function for this purpose.

Charles Hyde (3):
net: cdc_ncm: add get/set ethernet address functions
ACPI: move ACPI functionality out of r8152 driver
net: cdc_ncm: Add ACPI MAC address pass through functionality

 drivers/acpi/Makefile            |   1 +
 drivers/acpi/acpi_mac_passthru.c |  63 +++++++++++++
 drivers/net/usb/cdc_ncm.c        | 148 ++++++++++++++++++++++++++++---
 drivers/net/usb/r8152.c          |  44 +--------
 include/acpi/acpi_mac_passthru.h |  27 ++++++
 5 files changed, 232 insertions(+), 51 deletions(-)
 create mode 100644 drivers/acpi/acpi_mac_passthru.c
 create mode 100644 include/acpi/acpi_mac_passthru.h
Signature · 1 line
2.20.1