On 12/19/24 07:00, Ted Mittelstaedt wrote:
Unfortunately I had a conflict the evening when you did your OpenWRT 
presentation (and I've looked for a link to a video of it) but I don't think 
the OpenWRT topic is dead by any means.  Here are some issues that I doubt were 
covered but would be interesting - at least, to me:

Michael Dexter is the only one video'ing meetings and he's been AWOL since I got us back into PSU. So, no video. If someone wants to take on that task, that would be great. I'm not that someone.
OpenWRT is heading towards a major release - 24, from the current release 23.  
How risky will it be to do a version upgrade via the webinterface?  I ran into 
this with some devices with past major version upgrades - the only fix for 
those was using the tftp server in uboot to do the upgrade - fortunately for 
the device in use, I didn't have to open it.

Is there a compelling reason to move to 24?  Are there key features/advantages 
to it?

I am a bad source of information about OpenWrt releases, because I generally don't use them. To me, every commit is a release and I build from source. I do that primarily because I have a fleet of 100+ devices and I want to flash them remotely and have them come up already configured for their environment and context. And so that people can "factory reset" them back to a working, reachable state.

If you are clinging to old hardware, there is a reason NOT to upgrade: the upgrade will have a newer kernel and every kernel gets bigger and therefore fits comfortably on fewer devices.

The reason to upgrade is basically to get new features or better debugged features in newer kernels. That might include improved wifi drivers. Someone recently quipped that the reason to upgrade is to exchange old bugs, which hopefully got discovered and fixed, for new bugs that probably haven't been discovered or fixed yet.

I build from the development branch frequently. My rationale is that I find breakage in support for hardware I care about when it is still relatively fresh in the minds of the people who broke it. If you let a few years go by, no one is going to remember what they were thinking when they broke something and there is a lot of work in tracking down the change that introduced the breakage. It is just a lot easier to get things fixed if you can report them quicker.

There is also this advisory:

https://openwrt.org/advisory/2024-12-06

Which the response seems to have been glossed over or handwaved - yes, they 
"fixed" it - but - it doesn't appear to be a vulnerability in the distributed 
firmware images themselves, thus I really question why it was even given the status of a 
security advisory at all.

I hadn't seen that. From my reading of the advisory, there was a vulnerability in a firmware generator the project provided. It sounds like it could have been exploited to contaminate firmwares that unsuspecting people might have subsequently downloaded. It looks like that advisory was just to put people on notice that, if they used those firmwares, they might want to take steps to replace them.
And speaking of Sas, more ominous:

https://www.msn.com/en-us/money/markets/u-s-weighs-ban-on-chinese-made-router-in-millions-of-american-homes/ar-AA1w51es?ocid=msedgntp&pc=U531&cvid=80581ad4bfb740acb86febe3a64ee658&ei=46
I've discovered that people making these kinds of decisions rarely consult me. I agree it's dumb. I'll worry more about it if/when it happens, or if there is a particularly auspicious opportunity to yell at people making dumb choices.
Lastly,

For my own projects, I have come to understand that there's a lot more issues 
with the more advanced flashing of devices like the Cisco MR52 - maybe it's my 
fate to trigger border cases, but here's the summary of my latest failures with 
that device:

https://forum.openwrt.org/t/help-in-setting-up-a-meraki52/218232/7

Pretty much *every* device has its particular fiddly installation procedure. Each vendor randomly makes choices that have to be worked around by people and their third-party firmware. After a while of seeing the broad spectrum of possibilities, you begin to notice the common patterns and develop an intuition. OpenWrt policy is that pull requests for adding support for new device should have installation instructions in the commit message.

Key things:

 * MAKE A COPY OF THE ORIGINAL FLASH CONTENTS, before you change anything. This has a good chance of saving your ass if something goes wrong. You can often do that by TFTP'ing a kernel-initramfs OpenWrt image to memory and booting that without flashing, giving you a set of tools that might not be available in the vendor firmware. Sometimes you can log in to the vendor firmware and dd the /dev/mtdblock* partitions to a tmpfs and then exfiltrate them. Sometimes you can get to a bootloader console and dump hex to the console and capture that to a file (over hours) and then use xxd on the tidied up dump to reconstitute the flash image. You can use dmesg to discover the partitioning (/proc/mtd is useless for that, though people often mistakenly think otherwise). You can also often read the SPI-NOR flash with an SPI programmer and flashrom or flashprog. Whatever the method, it can save you throwing the device away. Label your archived version with the device MAC address printed on the case, so you can associate the backup with the particular device.

 * If you don't have to change it (and sometimes you do), leave the bootloader alone. You can almost always recover with a serial console if the bootloader is intact.

 * I kind of don't like magic scripts that do the fiddly bits for you, because you end up not understanding what just happened. You can, sometimes, read the script and then do the steps manually to better understand what's going on.
I now have a FTDI  3v  USB console cable on order and will re-test when that 
arrives, but my jaw dropped when reading:
FTDI is the gold standard, assuming the chips are authentic. If you paid less than $20 for it, the FTDI chips might be counterfeit. I have a few FTDI's cables, but I need a bunch of them, and I can't afford to spend $20 a pop, so I get cheaper ones.
"Speed 115200 is not a problem when the wires are very short."

I am really struggling with how to answer that extreme an amount of just flat 
out wrongness information without doing a deep dive into handshaking lines.  
RS232 serial communications - you gotta love it.  1960s' era communications 
technology built before most techs were even born - yet still with us in the 
weeds, and still screwing techs over today the same way it was 40 years ago.   
Yet working with it brings back fond memories of the CBBS scene of my high 
school youth, and dialup modems....

Embedded linux devices, like the ones supported by OpenWrt, rarely have handshaking lines exposed. I have never had any trouble with 115200. I have used cheap-ass Prolific PL2303 usb-uart adapters (the $1.97 devices from China), where the chip is in the USB connector and the wires are a few feet long. I would not worry about handshaking or wire length unless you are trying to do something crazy long.

--
Russell Senior
[email protected]

Reply via email to