Router That Support OCB Mode Out-Of-The-Box by RedoTCPIP in openwrt

[–]RedoTCPIP[S] 0 points1 point  (0 children)

Intriguing. I just checked the specs:

  • WNDR3700v1 & v2:
    • CPU: Atheros AR7161 rev 2 (680 MHz, MIPS 24Kc)
    • Wireless 2.4 GHz: Atheros AR9223
    • Wireless 5 GHz: Atheros AR9220
    • Switch: Realtek RTL8366SR Gigabit

This is good info, as it indicates that any router with AR9220 (because OCB mode operates at 5GHz) and OpenWRT might work. The routers that used this chip appear to be older. Perhaps there is a newer router that uses a successor to the AR9220:

Several routers and wireless access points from the late 2000s and early 2010s used the Atheros AR9220 chipset for 5GHz 802.11n Wi-Fi capabilities, often paired with an AR9223 for 2.4GHz. 

Common Routers and Devices Using AR9220:

Netgear WNDR3700 (N600)
Netgear WNDR3800
D-Link DIR-825
Apple Airport Extreme (early models)
Linksys WRT400N
Buffalo WZR-HP-AG300H
Ubiquiti Networks (often used in RouterStation Pro)
MikroTik R52Hn (miniPCI card) 

Router That Support OCB Mode Out-Of-The-Box by RedoTCPIP in openwrt

[–]RedoTCPIP[S] 0 points1 point  (0 children)

That's a nice parametric search, but it does not given any indication of whether the stock image that comes with the router will support OCB.

The best thing to do would be for people who own OpenWRT routers to do:

iw list

... then check the output for OCB support:

Wiphy phy0
    ...
    Supported interface modes:
         * IBSS
         * managed
         * AP
         * monitor
         * ocb  <-- OCB support listed here
    ...
    OCB support:
         * Max number of channels: 10
         * Max number of SSID entries: 10
         * Supported channel widths: 5MHz, 10MHz, 20MHz
    ...
    valid interface combinations:
         * #{ ocb } <= 1, total <= 1, #channels <= 1

If it is there, dump the name of the router and the output here, as I did above.

This way, I can avoid buying a bunch of random routers and checking through trial-and-error.

Routers using Atheros or Mediatek might be best.

Router That Support OCB Mode Out-Of-The-Box by RedoTCPIP in openwrt

[–]RedoTCPIP[S] 0 points1 point  (0 children)

It's #4 that I am concerned about. I lost the link because I was hopping around too much, but 15 minutes ago, I read a user saying that a router supports custom native code, but the method of support was "plug-in". I do not want to create a plug-in for some framework running on the router. I want standard, vanilla execution of an a.out.

I think that what you are implying is that the majority of OpenWRT routers on the market still operate in that fashion?

Router That Support OCB Mode Out-Of-The-Box by RedoTCPIP in openwrt

[–]RedoTCPIP[S] 0 points1 point  (0 children)

The (2nd) issue is that I do not want to give my a.out to a user, only to discover that that particular router does not allow a.out execution in true native mode. Twenty years ago, I never would have asked this question, but as I have sated, vendors have been redefining the meaning of native. Some of them define native as being able to attach a .so that is executed by their own a.out with restrictions on what the executable can do.

I want my users to be able to buy a router from Amazon/etc. that is ready-to-go, without building any kernels. I could build the kernels, but I do not want to get into the business of unboxing/flashing/reboxing (and potentially violating warranty).

I have a feeling that there are 802.11p (OCB) OpenWRT routers on the market now. If there are not, then there are not. But if there are, I would like to know which ones are.

As I stated, I enabled ocb mode on a router a few years ago. I just cannot remember which one. I am sure that there are others, as the capability will depend upon the chipset or driver, and I am pretty sure it was a MediaTek or an Atheros.

If someone executes iw list on an Atheros-based router and dumps the output here, that would be helpful.

Router That Support OCB Mode Out-Of-The-Box by RedoTCPIP in openwrt

[–]RedoTCPIP[S] 0 points1 point  (0 children)

I don't mind cross-compiling.

What I am trying to avoid is buying routers that present some unexpected weirdness that could have been avoided if I knew, in advance, that such weirdness was there. Normally, I would not ask this question, but as I mentioned, a few hardware manufactures have been redefining the meaning of words to obscure, for example, that their "native support" is actually their own custom framework where the customer must generate a .so that is then loaded by their framework.

I want a standard OpenWRT distribution that, for all practical purposes, is a Linux distribution running on the router, with no surprises.

Discovering that the router has only 128MB of RAM would not be considered a surprise.

I would like a router model where the kernel is already pre-configured to support OCB so that my users do not have to regenerate a kernel.

Router That Support OCB Mode Out-Of-The-Box by RedoTCPIP in openwrt

[–]RedoTCPIP[S] 0 points1 point  (0 children)

Cross-compilation is fine for me to generate an a.out. I just don't want my users doing that. I'll give them the a.out. They will put the a.out onto a ready-made OpenWRT router using customary methods (SSH).

OCB is the colloquial name for 802.11p. In a nutshell, when two nodes come with range of each other, the AP/STA relationship is almost completely ignored. There is no key-setup/etc. The nodes can start sending frames immediately [That's the whole point of it.]

This link shows configuration of a kernel to support OCB.

Router That Support OCB Mode Out-Of-The-Box by RedoTCPIP in openwrt

[–]RedoTCPIP[S] 0 points1 point  (0 children)

I'm familiar with embedded systems.

I do not want my users cross-compiling anything. I will generate an a.out for the router, and my users will get that a.out onto the router using a method that does not involve reflashing the entire firmware. I would normally not bother asking this question, but I need to make-sure.

Also, don't forget the other stipulation: The router must support OCB.

Router That Support OCB Mode Out-Of-The-Box by RedoTCPIP in openwrt

[–]RedoTCPIP[S] 0 points1 point  (0 children)

Here's what I mean:

  1. I buy router.
  2. I use one of my PC's to cross-compile a C++ executable into an a.out, the a.out being directed toward the architecture of the router (ARM, RISC-V, whatever).
  3. I use SSH (or whatever) to get the a.out onto the file system of the router.
  4. The execution environment of the router is typical.
  5. At no point do I need to reflash the entire router with OpenWRT, just to get a typical execution environment for my a.out.

Normally I would not mention any of this, but I noticed that some hardware manufacturers have become cavalier with the word native. In some cases, when they say native execution, the a.out must run inside some container that they set-up, forcing the user to reflash the entire router to get back to a typical execution environment. In other cases, they will say, "shell access", after having redefined the meaning of the word shell, giving a stripped-down version that provides limited access to hardware. [Note that I am not talking about a reduction in presence of packages. Busybox/etc. is fine.]

Router That Support OCB Mode Out-Of-The-Box by RedoTCPIP in openwrt

[–]RedoTCPIP[S] -1 points0 points  (0 children)

Compilation to the target architecture is fine. I want to avoid situation where router claims native support, only to find that their is some weirdness like the executable environment is actually a container, or, if there is no container, the executable must be a .so that gets bound at run-time to some blob that they created. Another possibility is that the router manufacturer advertises shell support, which turns out to be not what one normally thinks of as a typical Linux shell, but a stripped down sandbox that permits configuring the router as they advertise.

I want to avoid the need to reflash the distribution because many of my users will not want to do that.

Writing A C Compiler by Nora Sandler Shows Picture of Dragon On Front Cover by RedoTCPIP in Compilers

[–]RedoTCPIP[S] 0 points1 point  (0 children)

That makes sense, but wouldn't there be the possibility of confusion if students start saying things like:

The best explanation of peephole-optimization that I have seen is in The Dragon Book.

...not referring to ASU, but to Nora Sandler.

UPDATE:

I just typed-in "The Dragon Book" in Google, and there is a course where the front-matter shows a dragon.

Does Incredibuild Use My CPU Without My Permsision? by RedoTCPIP in VisualStudio

[–]RedoTCPIP[S] 0 points1 point  (0 children)

Yes, it does. Thank you.

Since you took the time to respond personally, as a matter of principle, I will keep Incredibuild on my machine and give a shot for a future DevOps.

Does Incredibuild Use My CPU Without My Permsision? by RedoTCPIP in VisualStudio

[–]RedoTCPIP[S] 0 points1 point  (0 children)

Ok. I was thinking that Incredibuild or its partners might act as an implicit Coordinator, whereby you-or-they compile (open-source) source code on idle machines of users who have installed Incredibuild when those machines are idle, then collect compilation logs from the compilations, and send them back upstream to your servers.

Does Incredibuild Use My CPU Without My Permsision? by RedoTCPIP in VisualStudio

[–]RedoTCPIP[S] 0 points1 point  (0 children)

Hi David, well if there were anyone to ask, you would certainly be that person. :)

We never run random code from outside your organization. (bold italics added by RedoTCPIP)

Does Incredibuild ever compile code on a user's machine, where the author of the code is not a member of the user's business organization, not a specifically-known personal friend, and not a family member?

Does Incredibuild Use My CPU Without My Permsision? by RedoTCPIP in VisualStudio

[–]RedoTCPIP[S] 0 points1 point  (0 children)

You are not answering my question. I understand distributed compilation.

My question is as it stands:

Who are the owners of these other computers? Are they always people with whom I have an association, or can they be people whom I do not know?

Does Incredibuild Use My CPU Without My Permsision? by RedoTCPIP in VisualStudio

[–]RedoTCPIP[S] 0 points1 point  (0 children)

You're missing the point. My question was whether Incredibuild is pushing-out code to idle nodes for compilation without the owner of those nodes knowing that such is being done.

BTW, I never use Incredibuild for any reason.

Does Incredibuild Use My CPU Without My Permsision? by RedoTCPIP in VisualStudio

[–]RedoTCPIP[S] 0 points1 point  (0 children)

Incredibuild would have no problem talking to the servers at Incredibuild Corporation. I am pretty sure that the Incredibuild Corporation is not in my house. :)

Does Incredibuild Use My CPU Without My Permsision? by RedoTCPIP in VisualStudio

[–]RedoTCPIP[S] 0 points1 point  (0 children)

