-
Hi, Looks like this is a known issue.
https://patchwork.kernel.org/patch/49056/
Does any one if this patch is part of any of the upcoming Knoppix releases?
Thanks,
Krishnaprasad
-
Originally Posted by
krishnaprasadk
Hi, Please ignore my previous post.
i do see that DEVPATH is the Path under /sys at which this device's sysfs directory can be found. i saw the documentation inside Documentation/firmware_class as well. From there i understood the way kernel is calling the firmware and how it needs to be passed from the user end. per your advise, I've created a script /sbin/hotplug as below:-
#!/bin/sh
echo 1 > /sys/$DEVPATH/loading
cat /lib/firmware/bnx2/$FIRMWARE > /sys/class/firmware/data
echo 0 > /sys/$DEVPATH/loading
Now the firmware is read while loading the module and it fails with an error message as below
firmware 0000:05:00.0: firmware_loading_store: vmap() failed
bnx2: Can't load firmware file "bnx2/bnx2-mips-06-4.6.16.fw"
bnx2: probe of 0000:05:00.0 failed with error -2
I am checking bnx2 driver code on why this failure is seen.
Thanks,
Krishnaprasad
It looks like the issue that i am seeing ( i.e. while loading the bnx2 firmware, vmap() call is failed ) is a known issue. i do see the link as below and it exactly matches the error code that i am seeing.
patchwork.kernel.org/patch/49056/
vmap is called to load the firmware data stored in /lib/firmware/bnx2/$FIRMWARE to the kernel.
Looks like Knoppix is not yet included the fix mentioned in the above link in the kernel that they use. So i compiled ( Changed firmware_class.c in drivers/base ) and created a new bzImage using Live CD but still i face the same error. The error is as below
firmware 0000:05:00.0: firmware_loading_store: vmap() failed
bnx2: Can't load firmware file "bnx2/bnx2-mips-06-4.6.16.fw"
bnx2: probe of 0000:05:00.0 failed with error -2
Any one have faced an error like this? i am blocked my Knoppix Booting via PXE because of this issue .. any help will be highly appreciated !
Thank you all for your time !
- Krishnaprasad
-
Senior Member
registered user
Originally Posted by
krishnaprasadk
Now the firmware is read while loading the module and it fails with an error message as below
firmware 0000:05:00.0: firmware_loading_store: vmap() failed
bnx2: Can't load firmware file "bnx2/bnx2-mips-06-4.6.16.fw"
bnx2: probe of 0000:05:00.0 failed with error -2
I am checking bnx2 driver code on why this failure is seen.
Thanks,
Krishnaprasad
Try this improved script ( still not the best ) :-
Code:
#!/bin/sh
[ -z "$FIRMWARE" ] && exit
echo 1 > /sys/$DEVPATH/loading
cat /lib/firmware/$FIRMWARE > /sys/class/firmware/data
echo 0 > /sys/$DEVPATH/loading
Please, this is not ***NOT*** a kernel bug or something, this is
an ***EXPECTED*** behaviour.
Cheers.
-
Senior Member
registered user
Let me add one more note to this. Between you and a working system, it's just this shell script, how complicated it can be ?
Please don't look any further and it is not any more complicated than this.
-
Originally Posted by
kl522
Try this improved script ( still not the best ) :-
Code:
#!/bin/sh
[ -z "$FIRMWARE" ] && exit
echo 1 > /sys/$DEVPATH/loading
cat /lib/firmware/$FIRMWARE > /sys/class/firmware/data
echo 0 > /sys/$DEVPATH/loading
Please, this is not ***NOT*** a kernel bug or something, this is
an ***EXPECTED*** behaviour.
Cheers.
Hello,
Sorry if i took a wrong route. I tried the above change that you advised in /sbin/hotplug script, but still bnx2 fails to load the firmware file. I am still seeing the error message:-
firmware_loading_store: vmap() failed
As far as scripting is concerned, no difficulties are there.
since i saw a kernel forum thread which shows the exact error message, i thought of following that. Also in the 6.2 DVD, kernel source is available. There also inside drivers/base, firmware_class.c doesnt have the mutex fix that the forum is suggested to use. so I believed that i am facing the same issue.
Now that the loading of bnx2 firmware still fails with this updated script, could you please advise on how to move forward?
I really appreciate the help that you are providing in this issue !
- Krishnaprasad
-
Originally Posted by
kl522
Try this improved script ( still not the best ) :-
Code:
#!/bin/sh
[ -z "$FIRMWARE" ] && exit
echo 1 > /sys/$DEVPATH/loading
cat /lib/firmware/$FIRMWARE > /sys/class/firmware/data
echo 0 > /sys/$DEVPATH/loading
Please, this is not ***NOT*** a kernel bug or something, this is
an ***EXPECTED*** behaviour.
Cheers.
okay..my mistake.. instead of sending the bnx2 firmware data ( /path/$FIRMWARE ) to /sys/$DEVPATH/data, i was re-directing it to /sys/class/firmware/data.
Now i corrected that and bootup of Knoppix 6.2 from PXE is successful using NFS share... there is not even requited to check if $FIRMWARE exists or not.
Thanks for all your patience in helping me out on this.
Thank you !
Krishnaprasad
-
Senior Member
registered user
Did you notice that the script initially was
cat /lib/firmware/bnx/$FIRMWARE > /sys/class/firmware/data
and the new script was :-
cat /lib/firmware/$FIRMWARE > /sys/class/firmware/data
Did you try to debug the script by changing it to :-
#!/bin/sh
[ -z "$FIRMWARE" ] && exit
echo 1 > /sys/$DEVPATH/loading
echo "Loading firmware /lib/firmware/$FIRMWARE" >> /tmp/log
cat /lib/firmware/$FIRMWARE > /sys/class/firmware/data
echo 0 > /sys/$DEVPATH/loading
Did you check if there are indeed firmware files in your initrd.gz, which filenames are matching what are needed by the script (as appeared in /tmp/log ) ?
-
Originally Posted by
kl522
Did you notice that the script initially was
cat /lib/firmware/bnx/$FIRMWARE > /sys/class/firmware/data
and the new script was :-
cat /lib/firmware/$FIRMWARE > /sys/class/firmware/data
Did you try to debug the script by changing it to :-
#!/bin/sh
[ -z "$FIRMWARE" ] && exit
echo 1 > /sys/$DEVPATH/loading
echo "Loading firmware /lib/firmware/$FIRMWARE" >> /tmp/log
cat /lib/firmware/$FIRMWARE > /sys/class/firmware/data
echo 0 > /sys/$DEVPATH/loading
Did you check if there are indeed firmware files in your initrd.gz, which filenames are matching what are needed by the script (as appeared in /tmp/log ) ?
HI, not sure if you have seen the post that i posted before your reply. re-posting the required part.
instead of sending the bnx2 firmware data ( /path/$FIRMWARE ) to /sys/$DEVPATH/data, i was re-directing it to /sys/class/firmware/data.
Here is the final script
#!/bin/sh
#[ -z "$FIRMWARE" ] && exit
echo 1 > /sys/$DEVPATH/loading
cat /lib/firmware/$FIRMWARE > /sys/$DEVPATH/data
echo 0 > /sys/$DEVPATH/loading
I must thank you for your patience in guiding me for getting into a resolution. I really appreciate and sorry for the change in path that i took by seeing the kernel patch .. My bad analysis
Thanks much !
- Krishnaprasad
-
Senior Member
registered user
Haven't I told you between you and a working system is just this shell script ?
-
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
Custom Server 1U IBM x3550 M5 4 Bay SFF SAS3 2x E5-2683 V3 28 Core 128GB DDR4
$315.00
IBM Power S822 12-Bay Server System Power8 Core 3.42Ghz DVD-Rom Drive 64GB No HD
$399.99
IBM SYSTEM x3200 M2 Server - HDD wiped, No OS
$75.00
IBM 7944AC1 System x3550 M3 Server 1*Intel Xeon X5650 2.67GHz 4GB SEE NOTES
$26.97
IBM AC1 7870 BladeCenter Blade Server 2*Xeon X5570 2.93GHz 12GB SEE NOTES
$11.13
IBM Power 720 POWER7 00E6516 3.6GHz CPU 64GB RAM Server
$209.98
IBM System X3650 Server M2 2 x Xeon X5570 2.93 Ghz w/128 GB/DVDRW
$169.99
IBM System x3250 M4 Server Intel Xeon E3-1220 3.10GHz 8GB RAM No HDDs
$74.77
IBM SYSTEM x3650 M4 Xeon E5-2609 2.40GHZ 16GB DDR3-1066MHZ 2x 550W PSU TESTED
$109.95
IBM Power S822 8284-22A 2.5" 12-Bay 64GB 2X 00ND478 2X 00E2865 *READ*
$599.99