View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0000082 | elrepo bug tracker | --bug-tracker--request-for-enhancement-- | public | 2010-10-10 23:07 | 2010-11-02 15:21 |
Reporter | scottej23 | Assigned To | burakkucat | ||
Priority | normal | Severity | feature | Reproducibility | N/A |
Status | resolved | Resolution | fixed | ||
Summary | 0000082: Request for kmod-rr172x cent5 driver on 2.6.18 | ||||
Description | Request for RAID driver for the HighPoint Technologies, Inc. RocketRAID 1720 (2x SATA II RAID Controller) lspci -n output for Vendor:DeviceID 1103:1720 Looking for x64 kernel module built against or that will work with updated kernel-2.6.18-194.17.1.el5.x86_64 | ||||
Tags | No tags attached. | ||||
|
From the system for which this package is required, it would be useful to see the output produced by the following: uname -rmi rpm -q centos-release rpm -qa kernel\* | sort rpm -qa kmod\* | sort lsmod | grep rr17 gunzip < /boot/initrd-$(uname -r).img | cpio -it | grep \.ko$ fdisk -l The above information is not necessary for the production of the kmod package but will enable satisfactory advice to be given to allow the system to operate once the package has been installed. |
|
The requested package has been built and has been released to the elrepo-testing repository whilst awaiting end-user testing. The announcement: http://lists.elrepo.org/pipermail/elrepo/2010-October/000370.html |
|
Reminder sent to: scottej23 Any developments? Any feedback? Is the package any use? |
|
It did not work as expected. I grabbed the rpm and installed it with kernel 2.6.18-128.1.10.el5. I noticed that the initrd image was updated and the RAID driver was still working after a reboot. But when I did a yum update to 2.6.18-194.17.1.el5 the box failed to boot, giving many ata3.00 messages on the console: ata3.00 EH complete ata3.00 NCQ disabled due to excessive errors ata3.00 exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6 frozen ata3.00 status {DRDY} ata3.00 hard resetting link end_request I/O Error, dev sdb, sector 0 Thats just a few of the scrolling messages. Not sure if there's anything I can do. Rebooting into the old kernel from the grub menu does work though. I need to find some time and try building the driver on the 2.6.18-194 kernel. Any ideas or pointers? |
|
Probably too late. But here is the output requested earlier: # uname -rmi 2.6.18-128.1.10.el5 x86_64 x86_64 # rpm -q centos-release centos-release-5-4.el5.centos.1 # rpm -qa kernel\* | sort kernel-2.6.18-128.1.10.el5 kernel-2.6.18-128.el5 kernel-2.6.18-194.17.1.el5 kernel-devel-2.6.18-128.1.10.el5 kernel-devel-2.6.18-128.el5 kernel-devel-2.6.18-194.17.1.el5 kernel-headers-2.6.18-194.17.1.el5 # rpm -qa kmod\* | sort kmod-rr172x-1.2-1.el5.elrepo kmod-sk98lin-10.70.1.3-1.el5.elrepo # lsmod | grep rr17 rr172x 226400 3 scsi_mod 196569 6 scsi_dh,sg,usb_storage,libata,rr172x,sd_mod # gunzip < /boot/initrd-$(uname -r).img | cpio -it | grep \.ko$ 14001 blocks lib/ehci-hcd.ko lib/ohci-hcd.ko lib/uhci-hcd.ko lib/jbd.ko lib/ext3.ko lib/scsi_mod.ko lib/sd_mod.ko lib/rr172x.ko lib/libata.ko lib/ata_piix.ko lib/usb-storage.ko lib/dm-mem-cache.ko lib/dm-mod.ko lib/dm-log.ko lib/dm-region_hash.ko lib/dm-message.ko lib/dm-raid45.ko # fdisk -l Disk /dev/sda: 319.9 GB, 319975063552 bytes 255 heads, 63 sectors/track, 38901 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sda1 * 1 13 104391 83 Linux /dev/sda2 14 274 2096482+ 82 Linux swap / Solaris /dev/sda3 275 38901 310271377+ 83 Linux |
|
With the kmod package installed, please boot the system with a kernel that successfully runs (2.6.18-128.1.10.el5) and then show me what is returned by -- ll $(find /lib/modules -name rr172\* | grep -E 'extra|weak') Once I've seen that info., I may have an idea for further experiments. Just one quick query: You have two 320 GB disks connected to the RocketRAID controller and that controller is the only device present in the "fdisk -l" output -- the device "/dev/sda"? (The reasons for my query? I've never had hands-on experience of the HighPoint RocketRAID controllers and it has always been a "grey area" in my mind as to whether they are true hardware RAID controllers or Host/Fake RAID controllers.) If you would like to experiment by building the package against the latest kernel (2.6.18-194.17.1.el5) directly, here is the recipe: (1) Set up your own rpmbuild tree. Please don't use /usr/local/src/redhat/ and root's ID. (2) Ensure that you have the kernel-devel package for 2.6.18-194.17.1.el5 installed. (3) Download the source package (rr172x-kmod-1.2-1.el5.elrepo.src.rpm) from the http://elrepo.org/linux/testing/el5/SRPMS/ directory. (4) Rebuild it with the following command line -- rpmbuild --rebuild --define 'dist .el5.scott' --define 'kversion 2.6.18-194.17.1.el5' --define 'kvariants ""' rr172x-kmod-1.2-1.el5.elrepo.src.rpm 2> rebuild-err.log | tee rebuild-out.log (If the rebuild fails or you have any problems, I will ask you to mail me the two log files.) When the rebuild is complete, your package (kmod-rr172x-1.2-1.el5.scott.x86_64.rpm) will be found in your ~/rpmbuild/RPMS/x86_64/ directory. (5) Remove the existing ELRepo package -- rpm -e kmod-rr172x (6) Install your package -- rpm -ivh kmod-rr172x-1.2-1.el5.scott.x86_64.rpm Please keep me informed of progress / developments. |
|
I will try your suggestions next. I went to the HighPoint website and downloaded the open source driver source code. Then I tried to build the driver for the for the 2.6.18-194.17.1 kernel even though I was running the 2.6.18-128.1.10 kernel. Not sure if I did it right, but when I rebooted into the -194 kernel, it still gave drive errors as reported earlier. I wonder if there is another driver included in the 2.6.18-194.17.1.el5 kernel that is causing a conflict with this driver. I'm not yet sure how to verify or troubleshoot that. Or maybe something changed in the kernel to break the kABI tracking? Maybe I built the driver incorrectly. I'm pasting my exact commands in hope that it is helpful. Here's what I did: [user]$ wget http://www.support-highpoint-tech.com/Main/rr172x/Linux/opensrc/rr172x-linux-src-v1.2-091106-1524.tar.gz [user]$ tar -xzvf rr172x-linux-src-v1.2-091106-1524.tar.gz [user]$ cd rr172x-linux-src-v1.2 [user rr172x-linux-src-v1.2]$ vim README [user rr172x-linux-src-v1.2]$ cd product/rr1720/linux/ [user linux]$ make KERNELDIR=/lib/modules/2.6.18-194.17.1.el5/build/ ARCH=x86_64 make[1]: Entering directory `/usr/src/kernels/2.6.18-194.17.1.el5-x86_64' CC [M] /home/user/rr172x-linux-src-v1.2/product/rr1720/linux/.build/os_linux.o CC [M] /home/user/rr172x-linux-src-v1.2/product/rr1720/linux/.build/osm_linux.o CC [M] /home/user/rr172x-linux-src-v1.2/product/rr1720/linux/.build/div64.o CC [M] /home/user/rr172x-linux-src-v1.2/product/rr1720/linux/.build/hptinfo.o CC [M] /home/user/rr172x-linux-src-v1.2/product/rr1720/linux/.build/config.o LD [M] /home/user/rr172x-linux-src-v1.2/product/rr1720/linux/.build/rr172x.o Building modules, stage 2. MODPOST WARNING: could not find /home/user/rr172x-linux-src-v1.2/product/rr1720/linux/.build/.him_rr1720.o.cmd for /home/user/rr172x-linux-src-v1.2/product/rr1720/linux/.build/him_rr1720.o CC /home/user/rr172x-linux-src-v1.2/product/rr1720/linux/.build/rr172x.mod.o LD [M] /home/user/rr172x-linux-src-v1.2/product/rr1720/linux/.build/rr172x.ko make[1]: Leaving directory `/usr/src/kernels/2.6.18-194.17.1.el5-x86_64' [user linux]$ exit logout [root rr172x-linux-src-v1.2]# cd product/rr1720/linux/ [root linux]# make install KERNELDIR=/lib/modules/2.6.18-194.17.1.el5/build/ make[1]: Entering directory `/usr/src/kernels/2.6.18-194.17.1.el5-x86_64' CC [M] /home/user/rr172x-linux-src-v1.2/product/rr1720/linux/.build/os_linux.o CC [M] /home/user/rr172x-linux-src-v1.2/product/rr1720/linux/.build/osm_linux.o CC [M] /home/user/rr172x-linux-src-v1.2/product/rr1720/linux/.build/div64.o CC [M] /home/user/rr172x-linux-src-v1.2/product/rr1720/linux/.build/hptinfo.o CC [M] /home/user/rr172x-linux-src-v1.2/product/rr1720/linux/.build/config.o LD [M] /home/user/rr172x-linux-src-v1.2/product/rr1720/linux/.build/rr172x.o Building modules, stage 2. MODPOST WARNING: could not find /home/user/rr172x-linux-src-v1.2/product/rr1720/linux/.build/.him_rr1720.o.cmd for /home/user/rr172x-linux-src-v1.2/product/rr1720/linux/.build/him_rr1720.o LD [M] /home/user/rr172x-linux-src-v1.2/product/rr1720/linux/.build/rr172x.ko make[1]: Leaving directory `/usr/src/kernels/2.6.18-194.17.1.el5-x86_64' You made a module for 2.6.18-194.17.1.el5 which does not match current kernel. The driver will be installed for kernel 2.6.18-194.17.1.el5. Deleting previous installed driver module rr172x... Install the new driver module... Removing conflicted driver module... Updating module dependencies...Done. Checking for initrd images to be updated... Backup /boot/initrd-2.6.18-194.17.1.el5.img to /boot/initrd-2.6.18-194.17.1.el5.img.rr172x. [root linux]# ls /lib/modules/2.6.18-194.17.1.el5/kernel/drivers/scsi/rr172x/rr172x.ko /lib/modules/2.6.18-194.17.1.el5/kernel/drivers/scsi/rr172x/rr172x.ko [root linux]# init 6 Also, sorry this Note is so long. Here is the requested output: # ll $(find /lib/modules -name rr172\* | grep -E 'extra|weak') lrwxrwxrwx 1 root root 48 Oct 15 17:39 /lib/modules/2.6.18-128.1.10.el5/weak-updates/rr172x/rr172x.ko -> /lib/modules/2.6.18-8.el5/extra/rr172x/rr172x.ko -rw-r--r-- 1 root root 303904 Oct 12 03:18 /lib/modules/2.6.18-8.el5/extra/rr172x/rr172x.ko /lib/modules/2.6.18-128.1.10.el5/weak-updates/rr172x: total 0 lrwxrwxrwx 1 root root 48 Oct 15 17:39 rr172x.ko -> /lib/modules/2.6.18-8.el5/extra/rr172x/rr172x.ko /lib/modules/2.6.18-8.el5/extra/rr172x: total 304 -rw-r--r-- 1 root root 303904 Oct 12 03:18 rr172x.ko And yes, for some reason "fdisk -l" only shows the one device but there are 2 harddrives connected to the RAID controller. Maybe because it is setup for RAID 1 mirroring. # hptraidconf HighPoint RAID Management Command Line Utility v3.2 Copyright (C) 2009 HighPoint Technologies, Inc. All rights reserved. Login:RAID Password: HighPoint CLI>query arrays ID Capacity(GB) Type Status Block Sector Cache Name ------------------------------------------------------------------------------- 1 319.98 RAID1 NORMAL -- 512B NONE RAID_1_0 HighPoint CLI>query devices ID Capacity MaxFree Flag Status ModelNumber ------------------------------------------------------------------------------- 1/1 319.98 0 RAID NORMAL ST3320613AS 1/2 319.98 0 RAID NORMAL ST3320613AS ------------------------------------------------------------------------------- |
|
I was able to follow your 6 steps from above to build from the src rpm. Unfortunately, with the same results. Console scrolls with various ata output and errors. |
|
Ah, finally it seems to be working. So after compiling the driver from source for the exact kernel version of 2.6.18-194.17.1 and it still not working, I started to investigate some sort of driver conflict. I got this sweet command from the elrepo.org FAQ page: # grep -i 1103 /lib/modules/*/modules.alias | grep 1720 /lib/modules/2.6.18-128.1.10.el5/modules.alias:alias pci:v00001103d00001720sv*sd*bc*sc*i* rr172x /lib/modules/2.6.18-194.17.1.el5/modules.alias:alias pci:v00001103d00001720sv*sd*bc*sc*i* rr172x /lib/modules/2.6.18-194.17.1.el5/modules.alias:alias pci:v00001103d00001720sv*sd*bc*sc*i* sata_mv The mkinitrd command didn't have a --with-out switch, so I just moved the sata_mv.ko module and deleted the matching line from the modules.alias file and then did a mkinitrd to remake the initrd-2.6.18-194.17.1.el5.img. After a reboot it seems to be working. So is there anyway to make sure future kernel updates don't add the sata_mv module back into the initrd? |
|
> So is there anyway to make sure future kernel updates > don't add the sata_mv module back into the initrd? Look into using 'blacklist'. Go to /etc/modprobe.d and you will find how this is done. |
|
Notes 389 - 391 contain lots of information for me to digest. Thank you for performing those experiments, Scott. If you find that toracat's suggestion (note 392) works for you (and I don't see why it would not) -- it is the first thing that I would have also suggested -- then such blacklisting can easily be performed by a revised kmod package. Please perform the appropriate experiment(s) and let me know of outcome. If positive, I will revise the package to automagically blacklist the low-level SCSI driver for Marvell SATA controllers. Also, I think it would be appropriate to mention this conflict between the rr172x.ko and sata_mv.ko modules to HighPoint themselves. As the discoverer, with all the information to hand, I trust you will be able to make such a report. :-) |
|
Yes, thank you. Actually, I had just noticed the blacklist capability in the modprobe.conf man page. That worked perfectly! I removed the newer kernels and started over, installing the kmod-rr172x rpm and adding an entry into the /etc/modprobe.d/blacklist-compat to blacklist sata_mv. I then updated the kernel again and the driver worked and the new initrd did not get the sata_mv. If you are going to update your rpm to blacklist the sata_mv module upon install then let me know and I'll test it again. Thanks again for all your help. |
|
Note 389: "And yes, for some reason "fdisk -l" only shows the one device but there are 2 harddrives connected to the RAID controller." A true hardware RAID controller only presents one device to the OS and, as far as the OS is concerned, the device it "sees" is a disk-drive. The controller card then takes all disk I/O instructions that the OS has given it and processes them appropriately, sending them to all members of the RAID. Deduction: HighPoint RocketRAID cards are true hardware RAID controllers. The rr172x kmod package has now been rebuilt (1.2-2.el5.elrepo) to incorporate automagical blacklisting of the sata_mv module and is available from the "elrepo-testing" repository. When convenient, please test it -- ensuring that all self-compiled code and blacklisting lines are removed beforehand. |
|
Note 389: "Maybe I built the driver incorrectly. I'm pasting my exact commands in hope that it is helpful. Here's what I did: [user]$ wget . . . <snip> [root linux]# ls /lib/modules/2.6.18-194.17.1.el5/kernel/drivers/scsi/rr172x/rr172x.ko /lib/modules/2.6.18-194.17.1.el5/kernel/drivers/scsi/rr172x/rr172x.ko [root linux]# init 6" Just for completeness, you did nothing wrong. That was a successful source build / non-package install. :-) |
|
I tested the updated kmod-rr172x package and then updated to the 2.6.18-194.17.1.el5 kernel and this time the driver worked after rebooting to the new kernel. I also sent an email to support@highpoint-tech.com to inform them of the driver conflict between sata_mv and rr172x. I have not yet heard back. |
|
Re: Note 397. That is excellent news. I shall: (a) Keep this RFE open for a little while longer, JIC there is anything else relevant that we need to share (b) After a suitable period in the elrepo-testing repository, promote the kmod package to the main repo. Thank you for your help with the testing, Scott. :-) |
|
I received a response from highpoint support. The card uses a Marvell controller (which will be recognized by their embedded driver). A little embarrassing that I missed it, but they pointed out that this was mentioned in there README. # make menuconfig ... For kernel 2.6.20 or later, please remove the sata_mv.ko driver Select "Device Drivers --->" and press enter. Select "Serial ATA (prod) and Parallel ATA (experimental) drivers" and press enter Select "Marvell SATA support (HIGHLY EXPERIMENTAL), then press 'N' Exit and save the kernel configuration. |
|
Then I should share your embarrassment, for I also failed to note the contents of the README file. :oops: You'll find the documentation installed under the /usr/share/doc/rr172x-*/ directory. There may even be a man page installed (man rr172x -- possibly?). You'll note that my memory isn't that good . . . I've moved on from RocketRAID controllers to other topics. :-D Thank you, once again, for performing all the experimental work and, thus, ensuring that the ELRepo Project's products are well QA'd. |
|
The package has now been promoted from testing to the main repository. This RFE is now set as resolved/fixed. |
Date Modified | Username | Field | Change |
---|---|---|---|
2010-10-10 23:07 | scottej23 | New Issue | |
2010-10-10 23:07 | scottej23 | Status | new => assigned |
2010-10-10 23:07 | scottej23 | Assigned To | => stindall |
2010-10-11 09:12 | burakkucat | Note Added: 382 | |
2010-10-11 09:12 | burakkucat | Assigned To | stindall => burakkucat |
2010-10-11 09:12 | burakkucat | Status | assigned => feedback |
2010-10-12 05:30 | burakkucat | Note Added: 384 | |
2010-10-15 14:32 | burakkucat | Note Added: 385 | |
2010-10-15 22:21 | scottej23 | Note Added: 386 | |
2010-10-15 22:39 | scottej23 | Note Added: 387 | |
2010-10-16 09:07 | burakkucat | Note Added: 388 | |
2010-10-16 09:07 | burakkucat | Status | feedback => assigned |
2010-10-18 12:42 | scottej23 | Note Added: 389 | |
2010-10-18 13:09 | scottej23 | Note Added: 390 | |
2010-10-18 15:30 | scottej23 | Note Added: 391 | |
2010-10-18 15:40 | toracat | Note Added: 392 | |
2010-10-18 16:02 | burakkucat | Note Added: 393 | |
2010-10-18 18:31 | scottej23 | Note Added: 394 | |
2010-10-19 06:53 | burakkucat | Note Added: 395 | |
2010-10-19 09:38 | burakkucat | Note Added: 396 | |
2010-10-19 17:58 | scottej23 | Note Added: 397 | |
2010-10-20 08:42 | burakkucat | Note Added: 398 | |
2010-10-20 18:06 | scottej23 | Note Added: 399 | |
2010-10-21 10:09 | burakkucat | Note Added: 400 | |
2010-11-02 15:21 | burakkucat | Note Added: 0000403 | |
2010-11-02 15:21 | burakkucat | Status | assigned => resolved |
2010-11-02 15:21 | burakkucat | Resolution | open => fixed |