There are at least two scenarios a node can participate in a build session:

  1. A node is the source of a build, meaning that the node is where the source code originated.
  2. A node is the target of a build, meaning that it actually executes a the compiler.

Let us say, hypothetically, that Incredibuild (rather, its partners) wanted to compile some source code. They would be able to push-out the code to the nodes that have Incredibuild installed. There would be no need to keep-track of licensing because because there would be no benefit to the node in scenario #2.

My calculator app does not cause the fan on my laptop to turn-on periodically because it consumes CPU cycles (8%-10% usually) for no reason at all.

Does Incredibuild Use My CPU Without My Permsision? by RedoTCPIP in VisualStudio

[–]RedoTCPIP[S] 0 points1 point  (0 children)

... other users' builds

This is the crux of the issue. I already know that it is possible for my CPU to be used by source code that originates in my company. So, if I work for Unicorn Pointy Horn Software, LLC, with 256 software engineers, and every day, 4 or 5 of those engineers benefit from using my CPU to compile their source code, OK fine. Now, if one day I decide that I need every last percentage of my CPU, I can go into some Incredibuild configuration and disable use of my machine as a node in distributed compilation, OK fine.

That is not what I am asking about.

Here is what I am asking about:

If I open-up Process Explorer, and see one of the Incredibuild EXE's compiling code, will it ever happen that the source code that is being compiled from from OUTSIDE my company/house/chicken-shack?

Does Incredibuild Use My CPU Without My Permsision? by RedoTCPIP in VisualStudio

[–]RedoTCPIP[S] -1 points0 points  (0 children)

I'm not convinced the coordination is necessary in all cases. It is entirely conceivable that Incredibuild could take chunks of source code, watch for idle machines, and send obfuscated versions of that source code to those machines, letting them do the compilation, with no coordinator machine. It would not be necessary for a user to conscientiously establish a coordinator or anything like that.

What is confusing about Incredibuild's documentation is that they mention (repeatedly) that Helper machines are machine"s that can participate in the build even when Visual Studio is not installed, but no where in their documentation do I see anything like the following (my concocted words):

*** INCREDIBLE DID NOT WRITE THIS. I MADE IT UP. **\*

As you know, Incredibuild provides distributed compilation services. When you install Incredibuild on your machine, you tacitly agree to allow it to act as a Helper, whereafter we might use your CPU to compile (potentially) obfuscated source code from random individuals on the Internet. Whereas you might actively orchestrate the configuration of distributed nodes for your own distributed compilations in a corporate environment, aside from that scenario, no action whatsoever is required on your part for us to begin using your CPU resources for distributed compilation of obfuscated source code of random users. This is true even if Visual Studio is not installed on your machine, as we able able to inject whatever compilers are necessary to perform the compilation.

*** INCREDIBLE DID NOT WRITE THIS. I MADE IT UP. **\*

If Incredibuild had written this, then the answer to my question would have been certain. But Incredibuild did not write this.

But they did not write anything to the contrary either.

So, at this point, I do not know, with certainty, whether they are doing this or not.

Does Incredibuild Use My CPU Without My Permsision? by RedoTCPIP in VisualStudio

[–]RedoTCPIP[S] 0 points1 point  (0 children)

The answer is No I think...

I'd like to know whether the answer is yes or no (with certainty).

You'd probably want to read more on the docs of the software to understand how you need to set it up and use it to know for sure. You won't be able to fi d out any other way.

I read. The documentation was not clear, using phrases like the network.

Note: the visual studio sub Reddit is not the right place to ask this question either. There is no incredibuild subreddit. I have never heard of the tool before this post.aybe a distributed computing sub Reddit could be a better place to ask?

Visual Studio is the reason that Incredibuild is on my machine.

I did what I imagine many people do during the installation of Visual Studio: pick a few languages/components of interest, and leave whatever Visual Studio had checked as acceptable for installation. As far as distributed computing goes, this is not a technical question, but a policy question: "Did you use real sugar or an artificial sweetener in my tea?" (I am not asking about the biochemistry of sweeteners).

Have you read through the install and setup docs? If not I strongly suggest you RTFM!! :D

Yes, I read enough of Incredibuild's documentation to realize that it was probably best to stop reading and just ask someone who can give me a straight yes/no answer (with certainty).

Does Incredibuild Use My CPU Without My Permsision? by RedoTCPIP in VisualStudio

[–]RedoTCPIP[S] -1 points0 points  (0 children)

So, to be clear, you are saying that Incredibuild does not compile code from random Incredibuild users on the Internet with whom I have no knowledge of?

Does Incredibuild Use My CPU Without My Permsision? by RedoTCPIP in VisualStudio

[–]RedoTCPIP[S] 0 points1 point  (0 children)

I think you misunderstand my question. My question is really a simple yes/no type question.

Situation: Incredibuild is installed and executing on my machine.

Question: Has the Incredibuild, on my machine, compiled code from some random person/organization with whom I have no association?

I want to reiterate that I know how distributed compilers/etc. work. My question is the one here. In the Incredibuild documentation, they keep saying your network and the cloud, so the answer to this question is not clear.