sbp
Posts: 128
Joined: Wed Sep 26, 2012 7:54 pm

Re: Call for beta testers: FIQ_FSM USB driver rewrite

Fri May 02, 2014 4:21 pm

Hi I opened a bug report at GitHub about I2s audio cards problems with the new kernel and firmware.

It crashes whenever I try to load the i2s modules.

I would be interested in knowing if other have the same problem with this kernel and i2s audio cards

Steen
piCorePlayer webpage: https://sites.google.com/site/picoreplayer/home

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

Re: Call for beta testers: FIQ_FSM USB driver rewrite

Fri May 02, 2014 4:46 pm

fabriced wrote:Dear,
I am a little lost where the last FIQ FSM driver is commited into the github linux repo (I have to build my kernels).
Does 3.12.y contains all your work ?

On 3.12.y I see the commit "dwc_otg: fiq_fsm: Base commit for driver rewrite" but no the other commits that are visible on 3.13.y branch. On another hand, the "config: enable CONFIG_DMA_CMA" is only on 3.12.y and 3.14.y.
Could you please tell me which branch I should use to test your last FIQ_FSM USB driver version ?

Kind regards,
Fabrice
In theory, all branches past 3.10.y should have the changes committed.

Currently, the rpi-update firmware is built from 3.12.y as this is the latest upstream longterm stable branch. 3.14.y is the latest upstream kernel release.

You should build from 3.12.y.
Rockets are loud.
https://astro-pi.org

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

Re: Call for beta testers: FIQ_FSM USB driver rewrite

Fri May 02, 2014 4:47 pm

sbp wrote:Hi I opened a bug report at GitHub about I2s audio cards problems with the new kernel and firmware.

It crashes whenever I try to load the i2s modules.

I would be interested in knowing if other have the same problem with this kernel and i2s audio cards

Steen
I2S peripherals are outside the scope of this thread.

Feedback on the general move to 3.12 goes in that thread (or on github):
http://www.raspberrypi.org/forums/viewt ... 29&t=75895
Rockets are loud.
https://astro-pi.org

User avatar
g7ruh
Posts: 67
Joined: Mon Apr 23, 2012 9:49 am
Location: Blackfield UK

Re: Call for beta testers: FIQ_FSM USB driver rewrite

Thu May 08, 2014 7:35 pm

I notice that the April 28 Firmware update for FIQ FSM causes quiescent CPU ( no load) to increase by an order of magnitude. Reverting to pre April 28 firmware "fixes the problem". Before update the CPU average reported as 0.2 to 0.4%. After update it is reported as 3-4%.

the data comes from here:

Code: Select all

VALUE=$( cat /proc/loadavg | awk {'print $2'} )
and is read every 60 seconds.

The attached graph shows the condition and reverting to pre 28th firmware lowers the ave CPU load as per the lower part of the graph.

Is this expected behavior or an indication of some other issue?
Attachments
devpicpuhigh201405061952.PNG
devpicpuhigh201405061952.PNG (16.01 KiB) Viewed 9764 times

GrayShade
Posts: 39
Joined: Fri Jul 05, 2013 6:13 am

Re: Call for beta testers: FIQ_FSM USB driver rewrite

Thu May 08, 2014 7:41 pm

Load average is not necessarily related to CPU usage. See https://github.com/Hexxeh/rpi-firmware/issues/46, which caused it to increase by 3.

On the other hand, I don't think CPU usage should be higher. I might also be seeing some similar effects, but I can't really prove it.

User avatar
g7ruh
Posts: 67
Joined: Mon Apr 23, 2012 9:49 am
Location: Blackfield UK

Re: Call for beta testers: FIQ_FSM USB driver rewrite

Fri May 09, 2014 10:59 am

Thanks GrayShade for the link. I understand a bit more now. As an engineer, things bother me when unexplained! Not that I lost sleep over it, but a significant change in a value is a thing of concern, at an order of magnitude! :)
I did notice a significant drop in IRQ after the firmware change on my wireless dongles.

User avatar
domdv
Posts: 15
Joined: Mon Jan 13, 2014 4:48 pm

Re: Call for beta testers: FIQ_FSM USB driver rewrite

Mon May 12, 2014 12:59 pm

I'm not sure if I posting this in the correct place as suggested by JamesH from the Concept2 Timeout.....thread.

After recently updating to v.3.12.18+ which has an updated USB driver to function with the Concept2 PM3/4 monitor, I have been testing it with my own script, and although 90% of the time everything runs without errors, but every now and then I see the following error logged in the terminal.

[/code]
-------------
Meters = 948
02:21 (/500m)
-------------
Meters = 949
02:21 (/500m)
-------------
Meters = 950
02:21 (/500m)
-------------
Meters = 951
02:21 (/500m)
Traceback (most recent call last):
File "main.py", line 230, in <module>
main()
File "main.py", line 107, in main
monitor = erg.getMonitor()
File "/home/pi/Desktop/c2_game/pyrow.py", line 69, in getMonitor
results = this.send(command)
File "/home/pi/Desktop/c2_game/pyrow.py", line 234, in send
length = this.erg.write(outEndpoint, csafe) #sends message to erg and records length of message
File "/usr/local/lib/python2.7/dist-packages/usb/core.py", line 619, in write
self.__get_timeout(timeout)
File "/usr/local/lib/python2.7/dist-packages/usb/backend/libusb10.py", line 550, in intr_write
timeout)
File "/usr/local/lib/python2.7/dist-packages/usb/backend/libusb10.py", line 628, in __write
timeout))
File "/usr/local/lib/python2.7/dist-packages/usb/backend/libusb10.py", line 403, in _check
raise USBError(_str_error[ret], ret, _libusb_errno[ret])
usb.core.USBError: [Errno 5] Input/output error
Exception usb.core.USBError: USBError(19, 'No such device (it may have been disconnected)') in <bound method Device.__del__ of <usb.core.Device object at 0x15eca10>> ignored
[/code]

I was receiving data back and printing it to the terminal until the timeout error occured. The monitor was still connected via usb and continued to function as normal. Also it did not show any errors on screen.

The second issue that continues to happen is a complete lock up where, every usb device attached to the Pi either directly or via a powered hub locks up forcing a re-start.

If this helps anyone out in solving the problem, then please also feel free to ask me any further questions about these issues. Otherwise good luck in solving it.

Regards
Dom

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

Re: Call for beta testers: FIQ_FSM USB driver rewrite

Mon May 12, 2014 2:08 pm

@domdv

Can you SSH into the Pi? There have been odd reports that USB devices seem to drop out, then magically fix themselves when SSHing in.
Rockets are loud.
https://astro-pi.org

dom
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 5342
Joined: Wed Aug 17, 2011 7:41 pm
Location: Cambridge

Re: Call for beta testers: FIQ_FSM USB driver rewrite

Mon May 12, 2014 11:10 pm

g7ruh wrote:I notice that the April 28 Firmware update for FIQ FSM causes quiescent CPU ( no load) to increase by an order of magnitude. Reverting to pre April 28 firmware "fixes the problem". Before update the CPU average reported as 0.2 to 0.4%. After update it is reported as 3-4%.
Please test again with updated firmware

User avatar
g7ruh
Posts: 67
Joined: Mon Apr 23, 2012 9:49 am
Location: Blackfield UK

Re: Call for beta testers: FIQ_FSM USB driver rewrite

Tue May 13, 2014 10:15 am

Dom,

Tested and back to "normal" now as per here: https://xively.com/feeds/106057/workbench first item: devpi_cpu_load

Thanks for ALL your hard work on things 'pi, and others too ;)

Roger

User avatar
domdv
Posts: 15
Joined: Mon Jan 13, 2014 4:48 pm

Re: Call for beta testers: FIQ_FSM USB driver rewrite

Tue May 13, 2014 12:34 pm

jdb wrote:@domdv

Can you SSH into the Pi? There have been odd reports that USB devices seem to drop out, then magically fix themselves when SSHing in.
This won't be easy to test, since:

a, it doesn't happen very often
b, I use my pi in two different places when developing, and in one of the sites I cannot ssh in at all.

Therefore it may be a while before I can get an answer for you.

sbp
Posts: 128
Joined: Wed Sep 26, 2012 7:54 pm

Re: Call for beta testers: FIQ_FSM USB driver rewrite

Tue May 13, 2014 2:46 pm

Hi, I noticed that fiq_fsm is now disabled by default in the 3.14.y kernel, why is this changed?

Does that mean that we should avoid using fiq_fsm?

Thanks
piCorePlayer webpage: https://sites.google.com/site/picoreplayer/home

dom
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 5342
Joined: Wed Aug 17, 2011 7:41 pm
Location: Cambridge

Re: Call for beta testers: FIQ_FSM USB driver rewrite

Tue May 13, 2014 3:11 pm

sbp wrote:Hi, I noticed that fiq_fsm is now disabled by default in the 3.14.y kernel, why is this changed?

Does that mean that we should avoid using fiq_fsm?
There are some issues on OpenELEC with FIQ FSM. It doesn't affect most users.
We're not sure yet if it's a problem with 3.14 kernel, the generally high CPU use and GPU communication used by xbmc or just different types of USB peripherals that are common there (e.g. USB IR receivers, bluetooth and wireless keyboards).

If you are not seeing problems, then there's nothing to worry about. If you are having problems, then report them here.

