Skip to content

RNDIS device class doesn't response to RNDIS_OID_802_3_PERMANENT_ADDRESS #250

@py-ir0nf1st

Description

@py-ir0nf1st

I am implementing a full speed RNDIS device on STM32.
When connecting the device to a Linux host, the device couldn't be enumerated by the host.

dmesg on the host gave the following messages:
[ 4552.054215] usb 1-1.3: new full-speed USB device number 12 using dwc_otg
[ 4552.174704] usb 1-1.3: New USB device found, idVendor=0483, idProduct=5742, bcdDevice= 2.00
[ 4552.174739] usb 1-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 4552.174756] usb 1-1.3: Product: STM32 RNDIS Device
[ 4552.174769] usb 1-1.3: Manufacturer: STMicroelectronics
[ 4552.174782] usb 1-1.3: SerialNumber: 000000000001
[ 4552.198983] rndis_host 1-1.3:1.0: RNDIS_MSG_QUERY(0x01010101) invalid response - off 16 len 4
[ 4552.199034] rndis_host 1-1.3:1.0: rndis get ethaddr, -33
[ 4552.204514] rndis_host 1-1.3:1.0: probe with driver rndis_host failed with error -33

Kernel version on the host:
6.12.25+rpt-rpi-v8

After checking the code in ux_device_class_rndis_msg_query.c/_ux_device_class_rndis_msg_query, oid "UX_DEVICE_CLASS_RNDIS_OID_802_3_PERMANENT_ADDRESS" is not handled indeed.
But the OID is mandatory(according to the comment in ux_device_class_rndis_initialize.c) and it presents in ux_device_class_rndis_oid_supported_list.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    Status

    Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions