PowerEdge 1850, PERC 4e/Si not visible in OMSA
Renaud MICHEL
renaud.michel.defimedia at gmail.com
Thu Jul 23 04:22:22 CDT 2009
Hello, some followup on this issue:
Le jeudi 2 juillet 2009 à 14:24, Brice Figureau a écrit :
> Of course, the issue is not really in the commit but in the
> ligmegalib.so library.
> I've straced the dataeng service, and found that it tries to locate the
> device by using /proc/devices.
>
> Before the aforementioned patch, since the kernel attributed a major to
> the char device, it appeared in /proc/devices:
> Character devices:
> ...
> 252 megadev
>
> But with this patch, it doesn't anymore, since there is no major
> allocated.
> So libmegalib.so thinks the device is not there, even though a
> correct /dev/megadev0 is created by udev.
>
> The real question is how to fix OMSA?
>
> If there are any Dell engineer/developper reading this, please please
> fix your megalib code (in fact I even think this is code coming from
> LSI).
>
> Meanwhile, I think we can fix this issue, by either reverting this patch
> (it should revert cleanly on debian kernels). Or maybe it'd be possible
> to use LD_LIBRARY_PRELOAD to load a read interceptor that could
> rewrite /proc/devices on the fly...
It seems that OMSA (or another dell tool) recreate the file /dev/megadev0
with what he thinks is the correct malor/minor (252/0). This of course
won't work as major 252 is now used by usbmon.
The module megaraid_mm now uses the miscdevice.h register function to have
an auto-allocated minor number, while the major is 10 (for misc devices).
The auto-generator minor can be found in /proc/misc, so we can recreate the
device node with mknod and the correct major (10) and minor
(from /proc/misc) numbers.
Once that is done, omreport still won't see the device (tried OMSA 5.5 and
6.0), but other tools will be able to access it.
For example you can try
http://sourceforge.net/projects/megactl/
which can report device health.
dellmgr (cf http://linux.dell.com/storage.shtml) seems to work also, but you
MUST first remove from its startup script the lines that
recreate /dev/megadev0, same goes for megamon (which also try to
create /dev/megadev0 in itd init script), but I didn't try it.
I hope this helps
--
Renaud MICHEL
defimedia S.A.
More information about the Linux-PowerEdge
mailing list