WelcomeWelcome | FAQFAQ | DownloadsDownloads | WikiWiki

Author Topic: NIC driver (bnx2) problem in pxebooting  (Read 7445 times)

Offline lid

  • Jr. Member
  • **
  • Posts: 62
NIC driver (bnx2) problem in pxebooting
« on: August 11, 2014, 04:46:34 PM »
Hi,

I pxebooted TC5.3 on a X86 platform using ramdisk. The problem is that it failed to configure the interface that was used in pxeboot.
The interface's IP address should have been configured by DHCP. Manual attempt using ifconfig after boot also failed.

I investigated a little bit. The interface NIC is:

      bnx2 0000:24:00.0: eth2: Broadcom NetXtreme II BCM5709 1000Base-SX (C0)

The dmesg shows that:

      bnx2: Can't load firmware file "bnx2/bnx2/bnx2-mips-09-6.2.1b.fw"

Can someone explain if this is because the TC package doesn't have the right driver for this NIC?

David





Offline gerald_clark

  • TinyCore Moderator
  • Hero Member
  • *****
  • Posts: 4254
Re: NIC driver (bnx2) problem in pxebooting
« Reply #1 on: August 11, 2014, 04:53:49 PM »
You need to load firmware-broadcom_bnx2.tcz
You can create a second initrd with the firmware, or remaster the initrd.

Offline lid

  • Jr. Member
  • **
  • Posts: 62
Re: NIC driver (bnx2) problem in pxebooting
« Reply #2 on: August 12, 2014, 12:03:11 PM »
You need to load firmware-broadcom_bnx2.tcz
You can create a second initrd with the firmware, or remaster the initrd.

Will the kernel be able to load the correct driver on boot before DHCP if I use second initrd or remaster?

I am thinking that kernel should find and load the correct NIC driver in order for the DHCP to be successful during the boot. Just want to make sure this is the case.

Offline gerald_clark

  • TinyCore Moderator
  • Hero Member
  • *****
  • Posts: 4254
Re: NIC driver (bnx2) problem in pxebooting
« Reply #3 on: August 12, 2014, 01:01:32 PM »
It is currently loading the driver. The driver fails because of the missing firmware.

Offline lid

  • Jr. Member
  • **
  • Posts: 62
Re: NIC driver (bnx2) problem in pxebooting
« Reply #4 on: August 12, 2014, 04:46:53 PM »
It is currently loading the driver. The driver fails because of the missing firmware.

I have downloaded the driver files from http://distro.ibiblio.org/tinycorelinux/5.x/x86/tcz/

Since this is my first time to do this, I 'd like to make sure the path I am following is correct:

1. If I build the second initrd to include the firmware, should I put the following two files in /opt/tce/optional:

firmware-broadcom_bnx2.tcz
firmware-broadcom_bnx2.tcz.list

and echo "firmware-broadcom_bnx2.tcz" >> /opt/tce/onboot.lst?

2. If I use remastering, should I put the above two files in /lib/modules?




Offline gerald_clark

  • TinyCore Moderator
  • Hero Member
  • *****
  • Posts: 4254
Re: NIC driver (bnx2) problem in pxebooting
« Reply #5 on: August 12, 2014, 05:04:38 PM »
There are wiki articles on how to remaster.
There is also the ezremaster program.

If you install from coreplus, you have more options.

Offline lid

  • Jr. Member
  • **
  • Posts: 62
Re: NIC driver (bnx2) problem in pxebooting
« Reply #6 on: August 12, 2014, 05:57:52 PM »
There are wiki articles on how to remaster.
There is also the ezremaster program.

If you install from coreplus, you have more options.

Yes, I have gone through wiki but want to make sure the above files and directories are correct.

Offline curaga

  • Administrator
  • Hero Member
  • *****
  • Posts: 10957
Re: NIC driver (bnx2) problem in pxebooting
« Reply #7 on: August 13, 2014, 12:21:09 AM »
Since this is my first time to do this, I 'd like to make sure the path I am following is correct:

1. If I build the second initrd to include the firmware, should I put the following two files in /opt/tce/optional:

firmware-broadcom_bnx2.tcz
firmware-broadcom_bnx2.tcz.list

and echo "firmware-broadcom_bnx2.tcz" >> /opt/tce/onboot.lst?

/opt/tce is the old location (from a couple major releases ago). The current one is /tmp/builtin. So /tmp/builtin/optional and /tmp/builtin/onboot.lst.

Quote
2. If I use remastering, should I put the above two files in /lib/modules?

