View Issue Details

IDProjectCategoryView StatusLast Update
0000082elrepo bug tracker--bug-tracker--request-for-enhancement--public2010-11-02 15:21
Reporterscottej23 Assigned Toburakkucat  
PrioritynormalSeverityfeatureReproducibilityN/A
Status resolvedResolutionfixed 
Summary0000082: Request for kmod-rr172x cent5 driver on 2.6.18
DescriptionRequest 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
TagsNo tags attached.

Activities

burakkucat

2010-10-11 09:12

administrator   ~0000382

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.

burakkucat

2010-10-12 05:30

administrator   ~0000384

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

burakkucat

2010-10-15 14:32

administrator   ~0000385

Reminder sent to: scottej23

Any developments? Any feedback? Is the package any use?

scottej23

2010-10-15 22:21

reporter   ~0000386

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?

scottej23

2010-10-15 22:39

reporter   ~0000387

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

burakkucat

2010-10-16 09:07

administrator   ~0000388

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.

scottej23

2010-10-18 12:42

reporter   ~0000389

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
-------------------------------------------------------------------------------

scottej23

2010-10-18 13:09

reporter   ~0000390

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.

scottej23

2010-10-18 15:30

reporter   ~0000391

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?

toracat

2010-10-18 15:40

administrator   ~0000392

> 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.

burakkucat

2010-10-18 16:02

administrator   ~0000393

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. :-)

scottej23

2010-10-18 18:31

reporter   ~0000394

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.

burakkucat

2010-10-19 06:53

administrator   ~0000395

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.

burakkucat

2010-10-19 09:38

administrator   ~0000396

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. :-)

scottej23

2010-10-19 17:58

reporter   ~0000397

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.

burakkucat

2010-10-20 08:42

administrator   ~0000398

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. :-)

scottej23

2010-10-20 18:06

reporter   ~0000399

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.

burakkucat

2010-10-21 10:09

administrator   ~0000400

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.

burakkucat

2010-11-02 15:21

administrator   ~0000403

The package has now been promoted from testing to the main repository.

This RFE is now set as resolved/fixed.

Issue History

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