Category: Digital Networking

Long Way Around to a Better Network Configuration

In a context of digital communications, I’ve upgraded the GRANIETLAN with some new networking hardware, this week. In a format of a short list:

The micro USB cable was for connecting the GRANITELAN gateway to the hotspot appliance. Had I studied the owner’s manual for the Alfa Wifi adapter, I might’ve considered purchasing a set of mini USB cables,  also – thus, to allow for placing the wi-fi adapter at a location further away from the network gateway appliance. The LAN’s present configuration – though it may not be, in all ways, the most aesthetically appealing possible arrangement – it suffices.

Of course, I’d studied some of a documentation, before purchasing these items. The Alfa Wifi adapter is supported on FreeBSD 10. The Ethernet switch, it being of a platform-agnostic Ethernet bus architecture, does not require any special device support.

Additionally, I’d purchased a remarkably affordable ergonomically designed wireless mouse pointer from Anker. It’s now replaced my old Logitech mouse. So, my small office/home office (SOHO) academic GRANITELAN became a whole lot more usable, this week, with not a whole lot of immediate effort required for its reconfiguration. In short the Wifi adapter and Ethernet switch are – as a manner of a hybrid network upgrade -a replacement for an old Netgear Wifi hub. The new hardware configuration is extraordinarily more usable — the Netgear hub may’ve been a cause of  most of the LAN’s previous functional networking issues.

Proceeding from the network hardware upgrade, I may now trust the LAN’s hardware well enough that I could program a BeagleBone Black  to function as an independent, light-duty server on the LAN. With the PL2303 USB to serial adapter (see also: Safety Notes, in an article by Dave Cheney), I may be able to program my BeagleBone with a FreeBSD Crochet build, via USB – thus, without having to reconfigure the LAN immediately for a PXE/Netboot application, such that may well be preferable for any longer-term development projects.

Of course, I might not want to simply “Throw FreeBSD at it,” so to speak. If it may be possible to program a BeagleBone single-board computer with FreeBSD, via a serial adapter, moreover in starting with Crochet – if without immense depth of complexity in the process – surely, it could be a useful learning experience, even in a rudimentary regard. I would not want to waste the “Knowledge potential” of such a study, of course.

Ideally, a BeagleBone Black (Revision C) may have enough RAM as to run a light-duty Caucho Resin 3.1 Java web server on the LAN.  Resin 3.1 is available in a FreeBSD port. Maybe it would not be the most ideal server platform for WordPress in Caucho Quercus – the latter representing a PHP implementation in Java. furthermore a component of the Caucho Resin application server. I would estimate that such an application might need not only more than the 4G RAM of the BeagleBone Black Rev. C, but also a processor of some more “Processing Muscle”, perhaps towards something more comparable to the microcontroller of a conventional personal computer. It would certainly be a novel thing, however, if the BeagleBone could run all of that Java architecture, and it “Work out,” as in a sense of, “Comfortably well,” for applications on the LAN.

Without delving into a deeply detailed analysis of the AM3358 “Sitara” microcontroller unit (MCU) that is the functional centerpiece of the BeagleBone Black Rev. C, simply in reviewing the online data sheet provided by the manufacturer, Texas Instruments, it appears that the Sitara is a single-core microprocessor. Correspondingly, the FreeBSD  4.4 scheduler may be preferred for FreeBSD applications on the BeagleBone Black , juxtaposed to the ULE scheduler – considering the ULE scheduler’s SMP support.

Of course, to build a FreeBSD kernel and a FreeBSD OS base system for the BeagleBone Black, with the build host being a personal computer with an Intel Core 7 chipset, it will require a cross-compiling configuration. Referring to documentation at the FreeBSD wiki, specifically with regards to cross compiling for an ARM target architecture, a couple of short observations:

  • Concerning the compiler toolchain for the FreeBSD kernel and FreeBSD OS base system, the cross-compiling task apparently does not require that any special-purpose software ports and corresponding software packages would be installed. Juxtaposed to a Linux architecture, candidly, this much may simply be “Easier” on a FreeBSD platform.
  • For a task of – if possible – installing the FreeBSD kernel and FreeBSD OS base system via the PL2303 USB to serial adapter (see also: Safety Notes, in an article by Dave Cheney) … but is that even possible, to install the OS via the board’s FTDI adapter? There is, of course, the SD card and the respective installer procedure – assuming that a correctly formatted installer image is available for installing to the SD card. (Editorial Note: Product at link may contain an authentic counterfet silicon product, a quality perhaps not apparent in interacting with the adapter on a BSD OS. Newer Microsoft Windows drivers from Prolific may not supoort some instances of the NooElec PL2303 application.)
  • Certainly, It should be possible to conduct a debug task via a serial line to the PL2303 adapter –  such as when when the SD card installer does not function quite as expected.
  • Microsoft Windows Desktop users may wish to consult the Proflific PL2303 Windows Driver Download page at the Prolific web site, as in order to install the appropriate drivers for conducting a console monitoring task with any authentic PL2303 adapter (see also: Safety Notes, in an article by Dave Cheney, noting the pinout labels on each of the five pins of the PL2303 adapter as linked, and similar products)
  • In short, even a simple project for monitoring a single board computer’s bootloader serial console output … may become a substantial project, in itself. My now being an owner of authentic item of possibly counterfeit silicon manufacture – as my own small efforts with a single PL2303 adapter implementation have borne out, in a material regards – and with the issue not appearing outside of a Microsoft Windows Intellectual Property (IP) channel, but “The morning project,” thusly, continues.
  • Goal Achieved: Boot a BeagleBone (BBB) Black Single Board Computer (SBC) to a FreeBSD 10 OS, with a serial console monitor for the bootloader and later operating system processes.

Next goals may include:

  • Develop a modular UML model of the BeagleBone architecture, detailing all individual circuit elements to a complete detail of a MARTE UML circuit model
  • Install Caucho Resin 3 to the same BeagleBone Black rev. C, and try it with WordPress installed in Caucho Quercus – a content management beta host
  • Dash it all, and devote all my project-oriented considerations towards developing an I2C model for parallel computing with a BeagleBone Black, because Bitcoin Mining and Mathematics
  • Install a Common Lisp implementation to the BeagleBone
  • Develop a ports tree for an ARM architecture, on the LAN
  • Watch the clouds blow by

I’ll be thinking at nr. 6, this morning.