Not honoring agreements is dishonest
You're right. My doubt is whether not honoring some agreements would help honor other agreements earlier.
But in the end I'd say the agreement was more to provide the hardware than to have all the software ironed out,
so skipping the queue to improve the software would benefit those who already have pyras and somewhat inconvenience those who still don't have.
Those who, according to agreements, already enjoy a Pyra would enjoy it more, they would enjoy a better functioning Pyra.
Those who are waiting for a Pyra would be left waiting longer for a better functioning Pyra (just those affected by the queue skip).
But I think the trouble is not so much so. The trouble is that you never can tell who can contribute more.
There are so many ways to contribute. And contributions are not a business, and are not a binding compromise,
so even if you managed to select those preorderers with the right know-how, they could still be busy, or
unable to allocate the time, or just have bad luck when looking for solutions, or be run over by a bus...
It's never a sure thing.
I don't think it's that hard to do - if you've done it before.
But it seems near consensus that it's not worth the effort.
Not sure how hard, but my gut feeling is a VM is not worth the effort.
Edit: I meant a VM imitating a Pyra as test environment. A VM or container on debian package or something with a development environment might be useful.
Some form of remote accessible Pyra is borderline worth the effort.
RAM timings [Crucial]
(Yes, I just copy-pasted this section from my other news thread. I am happy to discuss this issue here to a deeper extent. Maybe
@EvilDragon can join the discussion)
What we need the most is some help to fix the boot issues. What we need is a way so that EvilDragon or I (= the noobs) can easily experiment with RAM timings. We have high hopes that many of the dead PCBs can be revived if we experiment with the timings and tweak them to make them work with more CPU-boards.
The issue is, that EvilDragon lacks the time to get into it, so he would need someone to provide an easy solution that allows him to tweak the parameters and test them.
I myself have some moments of ambition to get into the whole OS stuff, however there is a reason why I quit as a programmer. If someone would be willing to contact me, I'd gladly help or collaborate. However the both of us need someone to take us by the hand a bit.
There is a lot more work that needs to be done. This post however shall be about the good news and is already long enough.
Maybe some day I will be stupid enough to publicly promise and other news post regarding open issues and I must commit to it (like I did with this one here).
I tried to ask in the other thread where are your hands or how to take you by the hand.
I'm not sure if trying to help here I'll be able to help or I'll just waste other people's time.
I don't know enough about the hardware. Not sure if getting some parameters wrong in the DRAM timings could damage the hardware permanently somehow.
If you're desesperate enough, because the hardware you might damage is going to the dust bin anyway, then I guess it should be OK.
If there's some suspicion that the hardware might be permanently damaged by the test, the problem is that then you may not want to test twice on the same board
(because the second test might be the right solution, but not working because the first test damaged the hardware).
And that may be wasteful of boards.
Edit: But worse than waste, you are not sure all your defective boards are equally defective,
or need the same RAM timings, so not trying everything on the same board is a problem too.
Edit2: A compromise could be: make a list beforehand of the test you want to do. Do them all on one board, then on the next board do a different permutation of the same tests.
There's of course a combinatory explosion to take into account, but it's better than nothing, I guess.
The change of order does not need to be random if you have some intuition of which tests are more risky to damage hardware. You could start by the safest.
As far as I understand, the current situation is that to change DRAM timings one needs to:
0 install the build tooling and git. That might be easier on a similar system, like a Pyra, than on a computer where you need to cross compile.
1 download the U-boot source code for the Pyra. Configure it for building the Pyra boot loader and not for some other machine.
2 edit(*) the source code for MLO (=U-boot SPL = U-Boot 1st stage), Commit or document your changes somehow.
3 recompile the MLO. That may be slower on a Pyra or similar system than in a more powerful computer where you cross compile.
4 install it to a Pyra
5 boot to test. Document your tests.
6 since it didn't work, go back to 2.
(*) The first time you try step 2 you don't edit anything, just build a pristine MLO to test that it works on a workign board, so that you know
you're compiling things right.
How many of those steps do you already know how to do and how many could someone help you do ?
Can you use a Debian system to do it?
Which architecture is your debian system on ?
The alternative would be to change MLO so that it loads the setting from some place, and then write a program that is able to write the settings in that place.
The program that writes the settings in that place could be made more or less user friendly relatively easy.
But changing MLO to load the settings from somewhere is difficult, because MLO does not have all the computer ready to work when loading things.
Remember that at that time, it can't even use RAM, because it's not yet initialized, So let alone OS functionality or most libraries. MLO binary code should also be space constrained somehow. You can't write all the code you want because it won't fit in SRAM, cache as RAM or whatever it is. In U-Boot some TPL or SPL stages are able to load the next stage (so then they should be just as able to load RAM settings) and some are not able and have to request it from bootrom or some external system.
So it's not ordinary C programming, although something should be doable.
A third alternative would be some way to edit an MLO binary to just change some constant where the RAM settings are, without needing to recompile.
Could be so easy as: Put some UUID in a constant in the code. Put the RAM settings constant next, put some UUID right after it. Persuade the compiler not to suppress those useless UUIDs that nothing is using.
Use a binary editor to change the constant between the 2 UUIDs. Install the edited binary MLO and test.
But I find that dirty.
Audio Driver, AESS
I am not 100% sure about all the ways this issue manifests. What I know is that sound begins to crackle if the volume is set to near maximum.
This issue is related to the AESS driver. It is something I have no experience with and can not contribute at all. Luckily, HNS and Risca are working on it and made some progress. I do not know what the current state is in that regards. However there is a dedicated thread for that topic and I guess it is time to revive that one a bit.
I don't know, just linking to the (hopefully)
relevant thread.
Booting LeTux
Both, EvilDragon and I could not get the latest version of LeTux to run. This is important because HNS claims that he got very different results during his tests than us. Those tests however were conducted on LeTux OS.
Helping us with instructions on how to get LeTux OS running on the Pyra would be a huge help to us. This would clarify if the LTE issue is related to our OS and some settings we miss, or if it is a hardware related issue.
Here is the installer:
https://projects.goldelico.com/p/gta04-makesd/
Johnic boom is working on that in another thread
If I understood he's installing available binaries. Is that all your problem or what you need is to
be able to build those binaries from source ?