Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

falcon #1

Open
mynameistakenhowcanthatb opened this issue Feb 18, 2022 · 9 comments
Open

falcon #1

mynameistakenhowcanthatb opened this issue Feb 18, 2022 · 9 comments

Comments

@mynameistakenhowcanthatb

having problems with falcon JRunner kicks saying picoflasher needs a update

jasper 100% fine with picoflasher

@mynameistakenhowcanthatb
Copy link
Author

System.TimeoutException: The operation has timed out.
at System.IO.Ports.SerialStream.Read(Byte[] array, Int32 offset, Int32 count, Int32 timeout)
at System.IO.Ports.SerialStream.Read(Byte[] array, Int32 offset, Int32 count)
at System.IO.Ports.SerialPort.Read(Byte[] buffer, Int32 offset, Int32 count)
at JRunner.PicoFlasher.RecvUInt32(SerialPort serial)
at JRunner.PicoFlasher.<>c__DisplayClass20_0.b__0()
at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()

@RadioAct
Copy link

having problems with falcon JRunner kicks saying picoflasher needs a update

jasper 100% fine with picoflasher

There is a bug in JRunner v3.1.1 version check and it will report the picoflasher needs an update if your running v3.0. Downgrade to 2.0 and you'll be good. JRunner will be updated at some point I'm sure, I'v seen mentions that there is a discord somewhere for JRunner, might check there for info on an update.

System.TimeoutException: The operation has timed out.
at System.IO.Ports.SerialStream.Read(Byte[] array, Int32 offset, Int32 count, Int32 timeout)
at System.IO.Ports.SerialStream.Read(Byte[] array, Int32 offset, Int32 count)
at System.IO.Ports.SerialPort.Read(Byte[] buffer, Int32 offset, Int32 count)
at JRunner.PicoFlasher.RecvUInt32(SerialPort serial)
at JRunner.PicoFlasher.<>c__DisplayClass20_0.b__0()
at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()

I am having this exact same issue on two separate jasper boards. I can get it to read a random small number of blocks (~0-30) then the picofreezes and stops servicing the USB endpoint correctly and windows throws the timeout message. I have to powercycle the pico to get it to respond again. I am waiting for delivery of a couple more picos to test if my board is damaged, If I have the same results I will attempt to run picoflasher in a debugger and see whats going on.

@mynameistakenhowcanthatb
Copy link
Author

i seen some one with the problem as well from long ago jasper boards v1 am not sure if you need to do something for it to work? been trying on v1 and can not get a read from it .. https://www.se7ensins.com/forums/threads/jasper-jrunner-can-t-read-nand.1597222/

@RadioAct
Copy link

Jrunner has been updated now and supports the picoflasher 3.0 FW.

I tired some other pico boards and got some different results. Two other boards were able to read and write this Jasper consistently. I am not sure what the difference is but I am going to have to do some more investigation.

I also tried it on a Jasper with 512mb and the first pico won't read it either without freezing. The two other picos can read it but during writing they also freeze up. I am starting to suspect signal integrity issues with my setup as the failures are always at random points. The serial data lines may benefit from some termination resistors, I am going to get an oscilloscope setup and check out how those look.

Working now to get my pico debugger working and see if I can find out what happens when the pico freeze up.

@ShawMerlin
Copy link

ShawMerlin commented Feb 28, 2022 via email

@mynameistakenhowcanthatb
Copy link
Author

Jasper with 512mb works fine for me .
nand

@RadioAct
Copy link

RadioAct commented Mar 2, 2022

Yea I can only get about 200 block written before my setup crashes on this Jasper. I know there is something with my setup that is the problem, just not sure exactly what it is.
I am still trying to get a debugger working on the pico, I started with picoprobe thinking it would be simple but turns not not so easy. I have some time to work on it today and I'm thinking I should switch to Jlink and use that debugger instead.

@RadioAct
Copy link

RadioAct commented Mar 3, 2022

I have made some progress getting some data on the problem I am having. I was able to get the picoflasher running on a debugger and I have narrowed down the problem some.

The issue seems to be with the USB side of the picoflasher. I have not seen any problems with reading from the xbox side, it is always failing on the USB CDC side. I turned on debugging with tinyUSB and what I see is that the USB transfers stop occurring on the endpoint and the cdc_tx buffer fills up. The code path then enters a bypass of stream() waiting for room in the buffer. I do not know when the USB transfers from endpoint stop happening, it could be something from the host side or the device side. The endpoint must not be responding to the USB host as after some time windows will i/o fault the com port. I'm not all that familiar with the USB process so I have some research to do in order to continue.

Edit: All debugging captures have been moved to the TinyUSB github (hathach/tinyusb#1373)

Now to find out why.

@RadioAct
Copy link

RadioAct commented Mar 4, 2022

Problem may be a fixed issue, will test with latest tinyUSB stack.

adafruit/circuitpython#4190

Edit:
I grabbed the latest tinyUSB code (144ce09 as time of testing) and rebuilt picoFlasher but I am still having the same issue. I am going to try and take the issue to tinyUSB tracker and solicit some help.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants