jdb
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 2030
Joined: Thu Jul 11, 2013 2:37 pm

Re: Call for beta testers: FIQ_FSM USB driver rewrite

Thu Mar 06, 2014 8:10 pm

jamesh wrote:I'm unfamiliar with kernel coding rules - can you use a different/home grown allocator to try and avoid fragmentation? Or is the 'problem' not fixable in that way? Is it even a problem - do these increasing numbers actually cause a slowdown?
The allocator is pretty much the most complex system in the kernel. It sits between the arch-specific MMU and the virtual memory manager - it has to scale to perform well on 64-core systems and yet perform sensibly on our tiny ARM11. There are three flavours of soylent allocator offered: SLOB, SLAB and SLUB.

https://lwn.net/Articles/229984/

As of ages ago, we use SLUB with optional compaction switched on (which is "best" on constrained memory systems that need lots of virtual memory activity).
Rockets are loud.
https://astro-pi.org

milhouse
Posts: 631
Joined: Mon Jan 16, 2012 12:59 pm

Re: Call for beta testers: FIQ_FSM USB driver rewrite

Thu Mar 06, 2014 8:22 pm

jdb wrote:It'd be interesting if you do a echo 1 > /proc/sys/vm/drop_caches while running a test and see if the rate improves.
The above command does have a noticeable impact, albeit only briefly - this is with FIQ FSM:

Code: Select all

#    IRQ/s     Read Rate   dIRQ        dR/Rate          Time
001   5141  30.8406 MB/s      0    0.0000 MB/s  2014-03-06 19:46:03    Node 0, zone   Normal   56     57     95     41    11     6     5     2     1    0    4
002   5019  30.6152 MB/s   -122   -0.2254 MB/s  2014-03-06 19:46:48    Node 0, zone   Normal   33     57     72     17     5    10     8     3     1    0    4
003   5235  30.4815 MB/s    +94   -0.3591 MB/s  2014-03-06 19:47:33    Node 0, zone   Normal   53     50     60     17    29    17     3     2     1    0    4
...
031   5822  28.9627 MB/s   +681   -1.8779 MB/s  2014-03-06 20:09:01    Node 0, zone   Normal    3    269     93     23    16    12     2     2     0    0    4
032   5872  28.9499 MB/s   +731   -1.8907 MB/s  2014-03-06 20:09:48    Node 0, zone   Normal   59     88    154     35    16    12     2     2     0    0    4
033   5982  28.9158 MB/s   +841   -1.9247 MB/s  2014-03-06 20:10:34    Node 0, zone   Normal    3    131    129     34    17    11     2     2     0    0    4

# echo 1 > /proc/sys/vm/drop_caches

034   4875  30.8518 MB/s   -266   +0.0112 MB/s  2014-03-06 20:11:19    Node 0, zone   Normal  113     96     51     36    11    22     2     2     0    0    4
035   4649  30.6174 MB/s   -492   -0.2232 MB/s  2014-03-06 20:12:04    Node 0, zone   Normal  103     91     62     34    20    19     3     2     0    0    4
036   5195  30.4877 MB/s    +54   -0.3528 MB/s  2014-03-06 20:12:49    Node 0, zone   Normal  114    368     62     30    10     7     2     2     0    0    4
037   4886  30.4447 MB/s   -255   -0.3959 MB/s  2014-03-06 20:13:34    Node 0, zone   Normal  112    204     87     80     7     6     2     2     0    0    4
038   5007  30.4099 MB/s   -134   -0.4307 MB/s  2014-03-06 20:14:19    Node 0, zone   Normal  130    174     76     28    21    12     3     3     1    1    3
039   5084  30.2920 MB/s    -57   -0.5485 MB/s  2014-03-06 20:15:04    Node 0, zone   Normal  115    258    104     42    14     7     3     3     1    1    3
040   5004  30.2401 MB/s   -137   -0.6005 MB/s  2014-03-06 20:15:49    Node 0, zone   Normal  113    133     61     65    35     7     5     2     1    1    3
041   5096  30.1554 MB/s    -45   -0.6851 MB/s  2014-03-06 20:16:34    Node 0, zone   Normal  114     93     54     88    18    13     2     2     1    1    3
042   4982  30.0786 MB/s   -159   -0.7620 MB/s  2014-03-06 20:17:20    Node 0, zone   Normal  114     95    198     45    11    13     2     2     1    1    3
Just before the 34th iteration the caches are dropped, and IRQ and read-rate return to their initial post-boot levels (actually, slightly lower and higher, respectively).

It didn't last for long though! :)

Since memory fragmentation seems a reasonable (and accurate) explanation for this behaviour I'm happy it's not a "problem" and apologies for side tracking the discussion on an unrelated issue.

jdb
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 2030
Joined: Thu Jul 11, 2013 2:37 pm

Re: Call for beta testers: FIQ_FSM USB driver rewrite

Thu Mar 06, 2014 11:38 pm

Update:

The BRANCH=next firmware now includes support for FIQ acceleration of high-speed isochronous transactions. This significantly reduces the CPU overhead of high-speed isochronous transports and performs them with much more robust timing than previously. There are a number of restrictions on transactions that can be accelerated that should not be encountered in any sane device driver:
  • The endpoint servicing interval must be 1 microframe
  • All transfers in a URB must have a memory address that starts on a 32-bit boundary
  • More than 2 transfers must be queued per URB
A message will be printed to the kernel message log if an isochronous transaction fails any one of these tests.

To activate the functionality, you need to set dwc_otg.fiq_fsm_mask=0x7 in /boot/cmdline.txt
Rockets are loud.
https://astro-pi.org

milhouse
Posts: 631
Joined: Mon Jan 16, 2012 12:59 pm

Re: Call for beta testers: FIQ_FSM USB driver rewrite

Fri Mar 07, 2014 3:14 am

I'm using this build with the latest FIQ FSM patches from rpi-3.13.y-next on OpenELEC, and I'm seeing quite a few of these in dmesg (100 messages logged in 1.5 hours of uptime):

Code: Select all

[  172.056247] Transfer to device 4 endpoint 0x2 failed - FIQ reported NYET. Data may have been lost.
[  335.896662] Transfer to device 4 endpoint 0x2 failed - FIQ reported NYET. Data may have been lost.
[  362.448484] Transfer to device 4 endpoint 0x2 failed - FIQ reported NYET. Data may have been lost.
[  699.417586] Transfer to device 4 endpoint 0x2 failed - FIQ reported NYET. Data may have been lost.
[  738.113685] Transfer to device 4 endpoint 0x2 failed - FIQ reported NYET. Data may have been lost.
[  832.537553] Transfer to device 4 endpoint 0x2 failed - FIQ reported NYET. Data may have been lost.
[  955.417988] Transfer to device 4 endpoint 0x2 failed - FIQ reported NYET. Data may have been lost.
[  981.970057] Transfer to device 4 endpoint 0x2 failed - FIQ reported NYET. Data may have been lost.
[ 1124.192417] Transfer to device 4 endpoint 0x1 failed - FIQ reported NYET. Data may have been lost.
[ 1191.090590] Transfer to device 4 endpoint 0x2 failed - FIQ reported NYET. Data may have been lost.
[ 1191.449842] Transfer to device 4 endpoint 0x1 failed - FIQ reported NYET. Data may have been lost.
[ 1191.649585] Transfer to device 4 endpoint 0x1 failed - FIQ reported NYET. Data may have been lost.
[ 1191.681599] Transfer to device 4 endpoint 0x1 failed - FIQ reported NYET. Data may have been lost.
[ 1242.940718] Transfer to device 4 endpoint 0x2 failed - FIQ reported NYET. Data may have been lost.
[ 1255.135036] Transfer to device 4 endpoint 0x2 failed - FIQ reported NYET. Data may have been lost.
[ 1287.117082] Transfer to device 4 endpoint 0x2 failed - FIQ reported NYET. Data may have been lost.
[ 1315.572903] Transfer to device 4 endpoint 0x2 failed - FIQ reported NYET. Data may have been lost.
[ 1370.349041] Transfer to device 4 endpoint 0x2 failed - FIQ reported NYET. Data may have been lost.
[ 1399.165365] Transfer to device 4 endpoint 0x2 failed - FIQ reported NYET. Data may have been lost.
[ 1402.764156] Transfer to device 4 endpoint 0x1 failed - FIQ reported NYET. Data may have been lost.
My USB devices are a USB3.0 flash drive and a USB IR dongle:

Code: Select all

rpi512:~ # lsusb
Bus 001 Device 002: ID 0424:9512 Standard Microsystems Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp.
Bus 001 Device 004: ID 05a4:9881 Ortek Technology, Inc.
Bus 001 Device 005: ID 26bd:9917

rpi512:~ # lsusb -t
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=dwc_otg/1p, 480M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/3p, 480M
        |__ Port 1: Dev 3, If 0, Class=Vendor Specific Class, Driver=smsc95xx, 480M
        |__ Port 2: Dev 4, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M
        |__ Port 2: Dev 4, If 1, Class=Human Interface Device, Driver=usbhid, 1.5M
        |__ Port 3: Dev 5, If 0, Class=Mass Storage, Driver=usb-storage, 480M
It appears to be complaining about my IR USB dongle, which to all intents and purposes is behaving just fine with no missed or repeated key presses.

I've also seen one of the following messages - any idea if this is good, bad or neither?

Code: Select all

[ 4730.964596] dwc_otg_hcd_handle_hc_fsm: 1 callbacks suppressed
The system isn't being particularly stressed right now, just scrolling around the XBMC Home menu will provoke these NYET messages. In fact I've just rebooted, and without touching a button on the IR remote control a NYET message for device 4 has appeared in dmesg (and now another two while I was editing this post).

Chris_Reynolds
Posts: 72
Joined: Mon May 14, 2012 7:25 am

Re: Call for beta testers: FIQ_FSM USB driver rewrite

Fri Mar 07, 2014 8:22 pm

Hi, I've tried the latest firmware with the mask set to 7 and the PM3 is still giving timeouts as in this post http://www.raspberrypi.org/forum/viewto ... 75#p510787

If it is any help I can offer to forward a port to my Pi if anyone fancies a debugging session! Failing that happy to pull out whatever logs are useful.

Cheers

Chris

dsc3507
Posts: 40
Joined: Sun Apr 28, 2013 5:08 am

Re: Call for beta testers: FIQ_FSM USB driver rewrite

Sat Mar 08, 2014 6:14 am

I have a question regarding this driver rewrite and in general the history of USB sound problems in the Pi.

I am using a CM108 type sound FOB in a VOIP application and having lots of problems on the DAC side. The only way I can get it to work without a lot of distortion s using the usb 1.1 mode which causes other delay problems that I can't seem to figure out.

I am using the January 7, 2014 release of Raspbien - Linux raspberrypi 3.10.25+ #4 PREEMPT Thu Feb 27 20:05:15 EST 2014 armv6l GNU/Linux

Other info -

[ 3.387770] input: C-Media Electronics Inc. USB PnP Sound Device as /devices/platform/bcm2708_usb/usb1/1-1/1-1.2/1-1.2:1.3/input/input0
[ 3.419152] hid-generic 0003:0D8C:013A.0001: input,hidraw0: USB HID v1.00 Device [C-Media Electronics Inc. USB PnP Sound Device] on usb-bcm2708_usb-1.2/input3

Bus 001 Device 002: ID 0424:9512 Standard Microsystems Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp.
Bus 001 Device 004: ID 0d8c:013a C-Media Electronics, Inc.

I noted there were many changes going on in the last year prior to this rewrite project. Were they incorporated into the kernel version I have and should they have fixed the problem or is that the whole reason for doing this rewrite.

It is difficult to get the full history on this from google searches since it seems to have gone in so many different directions with so many different ideas to fix the problem.

At the moment I am reluctant to try this fix as it would involve a complete recompile of a lot of code and I would need the kernel source package to do that. I use asterisk with dahdi.

Any info would be greatly appreciated.

jamesh
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 23071
Joined: Sat Jul 30, 2011 7:41 pm

Re: Call for beta testers: FIQ_FSM USB driver rewrite

Sat Mar 08, 2014 8:51 am

As I understand the history...

There were various fixes to the Synopsys driver itself, which sorted some but not all problems.
The Gordon wrote a FIQ handlers which works at a lower level, and fixed a load more problems
Now P33M has rewritten large amounts of driver and the FIQ handler to try and fix the final issues, and make the whole system better. This is a complete rewrite/rearchitect of a lot of code and has taken 6 months.

There are some edge case 'issues' that I believe are not fixable, but these are very rare. P33M's fixes should cover 99.9% or more of situations.

I would suggest that is what you should be trying rather than going back to older code.
Principal Software Engineer at Raspberry Pi (Trading) Ltd.
Contrary to popular belief, humorous signatures are allowed. Here's an example...
"My grief counseller just died, luckily, he was so good, I didn't care."

dsc3507
Posts: 40
Joined: Sun Apr 28, 2013 5:08 am

Re: Call for beta testers: FIQ_FSM USB driver rewrite

Sat Mar 08, 2014 4:00 pm

Thank you for the explanation and history. I also want to thank those who are involved in fixing the problem.

Based on my current problem of -

2.0 USB sound device at relatively low speed - sample rate of 40-50khz and being forced to use USB 1.1 to make it work properly.

Is it reasonable to say this fix will solve the problem? I certainly realize that no guarantees can be made but I just wanted to understand if this is geared towards fixing this type of problem or something different altogether.

My other question would be and I understand at this point it is hard to predict but how long do you think it will be before this makes it to Raspbien release kernels?

jamesh
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 23071
Joined: Sat Jul 30, 2011 7:41 pm

Re: Call for beta testers: FIQ_FSM USB driver rewrite

Sat Mar 08, 2014 4:41 pm

dsc3507 wrote:Thank you for the explanation and history. I also want to thank those who are involved in fixing the problem.

Based on my current problem of -

2.0 USB sound device at relatively low speed - sample rate of 40-50khz and being forced to use USB 1.1 to make it work properly.

Is it reasonable to say this fix will solve the problem? I certainly realize that no guarantees can be made but I just wanted to understand if this is geared towards fixing this type of problem or something different altogether.

My other question would be and I understand at this point it is hard to predict but how long do you think it will be before this makes it to Raspbien release kernels?
Depends on the time it takes to beta test and iron out any issues. I suggest you try it out using the instructions here, and report any issues - any help here is appreciated.
Principal Software Engineer at Raspberry Pi (Trading) Ltd.
Contrary to popular belief, humorous signatures are allowed. Here's an example...
"My grief counseller just died, luckily, he was so good, I didn't care."

jdb
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 2030
Joined: Thu Jul 11, 2013 2:37 pm

Re: Call for beta testers: FIQ_FSM USB driver rewrite

Sat Mar 08, 2014 5:15 pm

dsc3507 wrote:Thank you for the explanation and history. I also want to thank those who are involved in fixing the problem.
You're welcome!
Based on my current problem of -

2.0 USB sound device at relatively low speed - sample rate of 40-50khz and being forced to use USB 1.1 to make it work properly.

Is it reasonable to say this fix will solve the problem? I certainly realize that no guarantees can be made but I just wanted to understand if this is geared towards fixing this type of problem or something different altogether.

My other question would be and I understand at this point it is hard to predict but how long do you think it will be before this makes it to Raspbien release kernels?
Yes.

Audio performance targets for this rewrite are:
- Faultless playback for stereo at sensible sample rates (48k/16bit)
- Generally well-performing duplex streaming to a USB audio device (mono/stereo microphone/line-in recording at the same time as output playback)
- At least some support for the higher bandwidth applications: 5.1-channel 48khz/16bit playback should be achieveable if certain hoops are jumped through.

The Raspbian release cycle is roughly independent of kernel updates. The Raspberry Pi maintained github repository is updated as and when community improvements / bugfixes are merged, or when the upstream kernel bumps up a revision - dom is in charge of this. The github repo is generally cutting edge (not quite bleeding): it takes time for tested features to be considered stable enough for a distribution release.
Rockets are loud.
https://astro-pi.org

jdb
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 2030
Joined: Thu Jul 11, 2013 2:37 pm

Re: Call for beta testers: FIQ_FSM USB driver rewrite

Sat Mar 08, 2014 8:41 pm

milhouse wrote:I'm using this build with the latest FIQ FSM patches from rpi-3.13.y-next on OpenELEC, and I'm seeing quite a few of these in dmesg (100 messages logged in 1.5 hours of uptime):

Code: Select all

[  172.056247] Transfer to device 4 endpoint 0x2 failed - FIQ reported NYET. Data may have been lost.
[  335.896662] Transfer to device 4 endpoint 0x2 failed - FIQ reported NYET. Data may have been lost.
[  362.448484] Transfer to device 4 endpoint 0x2 failed - FIQ reported NYET. Data may have been lost.
[  699.417586] Transfer to device 4 endpoint 0x2 failed - FIQ reported NYET. Data may have been lost.
[  738.113685] Transfer to device 4 endpoint 0x2 failed - FIQ reported NYET. Data may have been lost.
[  832.537553] Transfer to device 4 endpoint 0x2 failed - FIQ reported NYET. Data may have been lost.
[  955.417988] Transfer to device 4 endpoint 0x2 failed - FIQ reported NYET. Data may have been lost.
[  981.970057] Transfer to device 4 endpoint 0x2 failed - FIQ reported NYET. Data may have been lost.
[ 1124.192417] Transfer to device 4 endpoint 0x1 failed - FIQ reported NYET. Data may have been lost.
[ 1191.090590] Transfer to device 4 endpoint 0x2 failed - FIQ reported NYET. Data may have been lost.
[ 1191.449842] Transfer to device 4 endpoint 0x1 failed - FIQ reported NYET. Data may have been lost.
[ 1191.649585] Transfer to device 4 endpoint 0x1 failed - FIQ reported NYET. Data may have been lost.
[ 1191.681599] Transfer to device 4 endpoint 0x1 failed - FIQ reported NYET. Data may have been lost.
[ 1242.940718] Transfer to device 4 endpoint 0x2 failed - FIQ reported NYET. Data may have been lost.
[ 1255.135036] Transfer to device 4 endpoint 0x2 failed - FIQ reported NYET. Data may have been lost.
[ 1287.117082] Transfer to device 4 endpoint 0x2 failed - FIQ reported NYET. Data may have been lost.
[ 1315.572903] Transfer to device 4 endpoint 0x2 failed - FIQ reported NYET. Data may have been lost.
[ 1370.349041] Transfer to device 4 endpoint 0x2 failed - FIQ reported NYET. Data may have been lost.
[ 1399.165365] Transfer to device 4 endpoint 0x2 failed - FIQ reported NYET. Data may have been lost.
[ 1402.764156] Transfer to device 4 endpoint 0x1 failed - FIQ reported NYET. Data may have been lost.
These messages are being printed because timing got screwed up somehow. The issue is under investigation: it appears that using GPU interfaces makes this far more likely to happen.
Rockets are loud.
https://astro-pi.org

milhouse
Posts: 631
Joined: Mon Jan 16, 2012 12:59 pm

Re: Call for beta testers: FIQ_FSM USB driver rewrite

Sat Mar 08, 2014 9:33 pm

jdb wrote: These messages are being printed because timing got screwed up somehow. The issue is under investigation: it appears that using GPU interfaces makes this far more likely to happen.
OK that's good to know, many thanks.

Chris_Reynolds
Posts: 72
Joined: Mon May 14, 2012 7:25 am

Re: Call for beta testers: FIQ_FSM USB driver rewrite

Sat Mar 08, 2014 10:35 pm

Chris_Reynolds wrote:Hi, I've tried the latest firmware with the mask set to 7 and the PM3 is still giving timeouts as in this post http://www.raspberrypi.org/forum/viewto ... 75#p510787

If it is any help I can offer to forward a port to my Pi if anyone fancies a debugging session! Failing that happy to pull out whatever logs are useful.
Sorry for bumping but didn't want this to get lost.

My small python program makes repeated calls to get some information from a PM3 rowing monitor.
  • With fiq_split_enable=1 I can get between 10-20 calls before I get a timeout
    With fiq_split_enable=0 I can get scores of calls before a timeout
    With new settings (dwc_otg.fiq_enable=1 dwc_otg.fiq_fsm_enable=1 dwc_otg.fiq_fsm_mask=0x7) I get a timeout on the second call every time.
Also my is a Rev 1 Model B - would that make any difference? On my latest runs I took my hub away and just had a keyboard and the PM3 plugged in, I also removed the Ethernet cable in case traffic there was making any difference.

I can carry on with the fiq_split_enable=0 for my own purposes but it would be nice if I could get fewer timeouts and there's always the chance that this device is exposing an issue that may impact other devices.

bullethead
Posts: 1
Joined: Tue Mar 11, 2014 1:31 am

Re: Call for beta testers: FIQ_FSM USB driver rewrite

Tue Mar 11, 2014 1:36 am

hey all I can say is it works great. I had many issues with streaming music and USB Audio before with the old driver and this new driver seemed to fix the problem. I was getting pops and clicks and skips before and now it is great, everything is behaving.

thank you, sorry I can't get too technical (I can't code), but it works MUCH better than before. I am streaming FLAC files through a NAS drive, using the USB for the Audio connection and the LAN for the NAS drive connection, fantastic!

I appreciate it the hard work. Thanks so much.

User avatar
truehl
Posts: 642
Joined: Sun Mar 04, 2012 6:47 pm
Contact: Website

Re: Call for beta testers: FIQ_FSM USB driver rewrite

Wed Mar 12, 2014 7:24 am

Thanks a lot for this firmware update. It seems to fix the well known audio problems with USB-DACs. People sharing my SqueezePlug project are reporting back success with this patch! Now I'm thinking about a patch for SqueezePlug with this firmware fix included! But I'm not sure if this is a good idea, because I don't know which other implications this will cause. Do you think that it's save to do the fix now or shall I wait till the fix comes with the stable firmware updates?

Thomas
truehl
http://www.squeezeplug.de

jdb
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 2030
Joined: Thu Jul 11, 2013 2:37 pm

Re: Call for beta testers: FIQ_FSM USB driver rewrite

Wed Mar 12, 2014 1:29 pm

truehl wrote:Thanks a lot for this firmware update. It seems to fix the well known audio problems with USB-DACs. People sharing my SqueezePlug project are reporting back success with this patch! Now I'm thinking about a patch for SqueezePlug with this firmware fix included! But I'm not sure if this is a good idea, because I don't know which other implications this will cause. Do you think that it's save to do the fix now or shall I wait till the fix comes with the stable firmware updates?

Thomas
I recommend waiting until a stable release is made.
Rockets are loud.
https://astro-pi.org

User avatar
truehl
Posts: 642
Joined: Sun Mar 04, 2012 6:47 pm
Contact: Website

Re: Call for beta testers: FIQ_FSM USB driver rewrite

Wed Mar 12, 2014 4:54 pm

jdb wrote:I recommend waiting until a stable release is made.
Thanks for the reply, that's what I thought. Do you have an idea when it will get stable?

Thomas
truehl
http://www.squeezeplug.de

B+W
Posts: 7
Joined: Wed Mar 12, 2014 10:43 pm

Re: Call for beta testers: FIQ_FSM USB driver rewrite

Wed Mar 12, 2014 11:17 pm

Hi jdp. Thank you for this update. I think I found a strange bug though. It could just be isolated to me, or I could be doing something else wrong.

Since updating, I'm losing the ability to connect to wifi automatically during boot up after I halt/poweroff the raspberry pi. Strangely, wifi is fine if I use the "reboot" command. Installing the update seems ok and does not affect the wifi, but specifically enabling fsm by adding "dwc_otg.fiq_fsm_enable=1" to the boot/cmdline.txt file will cause the pi to do this halt no wifi problem.

I first noticed it on "raspbian net unattended" version of raspbian, but I also tested on a fresh vanilla raspbian install with nothing more than update/upgrade and I got the same wifi problem.

I'm using a ralink 5370 wifi dongle by the way.

Thank you!

User avatar
Elliott B
Posts: 96
Joined: Thu Jan 09, 2014 11:58 pm

OpenElec

Thu Mar 13, 2014 6:49 am

My networking is completely broken after installing OpenElec beta 3.95.1, which includes this fiq_fsm patch. I can't connect using SSH, samba, HTTP, and it doesn't respond to pings. But my router does see the Pi, and OpenElec shows a valid IP address.
The problem is fixed if I add dwc_otg.fiq_fsm_enable=0 to cmdline.txt.

jdb
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 2030
Joined: Thu Jul 11, 2013 2:37 pm

Re: Call for beta testers: FIQ_FSM USB driver rewrite

Thu Mar 13, 2014 11:54 am

@B+W

Please post full dmesg logs for the reboot and halt/power cycle cases. Additionally, can you test different values of fiq_fsm_mask (specifically 0x1 and 0x3) with fiq_fsm_enable=1 and see if the problem still exists?

@Elliott B

Can you retry OpenElec with dwc_otg.fiq_fsm_enable=1 fiq_fsm_mask=0x1 and see if this changes things?
Rockets are loud.
https://astro-pi.org

User avatar
Elliott B
Posts: 96
Joined: Thu Jan 09, 2014 11:58 pm

Re: Call for beta testers: FIQ_FSM USB driver rewrite

Thu Mar 13, 2014 5:40 pm

jdb wrote:Can you retry OpenElec with dwc_otg.fiq_fsm_enable=1 fiq_fsm_mask=0x1 and see if this changes things?
No improvement.

B+W
Posts: 7
Joined: Wed Mar 12, 2014 10:43 pm

Re: Call for beta testers: FIQ_FSM USB driver rewrite

Thu Mar 13, 2014 6:46 pm

jdb,

Thank you for looking into this:

After Reboot
cmdline.txt:

Code: Select all

dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 elevator=deadline root=/dev/mmcblk0p2 rootfstype=ext4 rootwait dwc_otg.fiq_enable=1 dwc_otg.fiq_fsm_enable=1 dwc_otg.fiq_fsm_mask=0x3

dmesg

Code: Select all

[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Initializing cgroup subsys cpu
[    0.000000] Initializing cgroup subsys cpuacct
[    0.000000] Linux version 3.10.30+ ([email protected]) (gcc version 4.7.2 20120731 (prerelease) (crosstool-NG linaro-1.13.1+bzr2458 - Linaro GCC 2012.08) ) #652 PREEMPT Thu Mar 6 18:47:35 GMT 2014
[    0.000000] CPU: ARMv6-compatible processor [410fb767] revision 7 (ARMv7), cr=00c5387d
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT nonaliasing instruction cache
[    0.000000] Machine: BCM2708
[    0.000000] cma: CMA: reserved 16 MiB at 1b000000
[    0.000000] Memory policy: ECC disabled, Data cache writeback
[    0.000000] On node 0 totalpages: 114688
[    0.000000] free_area_init_node: node 0, pgdat c05d3e74, node_mem_map c0684000
[    0.000000]   Normal zone: 896 pages used for memmap
[    0.000000]   Normal zone: 0 pages reserved
[    0.000000]   Normal zone: 114688 pages, LIFO batch:31
[    0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
[    0.000000] pcpu-alloc: [0] 0
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 113792
[    0.000000] Kernel command line: dma.dmachans=0x7f35 bcm2708_fb.fbwidth=656 bcm2708_fb.fbheight=416 bcm2708.boardrev=0xe bcm2708.serial=0x8fef1f36 smsc95xx.macaddr=B8:27:EB:EF:1F:36 sdhci-bcm2708.emmc_clock_freq=250000000 vc_mem.mem_base=0x1ec00000 vc_mem.mem_size=0x20000000  dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 elevator=deadline root=/dev/mmcblk0p2 rootfstype=ext4 rootwait dwc_otg.fiq_enable=1 dwc_otg.fiq_fsm_enable=1 dwc_otg.fiq_fsm_mask=0x3
[    0.000000] PID hash table entries: 2048 (order: 1, 8192 bytes)
[    0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
[    0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
[    0.000000] Memory: 448MB = 448MB total
[    0.000000] Memory: 431624k/431624k available, 27128k reserved, 0K highmem
[    0.000000] Virtual kernel memory layout:
[    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
[    0.000000]     fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
[    0.000000]     vmalloc : 0xdc800000 - 0xff000000   ( 552 MB)
[    0.000000]     lowmem  : 0xc0000000 - 0xdc000000   ( 448 MB)
[    0.000000]     modules : 0xbf000000 - 0xc0000000   (  16 MB)
[    0.000000]       .text : 0xc0008000 - 0xc0575858   (5559 kB)
[    0.000000]       .init : 0xc0576000 - 0xc059a344   ( 145 kB)
[    0.000000]       .data : 0xc059c000 - 0xc05d4970   ( 227 kB)
[    0.000000]        .bss : 0xc05d4970 - 0xc0683040   ( 698 kB)
[    0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] Preemptible hierarchical RCU implementation.
[    0.000000] NR_IRQS:330
[    0.000000] sched_clock: 32 bits at 1000kHz, resolution 1000ns, wraps every 4294967ms
[    0.000000] Switching to timer-based delay loop
[    0.000000] Console: colour dummy device 80x30
[    0.000000] console [tty1] enabled
[    0.001175] Calibrating delay loop (skipped), value calculated using timer frequency.. 2.00 BogoMIPS (lpj=10000)
[    0.001241] pid_max: default: 32768 minimum: 301
[    0.001710] Mount-cache hash table entries: 512
[    0.002519] Initializing cgroup subsys memory
[    0.002624] Initializing cgroup subsys devices
[    0.002662] Initializing cgroup subsys freezer
[    0.002696] Initializing cgroup subsys blkio
[    0.002856] CPU: Testing write buffer coherency: ok
[    0.003329] Setting up static identity map for 0xc0408f88 - 0xc0408fe4
[    0.005128] devtmpfs: initialized
[    0.019537] NET: Registered protocol family 16
[    0.025600] DMA: preallocated 4096 KiB pool for atomic coherent allocations
[    0.026790] bcm2708.uart_clock = 0
[    0.028475] hw-breakpoint: found 6 breakpoint and 1 watchpoint registers.
[    0.028529] hw-breakpoint: maximum watchpoint size is 4 bytes.
[    0.028569] mailbox: Broadcom VideoCore Mailbox driver
[    0.028668] bcm2708_vcio: mailbox at f200b880
[    0.028773] bcm_power: Broadcom power driver
[    0.028813] bcm_power_open() -> 0
[    0.028841] bcm_power_request(0, 8)
[    0.529570] bcm_mailbox_read -> 00000080, 0
[    0.529611] bcm_power_request -> 0
[    0.529833] Serial: AMBA PL011 UART driver
[    0.529994] dev:f1: ttyAMA0 at MMIO 0x20201000 (irq = 83) is a PL011 rev3
[    0.878256] console [ttyAMA0] enabled
[    0.904514] bio: create slab <bio-0> at 0
[    0.909805] SCSI subsystem initialized
[    0.913793] usbcore: registered new interface driver usbfs
[    0.919506] usbcore: registered new interface driver hub
[    0.925059] usbcore: registered new device driver usb
[    0.931714] Switching to clocksource stc
[    0.936057] FS-Cache: Loaded
[    0.939214] CacheFiles: Loaded
[    0.954588] NET: Registered protocol family 2
[    0.959999] TCP established hash table entries: 4096 (order: 3, 32768 bytes)
[    0.967267] TCP bind hash table entries: 4096 (order: 2, 16384 bytes)
[    0.973791] TCP: Hash tables configured (established 4096 bind 4096)
[    0.980266] TCP: reno registered
[    0.983527] UDP hash table entries: 256 (order: 0, 4096 bytes)
[    0.989438] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[    0.996169] NET: Registered protocol family 1
[    1.001093] RPC: Registered named UNIX socket transport module.
[    1.007161] RPC: Registered udp transport module.
[    1.011887] RPC: Registered tcp transport module.
[    1.016639] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    1.024096] bcm2708_dma: DMA manager at f2007000
[    1.028917] bcm2708_gpio: bcm2708_gpio_probe c05a9e50
[    1.034388] vc-mem: phys_addr:0x00000000 mem_base=0x1ec00000 mem_size:0x20000000(512 MiB)
[    1.043750] audit: initializing netlink socket (disabled)
[    1.049428] type=2000 audit(0.890:1): initialized
[    1.211496] VFS: Disk quotas dquot_6.5.2
[    1.215878] Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
[    1.224704] FS-Cache: Netfs 'nfs' registered for caching
[    1.231430] NFS: Registering the id_resolver key type
[    1.236730] Key type id_resolver registered
[    1.240940] Key type id_legacy registered
[    1.245665] msgmni has been set to 875
[    1.251599] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 252)
[    1.259449] io scheduler noop registered
[    1.263410] io scheduler deadline registered (default)
[    1.268998] io scheduler cfq registered
[    1.274308] BCM2708FB: allocated DMA memory 5b400000
[    1.279487] BCM2708FB: allocated DMA channel 0 @ f2007000
[    1.299782] Console: switching to colour frame buffer device 82x26
[    1.309942] uart-pl011 dev:f1: no DMA platform data
[    1.316389] kgdb: Registered I/O driver kgdboc.
[    1.322910] vc-cma: Videocore CMA driver
[    1.328252] vc-cma: vc_cma_base      = 0x00000000
[    1.334236] vc-cma: vc_cma_size      = 0x00000000 (0 MiB)
[    1.340958] vc-cma: vc_cma_initial   = 0x00000000 (0 MiB)
[    1.356735] brd: module loaded
[    1.366254] loop: module loaded
[    1.370892] vchiq: vchiq_init_state: slot_zero = 0xdb000000, is_master = 0
[    1.380014] Loading iSCSI transport class v2.0-870.
[    1.387439] usbcore: registered new interface driver smsc95xx
[    1.394938] dwc_otg: version 3.00a 10-AUG-2012 (platform bus)
[    1.602251] Core Release: 2.80a
[    1.606768] Setting default values for core params
[    1.612787] Finished setting default values for core params
[    1.819691] Using Buffer DMA mode
[    1.824245] Periodic Transfer Interrupt Enhancement - disabled
[    1.831357] Multiprocessor Interrupt Enhancement - disabled
[    1.838223] OTG VER PARAM: 0, OTG VER FLAG: 0
[    1.843857] Dedicated Tx FIFOs mode
[    1.849393] WARN::dwc_otg_hcd_init:1053: FIQ DMA bounce buffers: virt = 0xdb414000 dma = 0x5b414000 len=9024
[    1.861892] FIQ FSM acceleration enabled for :
[    1.861892] Non-periodic Split Transactions
[    1.861892] Periodic Split Transactions
[    1.878281] dwc_otg: Microframe scheduler enabled
[    1.878509] WARN::hcd_init:474: FIQ at 0xc02f1dac
[    1.884605] WARN::hcd_init:475: FIQ ASM at 0xc02f2028 length 36
[    1.891934] WARN::hcd_init:501: MPHI regs_base at 0xdc806000
[    1.899026] dwc_otg bcm2708_usb: DWC OTG Controller
[    1.905293] dwc_otg bcm2708_usb: new USB bus registered, assigned bus number 1
[    1.913970] dwc_otg bcm2708_usb: irq 32, io mem 0x00000000
[    1.920860] Init: Port Power? op_state=1
[    1.926140] Init: Power Port (0)
[    1.930775] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[    1.938954] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    1.947567] usb usb1: Product: DWC OTG Controller
[    1.953578] usb usb1: Manufacturer: Linux 3.10.30+ dwc_otg_hcd
[    1.960756] usb usb1: SerialNumber: bcm2708_usb
[    1.967396] hub 1-0:1.0: USB hub found
[    1.972500] hub 1-0:1.0: 1 port detected
[    1.978108] dwc_otg: FIQ enabled
[    1.978128] dwc_otg: NAK holdoff enabled
[    1.978139] dwc_otg: FIQ split-transaction FSM enabled
[    1.978160] Module dwc_common_port init
[    1.978620] usbcore: registered new interface driver usb-storage
[    1.986405] mousedev: PS/2 mouse device common for all mice
[    1.993870] bcm2835-cpufreq: min=700000 max=700000 cur=700000
[    2.001104] bcm2835-cpufreq: switching to governor powersave
[    2.008118] bcm2835-cpufreq: switching to governor powersave
[    2.015019] cpuidle: using governor ladder
[    2.020350] cpuidle: using governor menu
[    2.025528] sdhci: Secure Digital Host Controller Interface driver
[    2.032992] sdhci: Copyright(c) Pierre Ossman
[    2.038668] sdhci: Enable low-latency mode
[    2.085754] mmc0: SDHCI controller on BCM2708_Arasan [platform] using platform's DMA
[    2.096238] mmc0: BCM2708 SDHC host at 0x20300000 DMA 2 IRQ 77
[    2.103471] sdhci-pltfm: SDHCI platform and OF driver helper
[    2.110619] ledtrig-cpu: registered to indicate activity on CPUs
[    2.120220] hidraw: raw HID events driver (C) Jiri Kosina
[    2.134532] usbcore: registered new interface driver usbhid
[    2.141581] usbhid: USB HID core driver
[    2.151426] TCP: cubic registered
[    2.158203] Initializing XFRM netlink socket
[    2.165934] NET: Registered protocol family 17
[    2.171991] Key type dns_resolver registered
[    2.180975] Indeed it is in host mode hprt0 = 00021501
[    2.188059] VFP support v0.3: implementor 41 architecture 1 part 20 variant b rev 5
[    2.216443] registered taskstats version 1
[    2.226699] Waiting for root device /dev/mmcblk0p2...
[    2.278132] mmc0: read SD Status register (SSR) after 3 attempts
[    2.300036] mmc0: new high speed SDHC card at address 59b4
[    2.307643] mmcblk0: mmc0:59b4 NCard 14.7 GiB
[    2.315288]  mmcblk0: p1 p2
[    2.355345] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
[    2.366566] VFS: Mounted root (ext4 filesystem) on device 179:2.
[    2.385565] devtmpfs: mounted
[    2.390561] Freeing unused kernel memory: 144K (c0576000 - c059a000)
[    2.425828] usb 1-1: new high-speed USB device number 2 using dwc_otg
[    2.433983] Indeed it is in host mode hprt0 = 00001101
[    2.646347] usb 1-1: New USB device found, idVendor=0424, idProduct=9512
[    2.654663] usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[    2.667060] hub 1-1:1.0: USB hub found
[    2.673551] hub 1-1:1.0: 3 ports detected
[    2.956004] usb 1-1.1: new high-speed USB device number 3 using dwc_otg
[    3.086430] usb 1-1.1: New USB device found, idVendor=0424, idProduct=ec00
[    3.094948] usb 1-1.1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[    3.123641] smsc95xx v1.0.4
[    3.193006] smsc95xx 1-1.1:1.0 eth0: register 'smsc95xx' at usb-bcm2708_usb-1.1, smsc95xx USB 2.0 Ethernet, b8:27:eb:ef:1f:36
[    3.285984] usb 1-1.2: new high-speed USB device number 4 using dwc_otg
[    3.434090] usb 1-1.2: New USB device found, idVendor=148f, idProduct=5370
[    3.452799] usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[    3.473494] usb 1-1.2: Product: 802.11 n WLAN
[    3.479699] usb 1-1.2: Manufacturer: Ralink
[    3.485395] usb 1-1.2: SerialNumber: 1.0
[    3.896117] udevd[156]: starting version 175
[    4.684958] bcm2708_i2c_init_pinmode(0,0)
[    4.825867] bcm2708_i2c_init_pinmode(0,1)
[    4.831776] bcm2708_i2c bcm2708_i2c.0: BSC0 Controller at 0x20205000 (irq 79) (baudrate 100000)
[    5.089991] bcm2708_spi bcm2708_spi.0: master is unqueued, this is deprecated
[    5.123335] cfg80211: Calling CRDA to update world regulatory domain
[    5.185410] bcm2708_spi bcm2708_spi.0: SPI Controller at 0x20204000 (irq 80)
[    5.284265] bcm2708_i2c_init_pinmode(1,2)
[    5.315071] bcm2708_i2c_init_pinmode(1,3)
[    5.386269] bcm2708_i2c bcm2708_i2c.1: BSC1 Controller at 0x20804000 (irq 79) (baudrate 100000)
[    5.856202] usb 1-1.2: reset high-speed USB device number 4 using dwc_otg
[    5.977046] bcm2708-i2s bcm2708-i2s.0: Failed to create debugfs directory
[    6.097263] ieee80211 phy0: rt2x00_set_rt: Info - RT chipset 5390, rev 0502 detected
[    6.277944] ieee80211 phy0: rt2x00_set_rf: Info - RF chipset 5370 detected
[    6.396013] ieee80211 phy0: Selected rate control algorithm 'minstrel_ht'
[    6.397582] usbcore: registered new interface driver rt2800usb
[    8.384250] EXT4-fs (mmcblk0p2): re-mounted. Opts: errors=remount-ro
[    9.040968] lirc_dev: IR Remote Control driver registered, major 248
[    9.155206] lirc_rpi: module is from the staging directory, the quality is unknown, you have been warned.
[   10.125759] lirc_rpi: auto-detected active low receiver on GPIO pin 23
[   10.139179] lirc_rpi lirc_rpi.0: lirc_dev: driver lirc_rpi registered at minor = 0
[   10.151299] lirc_rpi: driver registered!
[   11.815904] input: lircd as /devices/virtual/input/input0
[   15.350738] FAT-fs (mmcblk0p1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
[   17.740608] NET: Registered protocol family 10
[   18.008435] smsc95xx 1-1.1:1.0 eth0: hardware isn't capable of remote wakeup
[   18.018060] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[   18.528938] ieee80211 phy0: rt2x00lib_request_firmware: Info - Loading firmware file 'rt2870.bin'
[   18.543490] ieee80211 phy0: rt2x00lib_request_firmware: Info - Firmware detected - version: 0.29
[   18.913952] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
[   19.775523] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[   19.785022] smsc95xx 1-1.1:1.0 eth0: link up, 100Mbps, full-duplex, lpa 0xC5E1
[   21.770785] wlan0: authenticate with b8:c7:5d:0b:de:c5
[   21.855126] wlan0: send auth to b8:c7:5d:0b:de:c5 (try 1/3)
[   21.864052] wlan0: authenticated
[   21.875878] wlan0: associate with b8:c7:5d:0b:de:c5 (try 1/3)
[   21.886542] wlan0: RX AssocResp from b8:c7:5d:0b:de:c5 (capab=0x1431 status=0 aid=7)
[   21.907563] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
[   21.915790] wlan0: associated
[   25.932877] Installing knfsd (copyright (C) 1996 [email protected]).
After Halt
cmdline.txt:

Code: Select all

dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 elevator=deadline root=/dev/mmcblk0p2 rootfstype=ext4 rootwait dwc_otg.fiq_enable=1 dwc_otg.fiq_fsm_enable=1 dwc_otg.fiq_fsm_mask=0x3

dmesg:

Code: Select all

[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Initializing cgroup subsys cpu
[    0.000000] Initializing cgroup subsys cpuacct
[    0.000000] Linux version 3.10.30+ ([email protected]) (gcc version 4.7.2 20120731 (prerelease) (crosstool-NG linaro-1.13.1+bzr2458 - Linaro GCC 2012.08) ) #652 PREEMPT Thu Mar 6 18:47:35 GMT 2014
[    0.000000] CPU: ARMv6-compatible processor [410fb767] revision 7 (ARMv7), cr=00c5387d
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT nonaliasing instruction cache
[    0.000000] Machine: BCM2708
[    0.000000] cma: CMA: reserved 16 MiB at 1b000000
[    0.000000] Memory policy: ECC disabled, Data cache writeback
[    0.000000] On node 0 totalpages: 114688
[    0.000000] free_area_init_node: node 0, pgdat c05d3e74, node_mem_map c0684000
[    0.000000]   Normal zone: 896 pages used for memmap
[    0.000000]   Normal zone: 0 pages reserved
[    0.000000]   Normal zone: 114688 pages, LIFO batch:31
[    0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
[    0.000000] pcpu-alloc: [0] 0
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 113792
[    0.000000] Kernel command line: dma.dmachans=0x7f35 bcm2708_fb.fbwidth=656 bcm2708_fb.fbheight=416 bcm2708.boardrev=0xe bcm2708.serial=0x8fef1f36 smsc95xx.macaddr=B8:27:EB:EF:1F:36 sdhci-bcm2708.emmc_clock_freq=250000000 vc_mem.mem_base=0x1ec00000 vc_mem.mem_size=0x20000000  dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 elevator=deadline root=/dev/mmcblk0p2 rootfstype=ext4 rootwait dwc_otg.fiq_enable=1 dwc_otg.fiq_fsm_enable=1 dwc_otg.fiq_fsm_mask=0x3
[    0.000000] PID hash table entries: 2048 (order: 1, 8192 bytes)
[    0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
[    0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
[    0.000000] Memory: 448MB = 448MB total
[    0.000000] Memory: 431624k/431624k available, 27128k reserved, 0K highmem
[    0.000000] Virtual kernel memory layout:
[    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
[    0.000000]     fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
[    0.000000]     vmalloc : 0xdc800000 - 0xff000000   ( 552 MB)
[    0.000000]     lowmem  : 0xc0000000 - 0xdc000000   ( 448 MB)
[    0.000000]     modules : 0xbf000000 - 0xc0000000   (  16 MB)
[    0.000000]       .text : 0xc0008000 - 0xc0575858   (5559 kB)
[    0.000000]       .init : 0xc0576000 - 0xc059a344   ( 145 kB)
[    0.000000]       .data : 0xc059c000 - 0xc05d4970   ( 227 kB)
[    0.000000]        .bss : 0xc05d4970 - 0xc0683040   ( 698 kB)
[    0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] Preemptible hierarchical RCU implementation.
[    0.000000] NR_IRQS:330
[    0.000000] sched_clock: 32 bits at 1000kHz, resolution 1000ns, wraps every 4294967ms
[    0.000000] Switching to timer-based delay loop
[    0.000000] Console: colour dummy device 80x30
[    0.000000] console [tty1] enabled
[    0.001173] Calibrating delay loop (skipped), value calculated using timer frequency.. 2.00 BogoMIPS (lpj=10000)
[    0.001237] pid_max: default: 32768 minimum: 301
[    0.001707] Mount-cache hash table entries: 512
[    0.002514] Initializing cgroup subsys memory
[    0.002617] Initializing cgroup subsys devices
[    0.002657] Initializing cgroup subsys freezer
[    0.002692] Initializing cgroup subsys blkio
[    0.002851] CPU: Testing write buffer coherency: ok
[    0.003321] Setting up static identity map for 0xc0408f88 - 0xc0408fe4
[    0.005130] devtmpfs: initialized
[    0.019517] NET: Registered protocol family 16
[    0.025548] DMA: preallocated 4096 KiB pool for atomic coherent allocations
[    0.026735] bcm2708.uart_clock = 0
[    0.028410] hw-breakpoint: found 6 breakpoint and 1 watchpoint registers.
[    0.028462] hw-breakpoint: maximum watchpoint size is 4 bytes.
[    0.028501] mailbox: Broadcom VideoCore Mailbox driver
[    0.028598] bcm2708_vcio: mailbox at f200b880
[    0.028702] bcm_power: Broadcom power driver
[    0.028742] bcm_power_open() -> 0
[    0.028769] bcm_power_request(0, 8)
[    0.529488] bcm_mailbox_read -> 00000080, 0
[    0.529529] bcm_power_request -> 0
[    0.529753] Serial: AMBA PL011 UART driver
[    0.529912] dev:f1: ttyAMA0 at MMIO 0x20201000 (irq = 83) is a PL011 rev3
[    0.878168] console [ttyAMA0] enabled
[    0.904412] bio: create slab <bio-0> at 0
[    0.909701] SCSI subsystem initialized
[    0.913686] usbcore: registered new interface driver usbfs
[    0.919401] usbcore: registered new interface driver hub
[    0.924953] usbcore: registered new device driver usb
[    0.931604] Switching to clocksource stc
[    0.935941] FS-Cache: Loaded
[    0.939098] CacheFiles: Loaded
[    0.954470] NET: Registered protocol family 2
[    0.959880] TCP established hash table entries: 4096 (order: 3, 32768 bytes)
[    0.967147] TCP bind hash table entries: 4096 (order: 2, 16384 bytes)
[    0.973670] TCP: Hash tables configured (established 4096 bind 4096)
[    0.980143] TCP: reno registered
[    0.983403] UDP hash table entries: 256 (order: 0, 4096 bytes)
[    0.989310] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[    0.996043] NET: Registered protocol family 1
[    1.000965] RPC: Registered named UNIX socket transport module.
[    1.007029] RPC: Registered udp transport module.
[    1.011755] RPC: Registered tcp transport module.
[    1.016507] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    1.023961] bcm2708_dma: DMA manager at f2007000
[    1.028781] bcm2708_gpio: bcm2708_gpio_probe c05a9e50
[    1.034249] vc-mem: phys_addr:0x00000000 mem_base=0x1ec00000 mem_size:0x20000000(512 MiB)
[    1.043608] audit: initializing netlink socket (disabled)
[    1.049280] type=2000 audit(0.890:1): initialized
[    1.211021] VFS: Disk quotas dquot_6.5.2
[    1.215267] Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
[    1.224205] FS-Cache: Netfs 'nfs' registered for caching
[    1.230936] NFS: Registering the id_resolver key type
[    1.236274] Key type id_resolver registered
[    1.240486] Key type id_legacy registered
[    1.245201] msgmni has been set to 875
[    1.251140] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 252)
[    1.258984] io scheduler noop registered
[    1.262943] io scheduler deadline registered (default)
[    1.268529] io scheduler cfq registered
[    1.273835] BCM2708FB: allocated DMA memory 5b400000
[    1.279017] BCM2708FB: allocated DMA channel 0 @ f2007000
[    1.301638] Console: switching to colour frame buffer device 82x26
[    1.311792] uart-pl011 dev:f1: no DMA platform data
[    1.318241] kgdb: Registered I/O driver kgdboc.
[    1.324760] vc-cma: Videocore CMA driver
[    1.330108] vc-cma: vc_cma_base      = 0x00000000
[    1.336185] vc-cma: vc_cma_size      = 0x00000000 (0 MiB)
[    1.342841] vc-cma: vc_cma_initial   = 0x00000000 (0 MiB)
[    1.358582] brd: module loaded
[    1.368081] loop: module loaded
[    1.372721] vchiq: vchiq_init_state: slot_zero = 0xdb000000, is_master = 0
[    1.381835] Loading iSCSI transport class v2.0-870.
[    1.389244] usbcore: registered new interface driver smsc95xx
[    1.396743] dwc_otg: version 3.00a 10-AUG-2012 (platform bus)
[    1.603983] Core Release: 2.80a
[    1.608495] Setting default values for core params
[    1.614512] Finished setting default values for core params
[    1.821579] Using Buffer DMA mode
[    1.826172] Periodic Transfer Interrupt Enhancement - disabled
[    1.833258] Multiprocessor Interrupt Enhancement - disabled
[    1.840097] OTG VER PARAM: 0, OTG VER FLAG: 0
[    1.845758] Dedicated Tx FIFOs mode
[    1.851264] WARN::dwc_otg_hcd_init:1053: FIQ DMA bounce buffers: virt = 0xdb414000 dma = 0x5b414000 len=9024
[    1.863743] FIQ FSM acceleration enabled for :
[    1.863743] Non-periodic Split Transactions
[    1.863743] Periodic Split Transactions
[    1.880122] dwc_otg: Microframe scheduler enabled
[    1.880352] WARN::hcd_init:474: FIQ at 0xc02f1dac
[    1.886498] WARN::hcd_init:475: FIQ ASM at 0xc02f2028 length 36
[    1.893795] WARN::hcd_init:501: MPHI regs_base at 0xdc806000
[    1.900876] dwc_otg bcm2708_usb: DWC OTG Controller
[    1.907184] dwc_otg bcm2708_usb: new USB bus registered, assigned bus number 1
[    1.915868] dwc_otg bcm2708_usb: irq 32, io mem 0x00000000
[    1.922716] Init: Port Power? op_state=1
[    1.927981] Init: Power Port (0)
[    1.932613] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[    1.940794] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    1.949404] usb usb1: Product: DWC OTG Controller
[    1.955416] usb usb1: Manufacturer: Linux 3.10.30+ dwc_otg_hcd
[    1.962594] usb usb1: SerialNumber: bcm2708_usb
[    1.969231] hub 1-0:1.0: USB hub found
[    1.974330] hub 1-0:1.0: 1 port detected
[    1.979931] dwc_otg: FIQ enabled
[    1.979949] dwc_otg: NAK holdoff enabled
[    1.979959] dwc_otg: FIQ split-transaction FSM enabled
[    1.979980] Module dwc_common_port init
[    1.980436] usbcore: registered new interface driver usb-storage
[    1.988224] mousedev: PS/2 mouse device common for all mice
[    1.995784] bcm2835-cpufreq: min=700000 max=700000 cur=700000
[    2.002903] bcm2835-cpufreq: switching to governor powersave
[    2.009908] bcm2835-cpufreq: switching to governor powersave
[    2.016857] cpuidle: using governor ladder
[    2.022153] cpuidle: using governor menu
[    2.027352] sdhci: Secure Digital Host Controller Interface driver
[    2.034782] sdhci: Copyright(c) Pierre Ossman
[    2.040450] sdhci: Enable low-latency mode
[    2.085645] mmc0: SDHCI controller on BCM2708_Arasan [platform] using platform's DMA
[    2.096120] mmc0: BCM2708 SDHC host at 0x20300000 DMA 2 IRQ 77
[    2.103362] sdhci-pltfm: SDHCI platform and OF driver helper
[    2.110510] ledtrig-cpu: registered to indicate activity on CPUs
[    2.120105] hidraw: raw HID events driver (C) Jiri Kosina
[    2.134411] usbcore: registered new interface driver usbhid
[    2.141453] usbhid: USB HID core driver
[    2.151305] TCP: cubic registered
[    2.158074] Initializing XFRM netlink socket
[    2.165802] NET: Registered protocol family 17
[    2.171817] Key type dns_resolver registered
[    2.180801] Indeed it is in host mode hprt0 = 00021501
[    2.187897] VFP support v0.3: implementor 41 architecture 1 part 20 variant b rev 5
[    2.216331] registered taskstats version 1
[    2.226581] Waiting for root device /dev/mmcblk0p2...
[    2.245701] mmc0: new high speed SDHC card at address 59b4
[    2.265872] mmcblk0: mmc0:59b4 NCard 14.7 GiB
[    2.273445]  mmcblk0: p1 p2
[    2.371858] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
[    2.383008] VFS: Mounted root (ext4 filesystem) on device 179:2.
[    2.401303] devtmpfs: mounted
[    2.405877] usb 1-1: new high-speed USB device number 2 using dwc_otg
[    2.413930] Indeed it is in host mode hprt0 = 00001101
[    2.421053] Freeing unused kernel memory: 144K (c0576000 - c059a000)
[    2.626079] usb 1-1: New USB device found, idVendor=0424, idProduct=9512
[    2.634375] usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[    2.644979] hub 1-1:1.0: USB hub found
[    2.650586] hub 1-1:1.0: 3 ports detected
[    2.935862] usb 1-1.1: new high-speed USB device number 3 using dwc_otg
[    3.046244] usb 1-1.1: New USB device found, idVendor=0424, idProduct=ec00
[    3.054744] usb 1-1.1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[    3.083639] smsc95xx v1.0.4
[    3.151053] smsc95xx 1-1.1:1.0 eth0: register 'smsc95xx' at usb-bcm2708_usb-1.1, smsc95xx USB 2.0 Ethernet, b8:27:eb:ef:1f:36
[    3.275941] usb 1-1.2: new high-speed USB device number 4 using dwc_otg
[    3.403949] usb 1-1.2: New USB device found, idVendor=148f, idProduct=5370
[    3.419575] usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[    3.445780] usb 1-1.2: Product: 802.11 n WLAN
[    3.451773] usb 1-1.2: Manufacturer: Ralink
[    3.461602] usb 1-1.2: SerialNumber: 1.0
[    3.910948] udevd[156]: starting version 175
[    4.779828] bcm2708_spi bcm2708_spi.0: master is unqueued, this is deprecated
[    4.917885] bcm2708_spi bcm2708_spi.0: SPI Controller at 0x20204000 (irq 80)
[    5.081629] cfg80211: Calling CRDA to update world regulatory domain
[    5.128558] bcm2708_i2c_init_pinmode(0,0)
[    5.134247] bcm2708_i2c_init_pinmode(0,1)
[    5.241239] bcm2708_i2c bcm2708_i2c.0: BSC0 Controller at 0x20205000 (irq 79) (baudrate 100000)
[    5.384306] bcm2708_i2c_init_pinmode(1,2)
[    5.444260] bcm2708_i2c_init_pinmode(1,3)
[    5.685993] usb 1-1.2: reset high-speed USB device number 4 using dwc_otg
[    5.748882] bcm2708_i2c bcm2708_i2c.1: BSC1 Controller at 0x20804000 (irq 79) (baudrate 100000)
[    5.987201] bcm2708-i2s bcm2708-i2s.0: Failed to create debugfs directory
[    6.004943] ieee80211 phy0: rt2x00_set_rt: Info - RT chipset 5390, rev 0502 detected
[    6.208801] ieee80211 phy0: rt2x00_set_rf: Info - RF chipset 5370 detected
[    6.341268] ieee80211 phy0: Selected rate control algorithm 'minstrel_ht'
[    6.342818] usbcore: registered new interface driver rt2800usb
[    8.441535] EXT4-fs (mmcblk0p2): re-mounted. Opts: errors=remount-ro
[    9.110716] lirc_dev: IR Remote Control driver registered, major 248
[    9.211099] lirc_rpi: module is from the staging directory, the quality is unknown, you have been warned.
[   10.185646] lirc_rpi: auto-detected active low receiver on GPIO pin 23
[   10.199099] lirc_rpi lirc_rpi.0: lirc_dev: driver lirc_rpi registered at minor = 0
[   10.211264] lirc_rpi: driver registered!
[   11.880207] input: lircd as /devices/virtual/input/input0
[   1[b][/b]5.407571] FAT-fs (mmcblk0p1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
[   17.789887] NET: Registered protocol family 10
[   18.048333] smsc95xx 1-1.1:1.0 eth0: hardware isn't capable of remote wakeup
[   18.057926] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[   18.588467] ieee80211 phy0: rt2x00lib_request_firmware: Info - Loading firmware file 'rt2870.bin'
[   18.602995] ieee80211 phy0: rt2x00lib_request_firmware: Info - Firmware detected - version: 0.29
[   19.463861] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
[   19.667696] smsc95xx 1-1.1:1.0 eth0: link up, 100Mbps, full-duplex, lpa 0xC5E1
[   19.679543] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[   36.069612] Installing knfsd (copyright (C) 1996 [email protected]).
I tested using fiq_fsm_mask=0x1 also as requested and it's the same behavior. Halt > power pi off > power pi on. No WIFI. Reboot. Yes wifi. Weird.

dsc3507
Posts: 40
Joined: Sun Apr 28, 2013 5:08 am

Re: Call for beta testers: FIQ_FSM USB driver rewrite

Fri Mar 14, 2014 4:07 am

I would like to try this out but I need to compile some local code against the kernel to do that. Is the kernel source available for the rewrite or is there a patch I can apply to what I am currently using. I have the kernel source and I am currently compiled for 3.10.25+ from Jan 7, 2014.

beta-tester
Posts: 1236
Joined: Fri Jan 04, 2013 1:57 pm
Location: de_DE

Re: Call for beta testers: FIQ_FSM USB driver rewrite

Fri Mar 14, 2014 10:46 am

i use a OpenElec image (just yesterday compiled)
and two times the video playback freezes... and did not came back. these videos did had any trouble before with these videos (one month before, i was using a my older compiled OpenElec version).
today, again my RPi freezed during video playback (i let it freeze for ~30minutes).
this time i tried to connect me via ssh to my freezed RPi. i got only an login for user, but no password request.
so i tried to get access to the shared logfile folder of OpenElec.
few seconds after that try, the video playback continued, and on ssh session the password was requested as normal.
so, the RPi was running as normal.
to a view to dmesg and to the logfilefolders "02_System.log" file i have many

Code: Select all

kernel: Transfer to device 4 endpoint 0x2 failed - FIQ reported NYET. Data may have been lost.
entries that fits to the time, where my RPi freezed and thes disappeared just after i got access to the logfilefolder and my RPi continued the video playback.
{ I only give negative feedback }
RPi Model B (rev1, 256MB) & B (rev2, 512MB) & B+, RPi2B, RPi3B, RPi3B+, RPiZeroW, ...

beta-tester
Posts: 1236
Joined: Fri Jan 04, 2013 1:57 pm
Location: de_DE

Re: Call for beta testers: FIQ_FSM USB driver rewrite

Fri Mar 14, 2014 11:08 am

beta-tester wrote:i use a OpenElec image (just yesterday compiled)
and two times the video playback freezes... and did not came back. these videos did had any trouble before with these videos (one month before, i was using a my older compiled OpenElec version).
today, again my RPi freezed during video playback (i let it freeze for ~30minutes).
this time i tried to connect me via ssh to my freezed RPi. i got only an login for user, but no password request.
so i tried to get access to the shared logfile folder of OpenElec.
few seconds after that try, the video playback continued, and on ssh session the password was requested as normal.
so, the RPi was running as normal.
to a view to dmesg and to the logfilefolders "02_System.log" file i have many

Code: Select all

kernel: Transfer to device 4 endpoint 0x2 failed - FIQ reported NYET. Data may have been lost.
entries that fits to the time, where my RPi freezed and thes disappeared just after i got access to the logfilefolder and my RPi continued the video playback.
ok, the messages and the freeze seems not to be related. i logged in again. an the dmesg shows up again these messages, but the RPi and OpenElec video playback are not freezed yet
{ I only give negative feedback }
RPi Model B (rev1, 256MB) & B (rev2, 512MB) & B+, RPi2B, RPi3B, RPi3B+, RPiZeroW, ...

Return to “Troubleshooting”