RE: No carrier lost information with gadget RNDIS/ECM

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

 



Hi,

Felipe Balbi writes:
> Kai Ruhnau <kai.ruhnau@xxxxxxxxxxxxx> writes:
>> On my i.MX6 SoloX, I have configured one of the OTG ports for a 
>> combined RNDIS/ECM gadget. After boot, I have two network interfaces
>> (usb0 and usb1) which are managed by systemd-networkd.
>>
>> With kernel 4.9.153, systemd-networkd reports an immediate carrier 
>> loss when I pull the USB cable from a Windows or macOS host. With
>> 4.19.53 or 5.1.15 that carrier loss is only reported when I re-attach 
>> the cable, meaning there is a "Lost carrier" for the last used 
>> interface immediately followed by a "Gained carrier" for the newly 
>> connected interface.
>
> First of all, thanks for actually testing the most recent stable kernels. Much appreciated :-)

Sure. Having so much support for the i.MX6 in mainline helps a lot :)

>> I have activated CONFIG_USB_GADGET_DEBUG_FILES, and the contents of
>> /proc/driver/rndis-000 don't change when I pull the cable:
>>
>> Config Nr. 0
>> used      : y
>> state     : RNDIS_DATA_INITIALIZED
>> medium    : 0x00000000
>> speed     : 425984000
>> cable     : connected
>> vendor ID : 0x00000000
>> vendor    : (null)
>>
>> Only when changing the host to a Mac, it's different:
>> Config Nr. 0
>> used      : y
>> state     : RNDIS_UNINITIALIZED
>> medium    : 0x00000000
>> speed     : 425984000
>> cable     : connected
>> vendor ID : 0x00000000
>> vendor    : (null)
>>
>> Thanks for any help.
>
> Which peripheral controller is this board using? Is it chipidea? dwc2?
> dwc3? High Speed or Super Speed?

According to the device tree it's 'fsl,imx6sx-usb' driven by chipidea/ci_hdrc_imx.c
When connecting to Windows, the dmesg shows:
 configfs-gadget gadget: high-speed config #2: c

Cheers,
Kai




[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux