HighPoint RocketRAID 2680

I have installed a HighPoint RocketRAID 2680 and its management software. I can see the devices in the management software but they do not appear in /dev or anywhere like that. I have them set to single device mode, not RAID (it is supposed to be able to do both).

I'm using FreeBSD 7.2 amd64 and the rr2680 driver for 7.0 that is given on the HighPoint site.

How can I access the devices?
 
Does the updated driver from Highpoint's site have a man page?
If so, what does it say about what is needed?
It seems that the stock hptrr(4) driver does not support your card. However, the man page says that you need to have devices 'scbus' and 'da' in the kernel. Does your kernel have those?

Secondly, how about providing us with a demsg output, and a verbose dmesg output?
Relevant output from # pciconf -lv would also help.
 
tingo said:
Does the updated driver from Highpoint's site have a man page?
If so, what does it say about what is needed?
There is no man page. It's just a .ko and a readme. The readme doesn't say much either, it just links to the PDF manual which is also very small and I have already followed.

tingo said:
It seems that the stock hptrr(4) driver does not support your card. However, the man page says that you need to have devices 'scbus' and 'da' in the kernel. Does your kernel have those?
I tried playing with hptrr and hptiop but had no success with anything other than rr2680. I don't know if the fact that the rr2680 is labelled as FreeBSD 7.0 rather than 7.2 makes much of a difference but it seems to work full with its own tool at least. I just can't work out how to get the devices to appear.

Is there any way of checking what is in the kernel short of recompiling?

tingo said:
Secondly, how about providing us with a demsg output, and a verbose dmesg output?
Relevant output from # pciconf -lv would also help.

I had a look through the dmesg output but could not find anything at all of relevance one way or another. The only things that did show up were when it failed on hptiop. I can still post the entire dmesg if you think it will help but it will be the entire thing.
 
ghell said:
There is no man page. It's just a .ko and a readme. The readme doesn't say much either, it just links to the PDF manual which is also very small and I have already followed.

Do you have a
Code:
rr2680_load="YES"
line in your /boot/loader.conf file?

I don't know if the fact that the rr2680 is labelled as FreeBSD 7.0 rather than 7.2
It could be. There are many differences between 7.0 and 7.2, a module compiled for 7.0 might not work properly under 7.2.
Do you get anything in /var/log/messages (or on console) when you kldload the module?

Is there any way of checking what is in the kernel short of recompiling?
Well, if you haven't recompiled the kernel, you are running GENERIC ($ uname -a will tell you) and the config file for it is
Code:
/sys/amd64/conf/GENERIC
.
HTH
 
tingo said:
Do you have a rr2680_load="YES" line in your /boot/loader.conf file?
Yes. Following the instructions in that PDF (including that line) and then rebooting gives me a /dev/rr2680 and allows hptraidconf to be able to view and even alter the RAID. This is something the main page for hptrr says that it cannot do. The devices just don't show up for me to use them though, unless they should be somewhere other than /dev.


tingo said:
It could be. There are many differences between 7.0 and 7.2, a module compiled for 7.0 might not work properly under 7.2.
Do you get anything in /var/log/messages (or on console) when you kldload the module?
When I kldload rr2680 I get told that it has loaded the module but that no device is present. By modifying loader.conf and rebooting, it seems to pick up the device.


tingo said:
Well, if you haven't recompiled the kernel, you are running GENERIC ($ uname -a will tell you) and the config file for it is /sys/amd64/conf/GENERIC

I was hesitant to mention this for fear of being told to ask elsewhere but this is actually on FreeNAS 0.7, which is based on FreeBSD 7.2. I have already tried asking there but I either get no reply at all or I get told to ask a FreeBSD community. Being bounced between the two communities without getting an answer would not be good.

Unfortunately this means that some things are just a pain to do. pkg_add does not work and even trying to get individual executables such as pciconf can be difficult. It also means that the file structure is slightly different (e.g. /cf/boot/loader.conf) and the root file system is on a memory disk.





