That works, thanks. Would be nice if this link were in the documentation!
Posts made by JP Norair
Looking for Omega 2+ b202 fw binary
Does anyone know where to find this?
It's not in the archives.
However, it's the last known firmware build I've used that kind of works with ttyS0. Newer builds simply don't work with UART over ttyS0 -- I think it's a conflict of something in the musl library and I desperately wish for a uClib variant of the FW -- but that's beside the point. Right now I just want b202 so I can have again an almost-working solution.
MIPS24KEC vs MIPS24KC: has anyone tried to tune the Omega2 FW Buildroot?
I'm fiddling with the onion firmware buildroot, trying to solve some issues I believe are due to usage of musl as libc. I'll come back to this in a future post.
Anyway, I've noticed that MT7688 is in fact a MIPS24KEC, not a MIPS24KC, with the E meaning it contains the DSPr1 ASE from MIPS. Therefore, we should be able to compile with the following flags in gcc:
-Os -pipe -mno-branch-likely -march=mips32r2 -mtune=24kec -mdsp -mfix-24k
-fno-caller-saves -fno-plt -ftree-vectorize
I'm curious if anyone has tried these options, and if there are caveats. Code compiled with 24kec (and the dsp instructions) should run and link fine with code compiled for 24kc, but just broadcasting this out there.
RE: Omega2+ serial not working as expected
Hi James: I've had enormous trouble getting Onion Omega 2+ UART to work properly. There's clearly a bug somewhere, although it's hard to say where. We think it's in musl, but, regardless, it's not something easy to fix. The latest builds of the Onion firmware are especially bad. The present stable build works somewhat. This bug is actually preventing me from deploying Onions commercially.
Here's the thread from August that details this very issue.
RE: My program stops after a few hours (such as 5 hours). OMEGA2P firmware Ω-ware 0.2.2 b202.
You can try to re-deploy using the latest Onion build, which is running on the 4.14 kernel.
$ oupgrade -l
Be warned, though, I do not have good results running UART on this version. 0.2.2 b202 has other problems, but it is more stable for me.
RE: How to debug?
@mawg You should see if it's possible to run GDB on your onion -- probably you'll want the Omega2 that has the most RAM, i.e. 2+. GDB offers things like breakpoints, stack-trace, read variables, capture on fault, etc.
Midway down this page, there's description on how to install gdb.
RE: How to debug?
Do you chuckle at people using electric and pneumatic tools to build things? We have these tools now, so you probably should use them. I don't suspect anyone is "unable to manage without [GDB]," but it makes the job a whole lot easier.
As for my development methodology, most-often the huge majority of time is spent on the mac, and it's much faster to iterate on a desktop than it is on an embedded target. One example of a problem appearing in a late stage of this process is my recent struggle with the tty driver on the Omega2, which wasn't obvious until running on the omega2, but this wouldn't have been any easier to deal-with had I been running directly on the target the whole time. There's simply a bug in musl.
Anyway, the theme is pretty simple: the best strategy is the one that yields the best result in the shortest time.