Take the 2-minute tour ×
Raspberry Pi Stack Exchange is a question and answer site for users and developers of hardware and software for Raspberry Pi. It's 100% free, no registration required.

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?

share|improve this question
    
I understand what you're doing, but this isn't a question (except in the title). Perhaps move most of this information to your self-answer. –  Jivings Sep 16 '12 at 11:41
    
Yes, self documenting. Is it better now? –  Krzysztof Adamski Sep 16 '12 at 12:19
    
Looks good. Nice work –  Jivings Sep 16 '12 at 17:32
    
This is a very good topic, especially in this early phase of the RaspPi. Can you also provide details of how to enable these options for completeness? –  Beeblebrox Jan 20 '13 at 2:40
add comment

2 Answers

up vote 4 down vote accepted
  • 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?

share|improve this answer
    
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: raspberrypi.stackexchange.com/questions/4090/… –  greggo Dec 24 '12 at 17:26
add comment

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

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.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.