(trimming out the devicetree list and maintainers for this discussion) On 11/26/2013 12:52 PM, Paul Zimmerman wrote: >> From: Stephen Warren [mailto:swarren@xxxxxxxxxxxxx] >> Sent: Tuesday, November 26, 2013 11:43 AM >> >> On 11/26/2013 12:27 PM, Paul Zimmerman wrote: >>>> From: Stephen Warren [mailto:swarren@xxxxxxxxxxxxx] >>>> Sent: Monday, November 25, 2013 9:03 PM >>>> >>>> The DWC2 USB controller in the BCM2835 (Raspberry Pi) needs some non- >>>> default parameters. Select these based on the compatible value from the >>>> DT node. For all other HW, fall back to the default parameters currently >>>> in use. >>>> >>>> The values in params_bcm2835[] were posted to the mailing list by Paul >>>> quite some time ago. I made a couple of minor modifications since then; >>>> to set ahbcfg instead of ahb_single, and to set uframe_sched. >>> >>> Hi Stephen, >>> >>> I don't see any code in this patch that is setting uframe_sched? >> >> Hmm, that's true. What value should it be set to for the BCM2835, do you >> know? I obviously have it set to 0, which seems to work out OK... > > It definitely should be enabled for the Pi, so set it to 1. Hmm. I should have tested that patch better before I sent it... With .uframe_sched=1, my model B's built-in Ethernet chip works fine. I've passed many MB of data through it without issue, including pings, a kernel source download, and package updates. However, I just enabled .uframe_sched=1 on my model A, which has a USB hub and USB wireless dongle attached. Now USB enumeration doesn't work, and booting the kernel is extremely slow, with lots of USB-related messages. I've run that board for a few days straight without issue, with .uframe_sched=0 and periodic network use. Does this imply that .uframe_sched=1 isn't correct for the Pi, or that the code that flag enables has issues? FWIW, the problematic kernel log is below. Unfortunately, I can't debug this much since that Pi is deployed "in production" in my daughter's room, and she's (hopefully...) asleep. I'll also be away starting tomorrow morning until Mon evening. > [ 1.907615] dwc2 20980000.usb: DWC OTG Controller > [ 1.915043] dwc2 20980000.usb: new USB bus registered, assigned bus number 1 > [ 1.924766] dwc2 20980000.usb: irq 33, io mem 0x00000000 > [ 1.932906] usb usb1: default language 0x0409 > [ 1.939969] usb usb1: udev 1, busnum 1, minor = 0 > [ 1.947325] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002 > [ 1.956906] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1 > [ 1.966981] usb usb1: Product: DWC OTG Controller > [ 1.974570] usb usb1: Manufacturer: Linux 3.13.0-rc1-next-20131125+ dwc2_hsotg > [ 1.984841] usb usb1: SerialNumber: 20980000.usb > [ 1.993202] usb usb1: usb_probe_device > [ 2.000066] usb usb1: configuration #1 chosen from 1 choice > [ 2.008968] usb usb1: adding 1-0:1.0 (config #1, interface 0) > [ 2.018227] hub 1-0:1.0: usb_probe_interface > [ 2.025763] hub 1-0:1.0: usb_probe_interface - got id > [ 2.033990] hub 1-0:1.0: USB hub found > [ 2.040891] hub 1-0:1.0: 1 port detected > [ 2.047796] hub 1-0:1.0: standalone hub > [ 2.054580] hub 1-0:1.0: ganged power switching > [ 2.061983] hub 1-0:1.0: individual port over-current protection > [ 2.070833] hub 1-0:1.0: Single TT > [ 2.076944] hub 1-0:1.0: TT requires at most 8 FS bit times (666 ns) > [ 2.086102] hub 1-0:1.0: power on to power good time: 2ms > [ 2.094549] hub 1-0:1.0: local power source is good > [ 2.102344] hub 1-0:1.0: enabling power on all ports > [ 2.112008] tsl2563 1-0039: model 5, rev. 0 > [ 2.121210] oprofile: no performance counters > [ 2.128318] oprofile: using timer interrupt. > [ 2.135673] TCP: cubic registered > [ 2.142836] NET: Registered protocol family 10 > [ 2.151272] sit: IPv6 over IPv4 tunneling driver > [ 2.159514] NET: Registered protocol family 17 > [ 2.180761] kjournald starting. Commit interval 5 seconds > [ 2.198444] EXT3-fs (mmcblk0p2): using internal journal > [ 2.206507] hub 1-0:1.0: port 1: status 0101 change 0001 > [ 2.214470] EXT3-fs (mmcblk0p2): mounted filesystem with ordered data mode > [ 2.224234] VFS: Mounted root (ext3 filesystem) on device 179:2. > [ 2.235386] devtmpfs: mounted > [ 2.242299] Freeing unused kernel memory: 364K (c062b000 - c0686000) > [ 2.320341] hub 1-0:1.0: state 7 ports 1 chg 0002 evt 0000 > [ 2.329613] hub 1-0:1.0: port 1, status 0101, change 0000, 12 Mb/s > [ 2.530412] usb 1-1: new high-speed USB device number 2 using dwc2 > [ 2.751660] usb 1-1: default language 0x0409 > [ 2.765327] usb 1-1: udev 2, busnum 1, minor = 1 > [ 2.773274] usb 1-1: New USB device found, idVendor=05e3, idProduct=0608 > [ 2.783242] usb 1-1: New USB device strings: Mfr=0, Product=1, SerialNumber=0 > [ 2.793644] usb 1-1: Product: USB2.0 Hub > [ 2.809964] usb 1-1: usb_probe_device > [ 2.817287] usb 1-1: configuration #1 chosen from 1 choice > [ 2.830629] usb 1-1: adding 1-1:1.0 (config #1, interface 0) > [ 2.839847] hub 1-1:1.0: usb_probe_interface > [ 2.847447] hub 1-1:1.0: usb_probe_interface - got id > [ 2.855751] hub 1-1:1.0: USB hub found > [ 2.869581] hub 1-1:1.0: 4 ports detected > [ 2.881180] hub 1-1:1.0: standalone hub > [ 2.888190] hub 1-1:1.0: individual port power switching > [ 2.896619] hub 1-1:1.0: individual port over-current protection > [ 2.905707] hub 1-1:1.0: Single TT > [ 2.912126] hub 1-1:1.0: TT requires at most 32 FS bit times (2664 ns) > [ 2.921702] hub 1-1:1.0: Port indicators are supported > [ 2.929775] hub 1-1:1.0: power on to power good time: 100ms > [ 3.007154] hub 1-1:1.0: local power source is good > [ 3.024584] hub 1-1:1.0: enabling power on all ports > [ 3.042751] hub 1-0:1.0: state 7 ports 1 chg 0000 evt 0002 > [ 3.063948] hub 1-0:1.0: port 1 enable change, status 00000503 > [ 3.144448] hub 1-1:1.0: port 3: status 0101 change 0001 > [ 3.250480] hub 1-1:1.0: state 7 ports 4 chg 0008 evt 0000 > [ 3.267967] hub 1-1:1.0: port 3, status 0101, change 0000, 12 Mb/s > [ 3.360727] usb 1-1.3: new high-speed USB device number 3 using dwc2 > [ 3.911643] udevd[153]: starting version 175 > [ 3.932030] random: nonblocking pool is initialized > [ 8.409157] usb 1-1.3: khubd timed out on ep0in len=0/64 > [ 13.490307] usb 1-1.3: khubd timed out on ep0in len=0/64 > [ 18.490307] usb 1-1.3: khubd timed out on ep0in len=0/64 > [ 18.570623] usb 1-1.3: device descriptor read/64, error -110 > [ 23.680299] usb 1-1.3: khubd timed out on ep0in len=0/64 > [ 28.680298] usb 1-1.3: khubd timed out on ep0in len=0/64 > [ 33.680302] usb 1-1.3: khubd timed out on ep0in len=0/64 > [ 33.760573] usb 1-1.3: device descriptor read/64, error -110 > [ 33.957649] usb 1-1.3: new high-speed USB device number 4 using dwc2 > [ 38.970299] usb 1-1.3: khubd timed out on ep0in len=0/64 > [ 43.970297] usb 1-1.3: khubd timed out on ep0in len=0/64 > [ 48.970309] usb 1-1.3: khubd timed out on ep0in len=0/64 > [ 49.050528] usb 1-1.3: device descriptor read/64, error -110 > [ 54.160295] usb 1-1.3: khubd timed out on ep0in len=0/64 > [ 59.160304] usb 1-1.3: khubd timed out on ep0in len=0/64 > [ 64.160329] usb 1-1.3: khubd timed out on ep0in len=0/64 > [ 64.240595] usb 1-1.3: device descriptor read/64, error -110 > [ 64.430619] usb 1-1.3: new high-speed USB device number 5 using dwc2 > [ 69.430295] usb 1-1.3: khubd timed out on ep0out len=0/0 > [ 74.640290] usb 1-1.3: khubd timed out on ep0out len=0/0 > [ 74.850246] usb 1-1.3: device not accepting address 5, error -110 > [ 74.930547] usb 1-1.3: new high-speed USB device number 6 using dwc2 > [ 79.930327] usb 1-1.3: khubd timed out on ep0out len=0/0 > [ 85.140296] usb 1-1.3: khubd timed out on ep0out len=0/0 > [ 85.350240] usb 1-1.3: device not accepting address 6, error -110 > [ 85.360128] hub 1-1:1.0: unable to enumerate USB device on port 3 > [ 85.369117] hub 1-1:1.0: state 7 ports 4 chg 0000 evt 0008 > [ 88.556896] EXT3-fs (mmcblk0p2): using internal journal > [ 94.693733] FAT-fs (mmcblk0p1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck. > [ 103.858645] Adding 102396k swap on /var/swap. Priority:-1 extents:27 across:478692k SS _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel