Comments (5)
A short delay in the main loop in CKernel::Run() also mitigates the problem but does not solve it.
from circle.
I think I have found the problem. After doing some traces using the CTracer class I found a very strange system behaviour occurring. There were nested USB interrupts which should not happen and cannot be handled. The problem could not reproduced on the Raspberry Pi 2.
After checking the relevant paths in the source code (not a lot) I was guessing a side effect and changed the data cache clean and invalidate operation before/after an USB slave DMA operation from touching the entire data cache to the DMA data buffer range only which was already the case on the Raspberry Pi 2.
Now I cannot reproduce the problem in a ping test running one hour. It occurred after some seconds before the change. So I suppose the problem is fixed now. But such problems are difficult and further testing may be needed.
from circle.
Hi,
This afternoon I've tested the patch sending near 10.000 packets from two
sessions on same IP and a third session from another IP. Around two
uninterrupted hours, without packets lost and a keyboard and a mouse
working correctly.
Great work again!. :)
Thanks by your efforts.
José Luis
2015-09-27 15:10 GMT+02:00 rsta2 [email protected]:
I think I have found the problem. After doing some traces using the
CTracer class I found a very strange system behaviour occurring. There were
nested USB interrupts which should not happen and cannot be handled. The
problem could not reproduced on the Raspberry Pi 2.After checking the relevant paths in the source code (not a lot) I was
guessing a side effect and changed the data cache clean and invalidate
operation before/after an USB slave DMA operation from touching the
entire data cache to the DMA data buffer range only which was already the
case on the Raspberry Pi 2.Now I cannot reproduce the problem in a ping test running one hour. It
occurred after some seconds before the change. So I suppose the problem is
fixed now. But such problems are difficult and further testing may be
needed.—
Reply to this email directly or view it on GitHub
#10 (comment).
from circle.
That sounds very good. Thanks for this valuable testing work!
from circle.
This problem should have been fixed.
from circle.
Related Issues (20)
- Advice Needed: REST framework HOT 1
- release-45.2 usb samples compile with errors HOT 2
- TCP Connection in Interrupt HOT 2
- I2C feature request: add support for repeated start HOT 6
- USB CDC/ACM gadget HOT 19
- GetClockTicks without wrap HOT 3
- GPU support on Raspi 4 HOT 4
- Circle linker failure with softfp HOT 2
- Make USB gadget vendor and device strings configurable HOT 2
- Support for touchscreens with additional reports in HID descriptor HOT 7
- Question about log when testing with Qemu HOT 2
- Help with setting PREFIX HOT 4
- Question: Waveshare 5'' DSI display support? HOT 2
- Waveshare 15.6inch Capacitive Touch Screen HOT 2
- Can I run OpenCV? HOT 2
- Sample "07-usbstorage" fails with Pi5 HOT 8
- Unsuportted USB touch screen driver - Big Tree Tech HDMI7 HOT 10
- How to do GPIOPin button Interrupt correctly HOT 23
- FIQ support on RPI Zero 2 HOT 3
- How to remove all text not from own CSerialDevice HOT 11
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from circle.