Here is the dmesg output immediately after a reboot and also the uname output:
Code:
# dmesg | grep -i rr
rr2680: RocketRAID 268x controller driver v1.0.08.1222 (Dec 22 2008 14:08:40)
rr26800: <odin> port 0xdf00-0xdf7f mem 0xfdcf0000-0xfdcfffff irq 18 at device 0.0 on pci2
rr2680: adapter at PCI 2:0:0, IRQ 18
rr2680: Attached device index 00 (Path 00 | Target 00 | E0/Sff)  00000000
rr26800: [GIANT-LOCKED]
rr26800: [ITHREAD]

# uname -a
FreeBSD freenas.local 7.2-RELEASE-p1 FreeBSD 7.2-RELEASE-p1 #0: Fri Jun 19 20:27:15 UTC 2009     root@vmbsd72amd64:/usr/obj/freenas/usr/src/sys/FREENAS-amd64  amd64

Here is /dev/rr2680 appearing:
Code:
# ls /dev
acpi            devstat         net             stdout          ttyvc
ad10            fd              net1            sysmouse        ttyvd
ad4             fido            net2            ttyd0           ttyve
ad6             fw0             net3            ttyd0.init      ttyvf
ad8             fw0.0           net4            ttyd0.lock      ufsid
ata             fwmem0          network         ttyp0           urandom
atkbd0          fwmem0.0        nfs4            ttyv0           usb
console         geom.ctl        nfslock         ttyv1           usb0
consolectl      io              null            ttyv2           usb1
crypto          kbd0            pass0           ttyv3           usb2
ctty            kbd1            pci             ttyv4           usb3
cuad0           kbdmux0         ppi0            ttyv5           usb4
cuad0.init      klog            ptyp0           ttyv6           usb5
cuad0.lock      kmem            random          ttyv7           usb6
da0             md0             [b][u]rr2680[/u][/b]          ttyv8           xpt0
da0a            md1             speaker         ttyv9           zero
da0c            mdctl           stderr          ttyva           zfs
devctl          mem             stdin           ttyvb
Note that da0 is the USB drive I am booting from and ad4, 6, 8 and 10 are SATA drives attached to the motherboard, not the RAID card.

Finally, here is the HighPoint RAID software showing the controller and the disk:
Code:
        HighPoint RAID Management Command Line Utility v3.1
Copyright (C) 2008 HighPoint Technologies, Inc. All rights reserved.

Login:RAID
Password:
HighPoint CLI>query controllers
ID                              Channel         Name
1                               8               RocketRAID 2680 SAS Controller
-------------------------------------------------------------------------------

HighPoint CLI>query devices
ID      Capacity    MaxFree     Flag    Status    ModelNumber
-------------------------------------------------------------------------------
1/1     500.03      500.03      SINGLE  NORMAL    ST3500320AS
-------------------------------------------------------------------------------
 
Well, at this point I would suggest (for testing purposes) that you install FreeBSD 7.2-release and try to get rr2680 and the disks to work there first.
If that works, you can go on with getting the FreeNAS installation to work. If it doesn't you'll have to talk to HighPoint about updting their driver.
HTH
 
The problem is that I am already using software raid (raidz) for those existing disks and I literally do not have enough storage in total across all of my other machines to be able to transfer files off. raidz is supposed to be good at getting unplugged, jumbled up and plugged back in again but I don't want to put the theory to the test. I would need a spare machine to try the card in really but even then, I don't know how it would help with the FreeNAS box.
 
After all that, I just worked out the answer. The RAID controller initialises the disks but once it does this, they are only suitable for RAID.

To get it to work, I put the drive in a Windows machine, quick formatted an NTFS partition onto it and plugged it back in. When I turned it back on, it was there as da1. I can then use it like a normal disk and do whatever I want with it. It's status changes from "NORMAL" to "LEGACY" when this happens.

It's a bit of a pain that I have to format disks in another machine before I can plug them in to this one but that's life.
 
As far as I know, it is possible to configure drives as JBOD (using a web GUI), and the drives will have 'NORMAL' status. Unfortunately, the drives which had been configured this way are not hot-swappable (and, hot-replugging such drives are required to 'plugging-in' them via configuration wizard). [ <--- What? - Mod. ]

And, it looks like a 'good news': I've found a source code for rr2680.ko for FreeBSD: http://www.highpoint-tech.com/BIOS_Driver/rr26xx/268x/freebsd/rr268x-freebsd-src-v1.0.08.1222.tgz
It looks like a kernel module can be successfully compiled for FreeBSD 8.x or later.
 
Back
Top