For what it's worth... I completely understand your frustration. I have many hobby boards including several RPI, Qualcomm Dragonboard and a few Allwinner based boards. It seems like I am always hacking something together when I am working with my Linux-based IoT hobby projects.
Why did the OS missed the USB Wifi on first ifconfig?
Or did it missed RPi interface?
When I did an OUI lookup on your MAC address it looks like the raspberry pi ethernet is the only interface available in your first ifconfig.
It sounds like a timing issue which is one of the most common problems I seem to face on these boards.
If I were debugging this I would first make sure that the USB device is present after booting the board: lsusb
If the USB device is listed then you probably have a timing issue where the device is not ready when your network comes up. The easiest 'hack' to fix this would be a simple network restart at the end of your init script: /etc/init.d/networking restart
I actually have this 'hack' on two of my Allwinner based boards and both of them have a USB wifi/ethernet.
I am not a Linux guru so don't listen to me. There are probably other ways to fix USB timing issues on Linux.
David, thanks for the "sympathy card".
I have switched to Linux about three / four years ago - just because.
I went thru hell for few months trying to figure out why my USB devices were just coming and going. My solution - get rid of my switched POWERED USB hub connected between two devices - PC and RPi. It is hard to believe , but the problem was and still is TWO 6 feet long USB cables connected to the switch! Any cables - it is the length and as you pointed out - the timing.
After realizing the doggy OS RPi operates with I decided to do cross-compiling...
Learn ssh and now looking at WiFi.
I do not mind learning and pasting things together IF they work as "advertised".
This WiFi is such incomplete kluge I should get my money back from the "charitable corporation ".
Yes, I am rebuilding the configuration files to make sure the booting process actually checks the presence of devices , USB included, and all the files to make WiFi fly - not just posting meaningless errors.
So - I am learning how to write bash scripts!
And I though I left "bat" files somewhere in Oregon 30 some odd years back.
You do understand that the chances of someone who knows some obscure framework seeing your message is not very high? The majority of people who answer questions here are C/C++/C# Windows or Web developers.
I realized that TCF is as obscure as assembly language to many.
The "problem" is that the authors must not had an incentive to provide much "help" to implement it. It works fine , but it is a pain to fix when it goes sideways.
I have a knack to pick wrong technology....
I suspect it is probably going to be no more useful than SNMP was. You can write to the interface but still must do a deep dive every time to get something useful, and little chance that it will provide everything that one might want (not generically.)
Actually I "discovered' TCF after realizing that Raspberry is not the best to develop C++ code on. It took some time to get it all working , but it does what
I want it to do.
Now I am looking for some "fine tunning" and could use somebody to bounce ideas off.
I hesitate to use brand names - but if you look at the Eclipse TCF forum - all you see is my posts and very few replies.
We plan to write our own EPP solution in our company, now we choose which language / technology to use. Architecture is a client-server application. OS - Windows, DBMS - MSSQL. We make the application primarily for ourselves, but in the future, perhaps, we will sell and implement our solution to other customers, so perhaps we will make the application for Linux. Now we choose between C ++ (Qt) and Java (jni) (both for client and server applications). Development in C ++ seems to us more time-consuming, but the result is more productive and flexible, the development on java is seen as easier and faster. And what do you think, what technology is better to use? Can you have a howling option?
Almost always cheaper and faster to find an existing application.
now we choose which language / technology to use.
No that isn't how it works. FIRST you decide what the system will do. You define the principle business features and prioritize those.
You only need to 'choose' technologies to meet those needs. Most of the time, if you have enough business experience, the technologies you already know will be sufficient.
Development in C ++ seems to us more time-consuming, but the result is more productive and flexible,
Architecture and design makes systems flexible not technologies. And correctly doing architecture/design requires experience in doing that and also an understanding of what the business needs. And for a future product understanding the industry, not just the company, is required.
Can you have a howling option?
In general without knowing specific business needs a C#/MSSQL or Java/MySQL will work as base if you are familiar with one of them. There is cloud based support for both.