rspitz
Posts: 58
Joined: Tue Jul 31, 2012 7:25 pm

Re: Call for beta testers: FIQ_FSM USB driver rewrite

Thu May 29, 2014 11:17 am

Dear USB Driver developers,

a success story:

after 4 weeks of stable operation, I am now confident enough to report that my longstanding problem with using a Sundtek DVB-C stick for monitoring my DOCSIS cable internet connection has been solved. With

Code: Select all

3.12.18+ #679 PREEMPT Thu May 1 14:40:27 BST 2014 armv6l GNU/Linux
, the Sundtek USB Driver is no longer crashing. There are occasional timeouts when reading data, but these are no longer a symptom of a driver crash. Since they only occur between about 3 and 5 am, they might well be due to lack of activity on a DOCSIS channel.

Thank you very much for your efforts.

Regards, Richard

sbp
Posts: 128
Joined: Wed Sep 26, 2012 7:54 pm

Re: Call for beta testers: FIQ_FSM USB driver rewrite

Sat Jun 14, 2014 1:13 pm

Hi I can't find documentation for dwc_otg.fiq_fsm_mask settings.

Frm the first post in this thread:

Code: Select all

dwc_otg.fiq_fsm_mask: Bitmask of transaction types to perform in the FIQ. Has no effect for the NOP FIQ.
Bit 0: Accelerate non-periodic split transactions
Bit 1: Accelerate periodic split transactions
Bit 2: Accelerate high-speed isochronous transactions
The default is 0x7, i.e. all options enabled.
From the list I would think these options would be valid:
0x0 = non-periodic split transactions
0x1 = periodic split transactions
0x2 = high-speed isochronous transactions
and 0x7 = all of above

However I find a lot of post using dwc_otg.fiq_fsm_mask=0x3 - so what does this option do?

So have I misunderstood the available options?

Steen
piCorePlayer webpage: https://sites.google.com/site/picoreplayer/home

Aydan
Posts: 699
Joined: Fri Apr 13, 2012 11:48 am
Location: Germany, near Lake Constance

Re: Call for beta testers: FIQ_FSM USB driver rewrite

Sat Jun 14, 2014 1:19 pm

It's actually
0x1 = non-periodic split transactions
0x2 = periodic split transactions
0x4 = high-speed isochronous transactions

where 0x7 is the bitwise or of all above. 0x3 means only "non-periodic split transactions" and "periodic split transactions" are enabled and "high-speed isochronous transactions" is disabled.

Regards
Aydan

GrayShade
Posts: 39
Joined: Fri Jul 05, 2013 6:13 am

Re: Call for beta testers: FIQ_FSM USB driver rewrite

Sun Jun 29, 2014 5:04 pm

For what it's worth, the FIQ driver seems to have gotten better. I tried PulseAudio configured to use two fragments of 5 ms and I don't get any underruns, while the integrated sound card is unusable.

So good job and thanks!

MoSPDude
Posts: 3
Joined: Tue Nov 27, 2012 1:02 pm

Re: Call for beta testers: FIQ_FSM USB driver rewrite

Fri Jul 04, 2014 7:58 pm

Hi there, I've been trying the newer kernels over the last few weeks, and have been having some trouble.
I've got two USB devices plugged directly into the Pi :- a Sony PlayTV dual tuner, and a FLIRC eye. I'm running RaspBMC, with a standard kernel downloaded with "rpi-update", of
Jun 27 06:46:17 raspbmc kernel: [ 0.000000] Linux version 3.12.22+ ([email protected]) (gcc version 4.7.2 20120731 (prerelease) (crosstool-NG linaro-1.13.1+bzr2458 - Linaro GCC 2012.08) ) #691 PREEMPT Wed Jun 18 18:29:58 BST 2014
With "dwc_otg.fiq_fsm_enable" enabled, and "dwc_otg.fiq_fsm_mask" as any mask value (all from 0x1 to 0x7), the USB on the Pi will eventually lock up.

When it has locked up, once I've rebooted, I get a VERY long "kern.log" of the same messsages. I'd tried increasing the "vm.min_free_kbytes" for the "kevent 0 may have been dropped", as recommeded elsewhere on net, and this just prolonged the working period.

I don't know if this is useful - but I'll attach the excerpts.

dwc_otg.fiq_fsm_mask = 0x1 :-
Jul 1 00:28:24 raspbmc kernel: [136927.734931] smsc95xx 1-1.1:1.0 eth0: kevent 0 may have been dropped
Jul 1 00:54:36 raspbmc kernel: [138499.236778] smsc95xx 1-1.1:1.0 eth0: kevent 0 may have been dropped
Jul 1 00:54:47 raspbmc kernel: [138510.521232] smsc95xx 1-1.1:1.0 eth0: kevent 0 may have been dropped
Jul 1 00:54:49 raspbmc kernel: [138512.712715] smsc95xx 1-1.1:1.0 eth0: kevent 0 may have been dropped
Jul 1 00:54:57 raspbmc kernel: [138520.286425] smsc95xx 1-1.1:1.0 eth0: kevent 0 may have been dropped
dwc_otg.fiq_fsm_mask = 0x2 :-
Jun 29 07:35:07 raspbmc kernel: [123245.091773] ------------[ cut here ]------------
Jun 29 07:35:07 raspbmc kernel: [123245.091859] WARNING: CPU: 0 PID: 0 at net/sched/sch_generic.c:264 dev_watchdog+0x2e8/0x308()
Jun 29 07:35:07 raspbmc kernel: [123245.091878] NETDEV WATCHDOG: eth0 (smsc95xx): transmit queue 0 timed out
Jun 29 07:35:07 raspbmc kernel: [123245.091890] Modules linked in: bcm2708_wdog snd_soc_hifiberry_digi bcm2708_dmaengine virt_dma ipv6 xt_state uinput iptable_mangle iptable_nat nf_conntrack_ipv4 nf_defrag_ipv4 nf_nat_ipv4 nf_nat nf_conntrack iptable_filter ip_tables x_tables snd_soc_wm8804 snd_soc_pcm512x rc_dib0700_rc5 dvb_usb_dib0700 dib8000 dib7000m dib0090 dib0070 dib7000p dib3000mc dibx000_common dvb_usb dvb_core rc_core evdev joydev leds_gpio led_class snd_soc_bcm2708_i2s regmap_mmio snd_soc_core snd_compress regmap_i2c snd_pcm_dmaengine regmap_spi snd_pcm snd_page_alloc snd_timer i2c_bcm2708 spi_bcm2708 snd
Jun 29 07:35:07 raspbmc kernel: [123245.092114] CPU: 0 PID: 0 Comm: swapper Not tainted 3.12.22+ #691
Jun 29 07:35:07 raspbmc kernel: [123245.092186] [<c0013ec0>] (unwind_backtrace+0x0/0xf0) from [<c0011284>] (show_stack+0x10/0x14)
Jun 29 07:35:07 raspbmc kernel: [123245.092238] [<c0011284>] (show_stack+0x10/0x14) from [<c001edd0>] (warn_slowpath_common+0x68/0x88)
Jun 29 07:35:07 raspbmc kernel: [123245.092274] [<c001edd0>] (warn_slowpath_common+0x68/0x88) from [<c001ee84>] (warn_slowpath_fmt+0x30/0x40)
Jun 29 07:35:07 raspbmc kernel: [123245.092311] [<c001ee84>] (warn_slowpath_fmt+0x30/0x40) from [<c037ef78>] (dev_watchdog+0x2e8/0x308)
Jun 29 07:35:07 raspbmc kernel: [123245.092353] [<c037ef78>] (dev_watchdog+0x2e8/0x308) from [<c0028410>] (call_timer_fn.isra.30+0x24/0x88)
Jun 29 07:35:07 raspbmc kernel: [123245.092389] [<c0028410>] (call_timer_fn.isra.30+0x24/0x88) from [<c002863c>] (run_timer_softirq+0x1c8/0x2a4)
Jun 29 07:35:07 raspbmc kernel: [123245.092427] [<c002863c>] (run_timer_softirq+0x1c8/0x2a4) from [<c0022ba4>] (__do_softirq+0xbc/0x19c)
Jun 29 07:35:07 raspbmc kernel: [123245.092462] [<c0022ba4>] (__do_softirq+0xbc/0x19c) from [<c0022d28>] (do_softirq+0x58/0x60)
Jun 29 07:35:07 raspbmc kernel: [123245.092497] [<c0022d28>] (do_softirq+0x58/0x60) from [<c0022f9c>] (irq_exit+0x94/0xe4)
Jun 29 07:35:07 raspbmc kernel: [123245.092531] [<c0022f9c>] (irq_exit+0x94/0xe4) from [<c000f070>] (handle_IRQ+0x34/0x84)
Jun 29 07:35:07 raspbmc kernel: [123245.092580] [<c000f070>] (handle_IRQ+0x34/0x84) from [<c0423bf4>] (__irq_svc+0x34/0xc8)
Jun 29 07:35:07 raspbmc kernel: [123245.092620] [<c0423bf4>] (__irq_svc+0x34/0xc8) from [<c000f1c0>] (arch_cpu_idle+0x28/0x38)
Jun 29 07:35:07 raspbmc kernel: [123245.092667] [<c000f1c0>] (arch_cpu_idle+0x28/0x38) from [<c0052774>] (cpu_startup_entry+0x50/0xec)
Jun 29 07:35:07 raspbmc kernel: [123245.092721] [<c0052774>] (cpu_startup_entry+0x50/0xec) from [<c059ea0c>] (start_kernel+0x2f8/0x360)
Jun 29 07:35:07 raspbmc kernel: [123245.092740] ---[ end trace 51c264b3201e70c4 ]---
Jun 29 07:42:59 raspbmc kernel: [123717.103783] DiB0070 I2C write failed
Jun 29 07:43:04 raspbmc kernel: [123722.103885] DiB0070 I2C write failed
Jun 29 07:43:09 raspbmc kernel: [123727.104010] DiB0070 I2C write failed
Jun 29 07:43:14 raspbmc kernel: [123732.104139] DiB0070 I2C write failed
dwc_otg.fiq_fsm_mask = 0x3 :-
Jun 22 19:42:23 raspbmc kernel: [41834.032015] ------------[ cut here ]------------
Jun 22 19:42:23 raspbmc kernel: [41834.032102] WARNING: CPU: 0 PID: 746 at net/sched/sch_generic.c:264 dev_watchdog+0x2e8/0x308()
Jun 22 19:42:23 raspbmc kernel: [41834.032122] NETDEV WATCHDOG: eth0 (smsc95xx): transmit queue 0 timed out
Jun 22 19:42:23 raspbmc kernel: [41834.032135] Modules linked in: bcm2708_wdog snd_soc_hifiberry_digi bcm2708_dmaengine virt_dma ipv6 xt_state uinput iptable_mangle iptable_nat nf_conntrack_ipv4 nf_defrag_ipv4 nf_nat_ipv4 nf_nat nf_conntrack iptable_filter ip_tables x_tables snd_soc_pcm512x snd_soc_wm8804 rc_dib0700_rc5 dvb_usb_dib0700 dib8000 dib7000m dib0090 dib0070 dib7000p dib3000mc dibx000_common dvb_usb dvb_core rc_core evdev joydev snd_soc_bcm2708_i2s regmap_mmio leds_gpio led_class snd_soc_core snd_compress regmap_i2c snd_pcm_dmaengine regmap_spi snd_pcm snd_page_alloc spi_bcm2708 snd_timer i2c_bcm2708 snd
Jun 22 19:42:23 raspbmc kernel: [41834.032358] CPU: 0 PID: 746 Comm: xbmc.bin Not tainted 3.12.22+ #691
Jun 22 19:42:23 raspbmc kernel: [41834.032432] [<c0013ec0>] (unwind_backtrace+0x0/0xf0) from [<c0011284>] (show_stack+0x10/0x14)
Jun 22 19:42:23 raspbmc kernel: [41834.032483] [<c0011284>] (show_stack+0x10/0x14) from [<c001edd0>] (warn_slowpath_common+0x68/0x88)
Jun 22 19:42:23 raspbmc kernel: [41834.032521] [<c001edd0>] (warn_slowpath_common+0x68/0x88) from [<c001ee84>] (warn_slowpath_fmt+0x30/0x40)
Jun 22 19:42:23 raspbmc kernel: [41834.032561] [<c001ee84>] (warn_slowpath_fmt+0x30/0x40) from [<c037ef78>] (dev_watchdog+0x2e8/0x308)
Jun 22 19:42:23 raspbmc kernel: [41834.032604] [<c037ef78>] (dev_watchdog+0x2e8/0x308) from [<c0028410>] (call_timer_fn.isra.30+0x24/0x88)
Jun 22 19:42:23 raspbmc kernel: [41834.032639] [<c0028410>] (call_timer_fn.isra.30+0x24/0x88) from [<c002863c>] (run_timer_softirq+0x1c8/0x2a4)
Jun 22 19:42:23 raspbmc kernel: [41834.032678] [<c002863c>] (run_timer_softirq+0x1c8/0x2a4) from [<c0022ba4>] (__do_softirq+0xbc/0x19c)
Jun 22 19:42:23 raspbmc kernel: [41834.032713] [<c0022ba4>] (__do_softirq+0xbc/0x19c) from [<c0022d28>] (do_softirq+0x58/0x60)
Jun 22 19:42:23 raspbmc kernel: [41834.032749] [<c0022d28>] (do_softirq+0x58/0x60) from [<c0022f9c>] (irq_exit+0x94/0xe4)
Jun 22 19:42:23 raspbmc kernel: [41834.032786] [<c0022f9c>] (irq_exit+0x94/0xe4) from [<c000f070>] (handle_IRQ+0x34/0x84)
Jun 22 19:42:23 raspbmc kernel: [41834.032836] [<c000f070>] (handle_IRQ+0x34/0x84) from [<c0423e38>] (__irq_usr+0x38/0xc0)
Jun 22 19:42:23 raspbmc kernel: [41834.032856] ---[ end trace fee4fac6113bdc47 ]---
Jun 22 19:43:55 raspbmc kernel: [41925.344277] DiB0070 I2C write failed
Jun 22 19:44:00 raspbmc kernel: [41930.344376] DiB0070 I2C write failed
Jun 22 19:44:05 raspbmc kernel: [41935.344514] DiB0070 I2C write failed
Jun 22 19:44:10 raspbmc kernel: [41940.344623] DiB0070 I2C write failed
Jun 22 19:44:15 raspbmc kernel: [41945.344750] DiB0070 I2C write failed
dwc_otg.fiq_fsm_mask = 0x4 :-
Jun 27 10:43:46 raspbmc kernel: [14237.232871] ------------[ cut here ]------------
Jun 27 10:43:46 raspbmc kernel: [14237.232958] WARNING: CPU: 0 PID: 0 at net/sched/sch_generic.c:264 dev_watchdog+0x2e8/0x308()
Jun 27 10:43:46 raspbmc kernel: [14237.232977] NETDEV WATCHDOG: eth0 (smsc95xx): transmit queue 0 timed out
Jun 27 10:43:46 raspbmc kernel: [14237.232990] Modules linked in: bcm2708_wdog snd_soc_hifiberry_digi bcm2708_dmaengine virt_dma ipv6 xt_state uinput iptable_mangle iptable_nat nf_conntrack_ipv4 nf_defrag_ipv4 nf_nat_ipv4 nf_nat nf_conntrack iptable_filter ip_tables x_tables snd_soc_pcm512x snd_soc_wm8804 rc_dib0700_rc5 dvb_usb_dib0700 dib8000 dib7000m dib0090 dib0070 dib7000p dib3000mc dibx000_common dvb_usb dvb_core rc_core evdev joydev snd_soc_bcm2708_i2s regmap_mmio leds_gpio led_class snd_soc_core snd_compress regmap_i2c snd_pcm_dmaengine regmap_spi snd_pcm spi_bcm2708 snd_page_alloc snd_timer i2c_bcm2708 snd
Jun 27 10:43:46 raspbmc kernel: [14237.233214] CPU: 0 PID: 0 Comm: swapper Not tainted 3.12.22+ #691
Jun 27 10:43:46 raspbmc kernel: [14237.233287] [<c0013ec0>] (unwind_backtrace+0x0/0xf0) from [<c0011284>] (show_stack+0x10/0x14)
Jun 27 10:43:46 raspbmc kernel: [14237.233337] [<c0011284>] (show_stack+0x10/0x14) from [<c001edd0>] (warn_slowpath_common+0x68/0x88)
Jun 27 10:43:46 raspbmc kernel: [14237.233374] [<c001edd0>] (warn_slowpath_common+0x68/0x88) from [<c001ee84>] (warn_slowpath_fmt+0x30/0x40)
Jun 27 10:43:46 raspbmc kernel: [14237.233412] [<c001ee84>] (warn_slowpath_fmt+0x30/0x40) from [<c037ef78>] (dev_watchdog+0x2e8/0x308)
Jun 27 10:43:46 raspbmc kernel: [14237.233454] [<c037ef78>] (dev_watchdog+0x2e8/0x308) from [<c0028410>] (call_timer_fn.isra.30+0x24/0x88)
Jun 27 10:43:46 raspbmc kernel: [14237.233489] [<c0028410>] (call_timer_fn.isra.30+0x24/0x88) from [<c002863c>] (run_timer_softirq+0x1c8/0x2a4)
Jun 27 10:43:46 raspbmc kernel: [14237.233528] [<c002863c>] (run_timer_softirq+0x1c8/0x2a4) from [<c0022ba4>] (__do_softirq+0xbc/0x19c)
Jun 27 10:43:46 raspbmc kernel: [14237.233610] [<c0022ba4>] (__do_softirq+0xbc/0x19c) from [<c0022d28>] (do_softirq+0x58/0x60)
Jun 27 10:43:46 raspbmc kernel: [14237.233651] [<c0022d28>] (do_softirq+0x58/0x60) from [<c0022f9c>] (irq_exit+0x94/0xe4)
Jun 27 10:43:46 raspbmc kernel: [14237.233689] [<c0022f9c>] (irq_exit+0x94/0xe4) from [<c000f070>] (handle_IRQ+0x34/0x84)
Jun 27 10:43:46 raspbmc kernel: [14237.233738] [<c000f070>] (handle_IRQ+0x34/0x84) from [<c0423bf4>] (__irq_svc+0x34/0xc8)
Jun 27 10:43:46 raspbmc kernel: [14237.233779] [<c0423bf4>] (__irq_svc+0x34/0xc8) from [<c000f1c0>] (arch_cpu_idle+0x28/0x38)
Jun 27 10:43:46 raspbmc kernel: [14237.233827] [<c000f1c0>] (arch_cpu_idle+0x28/0x38) from [<c0052774>] (cpu_startup_entry+0x50/0xec)
Jun 27 10:43:46 raspbmc kernel: [14237.233882] [<c0052774>] (cpu_startup_entry+0x50/0xec) from [<c059ea0c>] (start_kernel+0x2f8/0x360)
Jun 27 10:43:46 raspbmc kernel: [14237.233903] ---[ end trace 9ea969813c2c73c9 ]---
Jun 27 10:48:40 raspbmc kernel: [14530.799354] DiB0070 I2C write failed
Jun 27 10:48:50 raspbmc kernel: [14540.799589] DiB0070 I2C write failed
Jun 27 10:49:00 raspbmc kernel: [14550.799834] DiB0070 I2C write failed
Jun 27 10:49:10 raspbmc kernel: [14560.800001] DiB0070 I2C write failed
Jun 27 10:49:20 raspbmc kernel: [14570.800247] DiB0070 I2C write failed
dwc_otg.fiq_fsm_mask = 0x5 :-
Jun 25 13:36:45 raspbmc kernel: [197904.880666] smsc95xx 1-1.1:1.0 eth0: kevent 0 may have been dropped
Jun 25 13:37:17 raspbmc kernel: [197937.103060] smsc95xx 1-1.1:1.0 eth0: kevent 0 may have been dropped
Jun 25 13:37:37 raspbmc kernel: [197956.979328] smsc95xx 1-1.1:1.0 eth0: kevent 0 may have been dropped
Jun 25 13:38:14 raspbmc kernel: [197993.868446] smsc95xx 1-1.1:1.0 eth0: kevent 0 may have been dropped
Jun 25 13:39:15 raspbmc kernel: [198054.837689] smsc95xx 1-1.1:1.0 eth0: kevent 0 may have been dropped
dwc_otg.fiq_fsm_mask = 0x6 :-
Jun 26 21:47:31 raspbmc kernel: [88870.263711] Transfer to device 4 endpoint 0x1 frame 1430 failed - FIQ timed out. Data may have been lost.
Jun 26 21:47:31 raspbmc kernel: [88870.296591] Transfer to device 4 endpoint 0x1 frame 1463 failed - FIQ reported NYET. Data may have been lost.
Jun 26 21:47:31 raspbmc kernel: [88870.391703] Transfer to device 4 endpoint 0x1 frame 1558 failed - FIQ timed out. Data may have been lost.
Jun 26 21:47:31 raspbmc kernel: [88870.423707] Transfer to device 4 endpoint 0x1 frame 1590 failed - FIQ timed out. Data may have been lost.
Jun 26 21:47:31 raspbmc kernel: [88870.463713] Transfer to device 4 endpoint 0x1 frame 1630 failed - FIQ reported NYET. Data may have been lost.
Jun 26 21:47:31 raspbmc kernel: [88870.487725] Transfer to device 4 endpoint 0x1 frame 1654 failed - FIQ timed out. Data may have been lost.
Jun 26 21:47:31 raspbmc kernel: [88870.519705] Transfer to device 4 endpoint 0x1 frame 1686 failed - FIQ timed out. Data may have been lost.
...
Jun 26 21:47:36 raspbmc kernel: [88875.287718] Transfer to device 4 endpoint 0x1 frame 310 failed - FIQ timed out. Data may have been lost.
Jun 26 21:47:36 raspbmc kernel: [88875.327727] dwc_otg_hcd_handle_hc_fsm: 11 callbacks suppressed
Jun 26 21:47:36 raspbmc kernel: [88875.327769] Transfer to device 4 endpoint 0x1 frame 350 failed - FIQ reported NYET. Data may have been lost.
dwc_otg.fiq_fsm_mask = 0x7 :-
Jun 22 01:18:41 raspbmc kernel: [95618.295539] smsc95xx 1-1.1:1.0 eth0: kevent 0 may have been dropped
Jun 22 01:19:28 raspbmc kernel: [95664.899747] smsc95xx 1-1.1:1.0 eth0: kevent 0 may have been dropped
Jun 22 01:19:31 raspbmc kernel: [95668.302882] smsc95xx 1-1.1:1.0 eth0: kevent 0 may have been dropped
Jun 22 01:19:59 raspbmc kernel: [95696.182672] smsc95xx 1-1.1:1.0 eth0: kevent 0 may have been dropped
Jun 22 01:20:09 raspbmc kernel: [95705.922938] smsc95xx 1-1.1:1.0 eth0: kevent 0 may have been dropped

Racorac
Posts: 4
Joined: Fri Oct 03, 2014 9:39 am

Re: Call for beta testers: FIQ_FSM USB driver rewrite

Fri Oct 03, 2014 4:58 pm

I'm trying to use a Funcube dongle pro+ on the raspberry pi and I've been encountering problems.
They are well documented by another user on the following github issue:
https://github.com/raspberrypi/linux/issues/608

The stick appears as a USB sound card and is only capable of communicating in isoynchronous mode at 192k in 16 bit (with a HID device for control) by design in the firmware.

I followed all the recommendations on the githug issues page and reduced the number of errors in the kernel log, as also reported in the discussion, by unplugging LAN cables etc. but I was still getting lost samples.
I have also now tried the the optimizations of the flying spaghetti monster FIQ driver on this thread
With the following cmdline.txt arguments:

Code: Select all

dwc_otg.fiq_split_enable=0 dwc_otg.fiq_enable=1 dwc_otg.fiq_fsm_enable=1 dwc_otg.fiq_fsm_mask=0x7 dwc_otg.lpm_enable=0 console=ttyAMA0,115200 console=tty1 root=$
And combinations without dwc_otg.fiq_split_enable=0 and different masks (such as 0x4 which broke the device) but I still get error in the kernel such as:

Code: Select all

