BMC sadness
# │forum
s
hi friends - just getting around to taking a deep dive on my TP2...and im sorry to say that the BMC really disappoints. heres are some notes: 1) settings dont persist. im trying to use an LTE modem but the USB seems to get assigned to node 1 on boot, which kicks off the modem. basically need to boot, assign USB to some other node, reboot, and then use the modem 2. no way to set default states. for my use case, i need the unit to boot nodes when power is applied...but in the current config the BMC needs to boot (slloooowww) and then i have to come back and hit the power button 3. tpi command cant address individual nodes for power on / off 4. BMC takes longer to boot than the compute modules 5. BMC is a vector for malware / other attacks...also it seems to be scripted to check for internet connectivity on boot...why!? 6. rebooting BMC also powers off all nodes i see the potential for a linux BMC - but i really miss the simple micro controller of the tp1 that delivered these features on day 1. i feel like this is a solution to a problem we didnt have. fwiw i did try and script the tpi command through init.d as suggested elsewhere in the forum but it just didnt work for me. 🤷‍♂️
d
The firmware is pretty much at works now. The team has hired the devs to start working on much better firmware. The current one is what we call an alpha
The BMC, currently, boots in about 30 seconds
I can point you to a script someone added to make the nodes start up as they need them. You could also add there the USB setting
Give me a second to find the message
Actually replacing the microcontroller with a microprocessor is a good thing, at least for me, since the firmware will have much more capabilities
s
sure....but if its the mod to S99hello it didn't work for me :/ i coud get it to echo to a file to make sure it was firing off...but no joy with TPI
my nodes are up in 10 (openwrt)
i wish it was complementary to a microcontroller...not handling these tasks directly :/
ill buy that. i tried to roll my own but hit some blockers with buildroot
also bmc boot time on tp1 is probably less than a second 🙂
d
A good start might be: https://discord.com/channels/754950670175436841/754950670175436848/1099879646096531526 - multiple people confirmed this working
Also, after changes, do not cut out the board power, but rather "poweroff" or "reboot" it first to make sure all changes are saved
The BMC chip is definitely not as fast and ddoes not have this fast storage either 🙂
Well, that was a microcontroller 🙂
s
yup, thats the one i followed. it works if i do something like echo > /root/test but no joy with the tpi command
totally! just saying its a huge delta in performance characteristics / features
also - important to note...in my use case the BMC source of DHCP / routing is on node 1
so i have no way to get into SSH / web ui without node 1 being up...which is part of the frustration
d
But this is also your design choice. You can use a Micro USB cable and
adb
or USB to UART and log in to the BMC this way (so these are 2 additional possibilities)
s
sure, but then you need some out of band host
d
I'm not fully sure about your network setup
If you set DHCP on Node 1, it must be up since this is how you did set it up
If you want SSH access without Node 1 being up, set the static IPs
s
...? node 1 is providing DHCP
d
Why are you using Node 1 for DHCP?
Is this a WiFi bridge?
s
no
d
Cellular?
s
yup
d
Well, ideally, how would you like it to work?
s
LTE is my WAN to node 1, node 2-4 and anything on ethernet route through node 1
oh im not saying that part should work differently - it just compounds the issue
right now the only way to fire this up is to boot bmc, wait, press power button, boot node 1, re-route usb away from node 1, and then reboot node 1 to pick up the LTE modem
d
OK, now I see where your issue is
s
its just a looooot of steps to boot...and theres no chance i can rely on power recovery
where in contrast tp1 handles this all out of the box
d
The script from above must work. If it does not, you're likely doing something incorrectly
s
...it doesnt 🙂
d
Yeah, I get it
s
i wonder if theres some dependence on network being up?
like is TPI just wrapping curl calls to the API?
d
I mean I understand it does not for you, but I don't know the reason. In general it should since this is how things work there 🙂
It indeed is
Hmmm
Let me think for a second
s
youd think it would be using localhost...which shoullld be up
but i wonder how many people try to do this without a LAN connection on ethernet
d
I think someone made a PR to the CE (community edition) of the firmware fixing this, but I did not merge it yet
Or this was a plan
s
word
glad im not crazy then 🙂
i need to get TCPDUMP on the BMC and then triage over serial...i suppose
d
OK, for now this was just an ability to turn the nodes on and off individually: https://github.com/daniel-kukiela/turing-pi-2-community-edition-firmware/pull/2
s
i have a feeling there some dependcy with tpi thats broken in my use case
d
I think it'd work better with static IPs for now
In your case, of course
s
ill give it a whack
d
And all the things you mentioned, they'll be fixed in the firmware with time
s
...i want to believe... 🛸
d
I mean I can assure you. I know how serious the team and the dev are about the firmware
What's more, even in not in the official firmware, all of the things you mentioned are on the TODO list for the CE firmware version
So, one way or another they'll be in the firmware
s
you rolled CE, right?
d
Correct
s
maybe we can chat offline about how you got buildroot working
d
The instruction list on my GH page is exactly what I'm using. I'm running this on Ubuntu 22.04 LTS running in a VMWare Player
s
ah swell! mind sharing a link?
d
A link to what exactly?
s
i know the offical wiki steps dont work out of the box, so any tips are deeply appreciated
your gh
s
🙏
d
The development of the CE is temporarily paused because of some bigger changes going to the official firmware and I'll re-fork it to the new official firmware repo and keep it close to the official firmware so both firmwares can benefit form each other and be easier to switch between them.
s
swell and no stress
d
One some things are clear, the development will re-start again 🙂
s
appreciate your contributions!
d
s
i just want to get it rolling so i can get some personal debug tools, etc in to help me tune my use case...and those may turn into PRs
basically using it as a mobile / car data center with LTE + wireguard backhaul
d
There's not much space left for additional binaries, just a few MBs
s
been doing it on tp1 for two years with oddles of success
:/
d
The CE will move the root onto the SD card to make all the space you need for tinkering
s
hopefully tcpdump and screen at minimum dont break the bank
welp, time to try this out. thanks again for your engagement and discourse!
one last tiny thing - it would be lovely if rebooting the bmc didnt also power cycle the nodes 🙂 will add that to my op
d
yeah, this is frequently asked feature and we're not yet sure if can be done. Is on the list, tho
s
im in docker, so i also had to install rsync, bc, file, wget, and cpio...but build root is building 🙂 thanks again!
t
s
ja will do when i have a moment
3 Views