On Fri, 15 Nov 2019 at 09:30, Hui Wang <hui.w...@canonical.com> wrote: > > I did test with VMSPLIT_2G today, the mmc/sd controller will not work > anymore on rpi4 boards, so enable VMSPLIT_2G is not a solution so far.
Oh well, was worth a try. > And today I also tested dwc2, it worked well, maybe we could enable dwc2 > instead of dwc_otg, then we could use a single kernel to support > rpi2/3/4. dwc2 worked well both with VMSPLIT_2G and VMSPLIT_3G. Interesting; I noted upstream talking about the optimization of dwc_otg (I'm guessing, from a quick skim of each, that's mostly from the FIQ FSM stuff in dwc_otg which dwc2 seems to lack); we should probably benchmark the performance differences between dwc_otg and dwc2, both USB transfer speeds, and load on the ARM during transfers (my hunch is, if anything is affected, it'll be the latter - I vaguely recall forum posts about improvements on the ARM load during large USB transactions). > I am building a formal armhf and arm64 kernel with dwc2 enabled, will > test all kernels on all boards. And I will share the kernels to the lp, > anyone could help test them. Given arm64 isn't affected, would it be worth sticking with dwc_otg on that arch? Or is the inconsistency (e.g. different capabilities?) an issue in and of itself? I'm more than happy to test out some kernels when they're available! Thanks, Dave. -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux-raspi2 in Ubuntu. https://bugs.launchpad.net/bugs/1852510 Title: IO errors when writing large amounts of data to USB storage in eoan on RPI Status in linux-raspi2 package in Ubuntu: New Status in linux-raspi2 source package in Eoan: In Progress Bug description: Kernel tested: Linux ubuntu 5.3.0-1012-raspi2 #14-Ubuntu SMP Mon Nov 11 10:08:39 UTC 2019 armv7l armv7l armv7l GNU/Linux I've only been able to reproduce this with the armhf kernel and on the following devices: RPI3B+ RPI3B RPI2 At the moment, it does not appear that arm64 is affected, nor are RPI3A+ and RPI4 (at least not the 2GB version) Steps to reproduce: - Insert and mount a USB storage device - cp a large file to it (300-600MB recommended - smaller files will sometimes not trigger it) - sync After running the sync, a lot of IO errors will show up in dmesg like: [ 176.129299] sd 0:0:0:0: [sda] tag#0 FAILED Result: hostbyte=DID_ERROR driverbyte=DRIVER_OK [ 176.129326] sd 0:0:0:0: [sda] tag#0 CDB: Write(10) 2a 00 00 2e 24 b0 00 00 f0 00 [ 176.129349] blk_update_request: I/O error, dev sda, sector 3024048 op 0x1:(WRITE) flags 0x4000 phys_seg 15 prio class 0 [ 176.883968] usb 1-1.1.2: reset high-speed USB device number 8 using dwc_otg [ 177.079960] usb 1-1.1.2: reset high-speed USB device number 8 using dwc_otg It eventually finishes, and if you unmount/remount the device, the checksum will be different from the original file. To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux-raspi2/+bug/1852510/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp