After many hours of feeling like an idiot, I have found that my earlier intuition was more valuable than I thought. I thought that the code was too different to be ported. I see now that is not the case. I'm not doing reverse engineering on the overhyped future proof code that was developed to make cheaper iot devices.
I've got 2 separate RTOS that I can port to the BL602. They have their own implementations of a hal and were doing this work long before Rivierawaves. Mission critical applications are where they were developed and still used
I need to rest now, it's been a rough day. I know that these systems will work because they were used on previous generations of hardware for the same or a similar purpose.
I finally understand how the BL602 uses Rivierawaves IP. It's not blatant plagiarism nor something I would have thought about. It's the Wifi and Bluetooth implementation together. This is hardware and code RE. It uses an SDR effectively. The IP has diagrams showing where open source code is used. It only appears to be easy to RE full stack and OS.
I remember hearing President Kennedy speak about going to the moon. "We do these things not because they are easy but because they are hard."
I still feel dumb for not getting it sooner and this has been an effort before now. Now I'm still without the goal, my best wasn't good enough and it's been over a year.
It wasn't pointless as I made progress. I'm going back in for another round.
I've stayed up for days while working on this RE project. For me it has been going on for a little over a year. Some might say that it's bad for me to be doing this work as much as I am. I live to be absorbed by my work. Perhaps I am just a Mathematician doing different work. ;)
I couldn't get the specific SiFive GCC binutils to work a little over a year ago. I did know how to use GCC back then, not rigging a sketchy GCC version by a company to be called like it was a kosher version to cross disassemble. I did it to do it and for hardware addresses/black box.
I ran a few utilities on the objects to determine what architecture, calls to existing code and other fun information.
I discovered how it has dual existence. Waveforming is being used and this is the first I've heard of it being used for this frequency range. That's fascinating but most likely patented.
Many files that are required to build the blobs are in the release or available. Some code is custom made and Mr. Wang is a beast with his code. I'm still trying to put everything together so I can get some documentation out for clean room.
This has been a very long and infuriating project. I've learned a lot. Hopefully I can find enough information.
I'm had some recent developments on the BL602. One being the community, bella gerant alli.
I have been digging through the official source code and found many things. The Atcommands are Haynes Instructions and more importantly, required for the other blobs. The atcoms link the entire system together. This isn't news to the few people who deal with modems.
I did some more RE work recently too. I finally managed to get the archives to disassemble.
@AmpBenzScientist @Virgin @mathlover
Hw hacking vs algo and crypto hacking. Two very separate areas.
Icchak won big in lottery.
Moshe asks him: how did you know to bet on 42?
Icchak says you see I was born on 7th and lottery was on 8th and 7x8 makes 42.
Moshe goes wait wait 7x8 is 56.
Icchak goes, you know what Moshe, you stick to maths if you like it.
Many years ago I was jokingly called Will Hunting because I was a talented Mathematician who worked as a Custodian. How about them apples?
I've been going through a rough period for the past couple of years and all the small things are catching up with me. I did research on RISC-V for my former University without pay or credit and it was alongside a doctor. I stirred up a different department on collaboration with CompSci and kept pushing FLOSS. I was effectively forced out before the talks could start so someone likely got credited with what I did.
In life I'm looked at as a failure, someone who had a bright future from a bad background. Sometimes I look back at those who ended up being successful and wonder what factors played a role in their success.
I'm not eligible for many careers because of my lack of a BS Degree. For a double Major in Mathematics and Computer Science with a minor in Cybersecurity with experience in the fields of all the above. I wasn't able to pay tuition or get a good paying job and had to quit during my senior year.
I gave the information about the original source code to Nutcracker members. I'm going to let them have this one. I got asked if I had uploaded any source code and I said no. Luckily I have time stamped information from here and posts. They will give credit.
I also found Nordic Semiconductor code in the Bluetooth stack, same with Intel. It makes sense that it's APLV2. The question remains whether it's right to be able to use open source software to create closed source software. Morally it's worse than theft, it's salting the earth.
Sometimes companies need to learn how hard the FLOSS community can hit back. I saw an impressive amalgamation of several different RTOS projects and resources that were mostly licensed by APLV2 or BSD. The collective work of these being ported is not open source.
A private company recruited volunteers to Reverse Engineer the firmware and it has been about 2 years of work without being completed.
"You should be reading academic Computer Science papers"
https://stackoverflow.blog/2022/04/07/you-should-be-reading-academic-computer-science-papers/
XRadio Technology for the at blob source. FreeRTOS, lwip and others for wifi blob. Zephyr for Bluetooth blob.
That's the answer. There's more to it than that but I don't want to type away. I don't know why this wasn't made available sooner. XRadio makes Wifi and bluetooth MCUs and SOCs. Their code was used in the source code of the BL602. Nearly everything is licensed as Apache License v2.0 so if some code was proprietary then it's not an issue.
I cared a lot about this project and it meant a lot to me. Now it's over. There is no reason why the code couldn't be released.
All or most of the object files are from various open source firmware projects. The source code available and the object file names will almost perfectly match the original source.
Why are the object files not released? I don't know why but they are mostly available on github with the correct License. They have been modified for this project.
The strange part is looking at what is missing. The blobs are essential parts of their roles but the source is mostly available from the projects they were based on. Some of the code would need to patch it together. I think it was deliberately made to be not fully open source.
I was reading through Licenses for software while taking a break and I found something in Apache License v2.
Section 3.
..."If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed."
Oh the harder they come, the harder they fall.
Toughbook fan, Mathematician and Locksmith with limited success in other areas.
Political stance is far right and far left. Proponent of First Aid Kits and PPE. Easily disheartened by big tech. Partially hinged personality and stubborn enough to not write this in the First Person.
Distrust of Psychology and a fan of satire. I love a good joke and contradict myself. Somewhat serious but easily distracted.