You should extract them directly using unsquashfs in this case.
The only barriers that can stop you are the ones you create yourself.

Offline lid

  • Jr. Member
  • **
  • Posts: 62
Re: NIC driver (bnx2) problem in pxebooting
« Reply #8 on: August 13, 2014, 09:26:18 AM »
Since this is my first time to do this, I 'd like to make sure the path I am following is correct:

1. If I build the second initrd to include the firmware, should I put the following two files in /opt/tce/optional:

firmware-broadcom_bnx2.tcz
firmware-broadcom_bnx2.tcz.list

and echo "firmware-broadcom_bnx2.tcz" >> /opt/tce/onboot.lst?

/opt/tce is the old location (from a couple major releases ago). The current one is /tmp/builtin. So /tmp/builtin/optional and /tmp/builtin/onboot.lst.

OK, maybe the wiki page on netbooting needs to be updated to reflect this.  Do you know if there is a page on how to package new driver firmware?
Quote
Quote
2. If I use remastering, should I put the above two files in /lib/modules?

You should extract them directly using unsquashfs in this case.

I am not sure I understand this step. Can you explain a little more?


Offline gerald_clark

  • TinyCore Moderator
  • Hero Member
  • *****
  • Posts: 4254
Re: NIC driver (bnx2) problem in pxebooting
« Reply #9 on: August 13, 2014, 09:52:39 AM »
This is not a netbooting issue.
This is an issue of not having the firmware in the initrd, so the network is not available after booting.
Use ezremaster and have it extract the extension into the initrd.
Then take the generated iniitrd and put in on your PXE server.

Offline lid

  • Jr. Member
  • **
  • Posts: 62
Re: NIC driver (bnx2) problem in pxebooting
« Reply #10 on: August 13, 2014, 01:43:52 PM »
This is not a netbooting issue.
This is an issue of not having the firmware in the initrd, so the network is not available after booting.
Use ezremaster and have it extract the extension into the initrd.
Then take the generated iniitrd and put in on your PXE server.

This is a bit chicken-and-egg issue. My current machine need the firmware first to be able to connect to the network.
Maybe I misunderstand  how to use ezremaster, don't you need to network connection first to download the firmware?

Offline gerald_clark

  • TinyCore Moderator
  • Hero Member
  • *****
  • Posts: 4254
Re: NIC driver (bnx2) problem in pxebooting
« Reply #11 on: August 13, 2014, 01:51:48 PM »
Burn coreplus to a CD or dd it to a USB thumb drive.
Boot it. and see if you can get a network connection.
If you can, you should be able to remaster the ISO and use the firmware included on the CD.
You can awarys do this on another machine that has a different NIC and download the firmware and remaster.

Offline lid

  • Jr. Member
  • **
  • Posts: 62
Re: NIC driver (bnx2) problem in pxebooting
« Reply #12 on: August 13, 2014, 02:35:18 PM »

Since this is my first time to do this, I 'd like to make sure the path I am following is correct:

1. If I build the second initrd to include the firmware, should I put the following two files in /opt/tce/optional:

firmware-broadcom_bnx2.tcz
firmware-broadcom_bnx2.tcz.list

and echo "firmware-broadcom_bnx2.tcz" >> /opt/tce/onboot.lst?

/opt/tce is the old location (from a couple major releases ago). The current one is /tmp/builtin. So /tmp/builtin/optional and /tmp/builtin/onboot.lst.



I tried this option by building a second initrd file with the /builtin/optional directory and firmware files. It booted up but the new NIC driver firmware never loaded.  Are you sure this is the right way to put in the new driver?

On the machine, I see the /builtin directory. Should it be /tmp/builtin?





Offline gerald_clark

  • TinyCore Moderator
  • Hero Member
  • *****
  • Posts: 4254
Re: NIC driver (bnx2) problem in pxebooting
« Reply #13 on: August 13, 2014, 02:53:35 PM »
No. Choose the extract to initrd option.

Offline curaga

  • Administrator
  • Hero Member
  • *****
  • Posts: 10957
Re: NIC driver (bnx2) problem in pxebooting
« Reply #14 on: August 14, 2014, 02:33:05 AM »

I tried this option by building a second initrd file with the /builtin/optional directory and firmware files. It booted up but the new NIC driver firmware never loaded.  Are you sure this is the right way to put in the new driver?

On the machine, I see the /builtin directory. Should it be /tmp/builtin?

Yes, the resulting image should have /tmp/builtin not /builtin. But anyway, please try ezremaster first, it should be easier.
The only barriers that can stop you are the ones you create yourself.