Ubuntu

Adaptec SAS adp94xx not in initrd

Reported by Ken Tindle on 2007-01-30
16
Affects Status Importance Assigned to Milestone
linux-source-2.6.20 (Ubuntu)
High
Kyle McMartin
udev (Ubuntu)
High
Kyle McMartin

Bug Description

The Adaptec 44300 Serially Attached SCSI controller does not seem to be included in the Herd 2 release of Feisty. Adaptec released a new driver in November, called adp94xx. The live CD (desktop) stops at the first bar in UpStart.

Brian Murray (brian-murray) wrote :

Thanks for your bug report. Could you please attach the output of 'lspci -vvn' so we can better work on this?

Ken Tindle (ktindle) wrote :

This is a simple lspci without the verbose switch- you are interested in the 04.01.0 entry, the other Adaptec in the system is well supported. It is the AIC-9405W RAID chip that is new and unsupported. Kernel module adp94xx should fit it.

I will next attach the requested -vvn output.

Ken Tindle (ktindle) wrote :

Here is the lspci -vvn

Changed in linux-source-2.6.20:
assignee: brian-murray → nobody
status: Needs Info → Confirmed
Kyle McMartin (kyle) wrote :

Ok. We should add "aic94xx.ko" to the udebs and we also need to include the "aic94xx-seq.fw" firmware file.

Changed in linux-source-2.6.20:
assignee: nobody → kyle
Kyle McMartin (kyle) wrote :

Odd, aic94xx *is* in the initramfs it seems... We just need to provide the firmware, will have to check with someone knowledgable about such things to see whether we can redistribute it.

Ken Tindle (ktindle) wrote :

This might be helpful:

http://help.lockergnome.com/linux/aic94xx-firmware-initramfs-ftopict394102.html

It seems to hit the mark.

I presume the Adaptec adp94xx driver is verboten? If not GPL'ed, then it seems it would be off limits to include in Ubuntu.

Kyle McMartin (kyle) wrote :

Firmware is located behind this click-through license. Can someone verify we can include this?
http://www.adaptec.com/NR/exeres/35B611BC-9789-4B5B-82C6-85A2CCA8A46A.htm

Changed in linux-source-2.6.20:
importance: Undecided → High
status: Confirmed → In Progress

On Thu, Feb 08, 2007 at 04:12:45PM -0000, Kyle McMartin wrote:
> Firmware is located behind this click-through license. Can someone verify we can include this?
> http://www.adaptec.com/NR/exeres/35B611BC-9789-4B5B-82C6-85A2CCA8A46A.htm

"This Software contains trade secrets and in order to protect them you may not:
(1) distribute copies of the Software in any manner, including, but not limited
to, distribution through web site posting..."

Seems like a clear deal-breaker, though it couldn't hurt to drop them a line
and ask.

--
 - mdz

Kyle McMartin (kyle) wrote :

Hi Matt,

After talking to James Bottomley, it seems this only applies to new firmware, which is broken on Linux anyways. The 'V17' firmware apparently works much better, and was submitted to the kernel under the GPL by Adaptec[1]. Would a firmware file extracted from the source code (the aic94xx driver, as submitted, only allows request_firmware) be acceptable, since it would be a derived work of the GPL driver, and thus, under the GPL itself?

I can commit the "GPL" firmware blob to ubuntu-2.6.git if you say this is alright.

[1]:
http://marc.theaimsgroup.com/?l=linux-kernel&m=112629509418920&w=2

Matt Zimmerman (mdz) wrote :

On Fri, Feb 09, 2007 at 09:44:50PM -0000, Kyle McMartin wrote:
> After talking to James Bottomley, it seems this only applies to new
> firmware, which is broken on Linux anyways. The 'V17' firmware
> apparently works much better, and was submitted to the kernel under the
> GPL by Adaptec[1]. Would a firmware file extracted from the source code
> (the aic94xx driver, as submitted, only allows request_firmware) be
> acceptable, since it would be a derived work of the GPL driver, and
> thus, under the GPL itself?
>
> I can commit the "GPL" firmware blob to ubuntu-2.6.git if you say this
> is alright.

The GPL explicitly grants permission to redistribute it, so I don't see a
problem here.

--
 - mdz

Kyle McMartin (kyle) wrote :

Attaching GPL aic94xx firmware.

Kyle McMartin (kyle) wrote :

Targetting for herd-4.

Kyle McMartin (kyle) wrote :

Firmware committed to my git branch.

Changed in linux-source-2.6.20:
status: In Progress → Fix Committed
Nish Aravamudan (nacc) wrote :

I tried to use herd-4 and it still failed, IIRC. I went back to herd-3 and hacked around a bit and found that the problem is with initramfs-tools. There are three distinct issues I found with herd-3:

1) The firmware is not in /lib/firmware or /lib/`uname -r`/firmware.
  --> Fixed by plugging in a USB key at the installer, mounting it and copying the firmware over.
2) The firmware_helper binary is not part of the initramfs image by default.
3) The udev rule to invoke firmware_helper, 80-programs.rules, is not part of the initramfs image by default.

The attached script, made executable, is in /usr/share/initramfs-tools/hooks/firmware_aic94xx on my box and makes an IBM x3850 (formerly x366) boot a custom-built 2.6.20.1, as well as 2.6.20-8-generic (which doesn't boot without said script). Obviously, this does require the firmware be in /lib/firmware in the first place, but that was easy enough to do from the installer.

Matt Zimmerman (mdz) wrote :

The lack of udev handling in initramfs is due to bug 74004, which should be fixed first. Then, it only remains to add the firmware to the initramfs.

Nish Aravamudan (nacc) wrote :

Ah ok, I agree. I hadn't searched exhaustively enough, apparently. Thanks for the reference. Is there a way in launchpad to indicate this bug depends on 74004?

Matt Zimmerman (mdz) wrote :

On Thu, Feb 22, 2007 at 04:36:28AM -0000, Nish Aravamudan wrote:
> Ah ok, I agree. I hadn't searched exhaustively enough, apparently.
> Thanks for the reference. Is there a way in launchpad to indicate this
> bug depends on 74004?

Not as such, though if you want to make it more explicit/prominent you may
edit the description of this bug.

--
 - mdz

Kyle McMartin (kyle) wrote :

Fixed udev has been uploaded.

Changed in udev:
assignee: nobody → kyle
importance: Undecided → High
status: Unconfirmed → Fix Released
Changed in linux-source-2.6.20:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Duplicates of this bug

Other bug subscribers