NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

kern/59872: urndis(4): missing support for some devices



>Number:         59872
>Category:       kern
>Synopsis:       urndis(4): missing support for some devices
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Wed Dec 31 23:30:00 +0000 2025
>Originator:     Taylor R Campbell
>Release:        current, 11, 10, 9, ...
>Organization:
The NetBSD Urndistination, Inc.
>Environment:
>Description:

	A device with the following USB interface -- a phone in USB
	tethering mode -- is not recognized by urndis(4) and instead
	attaches as ugen(4):

  1  59084               urndis_match:entry struct usbif_attach_arg {
    int uiaa_port = 0x4
    int uiaa_configno = 0x1
    int uiaa_ifaceno = 0
    int uiaa_vendor = 0x5c6
    int uiaa_product = 0xf00e
    int uiaa_release = 0x601
    struct usbd_device *uiaa_device = 0xfffff99eb1c23c00
    struct usbd_interface *uiaa_iface = 0xfffff99ea8d97540
    int uiaa_class = 0xef
    int uiaa_subclass = 0x4
    int uiaa_proto = 0x1
    struct usbd_interface **uiaa_ifaces = 0xfffff99eea781780
    int uiaa_nifaces = 0x2
} 

>How-To-Repeat:

	Try to use USB tethering with a matching device.

>Fix:

	Yes, please!

	According to
	https://www.usb.org/defined-class-codes#anchor_BaseClassEFh,
	this class/subclass/protocol is:

	class 0xef (Miscellaneous)
	subclass 0x04 interface 0x01 (RNDIS over Ethernet)

	According to Linux, FreeBSD, and OpenBSD, urndis(4) should also
	match the following:

   class           subclass                        protocol
1. 0x02 (CDC)      0x02 (abstract control model)   0xff (? rndis?)
2. 0xef (misc)     0x01 (sync)                     0x01 (active)
3. 0xef (misc)     0x04 (rndis)                    0x03 (wimax)
4. 0xef (misc)     0x04 (rndis)                    0x04 (wwan)

	But I don't have devices to test.



Home | Main Index | Thread Index | Old Index