NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
kern/58644: areca enumeration issues
>Number: 58644
>Category: kern
>Synopsis: arcmsr does not enumerate disks properly with later firmware
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: kern-bug-people
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Mon Aug 26 02:35:00 +0000 2024
>Originator: dogcow%babymeat.com@localhost
>Release: NetBSD 10.0_STABLE
>Organization:
>Environment:
System: NetBSD chungus.babymeat.com 10.0_STABLE NetBSD 10.0_STABLE (GENERIC) #0: Sat Aug 24 01:34:05 CDT 2024 dogcow%chungus.babymeat.com@localhost:/crap/obj/10obj/src/nb10src/sys/arch/amd64/compile/GENERIC amd64
Architecture: x86_64
Machine: amd64
>Description:
On later versions of the Areca firmware - 1.49 and later, I'd guess - NetBSD
does not properly enumerate the available disks under many conditions.
>How-To-Repeat:
Boot NetBSD with at least three disks in the array, preferably with one >2Tb
>Fix:
OpenBSD notes in their arc.c, -r1.77:
Increase the size of the diskinfo struct, which has grown
4 bytes in the new firmware.
To allow this to work on older firmwares add a "short read allowed"
flag to arc_msgbuf(), which will allow short reads by getting
the read length from the header of the response the firmware sends.
Only set the flag on the arc_msgbuf() call that deals with the diskinfo
struct for now.
(note that it's struct arc_fw_diskinfo in NetBSD)
NetBSD's arcmsr.c has diverged a fair bit from the OpenBSD import (their
-r1.68) so their patch can't just be dropped in as-is.
>Unformatted:
Home |
Main Index |
Thread Index |
Old Index