ct  3 15:57:55 raspberrypi kernel: [89542.788776] Transfer to device 26 endpoint 0x1 frame 1718 failed - FIQ timed out. Data may have been lost.
Where lsusb command shows the dongle as device 26
I have invested quite some time into getting this working properly but I'm at a loss at the moment and I am wondering if it's possible for this to work, or if it should be able to work.
I have tried the same on a A20-OLinuXino-MICRO-4GB and I get no packet loss but I realise this is a whole other beast.
On a side note I had two RTL radios running parallel on the pi without any issues which are bulk transport

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

Re: Call for beta testers: FIQ_FSM USB driver rewrite

Fri Oct 03, 2014 5:35 pm

What happens if you use the latest (sudo rpi-update) firmware and add dwc_otg.fiq_fsm_mask=0xF to /boot/cmdline.txt?
Rockets are loud.
https://astro-pi.org

Racorac
Posts: 4
Joined: Fri Oct 03, 2014 9:39 am

Re: Call for beta testers: FIQ_FSM USB driver rewrite

Fri Oct 03, 2014 8:08 pm

Thank you for your fast reply
I forgot to add that I did sudo rpi-update today. I'll try dwc_otg.fiq_fsm_mask=0xF how does that differ from dwc_otg.fiq_fsm_mask=0x7 ?

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

Re: Call for beta testers: FIQ_FSM USB driver rewrite

Fri Oct 03, 2014 8:36 pm

Racorac wrote:Thank you for your fast reply
I forgot to add that I did sudo rpi-update today. I'll try dwc_otg.fiq_fsm_mask=0xF how does that differ from dwc_otg.fiq_fsm_mask=0x7 ?
https://github.com/raspberrypi/linux/co ... 5f89dbfc97

The two Interrupt endpoints on the FCDP+ push the FIQ's state machine over the limit in a certain number of cases. Using this hack should reduce the pressure on the FIQ such that it can complete the important (isochronous) transactions successfully.
Rockets are loud.
https://astro-pi.org

Racorac
Posts: 4
Joined: Fri Oct 03, 2014 9:39 am

Re: Call for beta testers: FIQ_FSM USB driver rewrite

Mon Oct 06, 2014 4:44 pm

Thanks, I would like to try this fix, however, how would I go about implementing it?
I have got as far as downloading the source as a zip for the commit you linked and found this guide for compiling:
http://elinux.org/Raspberry_Pi_Kernel_Compilation
I'm sorry if i'm being daft here but my understanding of this area is making it hard to search for solutions. I'm more than willing to learn

dom
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 5342
Joined: Wed Aug 17, 2011 7:41 pm
Location: Cambridge

Re: Call for beta testers: FIQ_FSM USB driver rewrite

Tue Oct 07, 2014 4:30 pm

Racorac wrote:Thanks, I would like to try this fix, however, how would I go about implementing it?
No need to build the kernel. As @jdb says:
Run "sudo rpi-update" to get latest kernel. Add dwc_otg.fiq_fsm_mask=0xF to /boot/cmdline.txt and reboot.

Racorac
Posts: 4
Joined: Fri Oct 03, 2014 9:39 am

Re: Call for beta testers: FIQ_FSM USB driver rewrite

Wed Oct 08, 2014 12:49 pm

thank you, this seems to have made a big difference. I will carry out more tests over the next weeks and try to report back.

Return to “Troubleshooting”