Turing Pi V2 BMC Firmware Discussion
# │forum
t
Creating this thread for community discussion of BMC firmware. Several current/future owners have expressed opinions regarding implementation and features. Let's discuss ...
s
What BMC stack is contemplated? I read OpenBMC on the docs but have seen no details.
d
It is, temporarily, but the Team wants to write something own in near future
a
Ok, let’s start the conversation. thanks for taking requests 😉 I’d like to have a web UI that shows the node’s console when booting. I’d like to be able to pxe boot from the BMC, to install whatever OS iso/img I configure from there.
t
It would useful to know whether Turing Machines is using u-bmc or OpenBMC. The former has a lot of good ideas, but it isn't as mature as the latter. I started looking a bit at u-boot/u-bmc on GitHub.
d
I'd like not changing the MAC after re-power so the same IP address can be gathered by DHCP static lease. And the option of returning the slots to their previous power state after restoration of power.
d
As for the MAC address, you can edit
/etc/network/interfaces
and add: ``` hwaddress ether aa:bb:cc:dd:ee:ff ```to make your MAC static
d
Oh, and SSH access as root would be nice. 🙂 so I can easily edit /etc/network/interfaces. But really, I don't think the MAC shouldn't change by default.
Changing MAC is a feature of the OpenBMC. Not sure why, but it is. The firmware is also at the alpha stage and is going to be completely remade.
d
From that page: Note: If you have an older version of BMC Firmware, ssh access as root is not allowed and needs to be changed via Serial Console. You can either flash the new version of BMC Firmware or use the Serial Console
I'm assuming I'm on an "older version of FW since I can login as Root. Yet there isn't a newer (or any) version of firmware to download.
d
We're waiting for a newer firmware version
As for now I did not hear of anyone who have had SSH root logins enabled by default. Do you really mean SSH?
d
Then shouldn't the page be changed to say that SSH isn't possible. It sounds like there isn't any version of firmware that supports that.
d
This is what the page says - SSH root access is not enabled, but the only account on BMC is root
d
Yes SSH. Since hooking up a USB serial adapter isn't something I want to figure out
Maybe I'm looking at the wrong page. It sounds like it's possible on some boards.
SSH BMC after booting up will start a standard SSH server on port 22. You can use any of your favorite SSH client to log in. User: root Password: turing Note: If you have an older version of BMC Firmware, ssh access as root is not allowed and needs to be changed via Serial Console. You can either flash the new version of BMC Firmware or use the Serial Console to log in and change the settings with the following one-liner:
d
Yes, and you do have said older version of firmware
You cannot login as root via SSH, can you?
d
no I can't
And I'd like the newer version of firmware
but that doesn't sound like it exists.
d
Whole community is waiting for it 🙂
It's in works, need a bit of time
Chinese New Year celebration does not help I suppose
d
That's why I suggested the page should be updated to state that it's not possible. And not point us on a fool's errand to go try to find firmware that doesn't exist at all anywhere
that's not firmware. That's vaporware
d
Ok, I understand you, but whole project is still in works, things do get time
d
This whole exchange is why I asked for firmware that would enable SSH
d
This firmware is coming, should be here soon
d
Then say that on the page
d
It's not up to me, I'm a community moderator only 🙂
d
I'm sorry, I didn't mean you personally
d
I think the page is prepared for new firmware already
d
🙂
d
I understand what you mean, fully
Maybe the docs should or could be worded differently, but no one else have had a problem with this particular part of the docs before, like people understand new firmware is coming and this info reflects it
s
Lol you're kidding. So I can't SSH in to this until their firmware is updated?
One hundred percent agree with this.
Frankly, I'm amazed and extremely disappointed that this shipped without this basic feature. What a joke
d
You have to enable SSH root logins using either UART cable (you might use one of the nodes for this too) or by using Micro USB cable and then
adb shell
into it. Please keep in mind that this is alpha version of the firmware and there's a lot that has to be done to it.
a
d
You put a link with no context. Hard to guess what do you mean 🙂
t
The link is provided in the documentation under the "How to Update BMC" section: https://help.turingpi.com/hc/en-us/articles/8686945524893-Baseboard-Management-Controller-BMC-
d
I know, this has been a topic here a few times. I mostly mean they put a link with no context and it's kind of hard to guess a statement or question here 🙂 We can guess and have a pretty good guess, but I decided to ask 🙂
s
Wow, I wish they had used a real BMC chip and/or included Redfish, like the PiKVM.
t
It is a real BMC chip. Redfish is part of OpenBMC. I'm uncertain whether the TPi2's BMC firmware is a full or partial fork of u-bmc. The code on GitHub has a buildroot that creates a standalone, bootable ramdisk to be stored on the BMC's NOR flash. This functionality is part of u-bmc, and inherited from the u-root project on GitHub.
t
You can. I used the microUSB/`adb shell` option to enable it.
d
From my own curiosity, since my knowledge in this field is limited, what would you call a real BMC chip and how does it differ from the ARM microprocessor?
s
Yes, certainly Redfish is well enmeshed with and supported by OpenBMC, but that does not translate directly to this chip or the code deployed so far. (the PiKVM does support Redfish, by the way, so it's not an intrinsic or forever limitation.)
I guess I meant one of a type already deployed as BMCs and not car controllers for which code already exists. This particular one is a bit small and not one I've seen used before.
d
PiKVM uses RPi or CM4 as a uC, right?
s
Yes, they are just transitioning from the PiKVM3 to 4 and the new one for which the Kickstarter just closed is based on a CM4.
t
Does anyone know what Linux distribution, architecture and toolchain is required to build the BMC firmware image? I've been trying to create a build environment on aarch64 (8GB CM4 on a carrier board). I can fall back to my older dual-socket Intel box.
d
You do not need ARM architecture, you want to cross-compile it. And this is arm32. If you just want to compile the BMC firmware, just follow the steps on the GitHub repo. Building this on RPi would rather take a very long time. I built firmware using Ubuntu 22.04 on my workstation
t
Okay. I'll go spin up my old machine. I did try (unsuccessfully) to build on the RPi running 32-bit Ubuntu 22.04 and 32-bit Bullseye. It just seems like a good idea to build for an ARM target on ARM (AKA self-hosting).
d
If the architecture is the, same you don't not need to cross-compile it and some things can be easier. But here, you do not have to set anything by hand, everything's set for you already 🙂
Keep in mind this is not this new firmware some people think it is 🙂
m
i'm curious to know why the TuringPi team went for the allwinner t113 instead for a a bmc chip which are supported by u-bmc or openbmc. Seems like now they have to recreate a whole bmc firmware from scratch because of that decision.
l
No you can, you just have to use ADB or a TTL connection to make the changes to enable it. So yes, you can SSH you just have to make a change first.
d
Current firmware is based on U-BMC. It's more of a choice what they want to do
m
u-bmc is in golang, the source code available at wenyi0421/turing-pi is in C and they are planning on doing something in rust... am i missing something ?
t
Yeah. Once I got Ubuntu (amd64) installed on my old dual-socket Xeon box, it went pretty smoothly. The build does take quite a while. Although, I ran it on an old WD 2TB 2.5" SATA HDD.
Nope. This implementation seems to be bespoke. If, as promised, the firmware remains open source, it's okay. Still, working with a larger team of developers tends to get things done more quickly.
d
Someone might have mistakenly recognize that then. I based my answer on what the others said
m
i've been looking at the "old" firmware source code and i found a self signed private key, I hope this ain't a security issue https://github.com/wenyi0421/turing-pi/blob/master/br2t113pro/board/100ask/rootfs_overlay/mnt/self.key
a
Good day all - just checked for an update of the BMC firmware today and 1.0.0 was released 2 weeks ago. Has anyone tested it? Is there release notes somewhere ? https://github.com/wenyi0421/turing-pi/releases/tag/v1.0.0
d
It's the same firmware that the board are being delivered with. Just a binary has been uploaded to the GitHub. A completely new firmware is going to be created, but before that, I'm performing some updates to the current one, if you are interested: https://discord.com/channels/754950670175436841/1080282784570019942/1080282784570019942
c
i was just able to flash the 1.0.1 firmware via the web interface and now i can ssh in using root. The firmware update process was a bit scary.. no indication that it was complete
k
Trouble reimaging the BMC from the turingpi_recovery-sdcard.zip the 3 steps appear to be pretty straightforward. A couple days ago my BMC was crashing on power-on. [ 8.935173] ---[ end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0) ]--- I was pointed at the
turingpi_recovery-sdcard.zip
process but it appears I'm struggling with the getting the BMC to recognize the image on the sdcard. I've tried burning the image to a couple different cards with Win32DiskImager. I'm attaching the initial boot sequence if it's any help identifying why the card isn't been read.
Anyone able to assist with this problem?
d
I apologize, I promised to help you with this but... I lost it somewhere and did not follow up. I'll be in touch with you, I'll try to find out what's wrong
j
kaos: can you paste some more lines around
Copy code
[    8.935173] ---[ end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0) ]--
It looks like the Partitions and/or UBIFS structure broke. Have you tried reflashing using LiveSuit or PhoenixSuit and an .img file? This usually restores this data. See https://help.turingpi.com/hc/en-us/articles/8686945524893-Baseboard-Management-Controller-BMC-#f5d7416c I had this a couple times now when building own images. This was the way back. You might need a serial console to get into this boot mode (CTRL+C before Linux is started by UBoot). It is normally triggered by adbd on the device itself, but you can triggger it also via UBoot manually with this command:
Copy code
efex    - run to efex
d
We've tried flashing also by using the recovery SD card. I should post a follow up here since we've talked over DMs. The engineers are now looking at the logs and an RMA might be necessary.
j
Interesting, I did not know of the recovery SDCard now. This kind of recovery seems not to be implemented uding the UBoot but the Allwinners internal bootrom, as in the embedded UBoot scripts there is no code to boot from SDcard, although by manually issuing
sunxi_card0_probe
you can use
fatload
and
mmc
commands to load a kernel and initrd from SD card. The
bootcmd
simply does not contain any code to boot from MMC.
54 Views