Yes, I am starting to see that Jessie has issues:
-
7+ full 10 hour days (some larger not many smaller) to get wired and wired connections (and/or), with fixed IPs, com miserable at boot and compatible with either 192.168.0.0/24 or 192.168.1.0/24 subnets (subnet unknown at boot); finally successful (but can’t help wining as this is only the very first step on getting the new flash upgrade to work), and a jury-rigged re-invent the wheel solution is guaranteed to be a problem (at least I’m getting better with bash scripting; yech!). Recommendation: we need a network manager not developed for desktops in fixed and known environments, but for headless computers with unknown devices and routers at boot. Also, maybe bashdb should included by default (a suggestion for Robert as if he doesn’t have enough to do yet - any word on the X15? - is there still an FCC issue?)
-
BBB rev. C with Jessie, with both USB to ubuntu host, and with power to 5V connector (required for wireless dongle) almost always reboots at >sudo shutdown -h now; doesn’t happen without the usb connection.
-
Sometimes (not often but certainly occasionally) on >sudo reboot, BBB reboots, but no LEDs come on; it has booted up as holding the “power/reset” switch down of 10s does turn off the BBB.
Good news, I can boot the BBB over either wireless (Tl-WN722N or TL-WN821N) or eth0 with both Asus (192.168.1.0/24 and TPLINK (192.168.0.0/24) routers, but the time from reboot to login can be quite large (time varies). This would not have been possible without the usb0 always coming up when it is hot-plugged in - this can sometimes take several minutes but seems to always work - thanks Robert (I assume this was you).
Recommendation: do not use bash scripting unless you really need to; it has many many subtle gotchas, is very non-intuitive, is very complicated with many special ways of doing things that can only be learned using a lot of time and searching on how to do things (i.e. powerful but non-efficient for newbies). For a beginner, every line of code needs to be single stepped through using bashdb, get very familiar with >pr and >ev. Recommendation: I really wish I had started with pyroute2 (hoping to find time to redo). Other recommendations: get things working using > sudo ip (or #ip) before scripting, and get familiar with /sys/class/net.
Item 0: I tried originally with connman, and got nowhere; I then tried with systemctl-networkd; this worked fine for a known environment, but I again I got nowhere with an unknown device and unknown sub-net; I gave up on both and went to custom bash scripts mostly using ip and ping (yech! this re-inventing the wheel should not be needed (and again is pretty well guaranteed to come back and get me in the future); unix was first written almost 45 years ago; if anything networking has deteriorated). I maybe should have installed NetworkManager and run with it, but it’s not easily managed in an unknown environment (i.e. it’s designed to have known devices described in /etc/network/interfaces, I don’t know how to use it with unknown devices and unknown subnet without using DHCP which doesn’t allow for fixed IPs - which I need). Note: without a network manager, you need to enable wpa_supplicant.service.
Item 1: many of my initial problems were due to a route on eth0 being set even when the eth0 cable was not plugged in. This meant wlan0 (or wlan1 depending usually but not necessarily on dongle used), could not be used without an >sudo route flush dev eth0. I now bring up a device, see if it works, and if not, flush everything (for that device) and bring it back down before bringing up the other device. With more time, I will use both wired and wireless, but that’s for later. Currently, if both devices, wireless is used (I may change this).
Item 2: adding an address (perhaps temporary) to a device, such as>sudo ip addr add 192.168.0.174/16 (for example - the important thing is the /16) allows both 192.168.0.1 to be pinged (kind of obvious), but also allows 192.168.1.1 to be pinged (this was not obvious to me, which allows one to determine which subnet the BBB is on). After determining the subnet, I go back to /24 addressing.
Item 3: after bringing up a device, the time needed before successful pinging varies. Currently, I bring up a device, wait 3 seconds, try a ping, look at results, and if unsuccessful, try again up to 5 times, it usually works on iteration #2 (sometimes on #1 but not often), I’ve only seen 3 iterations require once (well maybe twice - but after 7+ 10 hour days blindly attempted hundreds of different things, my memory and attention get hazy); I’m guessing this is very environment dependent.
Question: is there something out there I am not aware of that wouldn’t have taken so much time? Maybe I shouldn’t ask this question as a Yes answer will make me look pretty foolish; at least I can now read bash code, for example:
dev=$2
: ${dev:=eth0}
and the difference between ((…)) and $(…) and ${…} (not to mention ...
) (and finally needing spaces and ‘;’ in if [ condition ]; then) and why both fi and done are required, and (finally, finally, why “${var1}” is different from ${var1} - looks after null case); again yech! what a convoluted language (it could be worse, I might have had to use perl or even worse apl?)
Summary: I think I’ve gotten bashophobia; if only we could get a true binary compiler for python?.
p.s. anyone used trepan2 with Jessie?