cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
1895
Views
3
Helpful
10
Replies

CML 2.6.1 Bare Metal Installation, No Network

bworkman
Level 1
Level 1

I'm trying to install CML 2.3.1 or above (currently 2.6.1) and I'm getting driver errors for the NIC card.  From what I've read, it seems that reference to bnx2-e2-7.13.11.0.fw are not in the initrd of the Linux OS.

bworkman_0-1699122376802.png

Is there a way to fix this after the install using the cli in CML2?

1 Accepted Solution

Accepted Solutions

Torbjørn
Spotlight
Spotlight

You can remediate this after installation with the following procedure:

  1. Download the required file here https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/bnx2x/bnx2x-e2-7.13.11.0.fw
  2. Copy it to a flash drive and connect it to your server
  3. Identify the device name of your flash drive using "fdisk -l" or "lsblk"
  4. Mount the disk with "sudo mount /dev/{your device name} /mnt"
  5. Copy the file into the correct folder: "sudo cp /mnt/bnx2x-e2-7.13.11.0.fw /lib/firmware/bnx2x/bnx2x-e2-7.13.11.0.fw" (the bnx2x folder should exist, if not create it with "sudo mkdir /lib/firmware/bnx2x")
  6. Reboot your server and you should be good to go.
Happy to help! Please mark as helpful/solution if applicable.
Get in touch: https://torbjorn.dev

View solution in original post

10 Replies 10

bworkman
Level 1
Level 1

bworkman_0-1699123280219.pngbworkman_1-1699123570109.png

Server platform is Dell R820 /w network card BRCM 10G/GbE 2+2P 57800-t rNDC

bworkman
Level 1
Level 1

bworkman_1-1699136558194.png

 

Torbjørn
Spotlight
Spotlight

You can remediate this after installation with the following procedure:

  1. Download the required file here https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/bnx2x/bnx2x-e2-7.13.11.0.fw
  2. Copy it to a flash drive and connect it to your server
  3. Identify the device name of your flash drive using "fdisk -l" or "lsblk"
  4. Mount the disk with "sudo mount /dev/{your device name} /mnt"
  5. Copy the file into the correct folder: "sudo cp /mnt/bnx2x-e2-7.13.11.0.fw /lib/firmware/bnx2x/bnx2x-e2-7.13.11.0.fw" (the bnx2x folder should exist, if not create it with "sudo mkdir /lib/firmware/bnx2x")
  6. Reboot your server and you should be good to go.
Happy to help! Please mark as helpful/solution if applicable.
Get in touch: https://torbjorn.dev

Thank you @Torbjørn.  That did work.  Now all I need is to figure out how to run the initial setup script form the CLI.

Torbjørn
Spotlight
Spotlight

If you only need to configure networking i believe you should be able to do this manually. You can do it either of these ways:

You can open network manager terminal ui with "sudo nmtui". Choose "Edit a connection". Select bridge0. Click "add" next to bridge slaves and enter the name of the interface you want to connect to the virtual bridge(probably eth0-4). If you wish to specifiy a static address for your CML server you select "manual" instead of "automatic" next to "IPv4 configuration" and enter your desired parameters. Then scroll to the bottom and select "OK", then enter the main menu with "back" and select "Activate a connection". You must then select "bridge0" and deactivate, then activate the connection for the parameters to take effect. You can then close NMTUI and should be able to reach CML on the configured address.

Alternatively you can temporarily add your desired interface with " sudo brctl addif bridge0 eth{your interface number}". Make the bridge request an address with DHCP again with "sudo ip l set bridge 0 down && sudo ip l set bridge 0 up". And then configure the network settings in Cockpit at https://{IP address}:9090. You can determine the servers DHCP IP address with "ip a".

Happy to help! Please mark as helpful/solution if applicable.
Get in touch: https://torbjorn.dev

Good information!  Because I had install CML without a network connection, it ended up with a default user for the LAB UI.  But it did give me the opportunity to set the "sysadmin" password during initial setup.  So I had to run the virl2-switch-admin.sh script from the terminial window to switch it to the desired username/password.

Thank you @Torbjørn for the boost on  this.  I'm sure that other community users installing on bare metal can use this info.

Hi there, I was able to get Internet connection on my CML, but no IP address shows up at the login page, and I cannot navigate the cockpit. Do you have any ideas on where I'm failing at?

Cheers!

Hi @gonzalonic0las , May i know which version of CML are you using? There is a related known issue and workaround in CML 2.6.1. 

https://developer.cisco.com/docs/modeling-labs/2-6/cml-release-notes/#known-issues-and-caveats-for-cml-26

Could you please try the suggested work around? 

Hey buddy! I'm using CML 2.7.1.

I'll just try the work arounds for that version, if it doesn't work I'll just go for an ESXi deployment.

Thank you very much for the quick response! 

Cang_Household
Level 1
Level 1

I will divulge some systems engineering insights here.

I am also using some dated bare metal servers, a $130 R210 ii that I could find on Ebay...

The direct firmware loading error is due to the light-weightness of the CML Linux image did not include the firmware files for the onboard NIC. For me, I have to download both bnx2-mips-09-6.2.1b.fw and bnx2-rv2p-09-6.0.17.fw from git linux firmware and put them into /lib/firmware/bnx/. Then reboot... Check the dmesg, it will tell you what firmware file is missing.

Then after this, because the initial setup was forced without network configuration, so need to re-run sudo HOME=/var/local/virl2/ /usr/local/bin/virl2-initial-setup.py --ipconfig. I was searching for virl2 related files using the which command, and then it revealed that there are concentrated in /usr/local/bin, but I guess this was all unnecessary forensics discovery, because some official manual pages also divulge this information. It seems the initial setup sets up some network bridge and makes them persistent through a combination of netplan and NetworkManager. The physical interface that I just sought the fw on is bridged to bridge0 bridge interface, and it is only this bridge interface that is coupled to dhclient to get a dynamic address. Be aware that dhclient is now EOL, so might want to migrate to the internal client of NetworkManager.