Re: BUG with linux 5.9.0 with dwc3 in gadget mode

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

 



Hi,

Op 27-10-2020 om 22:06 schreef Jack Pham:
Hi Ferry,

On Tue, Oct 27, 2020 at 09:13:31PM +0100, Ferry Toth wrote:
Hi guys,

Sorry for messing up the CC list. This was partly thanks to gmane, partly my
own stupidity. I hope it is complete now.

I am summarizing the status of this one at the bottom.

Op 22-10-2020 om 15:43 schreef Andy Shevchenko:
On Thu, Oct 22, 2020 at 4:21 PM Thinh Nguyen <Thinh.Nguyen@xxxxxxxxxxxx> wrote:
Ferry Toth wrote:
Op 21-10-2020 om 21:50 schreef Thinh Nguyen:
Ferry Toth wrote:
...

Oops, looks like I can't make it synchronous this way. Can you try
Jack's change to the u_audio.c instead?
Oops indeed goes away with Jack's change, but usb connection goes
up/down continuously, meaning: my host sees usb network and audio
device appearing / disappearing.
Ok, thanks for verifying that it went away.

mass_storage device does not appear all.
There are some fixes to dwc3 in kernel mainline. Is it possible to test
this against linux-next?
I think the best is to wait for v5.10-rc1 and retest.

I looks like there have been at least 3 problems:

1) dwc3 was not working in host mode, but not causing an oops. This may have
been caused by platform changes. Andy has provided a fix for this, dwc3 now
working in host mode on 5.9

2) dwc3 was causing the oops in gadget mode as referenced in this thread.
The experimental patch from Jack Phan indeed fixes this.

Code here: https://github.com/edison-fw/linux/commits/eds-acpi-5.9.0
Great, thanks! I'll submit the patch to the list. Is it alright if I
add a Reported-and-tested-by tag from you?

Sure.

I also tested against 5.10-rc1 now, see below.

3) With the above 2 fixes gadgets work but seem to be powered down (after 15
sec. or so) and up (after 1 sec.) continuously. No oops, no errors in
journal. The gadgets I enabled are a network, sound and mass storage. The
latter stops working due to going up/down quickly. But my host shows
network/sound appearing/disappearing. Journal of edison shows:

systemd-networkd[525]: usb0: Gained carrier
systemd-networkd[525]: usb0: Gained IPv6LL
systemd-networkd[525]: usb0: Lost carrier
systemd-networkd[525]: usb0: Gained carrier
systemd-networkd[525]: usb0: Gained IPv6LL
systemd-networkd[525]: usb0: Lost carrier

With 5.10-rc1 booting in host mode, then switching to gadget lost carrier (after 30 dec.) happens only once, then comes back and stays:

root@edison:~# journalctl -b -1 | grep usb0
Oct 27 22:36:52 edison kernel: usb0: HOST MAC aa:bb:cc:dd:ee:f2
Oct 27 22:36:52 edison kernel: usb0: MAC aa:bb:cc:dd:ee:f1
Oct 27 22:36:52 edison kernel: IPv6: ADDRCONF(NETDEV_CHANGE): usb0: link becomes ready
Oct 27 22:36:52 edison systemd-networkd[527]: usb0: Gained carrier
Oct 27 22:36:54 edison systemd-networkd[527]: usb0: Gained IPv6LL
Oct 27 22:37:25 edison systemd-networkd[527]: usb0: Lost carrier
Oct 27 22:37:26 edison kernel: IPv6: ADDRCONF(NETDEV_CHANGE): usb0: link becomes ready
Oct 27 22:37:26 edison systemd-networkd[527]: usb0: Gained carrier
Oct 27 22:37:27 edison systemd-networkd[527]: usb0: Gained IPv6LL

Booting in gadget mode sequence of event is defferent:
root@edison:~# journalctl -b | grep usb0
Oct 27 22:58:54 edison kernel: usb0: HOST MAC aa:bb:cc:dd:ee:f2
Oct 27 22:58:54 edison kernel: usb0: MAC aa:bb:cc:dd:ee:f1
Oct 27 22:58:57 edison systemd-networkd[543]: usb0: Gained IPv6LL
Oct 27 22:58:57 edison systemd-networkd[543]: usb0: Lost carrier
Oct 27 22:58:57 edison systemd-networkd[543]: usb0: Gained carrier


Any ideas how to proceed are highly welcomed!
I suppose you can start with enabling dwc3 trace events and try to see
what's going on from the gadget side. Please refer to
Documentation/driver-api/usb/dwc3.rst **Reporting Bugs**
I'll try to get something meaningful here
Also what happens if you enable the network, sound and mass storage
functions individually rather than all at once (assuming you are using
ConfigFS)?
I haven't tried this yet. I did try disabling sound entirely but that made no difference.
Jack



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

  Powered by Linux