23

There's a lot of problems with USB stack on Rapsberry Pi and developers are working hard to fix as many of them as possible. They introduce some kernel modules options (like dwc_otg.fiq_fix_enable) that enables those fixes from time to time. Most of them are being enabled by default in recent kernels so you don't want to know them in order to use them. It's always good to know what you can disable when troubleshooting problems, though. And it's good to know that you don't need them in your cmdline.txt anymore when cleaning it up or reinstalling your SD card.

So what is the list of all such options that and what is their meaning?

Krzysztof Adamski
  • 9,585
  • 1
  • 36
  • 53

2 Answers2

21
  • dwc_otg.speed -> 1 will limit USB speed to full speed 12Mbps (USB 1.1)
  • dwc_otg.lpm_enable -> 0 by default, it disalbes LPM support, never seen anyone with value 1 here but it's specified in default cmdline.txt
  • dwc_otg.fiq_fix_enable -> 1 (default now) give about 10% extra performance to ARM when USB is not busy by lowering the number of interrupts USB does
  • dwc_otg.microframe_schedule -> 1 (default now) This should fix the error when too many periodic endopoints are present
  • dwc_otg.nak_holdoff_enable -> 1 (default now) NAK holdoff schame, don't really know what it does

Are there any more?

Krzysztof Adamski
  • 9,585
  • 1
  • 36
  • 53
  • dwc_otg.speed=1 seems to break a lot of keyboards. If you have a KB that doesn't break with this, please let me know here: http://raspberrypi.stackexchange.com/questions/4090/how-can-dwc-otg-speed-1-be-made-to-work – greggo Dec 24 '12 at 17:26
  • 1
    `dwc_otg.fiq_fsm_enable=0`, see [here](https://github.com/raspberrypi/linux/issues/588). – CrazyCoder May 14 '14 at 03:37
  • `dwc_otg.nak_holdoff_enable=1` According to [this](https://elinux.org/RPI_BCM2708_Parameters) it also reduces interrupts in certain cases. – Cerin Jan 20 '18 at 03:33
5

This USB controller has several features that can be controlled by module parameters. I found this document detailing each parameter and options available.

http://www.cl.cam.ac.uk/~atm26/ephemeral/rpi/dwc_otg/doc/html/module%20parameters.html (archive, September 2015)

It seems obvious that you can cripple your device if you set some of these options. Fortunately, fixing it is a matter of remounting your SD card elsewhere and editing the cmdline.txt file.

Jason C
  • 238
  • 2
  • 12
Michael
  • 326
  • 3
  • 4