Closed hdwipe closed 1 year ago
Are you using the busybox version of ifup/ifdown or the other version that requires the --force rather than -f option?
Busybox. I've gone vanilla. Assume I'm building with the Git, nothing added (except dialog and nano). I've mothballed the dev setup until we can get this solved.
Try more /var/log/messages
and scan through the output looking for anything related to BCM571 or NetXtreme. Maybe there is a clue there.
Can you post the output of lsmod. According to the BCM57xx user manual the TG3 driver should be loaded. You should see that in the output of lsmod. lsmod | grep tg3
. See page 27 of the manual linked below.
Did you install both Broadcom NetXtreme/Tigon3 and Nextreme II firmware?
Have you got the same software/firmware selected in your build as in the snapshots below?
Just for info, I needed to expand the vfat disk from 60000000 to 80000000 bytes (approx 80MB) to accommodate all the ethernet firmware noted in the snapshot in the previous post. if you select all the firmware options, you'll definitely need to modify ../board/shredos/genimage.cfg
before wasting any time building shredos and finding it eventually fails with a disk full.
Well, I haven't seen that drivers menu before at all, just the firmware, so that could be part of it! Lemme poke around.
Ok, so, I don't use any but the netxtreme drivers. I can't imagine the others being relevant to this situation. I tried with all before and it still didn't work. I'm going to post a bunch of photos of interesting things from messages, for which I had to reboot 3 times because the repeated error message, which may have something to do with the sciossflags error or whatever it is (I'm only suggesting that by number and timing of calls) kept pushing off the beginning of the messages file, lol. Perhaps between these screen grabs and me figuring out how to get to that drivers menu, we might have something. Here are the things that seemed like they could be useful to know. Next step is me finding someone to mail you an Rx10 machine
The repeated error messages show at the bottom of the last pic
According to those logs we may be missing the Broadcom bnx2 device driver or its firmware. Try doing a search for bnx2 in make menuconfig
and make linux-menuconfig
using the / for search command and see what comes up.
Also see if that .fw file exists, I think it may be in /usr/lib/firmware/ that just a guess though.
I may be unavailable for the next couple of days but I'll be back in touch in a few days.
So I've enableed everything I could find to enable related to this broadcom card both in the linux menu and on the main menu and done the saves. All that to no avail. I'll go ahead and make clean on the off chance that that makes a difference. I'm pessimistic, but hopeful.
Looks like linux-config refers to bnx2 in the following drivers and firmware.
In make linux-menuconfig
the following bnx2 drivers need to be selected.
│ Symbol: BNX2 [=y] │
│ Type : tristate │
│ Defined at drivers/net/ethernet/broadcom/Kconfig:85 │
│ Prompt: QLogic bnx2 support │
│ Depends on: NETDEVICES [=y] && ETHERNET [=y] && NET_VENDOR_BROADCOM [=y] && PCI │
│ Location: │
│ -> Device Drivers │
│ -> Network device support (NETDEVICES [=y]) │
│ -> Ethernet driver support (ETHERNET [=y]) │
│ (1) -> Broadcom devices (NET_VENDOR_BROADCOM [=y]) │
│ Selects: CRC32 [=y] && FW_LOADER [=y] │
│ Selected by [y]: │
│ - CNIC [=y] && NETDEVICES [=y] && ETHERNET [=y] && NET_VENDOR_BROADCOM [=y] && P │
│ │
│ │
│ Symbol: BNX2X [=y] │
│ Type : tristate │
│ Defined at drivers/net/ethernet/broadcom/Kconfig:140 │
│ Prompt: Broadcom NetXtremeII 10Gb support │
│ Depends on: NETDEVICES [=y] && ETHERNET [=y] && NET_VENDOR_BROADCOM [=y] && PCI │
│ Location: │
│ -> Device Drivers │
│ -> Network device support (NETDEVICES [=y]) │
│ -> Ethernet driver support (ETHERNET [=y]) │
│ (2) -> Broadcom devices (NET_VENDOR_BROADCOM [=y]) │
│ Selects: FW_LOADER [=y] && ZLIB_INFLATE [=y] && LIBCRC32C [=y] && MDIO [=y] │
│ Implies: PTP_1588_CLOCK [=n] │
│ │
│ │
│ Symbol: BNX2X_SRIOV [=y] │
│ Type : bool │
│ Defined at drivers/net/ethernet/broadcom/Kconfig:153 │
│ Prompt: Broadcom 578xx and 57712 SR-IOV support │
│ Depends on: NETDEVICES [=y] && ETHERNET [=y] && NET_VENDOR_BROADCOM [=y] && BNX2 │
│ Location: │
│ -> Device Drivers │
│ -> Network device support (NETDEVICES [=y]) │
│ -> Ethernet driver support (ETHERNET [=y]) │
│ -> Broadcom devices (NET_VENDOR_BROADCOM [=y]) │
│ (3) -> Broadcom NetXtremeII 10Gb support (BNX2X [=y])
│ │
│ │
│ Symbol: SCSI_BNX2X_FCOE [=n] │
│ Type : tristate │
│ Defined at drivers/scsi/bnx2fc/Kconfig:2 │
│ Prompt: QLogic FCoE offload support │
│ Depends on: SCSI_LOWLEVEL [=y] && SCSI [=y] && PCI [=y] && (IPV6 [=y] || IPV6 [= │
│ Location: │
│ -> Device Drivers │
│ -> SCSI device support │
│ (4) -> SCSI low-level drivers (SCSI_LOWLEVEL [=y]) │
│ Selects: NETDEVICES [=y] && ETHERNET [=y] && NET_VENDOR_BROADCOM [=y] && CNIC [=y] │
│ │
│ │
│ Symbol: SCSI_BNX2_ISCSI [=y] │
│ Type : tristate │
│ Defined at drivers/scsi/bnx2i/Kconfig:2 │
│ Prompt: QLogic NetXtreme II iSCSI support │
│ Depends on: SCSI_LOWLEVEL [=y] && SCSI [=y] && NET [=y] && PCI [=y] && (IPV6 [=y │
│ Location: │
│ -> Device Drivers │
│ -> SCSI device support │
│ (5) -> SCSI low-level drivers (SCSI_LOWLEVEL [=y]) │
│ Selects: SCSI_ISCSI_ATTRS [=y] && NETDEVICES [=y] && ETHERNET [=y] && NET_VENDOR_B │
While in make menuconfig
the following bnx2 firmware needs to be selected.
│ Symbol: BR2_PACKAGE_LINUX_FIRMWARE_BNX2X [=y] │
│ Type : bool │
│ Prompt: Broadcom NetXtremeII │
│ Location: │
│ -> Target packages │
│ -> Hardware handling │
│ -> Firmware │
│ -> linux-firmware (BR2_PACKAGE_LINUX_FIRMWARE [=y]) │
│ (1) -> Ethernet firmware │
│ Defined at package/linux-firmware/Config.in:411 │
│ Depends on: BR2_PACKAGE_LINUX_FIRMWARE [=y]
All set, all steps followed to the letter. Let's see what happens!
On Sun, Jun 26, 2022, 3:12 PM PartialVolume @.***> wrote:
Looks like linux-config refers to bnx2 in the following drivers and firmware.
In make linux-menuconfig the following bnx2 drivers need to be selected.
│ Symbol: BNX2 [=y] │
│ Type : tristate │
│ Defined at drivers/net/ethernet/broadcom/Kconfig:85 │
│ Prompt: QLogic bnx2 support │
│ Depends on: NETDEVICES [=y] && ETHERNET [=y] && NET_VENDOR_BROADCOM [=y] && PCI │
│ Location: │
│ -> Device Drivers │
│ -> Network device support (NETDEVICES [=y]) │
│ -> Ethernet driver support (ETHERNET [=y]) │
│ (1) -> Broadcom devices (NET_VENDOR_BROADCOM [=y]) │
│ Selects: CRC32 [=y] && FW_LOADER [=y] │
│ Selected by [y]: │
│ - CNIC [=y] && NETDEVICES [=y] && ETHERNET [=y] && NET_VENDOR_BROADCOM [=y] && P │
│ │
│ │
│ Symbol: BNX2X [=y] │
│ Type : tristate │
│ Defined at drivers/net/ethernet/broadcom/Kconfig:140 │
│ Prompt: Broadcom NetXtremeII 10Gb support │
│ Depends on: NETDEVICES [=y] && ETHERNET [=y] && NET_VENDOR_BROADCOM [=y] && PCI │
│ Location: │
│ -> Device Drivers │
│ -> Network device support (NETDEVICES [=y]) │
│ -> Ethernet driver support (ETHERNET [=y]) │
│ (2) -> Broadcom devices (NET_VENDOR_BROADCOM [=y]) │
│ Selects: FW_LOADER [=y] && ZLIB_INFLATE [=y] && LIBCRC32C [=y] && MDIO [=y] │
│ Implies: PTP_1588_CLOCK [=n] │
│ │
│ │
│ Symbol: BNX2X_SRIOV [=y] │
│ Type : bool │
│ Defined at drivers/net/ethernet/broadcom/Kconfig:153 │
│ Prompt: Broadcom 578xx and 57712 SR-IOV support │
│ Depends on: NETDEVICES [=y] && ETHERNET [=y] && NET_VENDOR_BROADCOM [=y] && BNX2 │
│ Location: │
│ -> Device Drivers │
│ -> Network device support (NETDEVICES [=y]) │
│ -> Ethernet driver support (ETHERNET [=y]) │
│ -> Broadcom devices (NET_VENDOR_BROADCOM [=y]) │
│ (3) -> Broadcom NetXtremeII 10Gb support (BNX2X [=y])
│ │
│ │
│ Symbol: SCSI_BNX2X_FCOE [=n] │
│ Type : tristate │
│ Defined at drivers/scsi/bnx2fc/Kconfig:2 │
│ Prompt: QLogic FCoE offload support │
│ Depends on: SCSI_LOWLEVEL [=y] && SCSI [=y] && PCI [=y] && (IPV6 [=y] || IPV6 [= │
│ Location: │
│ -> Device Drivers │
│ -> SCSI device support │
│ (4) -> SCSI low-level drivers (SCSI_LOWLEVEL [=y]) │
│ Selects: NETDEVICES [=y] && ETHERNET [=y] && NET_VENDOR_BROADCOM [=y] && CNIC [=y] │
│ │
│ │
│ Symbol: SCSI_BNX2_ISCSI [=y] │
│ Type : tristate │
│ Defined at drivers/scsi/bnx2i/Kconfig:2 │
│ Prompt: QLogic NetXtreme II iSCSI support │
│ Depends on: SCSI_LOWLEVEL [=y] && SCSI [=y] && NET [=y] && PCI [=y] && (IPV6 [=y │
│ Location: │
│ -> Device Drivers │
│ -> SCSI device support │
│ (5) -> SCSI low-level drivers (SCSI_LOWLEVEL [=y]) │
│ Selects: SCSI_ISCSI_ATTRS [=y] && NETDEVICES [=y] && ETHERNET [=y] && NET_VENDOR_B │
While in make menuconfig the following bnx2 firmware needs to be selected.
│ Symbol: BR2_PACKAGE_LINUX_FIRMWARE_BNX2X [=y] │
│ Type : bool │
│ Prompt: Broadcom NetXtremeII │
│ Location: │
│ -> Target packages │
│ -> Hardware handling │
│ -> Firmware │
│ -> linux-firmware (BR2_PACKAGE_LINUX_FIRMWARE [=y]) │
│ (1) -> Ethernet firmware │
│ Defined at package/linux-firmware/Config.in:411 │
│ Depends on: BR2_PACKAGE_LINUX_FIRMWARE [=y]
— Reply to this email directly, view it on GitHub https://github.com/PartialVolume/shredos.x86_64/issues/105#issuecomment-1166619750, or unsubscribe https://github.com/notifications/unsubscribe-auth/AFSYFMZN2KLEJCCYC7RXGTDVRCTSXANCNFSM5XBCQYGQ . You are receiving this because you were mentioned.Message ID: @.***>
1) Still same can't load firmware file bnx2/bnx. . . and I checked the directory in lib on the install. They're definitely NOT there.
2) ok, so, the files are here in the build distro.
./shredos.x86_64/output/build/linux-firmware-20210511/bnx2:
bnx2-mips-06-4.6.16.fw
bnx2-mips-06-5.0.0.j3.fw
bnx2-mips-06-5.0.0.j6.fw
bnx2-mips-06-6.0.15.fw
bnx2-mips-06-6.2.1.fw
bnx2-mips-06-6.2.3.fw
bnx2-mips-09-4.6.17.fw
bnx2-mips-09-5.0.0.j15.fw
bnx2-mips-09-5.0.0.j3.fw
bnx2-mips-09-5.0.0.j9.fw
bnx2-mips-09-6.0.17.fw
bnx2-mips-09-6.2.1a.fw
bnx2-mips-09-6.2.1b.fw
some additional thoughts:
Is there a way for me to print out or provide the config I am using or, alternately, for you to shoot me an image of what yours produces? STILL no dice.
This thread looks to be the closest to our problem here, like, it's REALLY close.
https://unix.stackexchange.com/questions/102102/bnx2-cant-load-firmware-file-bnx2-bnx2-mips-09-6-2-1b-fw
And I wonder about the 'non-free' repo and how it'd be integrated or. . .whatever.
It's seeming more and more like a glitch in the actual buildroot distro, which I have no idea how to even BEGIN to solve.
If it is a bug in buildroot and the firmware is not getting copied from ../output/.. to the root filesystem we can use the overlay feature and a couple of lines in one of the ShredOS scripts to do it ourselves during the build.
Looks like we're on the right track. I'll take a look tomorrow night and confirm what you've found.
I checked the master build of ShredOS and some of the firmware is present in the location shown below, i.e. /usr/lib/firmware/bnx2x/ however we are missing the bnx2-mips-09-6.2.1b.fw from ../output/images/ and in the final root file system., however like you mentioned it does exist in ../output/build/linux-firmware-20210511/bnx2/
. So the bnx2 firmware never ends up in the final build for some reason. It does look like a buildroot issue.
A workaround would be to copy the missing bnx2 files from output/build/linux-firmware-20210511/bnx2
into board/shredos/overlay/usr/lib/firmware/bnx2/ You will need to create the missing directories starting with lib. After rebuilding, the firmware should now be present. Either you can try this or I can make the changes to the master and you can clone and build from that.
# find / -name "bnx2*" -print /usr/lib/firmware/bnx2x /usr/lib/firmware/bnx2x/bnx2x-e2-7.8.2.0.fw /usr/lib/firmware/bnx2x/bnx2x-e2-7.8.19.0.fw /usr/lib/firmware/bnx2x/bnx2x-e2-7.8.17.0.fw /usr/lib/firmware/bnx2x/bnx2x-e2-7.2.51.0.fw /usr/lib/firmware/bnx2x/bnx2x-e2-7.2.16.0.fw /usr/lib/firmware/bnx2x/bnx2x-e2-7.13.15.0.fw /usr/lib/firmware/bnx2x/bnx2x-e2-7.13.11.0.fw /usr/lib/firmware/bnx2x/bnx2x-e2-7.13.1.0.fw /usr/lib/firmware/bnx2x/bnx2x-e2-7.12.30.0.fw /usr/lib/firmware/bnx2x/bnx2x-e2-7.10.51.0.fw /usr/lib/firmware/bnx2x/bnx2x-e2-7.0.29.0.fw /usr/lib/firmware/bnx2x/bnx2x-e2-7.0.23.0.fw /usr/lib/firmware/bnx2x/bnx2x-e2-7.0.20.0.fw /usr/lib/firmware/bnx2x/bnx2x-e2-6.2.9.0.fw /usr/lib/firmware/bnx2x/bnx2x-e2-6.2.5.0.fw /usr/lib/firmware/bnx2x/bnx2x-e2-6.0.34.0.fw /usr/lib/firmware/bnx2x/bnx2x-e1h-7.8.2.0.fw /usr/lib/firmware/bnx2x/bnx2x-e1h-7.8.19.0.fw /usr/lib/firmware/bnx2x/bnx2x-e1h-7.8.17.0.fw /usr/lib/firmware/bnx2x/bnx2x-e1h-7.2.51.0.fw /usr/lib/firmware/bnx2x/bnx2x-e1h-7.2.16.0.fw /usr/lib/firmware/bnx2x/bnx2x-e1h-7.13.15.0.fw /usr/lib/firmware/bnx2x/bnx2x-e1h-7.13.11.0.fw /usr/lib/firmware/bnx2x/bnx2x-e1h-7.13.1.0.fw /usr/lib/firmware/bnx2x/bnx2x-e1h-7.12.30.0.fw /usr/lib/firmware/bnx2x/bnx2x-e1h-7.10.51.0.fw /usr/lib/firmware/bnx2x/bnx2x-e1h-7.0.29.0.fw /usr/lib/firmware/bnx2x/bnx2x-e1h-7.0.23.0.fw /usr/lib/firmware/bnx2x/bnx2x-e1h-7.0.20.0.fw /usr/lib/firmware/bnx2x/bnx2x-e1h-6.2.9.0.fw /usr/lib/firmware/bnx2x/bnx2x-e1h-6.2.5.0.fw /usr/lib/firmware/bnx2x/bnx2x-e1h-6.0.34.0.fw /usr/lib/firmware/bnx2x/bnx2x-e1-7.8.2.0.fw /usr/lib/firmware/bnx2x/bnx2x-e1-7.8.19.0.fw /usr/lib/firmware/bnx2x/bnx2x-e1-7.8.17.0.fw /usr/lib/firmware/bnx2x/bnx2x-e1-7.2.51.0.fw /usr/lib/firmware/bnx2x/bnx2x-e1-7.2.16.0.fw /usr/lib/firmware/bnx2x/bnx2x-e1-7.13.15.0.fw /usr/lib/firmware/bnx2x/bnx2x-e1-7.13.11.0.fw /usr/lib/firmware/bnx2x/bnx2x-e1-7.13.1.0.fw /usr/lib/firmware/bnx2x/bnx2x-e1-7.12.30.0.fw /usr/lib/firmware/bnx2x/bnx2x-e1-7.10.51.0.fw /usr/lib/firmware/bnx2x/bnx2x-e1-7.0.29.0.fw /usr/lib/firmware/bnx2x/bnx2x-e1-7.0.23.0.fw /usr/lib/firmware/bnx2x/bnx2x-e1-7.0.20.0.fw /usr/lib/firmware/bnx2x/bnx2x-e1-6.2.9.0.fw /usr/lib/firmware/bnx2x/bnx2x-e1-6.2.5.0.fw /usr/lib/firmware/bnx2x/bnx2x-e1-6.0.34.0.fw /sys/bus/pci/drivers/bnx2x /sys/module/bnx2x
Ok, I've made the changes to the master. If you clone ShredOS and build you should now find the missing firmware in /usr/lib/firmware/bnx2/
@hdwipe no pressure, but I was just wondering if you have had a chance to test the latest master as to whether the direct firmware load error for bnx2/...
is now no longer present and ethernet is now working?
I'll have an answer shortly. I'm 3000 miles away from my development environment for another 10 days or so. Shame on me for burning that first 4 weeks to the ground like that so long ago, your email came through just as I was catching a cab to the airport. I -should- be able to send something over to my guy there and have him put it on the server and I'll let you know in the next day or 2. Cheers -- Ben
Unrelated note: is there any reason screen or tmux might present issues in running nwipe? In building an interactive wrapper, being able to generate a programmatic interrupt to an active menu which requires foreground to function necessarily means reliable access to a new (or simulated) tty to -maybe- kill the existing one. Also, what are the limits on baud rate for a terminal in the buildroot environment? I get the feeling that with batch text processing in a shell script, baud rate may play a role in whether or not the code begins to bog. I'm doing a lot of comparisons and even at 15 drives, there are elements that seem slow for the speed of the CPU running it. . .
Unrelated note: is there any reason screen or tmux might present issues in running nwipe?
Not that I've ever come across. I would say using nwipe's default GUI mode using screen or tmux via the network is no different in responsiveness than if you were sitting at the actual machine. The only issue you will get is when you are already running one instance of nwipe on a system then try to run another instance. The second instance will just hang until the first instance of nwipe has exited. I've never run nwipe via a serial RS232 port so I've got no idea what it might be like at below 38400 such as 9600/19200 baud. Having said that the default speed in my virtual consoles tty2/tty3 and konsole is 38400 so maybe anything lower than that you may or may not see a less responsive nwipe. Nwipe limits it's screen updates to no faster than 100ms and only updates the relevant fields. Keeping screen updates below 200ms allows for a responsive keyboard while updating the screen quick enough for the eye. So as long as you're running at 38400 or above you should be ok.
Sorry this took so long!! Reporting is really critical to this project; I really appreciate your help with this!!
On Fri, May 27, 2022, 2:39 PM PartialVolume @.***> wrote:
Can you paste the output of ls -1 /sys/class/net thanks.
— Reply to this email directly, view it on GitHub https://github.com/PartialVolume/shredos.x86_64/issues/105#issuecomment-1139931416, or unsubscribe https://github.com/notifications/unsubscribe-auth/AFSYFM32UB56PV2TMUSVYJTVMEJFPANCNFSM5XBCQYGQ . You are receiving this because you authored the thread.Message ID: @.***>
That's awesome. There is a sad note to this story: I'm on my way away from my dev machine and office for a full 3 weeks so I won't actually get the chance to find out if it worked til after then. Plenty of time to rework my wrapper into an onion.
On Mon, Jun 27, 2022, 4:01 PM PartialVolume @.***> wrote:
Ok, I've made the changes to the master. If you clone ShredOS and build you should now find the missing firmware in /usr/lib/firmware/bnx2/
— Reply to this email directly, view it on GitHub https://github.com/PartialVolume/shredos.x86_64/issues/105#issuecomment-1167822497, or unsubscribe https://github.com/notifications/unsubscribe-auth/AFSYFM4RBDXZOI5XXXTUPHLVRICAVANCNFSM5XBCQYGQ . You are receiving this because you were mentioned.Message ID: @.***>
Please reopen if still an issue. The bnx2 issue has been patched in buildroot and is available in the latest pre-release. So those network cards should be fine now.
I cannot get networking to work with the Dell R510, R210 II or the R710, but it works fine on the 720 and 720xd and intermittently on others. We have a lot of each of these and the absence of functional networking is consistent across all. What's odd is that the network interface (all of them) are very clearly visible in the OS. I feel like it's somehow tied to the S40 network script, but I don't understand what you're doing well enough to tweak it to make it work. If it's some sort of driver issue, it'd be stellar if there were some manner of guidance as to how to include them with the build. The inner workings of buildroot are somewhat beyond my current reach.