Bug in split transactions on Raspberry Pi
stern at rowland.harvard.edu
Tue Jan 26 08:55:18 PST 2016
On Mon, 25 Jan 2016, Doug Anderson wrote:
> >> ...another interesting idea would be to try to see if you could just
> >> change the configuration of the Raspberry Pi kernel to switch which
> >> dwc2 driver it used. Presumably their driver was an addition on top
> >> of the driver in "drivers/usb/dwc2". In fact, doing a 'git log' on
> >> drivers/usb/dwc2 in the "rpi-4.4.y" kernel on github it looks pure
> >> (and Stefan is even the last commit author!)
> > I'll try it. In case it works: There have been lots of patches from
> > you and John posted to linux-usb in the last couple of months; which
> > ones should I apply for testing on top of d51c7d840b002? (That was the
> > top commit on the master branch at the time I shallow-cloned the
> > Raspberry Pi kernel from github -- looks like it's based on 4.1.15.)
> It's possible it makes more sense to switch to the 4.4 RPI kernel
> first to make thing simpler? Presumably that would have fewer patches
> to try applying atop.
I installed the rpi-4.4.y branch from the
https://github.com/raspberrypi/linux repository. As is, it generated a
working kernel. Then I tried editing the config; I removed
CONFIG_USB_DWCOTG and added CONFIG_USB_DWC2 and CONFIG_USB_DWC2_HOST.
However, when I booted the resulting kernel it didn't seem to detect
the host controller at all. No USB devices were probed, which meant no
working ethernet or keyboard.
Then I tried enabling both drivers in the config. That worked, but the
controller was bound to dwc_otg, not to dwc2.
I get the feeling that some magic DT incantation is missing, although I
have no idea what. The base bcm2709-rpi-2-b.dtb wasn't affected by the
config change, nor was the overlays/dwc2-overlay.dtb file.
More information about the linux-rpi-kernel