linux/drivers/net/usb
Ole André Vadla Ravnås 3ec8d7572a CDC-NCM: add support for Apple's private interface
Available on iOS/iPadOS >= 17, where this new interface is used by
developer tools using the new RemoteXPC protocol.

This private interface lacks a status endpoint, presumably because there
isn't a physical cable that can be unplugged, nor any speed changes to
be notified about.

Note that NCM interfaces are not exposed until a mode switch is
requested, which macOS does automatically.

The mode switch can be performed like this:

        uint8_t status;
        libusb_control_transfer(device_handle,
                LIBUSB_RECIPIENT_DEVICE | LIBUSB_REQUEST_TYPE_VENDOR |
                LIBUSB_ENDPOINT_IN,
                82, /* bRequest */
                0,  /* wValue   */
                3,  /* wIndex   */
                &status,
                sizeof(status),
                0);

Newer versions of usbmuxd do this automatically.

Co-developed-by: Håvard Sørbø <havard@hsorbo.no>
Signed-off-by: Håvard Sørbø <havard@hsorbo.no>
Signed-off-by: Ole André Vadla Ravnås <oleavr@frida.re>
Link: https://lore.kernel.org/r/20240607074117.31322-1-oleavr@frida.re
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2024-06-12 18:57:03 -07:00
..
Kconfig net: usb: r8152: Use linkmode helpers for EEE 2024-02-28 12:18:04 +00:00
Makefile
aqc111.c usb: aqc111: stop lying about skb->truesize 2024-05-07 17:37:24 -07:00
aqc111.h
asix.h
asix_common.c
asix_devices.c net: annotate writes on dev->mtu from ndo_change_mtu() 2024-05-07 16:19:14 -07:00
ax88172a.c
ax88179_178a.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2024-05-14 10:53:19 -07:00
catc.c
cdc-phonet.c
cdc_eem.c
cdc_ether.c
cdc_mbim.c ipv6: annotate data-races around cnf.forwarding 2024-03-01 08:42:31 +00:00
cdc_ncm.c CDC-NCM: add support for Apple's private interface 2024-06-12 18:57:03 -07:00
cdc_subset.c
ch9200.c
cx82310_eth.c
dm9601.c net: usb: dm9601: fix wrong return value in dm9601_mdio_read 2024-02-27 18:17:23 -08:00
gl620a.c
hso.c net: hso: constify the struct device_type usage 2024-02-21 09:45:23 +00:00
huawei_cdc_ncm.c
int51x1.c
ipheth.c
kalmia.c
kaweth.c
lan78xx.c lan78xx: Enable Auto Speed and Auto Duplex configuration for LAN7801 if NO EEPROM is detected 2024-06-01 16:24:34 -07:00
lan78xx.h
lg-vl600.c
mcs7830.c
net1080.c
pegasus.c
pegasus.h
plusb.c
qmi_wwan.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2024-04-25 12:41:37 -07:00
r8152.c r8152: Set NET_ADDR_STOLEN if using passthru MAC 2024-06-06 17:33:12 -07:00
r8153_ecm.c
rndis_host.c
rtl8150.c
sierra_net.c
smsc75xx.c net: usb: remove unused structs 'usb_context' 2024-05-28 15:24:34 +02:00
smsc75xx.h
smsc95xx.c net: usb: smsc95xx: fix changing LED_SEL bit value updated from EEPROM 2024-05-27 12:48:23 +02:00
smsc95xx.h
sr9700.c net: usb: sr9700: stop lying about skb->truesize 2024-05-07 17:43:18 -07:00
sr9700.h
sr9800.c sr9800: Add check for usbnet_get_endpoints 2024-03-06 20:33:01 -08:00
sr9800.h
usbnet.c net: annotate writes on dev->mtu from ndo_change_mtu() 2024-05-07 16:19:14 -07:00
zaurus.c